UNPKG

tree-sitter-bos

Version:

DSL scripting language for controlling unit animations and state. Used by the Recoil engine.

2,163 lines 138 kB
{ "$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