UNPKG

tree-sitter-abl

Version:
2,047 lines 444 kB
{ "name": "abl", "word": "identifier", "rules": { "source_code": { "type": "REPEAT", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_statement" }, { "type": "SYMBOL", "name": "class_statement" }, { "type": "SYMBOL", "name": "_definition" }, { "type": "SYMBOL", "name": "do_block" }, { "type": "SYMBOL", "name": "interface_statement" }, { "type": "SYMBOL", "name": "method_statement" }, { "type": "SYMBOL", "name": "constant" } ] } }, "body": { "type": "SEQ", "members": [ { "type": "STRING", "value": ":" }, { "type": "REPEAT", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_statement" }, { "type": "SYMBOL", "name": "_definition" }, { "type": "SYMBOL", "name": "do_block" }, { "type": "PREC", "value": -1, "content": { "type": "SYMBOL", "name": "annotation" } } ] } } ] }, "_statement_body": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "do_block" }, { "type": "PREC", "value": 2, "content": { "type": "SYMBOL", "name": "_statement" } }, { "type": "SYMBOL", "name": "constant" } ] }, "dot_body": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": ":" }, { "type": "STRING", "value": "." } ] }, { "type": "REPEAT", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_statement" }, { "type": "SYMBOL", "name": "_definition" } ] } } ] }, "class_body": { "type": "SEQ", "members": [ { "type": "STRING", "value": ":" }, { "type": "REPEAT", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_definition" }, { "type": "SYMBOL", "name": "var_statement" }, { "type": "SYMBOL", "name": "include" }, { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "annotation" }, { "type": "BLANK" } ] }, { "type": "SYMBOL", "name": "method_statement" } ] }, { "type": "SYMBOL", "name": "constructor_statement" }, { "type": "SYMBOL", "name": "destructor_statement" }, { "type": "SYMBOL", "name": "function_statement" } ] } } ] }, "interface_body": { "type": "SEQ", "members": [ { "type": "STRING", "value": ":" }, { "type": "REPEAT", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_definition" }, { "type": "SYMBOL", "name": "annotation" }, { "type": "SYMBOL", "name": "method_statement" } ] } } ] }, "case_body": { "type": "SEQ", "members": [ { "type": "STRING", "value": ":" }, { "type": "REPEAT1", "content": { "type": "PREC_RIGHT", "value": 0, "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "annotation" }, { "type": "BLANK" } ] }, { "type": "SYMBOL", "name": "case_when_branch" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "annotation" }, { "type": "BLANK" } ] } ] } } }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "annotation" }, { "type": "BLANK" } ] }, { "type": "SYMBOL", "name": "case_otherwise_branch" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "annotation" }, { "type": "BLANK" } ] } ] }, { "type": "BLANK" } ] } ] }, "enum_body": { "type": "SEQ", "members": [ { "type": "STRING", "value": ":" }, { "type": "REPEAT1", "content": { "type": "SYMBOL", "name": "enum_definition" } } ] }, "label": { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "identifier" }, { "type": "STRING", "value": ":" } ] }, "_terminator": { "type": "PATTERN", "value": "\\s*\\." }, "_block_terminator": { "type": "SEQ", "members": [ { "type": "ALIAS", "content": { "type": "TOKEN", "content": { "type": "PREC", "value": 1, "content": { "type": "PATTERN", "value": "[eE][nN][dD]" } } }, "named": false, "value": "END" }, { "type": "CHOICE", "members": [ { "type": "CHOICE", "members": [ { "type": "ALIAS", "content": { "type": "TOKEN", "content": { "type": "PREC", "value": 1, "content": { "type": "PATTERN", "value": "[fF][uU][nN][cC][tT][iI][oO][nN]" } } }, "named": false, "value": "FUNCTION" }, { "type": "ALIAS", "content": { "type": "TOKEN", "content": { "type": "PREC", "value": 1, "content": { "type": "PATTERN", "value": "[pP][rR][oO][cC][eE][dD][uU][rR][eE]" } } }, "named": false, "value": "PROCEDURE" }, { "type": "ALIAS", "content": { "type": "TOKEN", "content": { "type": "PREC", "value": 1, "content": { "type": "PATTERN", "value": "[cC][aA][sS][eE]" } } }, "named": false, "value": "CASE" }, { "type": "ALIAS", "content": { "type": "TOKEN", "content": { "type": "PREC", "value": 1, "content": { "type": "PATTERN", "value": "[cC][lL][aA][sS][sS]" } } }, "named": false, "value": "CLASS" }, { "type": "ALIAS", "content": { "type": "TOKEN", "content": { "type": "PREC", "value": 1, "content": { "type": "PATTERN", "value": "[eE][nN][uU][mM]" } } }, "named": false, "value": "ENUM" }, { "type": "ALIAS", "content": { "type": "TOKEN", "content": { "type": "PREC", "value": 1, "content": { "type": "PATTERN", "value": "[iI][nN][tT][eE][rR][fF][aA][cC][eE]" } } }, "named": false, "value": "INTERFACE" }, { "type": "ALIAS", "content": { "type": "TOKEN", "content": { "type": "PREC", "value": 1, "content": { "type": "PATTERN", "value": "[cC][oO][nN][sS][tT][rR][uU][cC][tT][oO][rR]" } } }, "named": false, "value": "CONSTRUCTOR" }, { "type": "ALIAS", "content": { "type": "TOKEN", "content": { "type": "PREC", "value": 1, "content": { "type": "PATTERN", "value": "[dD][eE][sS][tT][rR][uU][cC][tT][oO][rR]" } } }, "named": false, "value": "DESTRUCTOR" }, { "type": "ALIAS", "content": { "type": "TOKEN", "content": { "type": "PREC", "value": 1, "content": { "type": "PATTERN", "value": "[cC][aA][tT][cC][hH]" } } }, "named": false, "value": "CATCH" }, { "type": "ALIAS", "content": { "type": "TOKEN", "content": { "type": "PREC", "value": 1, "content": { "type": "PATTERN", "value": "[fF][iI][nN][aA][lL][lL][yY]" } } }, "named": false, "value": "FINALLY" } ] }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "." } ] }, "_logical_operator": { "type": "PREC_LEFT", "value": 0, "content": { "type": "CHOICE", "members": [ { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "_and_operator" }, "named": false, "value": "AND" }, { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "_or_operator" }, "named": false, "value": "OR" } ] } }, "assignment_operator": { "type": "CHOICE", "members": [ { "type": "STRING", "value": "=" }, { "type": "SYMBOL", "name": "_augmented_assignment" } ] }, "_additive_operator": { "type": "CHOICE", "members": [ { "type": "STRING", "value": "+" }, { "type": "STRING", "value": "-" } ] }, "_multiplicative_operator": { "type": "CHOICE", "members": [ { "type": "STRING", "value": "*" }, { "type": "STRING", "value": "/" }, { "type": "ALIAS", "content": { "type": "TOKEN", "content": { "type": "PREC", "value": 1, "content": { "type": "PATTERN", "value": "[mM][oO][dD][uU][lL][oO]" } } }, "named": false, "value": "MODULO" }, { "type": "ALIAS", "content": { "type": "TOKEN", "content": { "type": "PREC", "value": 1, "content": { "type": "PATTERN", "value": "[mM][oO][dD]" } } }, "named": false, "value": "MOD" } ] }, "_comparison_operator": { "type": "CHOICE", "members": [ { "type": "STRING", "value": "<" }, { "type": "STRING", "value": "<=" }, { "type": "STRING", "value": "<>" }, { "type": "STRING", "value": "=" }, { "type": "STRING", "value": ">" }, { "type": "STRING", "value": ">=" }, { "type": "ALIAS", "content": { "type": "TOKEN", "content": { "type": "PREC", "value": 1, "content": { "type": "PATTERN", "value": "[lL][tT]" } } }, "named": false, "value": "LT" }, { "type": "ALIAS", "content": { "type": "TOKEN", "content": { "type": "PREC", "value": 1, "content": { "type": "PATTERN", "value": "[lL][eE]" } } }, "named": false, "value": "LE" }, { "type": "ALIAS", "content": { "type": "TOKEN", "content": { "type": "PREC", "value": 1, "content": { "type": "PATTERN", "value": "[nN][eE]" } } }, "named": false, "value": "NE" }, { "type": "ALIAS", "content": { "type": "TOKEN", "content": { "type": "PREC", "value": 1, "content": { "type": "PATTERN", "value": "[eE][qQ]" } } }, "named": false, "value": "EQ" }, { "type": "ALIAS", "content": { "type": "TOKEN", "content": { "type": "PREC", "value": 1, "content": { "type": "PATTERN", "value": "[gG][tT]" } } }, "named": false, "value": "GT" }, { "type": "ALIAS", "content": { "type": "TOKEN", "content": { "type": "PREC", "value": 1, "content": { "type": "PATTERN", "value": "[gG][eE]" } } }, "named": false, "value": "GE" }, { "type": "ALIAS", "content": { "type": "TOKEN", "content": { "type": "PREC", "value": 1, "content": { "type": "PATTERN", "value": "[bB][eE][gG][iI][nN][sS]" } } }, "named": false, "value": "BEGINS" }, { "type": "ALIAS", "content": { "type": "TOKEN", "content": { "type": "PREC", "value": 1, "content": { "type": "PATTERN", "value": "[mM][aA][tT][cC][hH][eE][sS]" } } }, "named": false, "value": "MATCHES" }, { "type": "ALIAS", "content": { "type": "TOKEN", "content": { "type": "PREC", "value": 1, "content": { "type": "PATTERN", "value": "[cC][oO][nN][tT][aA][iI][nN][sS]" } } }, "named": false, "value": "CONTAINS" } ] }, "_name": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "identifier" }, { "type": "SYMBOL", "name": "qualified_name" } ] }, "file_name": { "type": "PATTERN", "value": "[A-z-_|0-9|\\/]+\\.[ipwr]" }, "comment": { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "//" }, { "type": "PATTERN", "value": "[^\\r\\n]*" } ] }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "/*" }, { "type": "PATTERN", "value": "[^*]*\\*+([^/*][^*]*\\*+)*" }, { "type": "STRING", "value": "/" } ] } ] }, "annotation": { "type": "SEQ", "members": [ { "type": "STRING", "value": "@" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "ALIAS", "content": { "type": "TOKEN", "content": { "type": "PREC", "value": 1, "content": { "type": "PATTERN", "value": "[tT][eE][sS][tT]" } } }, "named": false, "value": "TEST" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "annotation_argument" }, { "type": "BLANK" } ] } ] }, { "type": "SEQ", "members": [ { "type": "ALIAS", "content": { "type": "TOKEN", "content": { "type": "PREC", "value": 1, "content": { "type": "PATTERN", "value": "[tT][eE][sS][tT][sS][uU][iI][tT][eE]" } } }, "named": false, "value": "TESTSUITE" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "annotation_argument" }, { "type": "BLANK" } ] } ] }, { "type": "ALIAS", "content": { "type": "TOKEN", "content": { "type": "PREC", "value": 1, "content": { "type": "PATTERN", "value": "[bB][eE][fF][oO][rR][eE]" } } }, "named": false, "value": "BEFORE" }, { "type": "ALIAS", "content": { "type": "TOKEN", "content": { "type": "PREC", "value": 1, "content": { "type": "PATTERN", "value": "[bB][eE][fF][oO][rR][eE][aA][lL][lL]" } } }, "named": false, "value": "BEFOREALL" }, { "type": "ALIAS", "content": { "type": "TOKEN", "content": { "type": "PREC", "value": 1, "content": { "type": "PATTERN", "value": "[bB][eE][fF][oO][rR][eE][eE][aA][cC][hH]" } } }, "named": false, "value": "BEFOREEACH" }, { "type": "ALIAS", "content": { "type": "TOKEN", "content": { "type": "PREC", "value": 1, "content": { "type": "PATTERN", "value": "[sS][eE][tT][uU][pP]" } } }, "named": false, "value": "SETUP" }, { "type": "ALIAS", "content": { "type": "TOKEN", "content": { "type": "PREC", "value": 1, "content": { "type": "PATTERN", "value": "[aA][fF][tT][eE][rR][eE][aA][cC][hH]" } } }, "named": false, "value": "AFTEREACH" }, { "type": "ALIAS", "content": { "type": "TOKEN", "content": { "type": "PREC", "value": 1, "content": { "type": "PATTERN", "value": "[tT][eE][aA][rR][dD][oO][wW][nN]" } } }, "named": false, "value": "TEARDOWN" }, { "type": "ALIAS", "content": { "type": "TOKEN", "content": { "type": "PREC", "value": 1, "content": { "type": "PATTERN", "value": "[aA][fF][tT][eE][rR][aA][lL][lL]" } } }, "named": false, "value": "AFTERALL" }, { "type": "ALIAS", "content": { "type": "TOKEN", "content": { "type": "PREC", "value": 1, "content": { "type": "PATTERN", "value": "[aA][fF][tT][eE][rR]" } } }, "named": false, "value": "AFTER" }, { "type": "ALIAS", "content": { "type": "TOKEN", "content": { "type": "PREC", "value": 1, "content": { "type": "PATTERN", "value": "[iI][gG][nN][oO][rR][eE]" } } }, "named": false, "value": "IGNORE" }, { "type": "ALIAS", "content": { "type": "TOKEN", "content": { "type": "PREC", "value": 1, "content": { "type": "PATTERN", "value": "[aA][bB][lL][fF][oO][rR][mM][aA][tT][tT][eE][rR][eE][xX][cC][lL][uU][dD][eE][sS][tT][aA][rR][tT]" } } }, "named": false, "value": "ABLFORMATTEREXCLUDESTART" }, { "type": "ALIAS", "content": { "type": "TOKEN", "content": { "type": "PREC", "value": 1, "content": { "type": "PATTERN", "value": "[aA][bB][lL][fF][oO][rR][mM][aA][tT][tT][eE][rR][eE][xX][cC][lL][uU][dD][eE][eE][nN][dD]" } } }, "named": false, "value": "ABLFORMATTEREXCLUDEEND" } ] }, { "type": "SYMBOL", "name": "_terminator" } ] }, "preprocessor_directive": { "type": "SEQ", "members": [ { "type": "STRING", "value": "&" }, { "type": "TOKEN", "content": { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "[^\\n~]+" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "~" }, { "type": "PATTERN", "value": "\\s*\\n" }, { "type": "PATTERN", "value": "[^\\n~]*" } ] } } ] }, { "type": "SEQ", "members": [ { "type": "ALIAS", "content": { "type": "TOKEN", "content": { "type": "PREC", "value": 1, "content": { "type": "PATTERN", "value": "[iI][fF]" } } }, "named": false, "value": "IF" }, { "type": "PATTERN", "value": "[^\\n]*" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "\\n" }, { "type": "PATTERN", "value": "[^\\n]*" } ] } }, { "type": "PATTERN", "value": "\\n\\s*" }, { "type": "STRING", "value": "&" }, { "type": "ALIAS", "content": { "type": "TOKEN", "content": { "type": "PREC", "value": 1, "content": { "type": "PATTERN", "value": "[eE][nN][dD][iI][fF]" } } }, "named": false, "value": "ENDIF" } ] } ] } } ] }, "_literal": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "number_literal" }, { "type": "SYMBOL", "name": "string_literal" }, { "type": "SYMBOL", "name": "date_literal" } ] }, "boolean_literal": { "type": "CHOICE", "members": [ { "type": "ALIAS", "content": { "type": "TOKEN", "content": { "type": "PREC", "value": 1, "content": { "type": "PATTERN", "value": "[tT][rR][uU][eE]" } } }, "named": false, "value": "TRUE" }, { "type": "ALIAS", "content": { "type": "TOKEN", "content": { "type": "PREC", "value": 1, "content": { "type": "PATTERN", "value": "[fF][aA][lL][sS][eE]" } } }, "named": false, "value": "FALSE" }, { "type": "ALIAS", "content": { "type": "TOKEN", "content": { "type": "PREC", "value": 1, "content": { "type": "PATTERN", "value": "[yY][eE][sS]" } } }, "named": false, "value": "YES" }, { "type": "ALIAS", "content": { "type": "TOKEN", "content": { "type": "PREC", "value": 1, "content": { "type": "PATTERN", "value": "[nN][oO]" } } }, "named": false, "value": "NO" } ] }, "_integer_literal": { "type": "PATTERN", "value": "[0-9]+" }, "_decimal_literal": { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_integer_literal" }, { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "_namedot" }, "named": false, "value": "." }, { "type": "SYMBOL", "name": "_integer_literal" } ] }, "number_literal": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_integer_literal" }, { "type": "SYMBOL", "name": "_decimal_literal" } ] }, "string_literal": { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_escaped_string" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": ":" }, { "type": "SYMBOL", "name": "string_literal_attribute" } ] }, { "type": "BLANK" } ] } ] }, "string_literal_attribute": { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "ALIAS", "content": { "type": "TOKEN", "content": { "type": "PREC", "value": 1, "content": { "type": "PATTERN", "value": "[rR]" } } }, "named": false, "value": "R" }, { "type": "ALIAS", "content": { "type": "TOKEN", "content": { "type": "PREC", "value": 1, "content": { "type": "PATTERN", "value": "[lL]" } } }, "named": false, "value": "L" }, { "type": "ALIAS", "content": { "type": "TOKEN", "content": { "type": "PREC", "value": 1, "content": { "type": "PATTERN", "value": "[cC]" } } }, "named": false, "value": "C" }, { "type": "ALIAS", "content": { "type": "TOKEN", "content": { "type": "PREC", "value": 1, "content": { "type": "PATTERN", "value": "[tT]" } } }, "named": false, "value": "T" } ] }, { "type": "SYMBOL", "name": "_integer_literal" } ] }, { "type": "ALIAS", "content": { "type": "TOKEN", "content": { "type": "PREC", "value": 1, "content": { "type": "PATTERN", "value": "[uU]" } } }, "named": false, "value": "U" } ] }, "date_literal": { "type": "PATTERN", "value": "\\d{1,2}\\/\\d{1,2}\\/\\d{4}|\\d{2}" }, "array_literal": { "type": "SEQ", "members": [ { "type": "STRING", "value": "[" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_array_literal_body" }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "]" } ] }, "_array_literal_body": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "range_notation" }, { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_array_literal_member" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "SYMBOL", "name": "_array_literal_member" } ] } } ] } ] }, "_array_literal_member": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "new_expression" }, { "type": "SYMBOL", "name": "number_literal" }, { "type": "SYMBOL", "name": "string_literal" }, { "type": "SYMBOL", "name": "boolean_literal" }, { "type": "SYMBOL", "name": "null_expression" }, { "type": "SYMBOL", "name": "function_call" }, { "type": "SYMBOL", "name": "array_literal" }, { "type": "SYMBOL", "name": "array_access" }, { "type": "SYMBOL", "name": "identifier" }, { "type": "SYMBOL", "name": "constant" }, { "type": "SYMBOL", "name": "_binary_expression" } ] }, "range_notation": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "identifier" }, { "type": "SYMBOL", "name": "_integer_literal" } ] }, { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "_for_keyword" }, "named": false, "value": "FOR" }, { "type": "SYMBOL", "name": "_integer_literal" } ] }, "_define": { "type": "CHOICE", "members": [ { "type": "ALIAS", "content": { "type": "TOKEN", "content": { "type": "PREC", "value": 1, "content": { "type": "PATTERN", "value": "[dD][eE][fF][iI][nN][eE]" } } }, "named": false, "value": "DEFINE" }, { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "_def_keyword" }, "named": false, "value": "DEF" } ] }, "include_argument": { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "&" }, { "type": "FIELD", "name": "name", "content": { "type": "SYMBOL", "name": "identifier" } }, { "type": "STRING", "value": "=" }, { "type": "FIELD", "name": "value", "content": { "type": "SYMBOL", "name": "string_literal" } } ] }, { "type": "FIELD", "name": "name", "content": { "type": "SYMBOL", "name": "identifier" } }, { "type": "FIELD", "name": "value", "content": { "type": "SYMBOL", "name": "string_literal" } }, { "type": "SYMBOL", "name": "constant" }, { "type": "SYMBOL", "name": "identifier" } ] }, "include": { "type": "PREC_RIGHT", "value": 1, "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "{" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "file_name" }, { "type": "PREC", "value": 1, "content": { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "include_file_path" }, "named": true, "value": "file_name" } }, { "type": "SYMBOL", "name": "identifier" } ] }, { "type": "REPEAT", "content": { "type": "SYMBOL", "name": "include_argument" } }, { "type": "STRING", "value": "}" } ] } }, "include_file_path": { "type": "PREC_RIGHT", "value": 0, "content": { "type": "REPEAT1", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "constant" }, { "type": "PATTERN", "value": "[A-z-_|0-9|\\/\\.]+" } ] } } }, "identifier": { "type": "PATTERN", "value": "[A-Z|a-z|\\-|\\\\_]{1}[#+&A-Z|a-z|\\-|\\\\_|0-9]*" }, "constant": { "type": "SEQ", "members": [ { "type": "STRING", "value": "{" }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "&" }, { "type": "BLANK" } ] }, { "type": "SYMBOL", "name": "_constant_value" }, { "type": "STRING", "value": "}" } ] }, "_constant_value": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "identifier" }, { "type": "SYMBOL", "name": "_integer_literal" }, { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "identifier" }, { "type": "STRING", "value": "=" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "identifier" }, { "type": "SYMBOL", "name": "_integer_literal" }, { "type": "SYMBOL", "name": "string_literal" } ] } ] }, { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "identifier" }, { "type": "REPEAT1", "content": { "type": "CHOICE", "members": [ { "type": "PATTERN", "value": "[\\s\\-()a-zA-Z0-9]+" } ] } } ] } ] }, "qualified_name": { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "identifier" }, { "type": "REPEAT1", "content": { "type": "SEQ", "members": [ { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "_namedot" }, "named": false, "value": "." }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "identifier" }, { "type": "STRING", "value": "*" } ] } ] } } ] }, "_tuning": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "access_tuning" }, { "type": "SYMBOL", "name": "scope_tuning" }, { "type": "SYMBOL", "name": "member_modifier" }, { "type": "SYMBOL", "name": "constant" } ] }, "access_tuning": { "type": "CHOICE", "members": [ { "type": "ALIAS", "content": { "type": "TOKEN", "content": { "type": "PREC", "value": 1, "content": { "type": "PATTERN", "value": "[pP][rR][iI][vV][aA][tT][eE]" } } }, "named": false, "value": "PRIVATE" }, { "type": "ALIAS", "content": { "type": "TOKEN", "content": { "type": "PREC", "value": 1, "content": { "type": "PATTERN", "value": "[pP][rR][oO][tT][eE][cC][tT][eE][dD]" } } }, "named": false, "value": "PROTECTED" }, { "type": "ALIAS", "content": { "type": "TOKEN", "content": { "type": "PREC", "value": 1, "content": { "type": "PATTERN", "value": "[pP][uU][bB][lL][iI][cC]" } } }, "named": false, "value": "PUBLIC" }, { "type": "ALIAS", "content": { "type": "TOKEN", "content": { "type": "PREC", "value": 1, "content": { "type": "PATTERN", "value": "[pP][aA][cC][kK][aA][gG][eE][--][pP][rR][iI][vV][aA][tT][eE]" } } }, "named": false, "value": "PACKAGE-PRIVATE" }, { "type": "ALIAS", "content": { "type": "TOKEN", "content": { "type": "PREC", "value": 1, "content": { "type": "PATTERN", "value": "[pP][aA][cC][kK][aA][gG][eE][--][pP][rR][oO][tT][eE][cC][tT][eE][dD]" } } }, "named": false, "value": "PACKAGE-PROTECTED" } ] }, "accumulate_aggregate": { "type": "CHOICE", "members": [ { "type": "ALIAS", "content": { "type": "TOKEN", "content": { "type": "PREC", "value": 1, "content": { "type": "PAT