Skip to content

Latest commit

 

History

History
29 lines (24 loc) · 777 Bytes

README.md

File metadata and controls

29 lines (24 loc) · 777 Bytes

SLURM node list parser

EBNF grammar for parsing SLURM node list definitions using TatSu

prior art

example

node-[1,3][1,2,3-5]

gets expanded to

from slurm_node_list_parser import parse
print([i for i in parse("node-[1,3][1,2,3-5]")])
[
   'node-11', 'node-12', 'node-13', 'node-14', 'node-15',
   'node-31', 'node-32', 'node-33', 'node-34', 'node-35'
]

Regenerate parser

tatsu --generate-parser --name slurm_node_list --outfile src/slurm_node_list_parser/parser.py src/slurm_node_list_parser/parser.ebnf