from parsomonious.grammar import Grammar grammar = Grammar( """ start = skip_preface skip_preface = instance_list / ~"."s skip_preface eol = \n / \r\n _ = " " instance_list = problem_instance (sep_line problem_instance eol)* eof problem_instance = strip_whitespace "instance" _ instance_name eol eol sep_line description eol job_data description = ~".*" instance_name = ~"\w" sep_line = strip_whitespace plus_line strip_whitespace eol plus_line = ~"\+\+\++" eof = strip_whitespace plus_line " EOF " plus_line strip_whitespace strip_whitespace = ~"[\t ]*" job_data = ~"[ \r\n0-9]*"s """)