{ "name": "lua", "word": "identifier", "rules": { "chunk": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "hash_bang_line" }, { "type": "BLANK" } ] }, { "type": "REPEAT", "content": { "type": "SYMBOL", "name": "statement" } }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "return_statement" }, { "type": "BLANK" } ] } ] }, "hash_bang_line": { "type": "PATTERN", "value": "#!.*" }, "_block": { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "REPEAT1", "content": { "type": "SYMBOL", "name": "statement" } }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "return_statement" }, { "type": "BLANK" } ] } ] }, { "type": "SEQ", "members": [ { "type": "REPEAT", "content": { "type": "SYMBOL", "name": "statement" } }, { "type": "SYMBOL", "name": "return_statement" } ] } ] }, "statement": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "empty_statement" }, { "type": "SYMBOL", "name": "assignment_statement" }, { "type": "SYMBOL", "name": "function_call" }, { "type": "SYMBOL", "name": "label_statement" }, { "type": "SYMBOL", "name": "break_statement" }, { "type": "SYMBOL", "name": "goto_statement" }, { "type": "SYMBOL", "name": "do_statement" }, { "type": "SYMBOL", "name": "while_statement" }, { "type": "SYMBOL", "name": "repeat_statement" }, { "type": "SYMBOL", "name": "if_statement" }, { "type": "SYMBOL", "name": "for_statement" }, { "type": "SYMBOL", "name": "declaration" } ] }, "return_statement": { "type": "SEQ", "members": [ { "type": "STRING", "value": "return" }, { "type": "CHOICE", "members": [ { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "_expression_list" }, "named": true, "value": "expression_list" }, { "type": "BLANK" } ] }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": ";" }, { "type": "BLANK" } ] } ] }, "empty_statement": { "type": "STRING", "value": ";" }, "assignment_statement": { "type": "SEQ", "members": [ { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "_variable_assignment_varlist" }, "named": true, "value": "variable_list" }, { "type": "STRING", "value": "=" }, { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "_variable_assignment_explist" }, "named": true, "value": "expression_list" } ] }, "_variable_assignment_varlist": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "name", "content": { "type": "SYMBOL", "name": "variable" } }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "FIELD", "name": "name", "content": { "type": "SYMBOL", "name": "variable" } } ] } } ] }, "_variable_assignment_explist": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "value", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "FIELD", "name": "value", "content": { "type": "SYMBOL", "name": "expression" } } ] } } ] }, "label_statement": { "type": "SEQ", "members": [ { "type": "STRING", "value": "::" }, { "type": "SYMBOL", "name": "identifier" }, { "type": "STRING", "value": "::" } ] }, "break_statement": { "type": "STRING", "value": "break" }, "goto_statement": { "type": "SEQ", "members": [ { "type": "STRING", "value": "goto" }, { "type": "SYMBOL", "name": "identifier" } ] }, "do_statement": { "type": "SEQ", "members": [ { "type": "STRING", "value": "do" }, { "type": "FIELD", "name": "body", "content": { "type": "ALIAS", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_block" }, { "type": "BLANK" } ] }, "named": true, "value": "block" } }, { "type": "STRING", "value": "end" } ] }, "while_statement": { "type": "SEQ", "members": [ { "type": "STRING", "value": "while" }, { "type": "FIELD", "name": "condition", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "STRING", "value": "do" }, { "type": "FIELD", "name": "body", "content": { "type": "ALIAS", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_block" }, { "type": "BLANK" } ] }, "named": true, "value": "block" } }, { "type": "STRING", "value": "end" } ] }, "repeat_statement": { "type": "SEQ", "members": [ { "type": "STRING", "value": "repeat" }, { "type": "FIELD", "name": "body", "content": { "type": "ALIAS", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_block" }, { "type": "BLANK" } ] }, "named": true, "value": "block" } }, { "type": "STRING", "value": "until" }, { "type": "FIELD", "name": "condition", "content": { "type": "SYMBOL", "name": "expression" } } ] }, "if_statement": { "type": "SEQ", "members": [ { "type": "STRING", "value": "if" }, { "type": "FIELD", "name": "condition", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "STRING", "value": "then" }, { "type": "FIELD", "name": "consequence", "content": { "type": "ALIAS", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_block" }, { "type": "BLANK" } ] }, "named": true, "value": "block" } }, { "type": "REPEAT", "content": { "type": "FIELD", "name": "alternative", "content": { "type": "SYMBOL", "name": "elseif_statement" } } }, { "type": "CHOICE", "members": [ { "type": "FIELD", "name": "alternative", "content": { "type": "SYMBOL", "name": "else_statement" } }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "end" } ] }, "elseif_statement": { "type": "SEQ", "members": [ { "type": "STRING", "value": "elseif" }, { "type": "FIELD", "name": "condition", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "STRING", "value": "then" }, { "type": "FIELD", "name": "consequence", "content": { "type": "ALIAS", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_block" }, { "type": "BLANK" } ] }, "named": true, "value": "block" } } ] }, "else_statement": { "type": "SEQ", "members": [ { "type": "STRING", "value": "else" }, { "type": "FIELD", "name": "body", "content": { "type": "ALIAS", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_block" }, { "type": "BLANK" } ] }, "named": true, "value": "block" } } ] }, "for_statement": { "type": "SEQ", "members": [ { "type": "STRING", "value": "for" }, { "type": "FIELD", "name": "clause", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "for_generic_clause" }, { "type": "SYMBOL", "name": "for_numeric_clause" } ] } }, { "type": "STRING", "value": "do" }, { "type": "FIELD", "name": "body", "content": { "type": "ALIAS", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_block" }, { "type": "BLANK" } ] }, "named": true, "value": "block" } }, { "type": "STRING", "value": "end" } ] }, "for_generic_clause": { "type": "SEQ", "members": [ { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "_name_list" }, "named": true, "value": "variable_list" }, { "type": "STRING", "value": "in" }, { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "_expression_list" }, "named": true, "value": "expression_list" } ] }, "for_numeric_clause": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "name", "content": { "type": "SYMBOL", "name": "identifier" } }, { "type": "STRING", "value": "=" }, { "type": "FIELD", "name": "start", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "STRING", "value": "," }, { "type": "FIELD", "name": "end", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "FIELD", "name": "step", "content": { "type": "SYMBOL", "name": "expression" } } ] }, { "type": "BLANK" } ] } ] }, "declaration": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "function_declaration" }, { "type": "FIELD", "name": "local_declaration", "content": { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "_local_function_declaration" }, "named": true, "value": "function_declaration" } }, { "type": "FIELD", "name": "local_declaration", "content": { "type": "SYMBOL", "name": "variable_declaration" } } ] }, "function_declaration": { "type": "SEQ", "members": [ { "type": "STRING", "value": "function" }, { "type": "FIELD", "name": "name", "content": { "type": "SYMBOL", "name": "_function_name" } }, { "type": "SYMBOL", "name": "_function_body" } ] }, "_local_function_declaration": { "type": "SEQ", "members": [ { "type": "STRING", "value": "local" }, { "type": "STRING", "value": "function" }, { "type": "FIELD", "name": "name", "content": { "type": "SYMBOL", "name": "identifier" } }, { "type": "SYMBOL", "name": "_function_body" } ] }, "_function_name": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_function_name_prefix_expression" }, { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "_function_name_method_index_expression" }, "named": true, "value": "method_index_expression" } ] }, "_function_name_prefix_expression": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "identifier" }, { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "_function_name_dot_index_expression" }, "named": true, "value": "dot_index_expression" } ] }, "_function_name_dot_index_expression": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "table", "content": { "type": "SYMBOL", "name": "_function_name_prefix_expression" } }, { "type": "STRING", "value": "." }, { "type": "FIELD", "name": "field", "content": { "type": "SYMBOL", "name": "identifier" } } ] }, "_function_name_method_index_expression": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "table", "content": { "type": "SYMBOL", "name": "_function_name_prefix_expression" } }, { "type": "STRING", "value": ":" }, { "type": "FIELD", "name": "method", "content": { "type": "SYMBOL", "name": "identifier" } } ] }, "variable_declaration": { "type": "SEQ", "members": [ { "type": "STRING", "value": "local" }, { "type": "CHOICE", "members": [ { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "_name_list" }, "named": true, "value": "variable_list" }, { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "_local_variable_assignment" }, "named": true, "value": "assignment_statement" } ] } ] }, "_local_variable_assignment": { "type": "SEQ", "members": [ { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "_name_list" }, "named": true, "value": "variable_list" }, { "type": "STRING", "value": "=" }, { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "_variable_assignment_explist" }, "named": true, "value": "expression_list" } ] }, "_name_list": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "name", "content": { "type": "SYMBOL", "name": "identifier" } }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "FIELD", "name": "name", "content": { "type": "SYMBOL", "name": "identifier" } } ] } } ] }, "_expression_list": { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "expression" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "SYMBOL", "name": "expression" } ] } } ] }, "expression": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "nil" }, { "type": "SYMBOL", "name": "false" }, { "type": "SYMBOL", "name": "true" }, { "type": "SYMBOL", "name": "number" }, { "type": "SYMBOL", "name": "string" }, { "type": "SYMBOL", "name": "vararg_expression" }, { "type": "SYMBOL", "name": "function_definition" }, { "type": "SYMBOL", "name": "variable" }, { "type": "SYMBOL", "name": "function_call" }, { "type": "SYMBOL", "name": "parenthesized_expression" }, { "type": "SYMBOL", "name": "table_constructor" }, { "type": "SYMBOL", "name": "binary_expression" }, { "type": "SYMBOL", "name": "unary_expression" } ] }, "nil": { "type": "STRING", "value": "nil" }, "false": { "type": "STRING", "value": "false" }, "true": { "type": "STRING", "value": "true" }, "number": { "type": "TOKEN", "content": { "type": "CHOICE", "members": [ { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "0" }, { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "0" }, { "type": "BLANK" } ] }, { "type": "PATTERN", "value": "[1-9]" }, { "type": "CHOICE", "members": [ { "type": "PATTERN", "value": "[0-9]+" }, { "type": "BLANK" } ] } ] } ] }, { "type": "STRING", "value": "." }, { "type": "CHOICE", "members": [ { "type": "PATTERN", "value": "[0-9]+" }, { "type": "BLANK" } ] }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "e" }, { "type": "STRING", "value": "E" } ] }, { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "-" }, { "type": "STRING", "value": "+" } ] }, { "type": "BLANK" } ] }, { "type": "PATTERN", "value": "[0-9]+" } ] } ] }, { "type": "BLANK" } ] } ] }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "." }, { "type": "PATTERN", "value": "[0-9]+" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "e" }, { "type": "STRING", "value": "E" } ] }, { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "-" }, { "type": "STRING", "value": "+" } ] }, { "type": "BLANK" } ] }, { "type": "PATTERN", "value": "[0-9]+" } ] } ] }, { "type": "BLANK" } ] } ] }, { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "0" }, { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "0" }, { "type": "BLANK" } ] }, { "type": "PATTERN", "value": "[1-9]" }, { "type": "CHOICE", "members": [ { "type": "PATTERN", "value": "[0-9]+" }, { "type": "BLANK" } ] } ] } ] }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "e" }, { "type": "STRING", "value": "E" } ] }, { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "-" }, { "type": "STRING", "value": "+" } ] }, { "type": "BLANK" } ] }, { "type": "PATTERN", "value": "[0-9]+" } ] } ] }, { "type": "BLANK" } ] } ] } ] }, { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "0x" }, { "type": "STRING", "value": "0X" } ] }, { "type": "PATTERN", "value": "[a-fA-F0-9]+" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "." }, { "type": "PATTERN", "value": "[a-fA-F0-9]+" } ] }, { "type": "BLANK" } ] }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "p" }, { "type": "STRING", "value": "P" } ] }, { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "-" }, { "type": "STRING", "value": "+" } ] }, { "type": "BLANK" } ] }, { "type": "PATTERN", "value": "[0-9]+" } ] } ] }, { "type": "BLANK" } ] } ] } ] } }, "string": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "start", "content": { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "_string_start" }, "named": false, "value": "string_start" } }, { "type": "FIELD", "name": "content", "content": { "type": "CHOICE", "members": [ { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "_string_content" }, "named": false, "value": "string_content" }, { "type": "BLANK" } ] } }, { "type": "FIELD", "name": "end", "content": { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "_string_end" }, "named": false, "value": "string_end" } } ] }, "vararg_expression": { "type": "STRING", "value": "..." }, "function_definition": { "type": "SEQ", "members": [ { "type": "STRING", "value": "function" }, { "type": "SYMBOL", "name": "_function_body" } ] }, "_function_body": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "parameters", "content": { "type": "SYMBOL", "name": "parameters" } }, { "type": "FIELD", "name": "body", "content": { "type": "ALIAS", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_block" }, { "type": "BLANK" } ] }, "named": true, "value": "block" } }, { "type": "STRING", "value": "end" } ] }, "parameters": { "type": "SEQ", "members": [ { "type": "STRING", "value": "(" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_parameter_list" }, { "type": "BLANK" } ] }, { "type": "STRING", "value": ")" } ] }, "_parameter_list": { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "SEQ", "members": [ { "type": "FIELD", "name": "name", "content": { "type": "SYMBOL", "name": "identifier" } }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "FIELD", "name": "name", "content": { "type": "SYMBOL", "name": "identifier" } } ] } } ] }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "SYMBOL", "name": "vararg_expression" } ] }, { "type": "BLANK" } ] } ] }, { "type": "SYMBOL", "name": "vararg_expression" } ] }, "_prefix_expression": { "type": "PREC", "value": 1, "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "variable" }, { "type": "SYMBOL", "name": "function_call" }, { "type": "SYMBOL", "name": "parenthesized_expression" } ] } }, "variable": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "identifier" }, { "type": "SYMBOL", "name": "bracket_index_expression" }, { "type": "SYMBOL", "name": "dot_index_expression" } ] }, "bracket_index_expression": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "table", "content": { "type": "SYMBOL", "name": "_prefix_expression" } }, { "type": "STRING", "value": "[" }, { "type": "FIELD", "name": "field", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "STRING", "value": "]" } ] }, "dot_index_expression": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "table", "content": { "type": "SYMBOL", "name": "_prefix_expression" } }, { "type": "STRING", "value": "." }, { "type": "FIELD", "name": "field", "content": { "type": "SYMBOL", "name": "identifier" } } ] }, "function_call": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "name", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_prefix_expression" }, { "type": "SYMBOL", "name": "method_index_expression" } ] } }, { "type": "FIELD", "name": "arguments", "content": { "type": "SYMBOL", "name": "arguments" } } ] }, "method_index_expression": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "table", "content": { "type": "SYMBOL", "name": "_prefix_expression" } }, { "type": "STRING", "value": ":" }, { "type": "FIELD", "name": "method", "content": { "type": "SYMBOL", "name": "identifier" } } ] }, "arguments": { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "(" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "expression" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "SYMBOL", "name": "expression" } ] } } ] }, { "type": "BLANK" } ] }, { "type": "STRING", "value": ")" } ] }, { "type": "SYMBOL", "name": "table_constructor" }, { "type": "SYMBOL", "name": "string" } ] }, "parenthesized_expression": { "type": "SEQ", "members": [ { "type": "STRING", "value": "(" }, { "type": "SYMBOL", "name": "expression" }, { "type": "STRING", "value": ")" } ] }, "table_constructor": { "type": "SEQ", "members": [ { "type": "STRING", "value": "{" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_field_list" }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "}" } ] }, "_field_list": { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "field" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_field_sep" }, { "type": "SYMBOL", "name": "field" } ] } }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_field_sep" }, { "type": "BLANK" } ] } ] }, "_field_sep": { "type": "CHOICE", "members": [ { "type": "STRING", "value": "," }, { "type": "STRING", "value": ";" } ] }, "field": { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "[" }, { "type": "FIELD", "name": "name", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "STRING", "value": "]" }, { "type": "STRING", "value": "=" }, { "type": "FIELD", "name": "value", "content": { "type": "SYMBOL", "name": "expression" } } ] }, { "type": "SEQ", "members": [ { "type": "FIELD", "name": "name", "content": { "type": "SYMBOL", "name": "identifier" } }, { "type": "STRING", "value": "=" }, { "type": "FIELD", "name": "value", "content": { "type": "SYMBOL", "name": "expression" } } ] }, { "type": "FIELD", "name": "value", "content": { "type": "SYMBOL", "name": "expression" } } ] }, "binary_expression": { "type": "CHOICE", "members": [ { "type": "PREC_LEFT", "value": 1, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "STRING", "value": "or" }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "expression" } } ] } }, { "type": "PREC_LEFT", "value": 2, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "STRING", "value": "and" }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "expression" } } ] } }, { "type": "PREC_LEFT", "value": 3, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "STRING", "value": "<" }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "expression" } } ] } }, { "type": "PREC_LEFT", "value": 3, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "STRING", "value": "<=" }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "expression" } } ] } }, { "type": "PREC_LEFT", "value": 3, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "STRING", "value": "==" }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "expression" } } ] } }, { "type": "PREC_LEFT", "value": 3, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "STRING", "value": "~=" }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "expression" } } ] } }, { "type": "PREC_LEFT", "value": 3, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "STRING", "value": ">=" }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "expression" } } ] } }, { "type": "PREC_LEFT", "value": 3, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "STRING", "value": ">" }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "expression" } } ] } }, { "type": "PREC_LEFT", "value": 4, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "STRING", "value": "|" }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "expression" } } ] } }, { "type": "PREC_LEFT", "value": 5, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "STRING", "value": "~" }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "expression" } } ] } }, { "type": "PREC_LEFT", "value": 6, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "STRING", "value": "&" }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "expression" } } ] } }, { "type": "PREC_LEFT", "value": 7, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "STRING", "value": "<<" }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "expression" } } ] } }, { "type": "PREC_LEFT", "value": 7, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "STRING", "value": ">>" }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "expression" } } ] } }, { "type": "PREC_LEFT", "value": 9, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "STRING", "value": "+" }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "expression" } } ] } }, { "type": "PREC_LEFT", "value": 9, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "STRING", "value": "-" }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "expression" } } ] } }, { "type": "PREC_LEFT", "value": 10, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "STRING", "value": "*" }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "expression" } } ] } }, { "type": "PREC_LEFT", "value": 10, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "STRING", "value": "/" }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "expression" } } ] } }, { "type": "PREC_LEFT", "value": 10, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "STRING", "value": "//" }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "expression" } } ] } }, { "type": "PREC_LEFT", "value": 10, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "STRING", "value": "%" }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "expression" } } ] } }, { "type": "PREC_RIGHT", "value": 8, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "STRING", "value": ".." }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "expression" } } ] } }, { "type": "PREC_RIGHT", "value": 12, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "STRING", "value": "^" }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "expression" } } ] } } ] }, "unary_expression": { "type": "PREC_LEFT", "value": 11, "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "not" }, { "type": "STRING", "value": "#" }, { "type": "STRING", "value": "-" }, { "type": "STRING", "value": "~" } ] }, { "type": "FIELD", "name": "operand", "content": { "type": "SYMBOL", "name": "expression" } } ] } }, "identifier": { "type": "PATTERN", "value": "[a-zA-Z_][a-zA-Z0-9_]*" }, "comment": { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "FIELD", "name": "start", "content": { "type": "ALIAS", "content": { "type": "STRING", "value": "--" }, "named": false, "value": "comment_start" } }, { "type": "FIELD", "name": "content", "content": { "type": "ALIAS", "content": { "type": "PATTERN", "value": "[^\\r\\n]*" }, "named": false, "value": "comment_content" } } ] }, { "type": "SEQ", "members": [ { "type": "FIELD", "name": "start", "content": { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "_block_comment_start" }, "named": false, "value": "comment_start" } }, { "type": "FIELD", "name": "content", "content": { "type": "CHOICE", "members": [ { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "_block_comment_content" }, "named": false, "value": "comment_content" }, { "type": "BLANK" } ] } }, { "type": "FIELD", "name": "end", "content": { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "_block_comment_end" }, "named": false, "value": "comment_end" } } ] } ] } }, "extras": [ { "type": "SYMBOL", "name": "comment" }, { "type": "PATTERN", "value": "\\s" } ], "conflicts": [], "precedences": [], "externals": [ { "type": "SYMBOL", "name": "_block_comment_start" }, { "type": "SYMBOL", "name": "_block_comment_content" }, { "type": "SYMBOL", "name": "_block_comment_end" }, { "type": "SYMBOL", "name": "_string_start" }, { "type": "SYMBOL", "name": "_string_content" }, { "type": "SYMBOL", "name": "_string_end" } ], "inline": [], "supertypes": [ "statement", "expression", "declaration", "variable" ] }