{ "name": "CMake", "rules": { "source_file": { "type": "REPEAT", "content": { "type": "SYMBOL", "name": "command_invocation" } }, "line_ending": { "type": "SYMBOL", "name": "newline" }, "space": { "type": "PATTERN", "value": "[ \\t]+" }, "newline": { "type": "PATTERN", "value": "\\n" }, "identifier": { "type": "PATTERN", "value": "[A-Za-z_][A-Za-z0-9_]*" }, "argument": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_unquoted_argument" } ] }, "seperation": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "space" }, { "type": "SYMBOL", "name": "line_ending" } ] }, "arguments": { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "argument" }, { "type": "REPEAT", "content": { "type": "SYMBOL", "name": "_seperated_arguments" } } ] }, "_seperated_arguments": { "type": "PREC_LEFT", "value": 1, "content": { "type": "SEQ", "members": [ { "type": "REPEAT1", "content": { "type": "SYMBOL", "name": "seperation" } }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "argument" }, { "type": "BLANK" } ] } ] } }, "command_invocation": { "type": "SEQ", "members": [ { "type": "REPEAT", "content": { "type": "SYMBOL", "name": "space" } }, { "type": "SYMBOL", "name": "identifier" }, { "type": "REPEAT", "content": { "type": "SYMBOL", "name": "space" } }, { "type": "STRING", "value": "(" }, { "type": "REPEAT", "content": { "type": "SYMBOL", "name": "seperation" } }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "arguments" }, { "type": "BLANK" } ] }, { "type": "STRING", "value": ")" } ] }, "_unquoted_argument": { "type": "PATTERN", "value": "[^ ()#\\\"\\\\]+" } }, "extras": [ { "type": "PATTERN", "value": "\\s" } ], "conflicts": [], "precedences": [], "externals": [], "inline": [], "supertypes": [] }