tree-sitter-bos
Version:
DSL scripting language for controlling unit animations and state. Used by the Recoil engine.
2,163 lines • 138 kB
JSON
{
"$schema": "https://tree-sitter.github.io/tree-sitter/assets/schemas/grammar.schema.json",
"name": "bos",
"word": "identifier",
"rules": {
"source_file": {
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_top_level_item"
}
},
"_top_level_item": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "declaration"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "preproc_if_top_level"
},
"named": true,
"value": "preproc_if"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "preproc_ifdef_top_level"
},
"named": true,
"value": "preproc_ifdef"
},
{
"type": "SYMBOL",
"name": "macro_name_statement"
},
{
"type": "SYMBOL",
"name": "macro_call_statement"
},
{
"type": "SYMBOL",
"name": "preproc_include"
},
{
"type": "SYMBOL",
"name": "preproc_def"
},
{
"type": "SYMBOL",
"name": "preproc_function_def"
},
{
"type": "SYMBOL",
"name": "preproc_undef"
},
{
"type": "SYMBOL",
"name": "preproc_line"
},
{
"type": "SYMBOL",
"name": "preproc_directive"
},
{
"type": "STRING",
"value": ";"
}
]
},
"_block_item": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "statement"
},
{
"type": "SYMBOL",
"name": "preproc_if"
},
{
"type": "SYMBOL",
"name": "preproc_ifdef"
},
{
"type": "SYMBOL",
"name": "macro_name_statement"
},
{
"type": "SYMBOL",
"name": "macro_call_statement"
},
{
"type": "SYMBOL",
"name": "preproc_include"
},
{
"type": "SYMBOL",
"name": "preproc_def"
},
{
"type": "SYMBOL",
"name": "preproc_function_def"
},
{
"type": "SYMBOL",
"name": "preproc_undef"
},
{
"type": "SYMBOL",
"name": "preproc_line"
},
{
"type": "SYMBOL",
"name": "preproc_directive"
},
{
"type": "STRING",
"value": ";"
}
]
},
"macro_name_statement": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_define_name"
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": ";"
},
{
"type": "BLANK"
}
]
},
{
"type": "IMMEDIATE_TOKEN",
"content": {
"type": "PATTERN",
"value": "\\r?\\n"
}
}
]
},
"macro_call_statement": {
"type": "PREC",
"value": 15,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_macro_call_expression"
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": ";"
},
{
"type": "BLANK"
}
]
},
{
"type": "IMMEDIATE_TOKEN",
"content": {
"type": "PATTERN",
"value": "\\r?\\n"
}
}
]
}
},
"declaration": {
"type": "PREC",
"value": 10,
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "piece_declaration"
},
{
"type": "SYMBOL",
"name": "static_var_declaration"
},
{
"type": "SYMBOL",
"name": "function_declaration"
}
]
}
},
"piece_declaration": {
"type": "PREC",
"value": 10,
"content": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "piece",
"flags": "i"
},
"named": false,
"value": "piece"
},
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "name",
"content": {
"type": "SYMBOL",
"name": "_piece_name"
}
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "FIELD",
"name": "name",
"content": {
"type": "SYMBOL",
"name": "_piece_name"
}
}
]
}
}
]
},
{
"type": "STRING",
"value": ";"
}
]
}
},
"static_var_declaration": {
"type": "PREC",
"value": 10,
"content": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "static-?var",
"flags": "i"
},
"named": false,
"value": "static-var"
},
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "name",
"content": {
"type": "SYMBOL",
"name": "_var_name"
}
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "FIELD",
"name": "name",
"content": {
"type": "SYMBOL",
"name": "_var_name"
}
}
]
}
}
]
},
{
"type": "STRING",
"value": ";"
}
]
}
},
"function_declaration": {
"type": "PREC",
"value": 10,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "name",
"content": {
"type": "SYMBOL",
"name": "_func_name"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "()"
},
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "arg",
"content": {
"type": "SYMBOL",
"name": "_arg_name"
}
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "FIELD",
"name": "arg",
"content": {
"type": "SYMBOL",
"name": "_arg_name"
}
}
]
}
}
]
},
{
"type": "STRING",
"value": ")"
}
]
}
]
},
{
"type": "FIELD",
"name": "body",
"content": {
"type": "SYMBOL",
"name": "compound_statement"
}
}
]
}
},
"compound_statement": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "{"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_block_item"
}
},
{
"type": "STRING",
"value": "}"
}
]
},
"statement": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "compound_statement"
},
{
"type": "SYMBOL",
"name": "keyword_statement"
},
{
"type": "SYMBOL",
"name": "var_statement"
},
{
"type": "SYMBOL",
"name": "if_statement"
},
{
"type": "SYMBOL",
"name": "while_statement"
},
{
"type": "SYMBOL",
"name": "assign_statement"
},
{
"type": "SYMBOL",
"name": "return_statement"
},
{
"type": "STRING",
"value": ";"
}
]
},
"var_statement": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "var",
"flags": "i"
},
"named": false,
"value": "var"
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_var_name"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "_var_name"
}
]
}
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"if_statement": {
"type": "PREC_LEFT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "if",
"flags": "i"
},
"named": false,
"value": "if"
},
{
"type": "STRING",
"value": "("
},
{
"type": "FIELD",
"name": "condition",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "STRING",
"value": ")"
},
{
"type": "FIELD",
"name": "then",
"content": {
"type": "SYMBOL",
"name": "statement"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "else",
"flags": "i"
},
"named": false,
"value": "else"
},
{
"type": "FIELD",
"name": "else",
"content": {
"type": "SYMBOL",
"name": "statement"
}
}
]
},
{
"type": "BLANK"
}
]
}
]
}
},
"while_statement": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "while",
"flags": "i"
},
"named": false,
"value": "while"
},
{
"type": "STRING",
"value": "("
},
{
"type": "FIELD",
"name": "condition",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "STRING",
"value": ")"
},
{
"type": "FIELD",
"name": "body",
"content": {
"type": "SYMBOL",
"name": "statement"
}
}
]
},
"assign_statement": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "name",
"content": {
"type": "SYMBOL",
"name": "_var_name"
}
},
{
"type": "STRING",
"value": "="
},
{
"type": "FIELD",
"name": "value",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "STRING",
"value": ";"
}
]
},
{
"type": "SYMBOL",
"name": "increment_statement"
},
{
"type": "SYMBOL",
"name": "decrement_statement"
}
]
},
"increment_statement": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "++"
},
{
"type": "FIELD",
"name": "name",
"content": {
"type": "SYMBOL",
"name": "_var_name"
}
},
{
"type": "STRING",
"value": ";"
}
]
},
"decrement_statement": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "--"
},
{
"type": "FIELD",
"name": "name",
"content": {
"type": "SYMBOL",
"name": "_var_name"
}
},
{
"type": "STRING",
"value": ";"
}
]
},
"return_statement": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "return",
"flags": "i"
},
"named": false,
"value": "return"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"keyword_statement": {
"type": "PREC_LEFT",
"value": 11,
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "call_script_statement"
},
{
"type": "SYMBOL",
"name": "start_script_statement"
},
{
"type": "SYMBOL",
"name": "signal_statement"
},
{
"type": "SYMBOL",
"name": "set_signal_mask_statement"
},
{
"type": "SYMBOL",
"name": "sleep_statement"
},
{
"type": "SYMBOL",
"name": "set_statement"
},
{
"type": "SYMBOL",
"name": "get_statement"
},
{
"type": "SYMBOL",
"name": "spin_statement"
},
{
"type": "SYMBOL",
"name": "stop_spin_statement"
},
{
"type": "SYMBOL",
"name": "turn_statement"
},
{
"type": "SYMBOL",
"name": "move_statement"
},
{
"type": "SYMBOL",
"name": "wait_for_turn_statement"
},
{
"type": "SYMBOL",
"name": "wait_for_move_statement"
},
{
"type": "SYMBOL",
"name": "hide_statement"
},
{
"type": "SYMBOL",
"name": "show_statement"
},
{
"type": "SYMBOL",
"name": "emit_sfx_statement"
},
{
"type": "SYMBOL",
"name": "explode_statement"
},
{
"type": "SYMBOL",
"name": "attach_unit_statement"
},
{
"type": "SYMBOL",
"name": "drop_unit_statement"
},
{
"type": "SYMBOL",
"name": "cache_statement"
},
{
"type": "SYMBOL",
"name": "dont_cache_statement"
},
{
"type": "SYMBOL",
"name": "dont_shadow_statement"
},
{
"type": "SYMBOL",
"name": "dont_shade_statement"
}
]
}
},
"axis": {
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "x-?axis",
"flags": "i"
},
{
"type": "PATTERN",
"value": "y-?axis",
"flags": "i"
},
{
"type": "PATTERN",
"value": "z-?axis",
"flags": "i"
}
]
},
"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": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "expression"
}
]
}
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
"call_script_statement": {
"type": "CHOICE",
"members": [
{
"type": "PREC",
"value": 16,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "keyword",
"content": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "call-?script",
"flags": "i"
},
"named": false,
"value": "call-script"
}
},
{
"type": "PREC",
"value": 1,
"content": {
"type": "FIELD",
"name": "function",
"content": {
"type": "SYMBOL",
"name": "_func_name"
}
}
},
{
"type": "PREC",
"value": 1,
"content": {
"type": "FIELD",
"name": "arguments",
"content": {
"type": "SYMBOL",
"name": "argument_list"
}
}
},
{
"type": "STRING",
"value": ";"
}
]
}
}
]
},
"start_script_statement": {
"type": "CHOICE",
"members": [
{
"type": "PREC",
"value": 16,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "keyword",
"content": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "start-?script",
"flags": "i"
},
"named": false,
"value": "start-script"
}
},
{
"type": "PREC",
"value": 1,
"content": {
"type": "FIELD",
"name": "function",
"content": {
"type": "SYMBOL",
"name": "_func_name"
}
}
},
{
"type": "PREC",
"value": 1,
"content": {
"type": "FIELD",
"name": "arguments",
"content": {
"type": "SYMBOL",
"name": "argument_list"
}
}
},
{
"type": "STRING",
"value": ";"
}
]
}
}
]
},
"signal_statement": {
"type": "PREC",
"value": 16,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "keyword",
"content": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "signal",
"flags": "i"
},
"named": false,
"value": "signal"
}
},
{
"type": "FIELD",
"name": "argument",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "STRING",
"value": ";"
}
]
}
},
"set_signal_mask_statement": {
"type": "PREC",
"value": 16,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "keyword",
"content": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "set-?signal-?mask",
"flags": "i"
},
"named": false,
"value": "set-signal-mask"
}
},
{
"type": "FIELD",
"name": "argument",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "STRING",
"value": ";"
}
]
}
},
"sleep_statement": {
"type": "PREC",
"value": 16,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "keyword",
"content": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "sleep",
"flags": "i"
},
"named": false,
"value": "sleep"
}
},
{
"type": "FIELD",
"name": "argument",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "STRING",
"value": ";"
}
]
}
},
"set_statement": {
"type": "PREC",
"value": 16,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "keyword",
"content": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "set",
"flags": "i"
},
"named": false,
"value": "set"
}
},
{
"type": "FIELD",
"name": "argument",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "PREC",
"value": 2,
"content": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "to",
"flags": "i"
},
"named": false,
"value": "to"
}
},
{
"type": "FIELD",
"name": "argument",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "STRING",
"value": ";"
}
]
}
},
"get_statement": {
"type": "PREC",
"value": 16,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "keyword",
"content": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "get",
"flags": "i"
},
"named": false,
"value": "get"
}
},
{
"type": "PREC",
"value": 1,
"content": {
"type": "FIELD",
"name": "call",
"content": {
"type": "SYMBOL",
"name": "get_call"
}
}
},
{
"type": "STRING",
"value": ";"
}
]
}
},
"spin_statement": {
"type": "PREC",
"value": 16,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "keyword",
"content": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "spin",
"flags": "i"
},
"named": false,
"value": "spin"
}
},
{
"type": "PREC",
"value": 1,
"content": {
"type": "FIELD",
"name": "piece",
"content": {
"type": "SYMBOL",
"name": "_piece_name"
}
}
},
{
"type": "PREC",
"value": 2,
"content": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "around",
"flags": "i"
},
"named": false,
"value": "around"
}
},
{
"type": "PREC",
"value": 1,
"content": {
"type": "FIELD",
"name": "axis",
"content": {
"type": "SYMBOL",
"name": "axis"
}
}
},
{
"type": "PREC",
"value": 2,
"content": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "speed",
"flags": "i"
},
"named": false,
"value": "speed"
}
},
{
"type": "FIELD",
"name": "argument",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "FIELD",
"name": "argument",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "accelerate"
},
{
"type": "SYMBOL",
"name": "expression"
}
]
},
{
"type": "BLANK"
}
]
}
},
{
"type": "STRING",
"value": ";"
}
]
}
},
"stop_spin_statement": {
"type": "PREC",
"value": 16,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "keyword",
"content": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "stop-?spin",
"flags": "i"
},
"named": false,
"value": "stop-spin"
}
},
{
"type": "PREC",
"value": 1,
"content": {
"type": "FIELD",
"name": "piece",
"content": {
"type": "SYMBOL",
"name": "_piece_name"
}
}
},
{
"type": "PREC",
"value": 2,
"content": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "around",
"flags": "i"
},
"named": false,
"value": "around"
}
},
{
"type": "PREC",
"value": 1,
"content": {
"type": "FIELD",
"name": "axis",
"content": {
"type": "SYMBOL",
"name": "axis"
}
}
},
{
"type": "FIELD",
"name": "argument",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "decelerate"
},
{
"type": "SYMBOL",
"name": "expression"
}
]
},
{
"type": "BLANK"
}
]
}
},
{
"type": "STRING",
"value": ";"
}
]
}
},
"speed_or_now": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "now"
},
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "speed"
},
{
"type": "SYMBOL",
"name": "expression"
}
]
}
]
},
"turn_statement": {
"type": "PREC",
"value": 16,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "keyword",
"content": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "turn",
"flags": "i"
},
"named": false,
"value": "turn"
}
},
{
"type": "PREC",
"value": 1,
"content": {
"type": "FIELD",
"name": "piece",
"content": {
"type": "SYMBOL",
"name": "_piece_name"
}
}
},
{
"type": "PREC",
"value": 2,
"content": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "to",
"flags": "i"
},
"named": false,
"value": "to"
}
},
{
"type": "PREC",
"value": 1,
"content": {
"type": "FIELD",
"name": "axis",
"content": {
"type": "SYMBOL",
"name": "axis"
}
}
},
{
"type": "FIELD",
"name": "argument",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "FIELD",
"name": "argument",
"content": {
"type": "SYMBOL",
"name": "speed_or_now"
}
},
{
"type": "STRING",
"value": ";"
}
]
}
},
"move_statement": {
"type": "PREC",
"value": 16,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "keyword",
"content": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "move",
"flags": "i"
},
"named": false,
"value": "move"
}
},
{
"type": "PREC",
"value": 1,
"content": {
"type": "FIELD",
"name": "piece",
"content": {
"type": "SYMBOL",
"name": "_piece_name"
}
}
},
{
"type": "PREC",
"value": 2,
"content": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "to",
"flags": "i"
},
"named": false,
"value": "to"
}
},
{
"type": "PREC",
"value": 1,
"content": {
"type": "FIELD",
"name": "axis",
"content": {
"type": "SYMBOL",
"name": "axis"
}
}
},
{
"type": "FIELD",
"name": "argument",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "FIELD",
"name": "argument",
"content": {
"type": "SYMBOL",
"name": "speed_or_now"
}
},
{
"type": "STRING",
"value": ";"
}
]
}
},
"wait_for_turn_statement": {
"type": "PREC",
"value": 16,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "keyword",
"content": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "wait-?for-?turn",
"flags": "i"
},
"named": false,
"value": "wait-for-turn"
}
},
{
"type": "PREC",
"value": 1,
"content": {
"type": "FIELD",
"name": "piece",
"content": {
"type": "SYMBOL",
"name": "_piece_name"
}
}
},
{
"type": "PREC",
"value": 2,
"content": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "around",
"flags": "i"
},
"named": false,
"value": "around"
}
},
{
"type": "PREC",
"value": 1,
"content": {
"type": "FIELD",
"name": "axis",
"content": {
"type": "SYMBOL",
"name": "axis"
}
}
},
{
"type": "STRING",
"value": ";"
}
]
}
},
"wait_for_move_statement": {
"type": "PREC",
"value": 16,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "keyword",
"content": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "wait-?for-?move",
"flags": "i"
},
"named": false,
"value": "wait-for-move"
}
},
{
"type": "PREC",
"value": 1,
"content": {
"type": "FIELD",
"name": "piece",
"content": {
"type": "SYMBOL",
"name": "_piece_name"
}
}
},
{
"type": "PREC",
"value": 2,
"content": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "along",
"flags": "i"
},
"named": false,
"value": "along"
}
},
{
"type": "PREC",
"value": 1,
"content": {
"type": "FIELD",
"name": "axis",
"content": {
"type": "SYMBOL",
"name": "axis"
}
}
},
{
"type": "STRING",
"value": ";"
}
]
}
},
"hide_statement": {
"type": "PREC",
"value": 16,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "keyword",
"content": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "hide",
"flags": "i"
},
"named": false,
"value": "hide"
}
},
{
"type": "PREC",
"value": 1,
"content": {
"type": "FIELD",
"name": "piece",
"content": {
"type": "SYMBOL",
"name": "_piece_name"
}
}
},
{
"type": "STRING",
"value": ";"
}
]
}
},
"show_statement": {
"type": "PREC",
"value": 16,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "keyword",
"content": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "show",
"flags": "i"
},
"named": false,
"value": "show"
}
},
{
"type": "PREC",
"value": 1,
"content": {
"type": "FIELD",
"name": "piece",
"content": {
"type": "SYMBOL",
"name": "_piece_name"
}
}
},
{
"type": "STRING",
"value": ";"
}
]
}
},
"emit_sfx_statement": {
"type": "PREC",
"value": 16,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "keyword",
"content": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "emit-?sfx",
"flags": "i"
},
"named": false,
"value": "emit-sfx"
}
},
{
"type": "FIELD",
"name": "argument",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "PREC",
"value": 2,
"content": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "from",
"flags": "i"
},
"named": false,
"value": "from"
}
},
{
"type": "PREC",
"value": 1,
"content": {
"type": "FIELD",
"name": "piece",
"content": {
"type": "SYMBOL",
"name": "_piece_name"
}
}
},
{
"type": "STRING",
"value": ";"
}
]
}
},
"explode_statement": {
"type": "PREC",
"value": 16,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "keyword",
"content": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "explode",
"flags": "i"
},
"named": false,
"value": "explode"
}
},
{
"type": "PREC",
"value": 1,
"content": {
"type": "FIELD",
"name": "piece",
"content": {
"type": "SYMBOL",
"name": "_piece_name"
}
}
},
{
"type": "PREC",
"value": 2,
"content": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "type",
"flags": "i"
},
"named": false,
"value": "type"
}
},
{
"type": "FIELD",
"name": "argument",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "STRING",
"value": ";"
}
]
}
},
"attach_unit_statement": {
"type": "PREC",
"value": 16,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "keyword",
"content": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "attach-?unit",
"flags": "i"
},
"named": false,
"value": "attach-unit"
}
},
{
"type": "FIELD",
"name": "argument",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "PREC",
"value": 2,
"content": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "to",
"flags": "i"
},
"named": false,
"value": "to"
}
},
{
"type": "FIELD",
"name": "argument",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "STRING",
"value": ";"
}
]
}
},
"drop_unit_statement": {
"type": "PREC",
"value": 16,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "keyword",
"content": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "drop-?unit",
"flags": "i"
},
"named": false,
"value": "drop-unit"
}
},
{
"type": "FIELD",
"name": "argument",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "STRING",
"value": ";"
}
]
}
},
"cache_statement": {
"type": "PREC",
"value": 16,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "keyword",
"content": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "cache",
"flags": "i"
},
"named": false,
"value": "cache"
}
},
{
"type": "PREC",
"value": 1,
"content": {
"type": "FIELD",
"name": "piece",
"content": {
"type": "SYMBOL",
"name": "_piece_name"
}
}
},
{
"type": "STRING",
"value": ";"
}
]
}
},
"dont_cache_statement": {
"type": "PREC",
"value": 16,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "keyword",
"content": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "dont-?cache",
"flags": "i"
},
"named": false,
"value": "dont-cache"
}
},
{
"type": "PREC",
"value": 1,
"content": {
"type": "FIELD",
"name": "piece",
"content": {
"type": "SYMBOL",
"name": "_piece_name"
}
}
},
{
"type": "STRING",
"value": ";"
}
]
}
},
"shade_statement": {
"type": "PREC",
"value": 16,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "keyword",
"content": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "shade",
"flags": "i"
},
"named": false,
"value": "shade"
}
},
{
"type": "PREC",
"value": 1,
"content": {
"type": "FIELD",
"name": "piece",
"content": {
"type": "SYMBOL",
"name": "_piece_name"
}
}
},
{
"type": "STRING",
"value": ";"
}
]
}
},
"dont_shade_statement": {
"type": "PREC",
"value": 16,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "keyword",
"content": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "dont-?shade",
"flags": "i"
},
"named": false,
"value": "dont-shade"
}
},
{
"type": "PREC",
"value": 1,
"content": {
"type": "FIELD",
"name": "piece",
"content": {
"typ