{
"$schema": "https://tree-sitter.github.io/tree-sitter/assets/schemas/grammar.schema.json",
"name": "t32",
"word": "identifier",
"rules": {
"script": {
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_top_level"
}
},
"_top_level": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "block"
},
{
"type": "SYMBOL",
"name": "_statement"
},
{
"type": "SYMBOL",
"name": "_filler_line"
}
]
},
"block": {
"type": "PREC_RIGHT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "\\((&[+-]?)?"
},
{
"type": "SYMBOL",
"name": "_terminator"
}
]
},
{
"type": "REPEAT",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_statement"
},
{
"type": "SYMBOL",
"name": "_filler_line"
},
{
"type": "SYMBOL",
"name": "block"
}
]
}
},
{
"type": "SEQ",
"members": [
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "STRING",
"value": ")"
},
{
"type": "SYMBOL",
"name": "_terminator"
}
]
}
]
}
},
"_statement": {
"type": "SEQ",
"members": [
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "labeled_expression"
},
{
"type": "SYMBOL",
"name": "_non_labeled_statement"
}
]
}
]
},
"_non_labeled_statement": {
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "macro_assignment_expression"
},
"named": true,
"value": "assignment_expression"
},
{
"type": "SYMBOL",
"name": "command_expression"
},
{
"type": "SYMBOL",
"name": "macro_definition"
},
{
"type": "SYMBOL",
"name": "if_block"
},
{
"type": "SYMBOL",
"name": "parameter_declaration"
},
{
"type": "SYMBOL",
"name": "recursive_macro_expansion"
},
{
"type": "SYMBOL",
"name": "repeat_block"
},
{
"type": "SYMBOL",
"name": "subroutine_block"
},
{
"type": "SYMBOL",
"name": "subroutine_call_expression"
},
{
"type": "SYMBOL",
"name": "while_block"
}
]
},
"_parenthesized_expression": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "STRING",
"value": ")"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "{"
},
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "STRING",
"value": "}"
}
]
}
]
},
"_path_expression": {
"type": "PREC_LEFT",
"value": 0,
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "path"
},
{
"type": "SEQ",
"members": [
{
"type": "REPEAT1",
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "path"
},
{
"type": "SYMBOL",
"name": "macro"
}
]
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "path"
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "REPEAT1",
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "macro"
},
{
"type": "SYMBOL",
"name": "path"
}
]
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "macro"
},
{
"type": "BLANK"
}
]
}
]
}
]
}
},
"labeled_expression": {
"type": "PREC_RIGHT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_label"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_statement"
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_terminator"
},
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_terminator"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "comment"
}
},
{
"type": "SYMBOL",
"name": "block"
}
]
},
{
"type": "BLANK"
}
]
}
]
}
]
}
]
}
},
"subroutine_block": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "command",
"content": {
"type": "ALIAS",
"content": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[sS][uU][bB][rR][oO][uU][tT][iI][nN][eE]"
},
"named": false,
"value": "SUBROUTINE"
},
"named": true,
"value": "identifier"
}
},
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "FIELD",
"name": "subroutine",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "SYMBOL",
"name": "_terminator"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_filler_line"
}
},
{
"type": "SYMBOL",
"name": "block"
}
]
},
"if_block": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "command",
"content": {
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_hll_var_if_command"
},
"named": true,
"value": "identifier"
}
},
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "FIELD",
"name": "condition",
"content": {
"type": "SYMBOL",
"name": "_hll_expression"
}
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "command",
"content": {
"type": "ALIAS",
"content": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[iI][fF]"
},
"named": false,
"value": "IF"
},
"named": true,
"value": "identifier"
}
},
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "FIELD",
"name": "condition",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
}
]
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_terminator"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_filler_line"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_statement"
},
{
"type": "SYMBOL",
"name": "block"
}
]
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_filler_line"
}
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "SYMBOL",
"name": "elif_block"
}
]
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_filler_line"
}
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "SYMBOL",
"name": "else_block"
}
]
},
{
"type": "BLANK"
}
]
}
]
}
]
},
"elif_block": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "command",
"content": {
"type": "ALIAS",
"content": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[eE][lL][sS][eE]"
},
"named": false,
"value": "ELSE"
},
"named": true,
"value": "identifier"
}
},
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "FIELD",
"name": "command",
"content": {
"type": "ALIAS",
"content": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[iI][fF]"
},
"named": false,
"value": "IF"
},
"named": true,
"value": "identifier"
}
},
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "FIELD",
"name": "condition",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_terminator"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_filler_line"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_statement"
},
{
"type": "SYMBOL",
"name": "block"
}
]
}
]
}
]
},
"else_block": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "command",
"content": {
"type": "ALIAS",
"content": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[eE][lL][sS][eE]"
},
"named": false,
"value": "ELSE"
},
"named": true,
"value": "identifier"
}
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_terminator"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_filler_line"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_statement"
},
{
"type": "SYMBOL",
"name": "block"
}
]
}
]
}
]
},
"while_block": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "command",
"content": {
"type": "ALIAS",
"content": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[wW][hH][iI][lL][eE]"
},
"named": false,
"value": "WHILE"
},
"named": true,
"value": "identifier"
}
},
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "FIELD",
"name": "condition",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "command",
"content": {
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[vV]|[vV][aA][rR]"
},
"named": false,
"value": "Var"
},
{
"type": "STRING",
"value": "."
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[wW][hH][iI][lL][eE]"
},
"named": false,
"value": "WHILE"
}
]
}
},
"named": true,
"value": "identifier"
}
},
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "FIELD",
"name": "condition",
"content": {
"type": "SYMBOL",
"name": "_hll_expression"
}
}
]
}
]
},
{
"type": "SYMBOL",
"name": "_terminator"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_filler_line"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_statement"
},
{
"type": "SYMBOL",
"name": "block"
}
]
}
]
},
"repeat_block": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_repeat_block_pre_condition_format"
},
{
"type": "SYMBOL",
"name": "_repeat_block_post_condition_format"
}
]
},
"_repeat_block_pre_condition_format": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "command",
"content": {
"type": "ALIAS",
"content": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[rR][pP][tT]|[rR][eE][pP][eE][aA][tT]"
},
"named": false,
"value": "RePeaT"
},
"named": true,
"value": "identifier"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "FIELD",
"name": "condition",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_statement"
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_terminator"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_filler_line"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_statement"
},
{
"type": "SYMBOL",
"name": "block"
}
]
}
]
}
]
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_terminator"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_filler_line"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_statement"
},
{
"type": "SYMBOL",
"name": "block"
}
]
}
]
}
]
}
]
},
"_repeat_block_post_condition_format": {
"type": "PREC_DYNAMIC",
"value": 1,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "command",
"content": {
"type": "ALIAS",
"content": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[rR][pP][tT]|[rR][eE][pP][eE][aA][tT]"
},
"named": false,
"value": "RePeaT"
},
"named": true,
"value": "identifier"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_terminator"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_filler_line"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_statement"
},
{
"type": "SYMBOL",
"name": "block"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_filler_line"
}
},
{
"type": "FIELD",
"name": "command",
"content": {
"type": "ALIAS",
"content": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[wW][hH][iI][lL][eE]"
},
"named": false,
"value": "WHILE"
},
"named": true,
"value": "identifier"
}
},
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "FIELD",
"name": "condition",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
},
{
"type": "SYMBOL",
"name": "_terminator"
}
]
}
]
}
]
}
]
}
},
"macro_assignment_expression": {
"type": "PREC_RIGHT",
"value": 1,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "macro"
},
{
"type": "SYMBOL",
"name": "recursive_macro_expansion"
}
]
}
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "="
}
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
},
{
"type": "SYMBOL",
"name": "_terminator"
}
]
}
},
"unary_expression": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_prefix_postfix_expression"
},
{
"type": "SYMBOL",
"name": "_unary_expression"
}
]
},
"_unary_expression": {
"type": "PREC_LEFT",
"value": 24,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "+"
},
{
"type": "STRING",
"value": "-"
},
{
"type": "STRING",
"value": "~"
},
{
"type": "STRING",
"value": "!"
}
]
}
},
{
"type": "FIELD",
"name": "argument",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
}
]
}
},
"_prefix_postfix_expression": {
"type": "PREC_RIGHT",
"value": 26,
"content": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "argument",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "++"
},
{
"type": "STRING",
"value": "--"
}
]
}
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "++"
},
{
"type": "STRING",
"value": "--"
}
]
}
},
{
"type": "FIELD",
"name": "argument",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
}
]
}
]
}
},
"binary_expression": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_binary_expression"
},
{
"type": "SYMBOL",
"name": "_and_expression"
}
]
},
"_binary_expression": {
"type": "CHOICE",
"members": [
{
"type": "PREC_LEFT",
"value": 11,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"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": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "||"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": 18,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "+"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": 18,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "-"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": 19,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "*"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": 19,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "/"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": 19,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "%"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": 13,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "|"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": 14,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "^"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": 17,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "=="
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": 17,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "!="
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": 17,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": ">"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": 17,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": ">="
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": 17,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "<="
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": 17,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "<"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": 21,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "<<"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": 21,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": ">>"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": 29,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": ".."
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": 29,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "--"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": 29,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "++"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
}
]
}
}
]
},
"_and_expression": {
"type": "CHOICE",
"members": [
{
"type": "PREC_LEFT",
"value": 12,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
},
{
"type": "SYMBOL",
"name": "_and_operator_pre_hook"
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "&&"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": 15,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
},
{
"type": "SYMBOL",
"name": "_and_operator_pre_hook"
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "&"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
}
]
}
}
]
},
"assignment_expression": {
"type": "PREC_RIGHT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "="
}
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
}
]
}
},
"_label": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "label",
"content": {
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "label_identifier"
},
"named": true,
"value": "identifier"
}
},
{
"type": "STRING",
"value": ":"
}
]
},
"macro_definition": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "(::)?B::"
},
{
"type": "BLANK"
}
]
},
{
"type": "FIELD",
"name": "command",
"content": {
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "macro_definition_command"
},
"named": true,
"value": "identifier"
}
},
{
"type": "REPEAT1",
"content": {
"type": "SEQ",
"members": [
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "FIELD",
"name": "macro",
"content": {
"type": "SYMBOL",
"name": "macro"
}
}
]
}
},
{
"type": "SYMBOL",
"name": "_terminator"
}
]
},
"parameter_declaration": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "(::)?B::"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "FIELD",
"name": "command",
"content": {
"type": "ALIAS",
"content": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[pP][aA][rR][aA][mM][eE][tT][eE][rR][sS]"
},
"named": false,
"value": "PARAMETERS"
},
"named": true,
"value": "identifier"
}
},
{
"type": "FIELD",
"name": "command",
"content": {
"type": "ALIAS",
"content": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[rR][eE][tT][uU][rR][nN][vV][aA][lL][uU][eE][sS]"
},
"named": false,
"value": "RETURNVALUES"
},
"named": true,
"value": "identifier"
}
},
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "command",
"content": {
"type": "ALIAS",
"content": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[eE][nN][tT][rR][yY]"
},
"named": false,
"value": "ENTRY"
},
"named": true,
"value": "identifier"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "ALIAS",
"content": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[%%][lL][iI][nN][eE]"
},
"named": false,
"value": "%LINE"
},
"named": true,
"value": "identifier"
}
]
},
{
"type": "BLANK"
}
]
}
]
}
]
},
{
"type": "REPEAT1",
"content": {
"type": "SEQ",
"members": [
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "FIELD",
"name": "macro",
"content": {
"type": "SYMBOL",
"name": "macro"
}
}
]
}
},
{
"type": "SYMBOL",
"name": "_terminator"
}
]
},
"subroutine_call_expression": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "(::)?B::"
},
{
"type": "BLANK"
}
]
},
{
"type": "FIELD",
"name": "command",
"content": {
"type": "ALIAS",
"content": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[gG][oO][sS][uU][bB]"
},
"named": false,
"value": "GOSUB"
},
"named": true,
"value": "identifier"
}
},
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "FIELD",
"name": "subroutine",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "FIELD",
"name": "arguments",
"content": {
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_command_arguments"
},
"named": true,
"value": "argument_list"
}
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "_terminator"
}
]
},
"macro": {
"type": "PREC_LEFT",
"value": 0,
"content": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "&"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "identifier"
},
"named": false,
"value": "name"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "&"
},
{
"type": "STRING",
"value": "("
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "identifier"
},
"named": false,
"value": "name"
},
{
"type": "STRING",
"value": ")"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "&"
},
{
"type": "STRING",
"value": "{"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "identifier"
},
"named": false,
"value": "name"
},
{
"type": "STRING",
"value": "}"
}
]
}
]
}
},
"recursive_macro_expansion": {
"type": "PREC_LEFT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "&&"
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": ")"
},
{
"type": "BLANK"
}
]
}
]
}
},
"macro_text_expansion": {
"type": "PREC_RIGHT",
"value": 1,
"content": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "macro"
},
{
"type": "REPEAT1",
"content": {
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "identifier"
},
"named": false,
"value": "fragment"
},
{
"type": "SYMBOL",
"name": "macro"
}
]
}
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "identifier"
},
"named": false,
"value": "fragment"
},
{
"type": "SYMBOL",
"name": "macro"
},
{
"type": "REPEAT",
"content": {
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "identifier"
},
"named": false,
"value": "fragment"
},
{
"type": "SYMBOL",
"name": "macro"
}
]
}
}
]
}
]
}
},
"macro_definition_command": {
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[gG][lL][oO][bB][aA][lL]"
},
"named": false,
"value": "GLOBAL"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[lL][oO][cC][aA][lL]"
},
"named": false,
"value": "LOCAL"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[pP][rR][iI][vV][aA][tT][eE]"
},
"named": false,
"value": "PRIVATE"
}
]
},
"command_expression": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "(::)?B::"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_var_command"
},
{
"type": "SYMBOL",
"name": "_terminator"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_host_command"
},
{
"type": "SYMBOL",
"name": "_terminator"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_other_command"
},
{
"type": "SYMBOL",
"name": "_terminator"
}
]
}
]
}
]
},
"_host_command": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "command",
"content": {
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_host_command_with_default_format"
},
"named": true,
"value": "identifier"
}
},
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "FIELD",
"name": "arguments",
"content": {
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_host_command_argument_list_default_format"
},
"named": true,
"value": "argument_list"
}
}
]
},
"_host_command_with_default_format": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[oO][sS]"
},
"named": false,
"value": "OS"
},
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "."
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "identifier"
},
"named": false,
"value": "subcommand"
}
]
}
]
},
"_other_command": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "command",
"content": {
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_command_identifier"
},
"named": true,
"value": "identifier"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "FIELD",
"name": "arguments",
"content": {
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_command_arguments"
},
"named": true,
"value": "argument_list"
},
{
"type": "BLANK"
}
]
}
}
]
},
{
"type": "BLANK"
}
]
}
]
},
"_command_identifier": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "identifier"
},
"named": false,
"value": "command"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "."
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "identifier"
},
"named": false,
"value": "subcommand"
}
]
}
}
]
},
"_command_arguments": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "REPEAT",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_command_argument"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ","
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_command_argument"
},
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
}
]
}
]
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_command_argument"
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "STRING",
"value": ","
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "option_expression"
},
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
}
]
}
},
{
"type": "SYMBOL",
"name": "option_expression"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "macro"
},
{
"type": "SYMBOL",
"name": "macro_text_expansion"
}
]
}
]
}
}
]
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "option_expression"
},
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
}
]
}
},
{
"type": "SYMBOL",
"name": "option_expression"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "macro"
},
{
"type": "SYMBOL",
"name": "macro_text_expansion"
}
]
}
]
}
}
]
}
]
}
]
},
"_host_command_argument_list_default_format": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "macro"
},
{
"type": "SYMBOL",
"name": "string"
},
{
"type": "REPEAT1",
"content": {
"type": "PATTERN",
"value": "[^ \\t\\r\\n]"
}
}
]
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "macro"
},
{
"type": "SYMBOL",
"name": "string"
},
{
"type": "REPEAT1",
"content": {
"type": "PATTERN",
"value": "[^ \\t\\r\\n]"
}
}
]
}
]
}
}
]
},
"_command_argument": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "SYMBOL",
"name": "format_expression"
}
]
},
"_command_argument_separator": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_blank"
},
{
"type": "STRING",
"value": ","
}
]
},
"option_expression": {
"type": "PREC",
"value": 1,
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "/"
},
{
"type": "FIELD",
"name": "option",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "FIELD",
"name": "value",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "SYMBOL",
"name": "macro"
},
{
"type": "SYMBOL",
"name": "macro_text_expansion"
},
{
"type": "SYMBOL",
"name": "_literal"
}
]
}
}
]
},
{
"type": "BLANK"
}
]
}
]
}
},
"format_expression": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "%"
},
{
"type": "FIELD",
"name": "value",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "SYMBOL",
"name": "macro"
},
{
"type": "SYMBOL",
"name": "macro_text_expansion"
}
]
}
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "."
},
{
"type": "FIELD",
"name": "value",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "SYMBOL",
"name": "macro"
},
{
"type": "SYMBOL",
"name": "macro_text_expansion"
}
]
}
}
]
}
}
]
},
"call_expression": {
"type": "PREC",
"value": 25,
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_hll_var_call_expression"
},
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "function",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_function_identifier"
},
"named": true,
"value": "identifier"
}
]
}
},
{
"type": "FIELD",
"name": "arguments",
"content": {
"type": "SYMBOL",
"name": "argument_list"
}
}
]
}
]
}
},
"_function_identifier": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "identifier"
},
"named": false,
"value": "function"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "."
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "identifier"
},
"named": false,
"value": "subfunction"
}
]
}
}
]
},
"argument_list": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "STRING",
"value": ","
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
}
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
"_var_command": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_hll_var_command"
},
{
"type": "SYMBOL",
"name": "_hll_var_definition_command"
},
{
"type": "SYMBOL",
"name": "_non_hll_var_command"
}
]
},
"_hll_var_command": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_hll_default_format_var_command"
},
{
"type": "SYMBOL",
"name": "_hll_non_default_format_var_command"
}
]
},
"_hll_default_format_var_command": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "command",
"content": {
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_hll_var_command_with_default_format"
},
"named": true,
"value": "identifier"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "FIELD",
"name": "arguments",
"content": {
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_hll_var_command_argument_list_default_format"
},
"named": true,
"value": "argument_list"
}
}
]
},
{
"type": "BLANK"
}
]
}
]
},
"_hll_non_default_format_var_command": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "command",
"content": {
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[vV]|[vV][aA][rR]"
},
"named": false,
"value": "Var"
},
{
"type": "STRING",
"value": "."
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[aA][sS]|[aA][dD][dD][sS][tT][iI][cC][kK][eE][rR]"
},
"named": false,
"value": "AddSticker"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[eE][xX][pP][oO][rR][tT]"
},
"named": false,
"value": "EXPORT"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[wW][rR][iI][tT][eE]"
},
"named": false,
"value": "WRITE"
}
]
}
]
},
"named": true,
"value": "identifier"
}
},
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "FIELD",
"name": "arguments",
"content": {
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_hll_var_command_argument_list_non_default_format"
},
"named": true,
"value": "argument_list"
}
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "command",
"content": {
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[vV]|[vV][aA][rR]"
},
"named": false,
"value": "Var"
},
{
"type": "STRING",
"value": "."
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[pP][aA][tT]|[pP][aA][tT][tT][eE][rR][nN]"
},
"named": false,
"value": "PATtern"
}
]
},
"named": true,
"value": "identifier"
}
},
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "FIELD",
"name": "arguments",
"content": {
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_hll_var_pattern_command_argument_list_format"
},
"named": true,
"value": "argument_list"
}
}
]
}
]
},
"_non_hll_var_command": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "command",
"content": {
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_var_command_with_non_hll_format"
},
"named": true,
"value": "identifier"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "FIELD",
"name": "arguments",
"content": {
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_var_command_argument_list_non_hll_format"
},
"named": true,
"value": "argument_list"
}
}
]
},
{
"type": "BLANK"
}
]
}
]
},
"_hll_var_definition_command": {
"type": "SEQ",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "command",
"content": {
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_hll_var_definition_command_expression"
},
"named": true,
"value": "identifier"
}
},
{
"type": "SEQ",
"members": [
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "FIELD",
"name": "arguments",
"content": {
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_var_definition_command_argument_list_format"
},
"named": true,
"value": "argument_list"
}
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[ \\t]*=[ \\t]*"
},
{
"type": "FIELD",
"name": "value",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "integer"
},
{
"type": "SYMBOL",
"name": "hll_char_literal"
},
{
"type": "SYMBOL",
"name": "hll_string_literal"
},
{
"type": "SYMBOL",
"name": "hll_number_literal"
}
]
}
}
]
},
{
"type": "BLANK"
}
]
}
]
}
]
},
"_hll_var_command_with_default_format": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[vV]|[vV][aA][rR]"
},
"named": false,
"value": "Var"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "."
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "identifier"
},
"named": false,
"value": "subcommand"
}
]
}
}
]
},
"_hll_var_command_with_non_default_format": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[vV]|[vV][aA][rR]"
},
"named": false,
"value": "Var"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "."
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[aA][sS]|[aA][dD][dD][sS][tT][iI][cC][kK][eE][rR]"
},
"named": false,
"value": "AddSticker"
}
]
}
]
}
}
]
},
"_var_command_with_non_hll_format": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[vV]|[vV][aA][rR]"
},
"named": false,
"value": "Var"
},
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "."
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[lL]|[lL][oO][cC][aA][lL]"
},
"named": false,
"value": "Local"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[rR]|[rR][eE][fF]"
},
"named": false,
"value": "Ref"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[tT][rR][eE][eE]"
},
"named": false,
"value": "TREE"
}
]
}
]
}
]
},
"_hll_var_definition_command_expression": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[vV]|[vV][aA][rR]"
},
"named": false,
"value": "Var"
},
{
"type": "STRING",
"value": "."
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[nN][eE][wW][lL][oO][cC][aA][lL]"
},
"named": false,
"value": "NEWLOCAL"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[nN][eE][wW][gG][lL][oO][bB][aA][lL]"
},
"named": false,
"value": "NEWGLOBAL"
}
]
}
]
},
"_hll_var_if_command": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[vV]|[vV][aA][rR]"
},
"named": false,
"value": "Var"
},
{
"type": "STRING",
"value": "."
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[iI][fF]"
},
"named": false,
"value": "IF"
}
]
},
"_hll_var_command_argument_list_default_format": {
"type": "SEQ",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "format_expression"
},
{
"type": "SEQ",
"members": [
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_hll_expression"
},
{
"type": "SYMBOL",
"name": "_hll_expression_separator"
}
]
}
},
{
"type": "SYMBOL",
"name": "_hll_expression"
}
]
}
]
},
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
}
]
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_hll_expression"
},
{
"type": "SYMBOL",
"name": "_hll_expression_separator"
}
]
}
},
{
"type": "SYMBOL",
"name": "_hll_expression"
}
]
},
{
"type": "SYMBOL",
"name": "format_expression"
}
]
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "option_expression"
},
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
}
]
}
},
{
"type": "SYMBOL",
"name": "option_expression"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
"_hll_var_command_argument_list_non_default_format": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "file_handle"
},
{
"type": "SYMBOL",
"name": "path"
},
{
"type": "SYMBOL",
"name": "symbol"
},
{
"type": "SYMBOL",
"name": "string"
}
]
},
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "format_expression"
},
{
"type": "SEQ",
"members": [
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_hll_expression"
},
{
"type": "SYMBOL",
"name": "_hll_expression_separator"
}
]
}
},
{
"type": "SYMBOL",
"name": "_hll_expression"
}
]
}
]
},
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
}
]
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_hll_expression"
},
{
"type": "SYMBOL",
"name": "_hll_expression_separator"
}
]
}
},
{
"type": "SYMBOL",
"name": "_hll_expression"
}
]
},
{
"type": "SYMBOL",
"name": "format_expression"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "SYMBOL",
"name": "option_expression"
}
]
},
{
"type": "BLANK"
}
]
}
]
}
]
},
"_hll_var_pattern_command_argument_list_format": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "format_expression"
},
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
}
]
}
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "hll_type_pattern"
},
{
"type": "SYMBOL",
"name": "_blank"
}
]
}
},
{
"type": "SYMBOL",
"name": "hll_type_pattern"
}
]
}
]
},
"_var_command_argument_list_non_hll_format": {
"type": "SEQ",
"members": [
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "format_expression"
},
{
"type": "SYMBOL",
"name": "option_expression"
}
]
},
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
}
]
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "format_expression"
},
{
"type": "SYMBOL",
"name": "option_expression"
}
]
}
]
},
"_var_definition_command_argument_list_format": {
"type": "SYMBOL",
"name": "hll_declaration"
},
"_hll_var_call_expression_function": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[vV]|[vV][aA][rR]"
},
"named": false,
"value": "Var"
},
{
"type": "STRING",
"value": "."
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "identifier"
},
"named": false,
"value": "subfunction"
}
]
},
"_hll_var_call_expression": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "function",
"content": {
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_hll_var_call_expression_function"
},
"named": true,
"value": "identifier"
}
},
{
"type": "FIELD",
"name": "arguments",
"content": {
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "hll_var_call_expression_argument_list"
},
"named": true,
"value": "argument_list"
}
}
]
},
"hll_var_call_expression_argument_list": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SYMBOL",
"name": "_hll_expression"
},
{
"type": "STRING",
"value": ")"
}
]
},
"hll_type_pattern": {
"type": "SEQ",
"members": [
{
"type": "REPEAT1",
"content": {
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "identifier"
},
"named": false,
"value": "type"
},
{
"type": "STRING",
"value": "?"
},
{
"type": "STRING",
"value": "*"
}
]
}
}
]
},
"_hll_expression": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_hll_number_literal"
},
{
"type": "SYMBOL",
"name": "hll_conditional_expression"
},
{
"type": "SYMBOL",
"name": "hll_assignment_expression"
},
{
"type": "SYMBOL",
"name": "hll_binary_expression"
},
{
"type": "SYMBOL",
"name": "hll_unary_expression"
},
{
"type": "SYMBOL",
"name": "hll_update_expression"
},
{
"type": "SYMBOL",
"name": "hll_cast_expression"
},
{
"type": "SYMBOL",
"name": "hll_pointer_expression"
},
{
"type": "SYMBOL",
"name": "hll_sizeof_expression"
},
{
"type": "SYMBOL",
"name": "hll_subscript_expression"
},
{
"type": "SYMBOL",
"name": "hll_call_expression"
},
{
"type": "SYMBOL",
"name": "hll_field_expression"
},
{
"type": "SYMBOL",
"name": "hll_string_literal"
},
{
"type": "SYMBOL",
"name": "hll_char_literal"
},
{
"type": "SYMBOL",
"name": "hll_parenthesized_expression"
},
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "SYMBOL",
"name": "symbol"
}
]
},
"hll_call_expression": {
"type": "PREC",
"value": 25,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "function",
"content": {
"type": "SYMBOL",
"name": "_hll_expression"
}
},
{
"type": "FIELD",
"name": "arguments",
"content": {
"type": "SYMBOL",
"name": "hll_argument_list"
}
}
]
}
},
"hll_field_expression": {
"type": "SEQ",
"members": [
{
"type": "PREC",
"value": 27,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "argument",
"content": {
"type": "SYMBOL",
"name": "_hll_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "."
},
{
"type": "STRING",
"value": "->"
}
]
}
}
]
}
},
{
"type": "FIELD",
"name": "field",
"content": {
"type": "SYMBOL",
"name": "_hll_field_identifier"
}
}
]
},
"hll_subscript_expression": {
"type": "PREC",
"value": 28,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "argument",
"content": {
"type": "SYMBOL",
"name": "_hll_expression"
}
},
{
"type": "STRING",
"value": "["
},
{
"type": "FIELD",
"name": "index",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_hll_expression"
},
{
"type": "SYMBOL",
"name": "hll_range_expression"
}
]
}
},
{
"type": "STRING",
"value": "]"
}
]
}
},
"hll_cast_expression": {
"type": "PREC",
"value": 23,
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "FIELD",
"name": "type",
"content": {
"type": "SYMBOL",
"name": "hll_type_descriptor"
}
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "STRING",
"value": ")"
},
{
"type": "FIELD",
"name": "value",
"content": {
"type": "SYMBOL",
"name": "_hll_expression"
}
}
]
}
},
"hll_sizeof_expression": {
"type": "PREC_RIGHT",
"value": 20,
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "sizeof"
},
{
"type": "CHOICE",
"members": [
{
"type": "FIELD",
"name": "value",
"content": {
"type": "SYMBOL",
"name": "_hll_expression"
}
},
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "FIELD",
"name": "type",
"content": {
"type": "SYMBOL",
"name": "hll_type_descriptor"
}
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "STRING",
"value": ")"
}
]
}
]
}
]
}
},
"hll_pointer_expression": {
"type": "PREC_LEFT",
"value": 23,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "*"
},
{
"type": "STRING",
"value": "&"
}
]
}
},
{
"type": "FIELD",
"name": "argument",
"content": {
"type": "SYMBOL",
"name": "_hll_expression"
}
}
]
}
},
"hll_comma_expression": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_hll_expression"
}
},
{
"type": "STRING",
"value": ","
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_hll_expression"
},
{
"type": "SYMBOL",
"name": "hll_comma_expression"
}
]
}
}
]
},
"hll_update_expression": {
"type": "PREC_RIGHT",
"value": 24,
"content": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "--"
},
{
"type": "STRING",
"value": "++"
}
]
}
},
{
"type": "FIELD",
"name": "argument",
"content": {
"type": "SYMBOL",
"name": "_hll_expression"
}
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "argument",
"content": {
"type": "SYMBOL",
"name": "_hll_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "--"
},
{
"type": "STRING",
"value": "++"
}
]
}
}
]
}
]
}
},
"hll_unary_expression": {
"type": "PREC_LEFT",
"value": 24,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "!"
},
{
"type": "STRING",
"value": "~"
},
{
"type": "STRING",
"value": "-"
},
{
"type": "STRING",
"value": "+"
}
]
}
},
{
"type": "FIELD",
"name": "argument",
"content": {
"type": "SYMBOL",
"name": "_hll_expression"
}
}
]
}
},
"hll_binary_expression": {
"type": "CHOICE",
"members": [
{
"type": "PREC_LEFT",
"value": 18,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_hll_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "+"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_hll_expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": 18,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_hll_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "-"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_hll_expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": 19,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_hll_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "*"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_hll_expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": 19,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_hll_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "/"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_hll_expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": 19,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_hll_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "%"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_hll_expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": 10,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_hll_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "||"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_hll_expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": 12,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_hll_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "&&"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_hll_expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": 13,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_hll_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "|"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_hll_expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": 14,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_hll_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "^"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_hll_expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": 15,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_hll_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "&"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_hll_expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": 16,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_hll_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "=="
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_hll_expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": 16,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_hll_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "!="
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_hll_expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": 17,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_hll_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": ">"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_hll_expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": 17,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_hll_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": ">="
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_hll_expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": 17,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_hll_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "<="
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_hll_expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": 17,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_hll_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "<"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_hll_expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": 21,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_hll_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "<<"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_hll_expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": 21,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_hll_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": ">>"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_hll_expression"
}
}
]
}
}
]
},
"hll_range_expression": {
"type": "PREC_LEFT",
"value": 29,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_hll_expression"
}
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": ".."
}
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_hll_expression"
}
}
]
}
},
"hll_assignment_expression": {
"type": "PREC_RIGHT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_hll_assignment_left_expression"
}
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "="
},
{
"type": "STRING",
"value": "*="
},
{
"type": "STRING",
"value": "/="
},
{
"type": "STRING",
"value": "%="
},
{
"type": "STRING",
"value": "+="
},
{
"type": "STRING",
"value": "-="
},
{
"type": "STRING",
"value": "<<="
},
{
"type": "STRING",
"value": ">>="
},
{
"type": "STRING",
"value": "&="
},
{
"type": "STRING",
"value": "^="
},
{
"type": "STRING",
"value": "|="
}
]
}
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_hll_expression"
}
}
]
}
},
"_hll_assignment_left_expression": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "SYMBOL",
"name": "hll_call_expression"
},
{
"type": "SYMBOL",
"name": "hll_field_expression"
},
{
"type": "SYMBOL",
"name": "hll_pointer_expression"
},
{
"type": "SYMBOL",
"name": "hll_subscript_expression"
},
{
"type": "SYMBOL",
"name": "hll_parenthesized_expression"
},
{
"type": "SYMBOL",
"name": "symbol"
}
]
},
"hll_conditional_expression": {
"type": "PREC_RIGHT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "condition",
"content": {
"type": "SYMBOL",
"name": "_hll_expression"
}
},
{
"type": "STRING",
"value": "?"
},
{
"type": "FIELD",
"name": "consequence",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_hll_expression"
}
]
},
{
"type": "BLANK"
}
]
}
},
{
"type": "STRING",
"value": ":"
},
{
"type": "FIELD",
"name": "alternative",
"content": {
"type": "SYMBOL",
"name": "_hll_expression"
}
}
]
}
},
"hll_char_literal": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "L'"
},
{
"type": "STRING",
"value": "u'"
},
{
"type": "STRING",
"value": "U'"
},
{
"type": "STRING",
"value": "u8'"
},
{
"type": "STRING",
"value": "'"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "hll_escape_sequence"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[^\\n']"
},
"named": true,
"value": "character"
}
]
},
{
"type": "STRING",
"value": "'"
}
]
},
"hll_string_literal": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "L\""
},
{
"type": "STRING",
"value": "u\""
},
{
"type": "STRING",
"value": "U\""
},
{
"type": "STRING",
"value": "u8\""
},
{
"type": "STRING",
"value": "\""
}
]
},
{
"type": "REPEAT",
"content": {
"type": "CHOICE",
"members": [
{
"type": "PREC",
"value": 1,
"content": {
"type": "PATTERN",
"value": "[^\\\\\"\\n]+"
}
},
{
"type": "SYMBOL",
"name": "hll_escape_sequence"
}
]
}
},
{
"type": "STRING",
"value": "\""
}
]
},
"_hll_number_literal": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_hll_number_literal_pre_hook"
},
{
"type": "SYMBOL",
"name": "hll_number_literal"
}
]
},
"hll_parenthesized_expression": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_hll_expression"
},
{
"type": "SYMBOL",
"name": "hll_comma_expression"
}
]
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "STRING",
"value": ")"
}
]
},
"hll_type_descriptor": {
"type": "SEQ",
"members": [
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "hll_type_qualifier"
}
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "FIELD",
"name": "type",
"content": {
"type": "SYMBOL",
"name": "_hll_type_specifier"
}
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "SYMBOL",
"name": "hll_type_qualifier"
}
]
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "FIELD",
"name": "declarator",
"content": {
"type": "SYMBOL",
"name": "_hll_abstract_declarator"
}
}
]
},
{
"type": "BLANK"
}
]
}
]
},
"hll_type_qualifier": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "const"
},
{
"type": "STRING",
"value": "volatile"
}
]
},
"_hll_declaration_modifiers": {
"type": "SYMBOL",
"name": "hll_type_qualifier"
},
"_hll_type_specifier": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_hll_type_identifier"
},
{
"type": "SYMBOL",
"name": "hll_union_specifier"
},
{
"type": "SYMBOL",
"name": "hll_struct_specifier"
},
{
"type": "SYMBOL",
"name": "hll_enum_specifier"
},
{
"type": "SYMBOL",
"name": "hll_primitive_type"
},
{
"type": "SYMBOL",
"name": "hll_sized_type_specifier"
}
]
},
"hll_struct_specifier": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "struct"
},
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "FIELD",
"name": "name",
"content": {
"type": "SYMBOL",
"name": "_hll_type_identifier"
}
}
]
},
"hll_union_specifier": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "union"
},
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "FIELD",
"name": "name",
"content": {
"type": "SYMBOL",
"name": "_hll_type_identifier"
}
}
]
},
"hll_enum_specifier": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "enum"
},
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "FIELD",
"name": "name",
"content": {
"type": "SYMBOL",
"name": "_hll_type_identifier"
}
}
]
},
"hll_sized_type_specifier": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "REPEAT1",
"content": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "signed"
},
{
"type": "STRING",
"value": "unsigned"
},
{
"type": "STRING",
"value": "long"
},
{
"type": "STRING",
"value": "short"
}
]
},
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
}
]
}
},
{
"type": "FIELD",
"name": "type",
"content": {
"type": "SYMBOL",
"name": "_hll_type_identifier"
}
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "signed"
},
{
"type": "STRING",
"value": "unsigned"
},
{
"type": "STRING",
"value": "long"
},
{
"type": "STRING",
"value": "short"
}
]
},
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
}
]
}
},
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "signed"
},
{
"type": "STRING",
"value": "unsigned"
},
{
"type": "STRING",
"value": "long"
},
{
"type": "STRING",
"value": "short"
}
]
}
]
}
]
}
]
},
"hll_primitive_type": {
"type": "TOKEN",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "bool"
},
{
"type": "STRING",
"value": "char"
},
{
"type": "STRING",
"value": "int"
},
{
"type": "STRING",
"value": "float"
},
{
"type": "STRING",
"value": "double"
},
{
"type": "STRING",
"value": "void"
},
{
"type": "STRING",
"value": "size_t"
},
{
"type": "STRING",
"value": "ssize_t"
},
{
"type": "STRING",
"value": "intptr_t"
},
{
"type": "STRING",
"value": "uintptr_t"
},
{
"type": "STRING",
"value": "charptr_t"
},
{
"type": "STRING",
"value": "int8_t"
},
{
"type": "STRING",
"value": "int16_t"
},
{
"type": "STRING",
"value": "int32_t"
},
{
"type": "STRING",
"value": "int64_t"
},
{
"type": "STRING",
"value": "uint8_t"
},
{
"type": "STRING",
"value": "uint16_t"
},
{
"type": "STRING",
"value": "uint32_t"
},
{
"type": "STRING",
"value": "uint64_t"
},
{
"type": "STRING",
"value": "char8_t"
},
{
"type": "STRING",
"value": "char16_t"
},
{
"type": "STRING",
"value": "char32_t"
},
{
"type": "STRING",
"value": "char64_t"
}
]
}
},
"hll_declaration": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_hll_declaration_specifiers"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "FIELD",
"name": "declarator",
"content": {
"type": "SYMBOL",
"name": "_hll_declarator"
}
}
]
},
"_hll_declaration_specifiers": {
"type": "SEQ",
"members": [
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_hll_declaration_modifiers"
},
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
}
]
}
},
{
"type": "FIELD",
"name": "type",
"content": {
"type": "SYMBOL",
"name": "_hll_type_specifier"
}
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "SYMBOL",
"name": "_hll_declaration_modifiers"
}
]
}
}
]
},
"_hll_declarator": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "hll_pointer_declarator"
},
{
"type": "SYMBOL",
"name": "hll_function_declarator"
},
{
"type": "SYMBOL",
"name": "hll_array_declarator"
},
{
"type": "SYMBOL",
"name": "hll_parenthesized_declarator"
},
{
"type": "SYMBOL",
"name": "symbol"
}
]
},
"hll_pointer_declarator": {
"type": "PREC_RIGHT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_hll_pointer_declarator_specifier"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "FIELD",
"name": "declarator",
"content": {
"type": "SYMBOL",
"name": "_hll_declarator"
}
}
]
}
},
"hll_function_declarator": {
"type": "PREC",
"value": 1,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "declarator",
"content": {
"type": "SYMBOL",
"name": "_hll_declarator"
}
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "FIELD",
"name": "parameters",
"content": {
"type": "SYMBOL",
"name": "hll_parameter_list"
}
}
]
}
},
"hll_array_declarator": {
"type": "PREC_RIGHT",
"value": 1,
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "["
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "SYMBOL",
"name": "hll_type_qualifier"
}
]
}
},
{
"type": "FIELD",
"name": "size",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_hll_expression"
},
{
"type": "STRING",
"value": "*"
}
]
}
]
},
{
"type": "BLANK"
}
]
}
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "STRING",
"value": "]"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "FIELD",
"name": "declarator",
"content": {
"type": "SYMBOL",
"name": "_hll_declarator"
}
}
]
}
},
"hll_parenthesized_declarator": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "SYMBOL",
"name": "_hll_declarator"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "STRING",
"value": ")"
}
]
},
"_hll_pointer_declarator_specifier": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "*"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "SEQ",
"members": [
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "hll_type_qualifier"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
}
]
}
},
{
"type": "SYMBOL",
"name": "hll_type_qualifier"
}
]
}
]
},
{
"type": "BLANK"
}
]
}
]
},
"_hll_abstract_declarator": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "hll_abstract_pointer_declarator"
},
{
"type": "SYMBOL",
"name": "hll_abstract_function_declarator"
},
{
"type": "SYMBOL",
"name": "hll_abstract_array_declarator"
},
{
"type": "SYMBOL",
"name": "hll_abstract_parenthesized_declarator"
}
]
},
"hll_abstract_pointer_declarator": {
"type": "PREC_RIGHT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_hll_pointer_declarator_specifier"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "FIELD",
"name": "declarator",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_hll_abstract_declarator"
},
{
"type": "BLANK"
}
]
}
}
]
}
},
"hll_abstract_function_declarator": {
"type": "PREC",
"value": 1,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "declarator",
"content": {
"type": "SYMBOL",
"name": "_hll_abstract_declarator"
}
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "FIELD",
"name": "parameters",
"content": {
"type": "SYMBOL",
"name": "hll_parameter_list"
}
}
]
}
},
"hll_abstract_array_declarator": {
"type": "PREC",
"value": 1,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "declarator",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_hll_abstract_declarator"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
}
]
},
{
"type": "BLANK"
}
]
}
},
{
"type": "STRING",
"value": "["
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "SYMBOL",
"name": "hll_type_qualifier"
}
]
}
},
{
"type": "FIELD",
"name": "size",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_hll_expression"
},
{
"type": "STRING",
"value": "*"
}
]
}
]
},
{
"type": "BLANK"
}
]
}
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "STRING",
"value": "]"
}
]
}
},
"hll_abstract_parenthesized_declarator": {
"type": "PREC",
"value": 1,
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "SYMBOL",
"name": "_hll_abstract_declarator"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "STRING",
"value": ")"
}
]
}
},
"hll_parameter_list": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "hll_parameter_declaration"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "hll_parameter_declaration"
}
]
}
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
"hll_parameter_declaration": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_hll_declaration_specifiers"
},
{
"type": "CHOICE",
"members": [
{
"type": "FIELD",
"name": "declarator",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_hll_declarator"
},
{
"type": "SYMBOL",
"name": "_hll_abstract_declarator"
}
]
}
},
{
"type": "BLANK"
}
]
}
]
},
"hll_argument_list": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_hll_expression"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
},
{
"type": "SYMBOL",
"name": "_hll_expression"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_blank"
}
}
]
}
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
"hll_escape_sequence": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 1,
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "\\"
},
{
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "[^xuU]"
},
{
"type": "PATTERN",
"value": "\\d{2,3}"
},
{
"type": "PATTERN",
"value": "x[0-9a-fA-F]{2,}"
},
{
"type": "PATTERN",
"value": "u[0-9a-fA-F]{4}"
},
{
"type": "PATTERN",
"value": "U[0-9a-fA-F]{8}"
}
]
}
]
}
}
},
"_hll_type_identifier": {
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "identifier"
},
"named": true,
"value": "hll_type_identifier"
},
"_hll_field_identifier": {
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "identifier"
},
"named": true,
"value": "hll_field_identifier"
},
"_hll_expression_separator": {
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "[ \\t]*,[ \\t]*"
},
{
"type": "PATTERN",
"value": "[ \\t]*;[ \\t]*"
}
]
},
"_literal": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "address"
},
{
"type": "SYMBOL",
"name": "bitmask"
},
{
"type": "SYMBOL",
"name": "character"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_composed_name"
},
"named": true,
"value": "identifier"
},
{
"type": "SYMBOL",
"name": "file_handle"
},
{
"type": "SYMBOL",
"name": "float"
},
{
"type": "SYMBOL",
"name": "frequency"
},
{
"type": "SYMBOL",
"name": "integer"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_special_command_operator"
},
"named": true,
"value": "literal"
},
{
"type": "SYMBOL",
"name": "percentage"
},
{
"type": "SYMBOL",
"name": "string"
},
{
"type": "SYMBOL",
"name": "symbol"
},
{
"type": "SYMBOL",
"name": "time"
}
]
},
"_address_expression": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "integer"
},
{
"type": "SYMBOL",
"name": "macro"
},
{
"type": "SYMBOL",
"name": "macro_text_expansion"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_address_binary_expression"
},
"named": true,
"value": "binary_expression"
},
{
"type": "SYMBOL",
"name": "call_expression"
},
{
"type": "SYMBOL",
"name": "_parenthesized_address_expression"
}
]
},
"memory_space": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "machine",
"content": {
"type": "SYMBOL",
"name": "_address_expression"
}
},
{
"type": "STRING",
"value": ":::"
},
{
"type": "FIELD",
"name": "space",
"content": {
"type": "SYMBOL",
"name": "_address_expression"
}
},
{
"type": "STRING",
"value": "::"
},
{
"type": "FIELD",
"name": "segment",
"content": {
"type": "SYMBOL",
"name": "_address_expression"
}
},
{
"type": "STRING",
"value": ":"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "machine",
"content": {
"type": "SYMBOL",
"name": "_address_expression"
}
},
{
"type": "STRING",
"value": ":::"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "space",
"content": {
"type": "SYMBOL",
"name": "_address_expression"
}
},
{
"type": "STRING",
"value": "::"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "segment",
"content": {
"type": "SYMBOL",
"name": "_address_expression"
}
},
{
"type": "STRING",
"value": ":"
}
]
}
]
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "space",
"content": {
"type": "SYMBOL",
"name": "_address_expression"
}
},
{
"type": "STRING",
"value": "::"
},
{
"type": "FIELD",
"name": "segment",
"content": {
"type": "SYMBOL",
"name": "_address_expression"
}
},
{
"type": "STRING",
"value": ":"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "machine",
"content": {
"type": "SYMBOL",
"name": "_address_expression"
}
},
{
"type": "STRING",
"value": ":::"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "space",
"content": {
"type": "SYMBOL",
"name": "_address_expression"
}
},
{
"type": "STRING",
"value": "::"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "segment",
"content": {
"type": "SYMBOL",
"name": "_address_expression"
}
},
{
"type": "STRING",
"value": ":"
}
]
}
]
},
"access_class": {
"type": "PATTERN",
"value": "[a-zA-Z][a-zA-Z0-9]*:"
},
"address": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "access",
"content": {
"type": "SYMBOL",
"name": "access_class"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "memory_space"
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "SYMBOL",
"name": "memory_space"
}
]
},
{
"type": "FIELD",
"name": "location",
"content": {
"type": "SYMBOL",
"name": "_address_expression"
}
}
]
},
{
"type": "SYMBOL",
"name": "access_class"
}
]
},
"_parenthesized_address_expression": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SYMBOL",
"name": "_address_expression"
},
{
"type": "STRING",
"value": ")"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "{"
},
{
"type": "SYMBOL",
"name": "_address_expression"
},
{
"type": "STRING",
"value": "}"
}
]
}
]
},
"_address_binary_expression": {
"type": "CHOICE",
"members": [
{
"type": "PREC_LEFT",
"value": 18,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_address_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "+"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_address_expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": 18,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_address_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "-"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_address_expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": 19,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_address_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "*"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_address_expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": 19,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_address_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "/"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_address_expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": 19,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_address_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "%"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_address_expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": 13,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_address_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "|"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_address_expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": 14,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_address_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "^"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_address_expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": 29,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_address_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": ".."
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_address_expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": 29,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_address_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "--"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_address_expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": 29,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_address_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "++"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_address_expression"
}
}
]
}
}
]
},
"integer": {
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "0y[0-9]+"
},
{
"type": "PATTERN",
"value": "0[xX][0-9a-fA-F]+"
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_decimal_number_pre_hook"
},
{
"type": "SYMBOL",
"name": "_decimal_number"
}
]
}
]
},
"float": {
"type": "PATTERN",
"value": "[0-9]+\\.[0-9]+(e[-+][0-9]+)?"
},
"bitmask": {
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "0y[0-9xX]+"
},
{
"type": "PATTERN",
"value": "0x[0-9a-fA-FxX]+"
}
]
},
"string": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "\""
},
{
"type": "REPEAT",
"content": {
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "[^\"&]+"
},
{
"type": "PATTERN",
"value": "\"\""
},
{
"type": "SYMBOL",
"name": "_ampersand_char"
},
{
"type": "SYMBOL",
"name": "macro"
}
]
}
},
{
"type": "STRING",
"value": "\""
}
]
},
"character": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "'"
},
{
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "\\\\[^'\\n]"
},
{
"type": "PATTERN",
"value": "[^\\n]"
}
]
},
{
"type": "STRING",
"value": "'"
}
]
},
"_line_specifier": {
"type": "TOKEN",
"content": {
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "\\\\[0-9]+(\\\\[0-9]+)?"
},
{
"type": "PATTERN",
"value": "\\\\[0-9]+\\\\[0-9]*\\\\[0-9]+"
}
]
}
},
"symbol": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "\\\\\\"
},
{
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "`[^`\\n]+`"
},
{
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "\\w+"
},
{
"type": "CHOICE",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "macro"
},
{
"type": "SYMBOL",
"name": "macro_text_expansion"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "SYMBOL",
"name": "macro"
},
{
"type": "SYMBOL",
"name": "macro_text_expansion"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "\\\\"
},
{
"type": "CHOICE",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "`[^`\\n]+`"
},
{
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "\\w+"
},
{
"type": "CHOICE",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "macro"
},
{
"type": "SYMBOL",
"name": "macro_text_expansion"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "SYMBOL",
"name": "macro"
},
{
"type": "SYMBOL",
"name": "macro_text_expansion"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "\\"
},
{
"type": "CHOICE",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "`[^`\\n]+`"
},
{
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "\\w+"
},
{
"type": "CHOICE",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "macro"
},
{
"type": "SYMBOL",
"name": "macro_text_expansion"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "SYMBOL",
"name": "macro"
},
{
"type": "SYMBOL",
"name": "macro_text_expansion"
},
{
"type": "SYMBOL",
"name": "string"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "\\"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[a-zA-Z_]\\w*(::[a-zA-Z_]\\w*)*|`[^`\\n]+`"
},
{
"type": "CHOICE",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "macro"
},
{
"type": "SYMBOL",
"name": "macro_text_expansion"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "SYMBOL",
"name": "macro"
},
{
"type": "SYMBOL",
"name": "macro_text_expansion"
}
]
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "\\"
},
{
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "`[^`\\n]+`"
},
{
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[a-zA-Z_]\\w*"
},
{
"type": "CHOICE",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "macro"
},
{
"type": "SYMBOL",
"name": "macro_text_expansion"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "SYMBOL",
"name": "macro"
},
{
"type": "SYMBOL",
"name": "macro_text_expansion"
}
]
}
]
}
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "\\\\"
},
{
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "`[^`\\n]+`"
},
{
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "\\w+"
},
{
"type": "CHOICE",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "macro"
},
{
"type": "SYMBOL",
"name": "macro_text_expansion"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "SYMBOL",
"name": "macro"
},
{
"type": "SYMBOL",
"name": "macro_text_expansion"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "\\"
},
{
"type": "CHOICE",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "`[^`\\n]+`"
},
{
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "\\w+"
},
{
"type": "CHOICE",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "macro"
},
{
"type": "SYMBOL",
"name": "macro_text_expansion"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "SYMBOL",
"name": "macro"
},
{
"type": "SYMBOL",
"name": "macro_text_expansion"
},
{
"type": "SYMBOL",
"name": "string"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "\\"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[a-zA-Z_]\\w*(::[a-zA-Z_]\\w*)*|`[^`\\n]+`"
},
{
"type": "CHOICE",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "macro"
},
{
"type": "SYMBOL",
"name": "macro_text_expansion"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "SYMBOL",
"name": "macro"
},
{
"type": "SYMBOL",
"name": "macro_text_expansion"
}
]
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "\\"
},
{
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "`[^`\\n]+`"
},
{
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[a-zA-Z_]\\w*"
},
{
"type": "CHOICE",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "macro"
},
{
"type": "SYMBOL",
"name": "macro_text_expansion"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "SYMBOL",
"name": "macro"
},
{
"type": "SYMBOL",
"name": "macro_text_expansion"
}
]
}
]
}
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "\\"
},
{
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "`[^`\\n]+`"
},
{
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "\\w+"
},
{
"type": "CHOICE",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "macro"
},
{
"type": "SYMBOL",
"name": "macro_text_expansion"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "SYMBOL",
"name": "macro"
},
{
"type": "SYMBOL",
"name": "macro_text_expansion"
},
{
"type": "SYMBOL",
"name": "string"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "\\"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[a-zA-Z_]\\w*(::[a-zA-Z_]\\w*)*|`[^`\\n]+`"
},
{
"type": "CHOICE",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "macro"
},
{
"type": "SYMBOL",
"name": "macro_text_expansion"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "SYMBOL",
"name": "macro"
},
{
"type": "SYMBOL",
"name": "macro_text_expansion"
}
]
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "\\"
},
{
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "`[^`\\n]+`"
},
{
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[a-zA-Z_]\\w*"
},
{
"type": "CHOICE",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "macro"
},
{
"type": "SYMBOL",
"name": "macro_text_expansion"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "SYMBOL",
"name": "macro"
},
{
"type": "SYMBOL",
"name": "macro_text_expansion"
}
]
}
]
}
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "`[^`\\n]+`"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "\\"
},
{
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "`[^`\\n]+`"
},
{
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[a-zA-Z_]\\w*"
},
{
"type": "CHOICE",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "macro"
},
{
"type": "SYMBOL",
"name": "macro_text_expansion"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "SYMBOL",
"name": "macro"
},
{
"type": "SYMBOL",
"name": "macro_text_expansion"
}
]
}
]
}
}
]
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_line_specifier"
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "identifier"
},
"named": false,
"value": "function"
},
{
"type": "SYMBOL",
"name": "_line_specifier"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[a-zA-Z_]\\w*(::[a-zA-Z_]\\w*)+"
},
{
"type": "CHOICE",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "macro"
},
{
"type": "SYMBOL",
"name": "macro_text_expansion"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "\\"
},
{
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "`[^`\\n]+`"
},
{
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[a-zA-Z_]\\w*"
},
{
"type": "CHOICE",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "macro"
},
{
"type": "SYMBOL",
"name": "macro_text_expansion"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "SYMBOL",
"name": "macro"
},
{
"type": "SYMBOL",
"name": "macro_text_expansion"
}
]
}
]
}
}
]
}
]
},
"_composed_name": {
"type": "TOKEN",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[A-Za-z][A-Za-z0-9]+"
},
{
"type": "REPEAT1",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "-"
},
{
"type": "PATTERN",
"value": "[A-Za-z0-9]+"
}
]
}
}
]
}
},
"time": {
"type": "PATTERN",
"value": "[0-9]+\\.?[0-9]*[mnu]*s"
},
"frequency": {
"type": "PATTERN",
"value": "[0-9]+\\.?[0-9]*[kKmMgG]*[hH][zZ]"
},
"percentage": {
"type": "PATTERN",
"value": "[0-9]+\\.?[0-9]*%"
},
"_special_command_operator": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_file_dialog"
}
]
},
"_file_dialog": {
"type": "STRING",
"value": "*"
},
"file_handle": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "#"
},
{
"type": "PREC_RIGHT",
"value": 0,
"content": {
"type": "REPEAT1",
"content": {
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "[0-9]+"
},
{
"type": "SYMBOL",
"name": "macro"
}
]
}
}
}
]
},
"_expression": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "assignment_expression"
},
{
"type": "SYMBOL",
"name": "binary_expression"
},
{
"type": "SYMBOL",
"name": "call_expression"
},
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "SYMBOL",
"name": "unary_expression"
},
{
"type": "SYMBOL",
"name": "macro"
},
{
"type": "SYMBOL",
"name": "macro_text_expansion"
},
{
"type": "SYMBOL",
"name": "_literal"
},
{
"type": "SYMBOL",
"name": "_parenthesized_expression"
},
{
"type": "SYMBOL",
"name": "_path_expression"
}
]
},
"identifier": {
"type": "PATTERN",
"value": "[0-9]*[A-Za-z_]\\w*"
},
"comment": {
"type": "PATTERN",
"value": "[ \\t]*(;|\\/\\/)(\\\\\\r?\\n|[^\\n])*\\n"
},
"_blank_line": {
"type": "PATTERN",
"value": "[ \\t]*\\r?\\n"
},
"_filler_line": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_blank_line"
},
{
"type": "SYMBOL",
"name": "comment"
}
]
},
"_terminator": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "comment"
},
{
"type": "SYMBOL",
"name": "_blank_line"
}
]
},
"_line_continuation": {
"type": "PATTERN",
"value": "\\\\\\r?\\n"
},
"_blank": {
"type": "PATTERN",
"value": "[ \\t]"
}
},
"extras": [
{
"type": "SYMBOL",
"name": "_line_continuation"
}
],
"conflicts": [
[
"address"
],
[
"argument_list",
"assignment_expression"
],
[
"hll_array_declarator",
"hll_abstract_array_declarator"
],
[
"hll_sized_type_specifier"
],
[
"hll_type_descriptor"
],
[
"if_block"
],
[
"memory_space"
],
[
"option_expression"
],
[
"symbol"
],
[
"_address_expression",
"_literal"
],
[
"_binary_expression",
"_and_expression"
],
[
"_command_argument",
"assignment_expression"
],
[
"_expression",
"_function_identifier"
],
[
"_expression",
"_address_expression"
],
[
"_hll_declaration_specifiers"
],
[
"_hll_pointer_declarator_specifier"
],
[
"_hll_expression",
"_hll_assignment_left_expression"
],
[
"_hll_expression",
"_hll_type_identifier"
],
[
"_hll_expression",
"_hll_assignment_left_expression",
"_hll_type_identifier"
],
[
"_repeat_block_pre_condition_format",
"_repeat_block_post_condition_format"
]
],
"precedences": [],
"externals": [
{
"type": "SYMBOL",
"name": "label_identifier"
},
{
"type": "SYMBOL",
"name": "_and_operator_pre_hook"
},
{
"type": "SYMBOL",
"name": "_decimal_number"
},
{
"type": "SYMBOL",
"name": "_decimal_number_pre_hook"
},
{
"type": "SYMBOL",
"name": "hll_number_literal"
},
{
"type": "SYMBOL",
"name": "_hll_number_literal_pre_hook"
},
{
"type": "SYMBOL",
"name": "path"
},
{
"type": "STRING",
"value": "&&"
},
{
"type": "STRING",
"value": "&"
},
{
"type": "SYMBOL",
"name": "_ampersand_char"
}
],
"inline": [
"_hll_expression_separator",
"_hll_number_literal",
"_terminator",
"_filler_line",
"_top_level"
],
"supertypes": [],
"reserved": {}
}