/* Automatically @generated by tree-sitter v0.25.10 */ #include "tree_sitter/parser.h" #if defined(__GNUC__) || defined(__clang__) #pragma GCC diagnostic ignored "-Wmissing-field-initializers" #endif #define LANGUAGE_VERSION 15 #define STATE_COUNT 92 #define LARGE_STATE_COUNT 28 #define SYMBOL_COUNT 107 #define ALIAS_COUNT 0 #define TOKEN_COUNT 70 #define EXTERNAL_TOKEN_COUNT 0 #define FIELD_COUNT 7 #define MAX_ALIAS_SEQUENCE_LENGTH 5 #define MAX_RESERVED_WORD_SET_SIZE 0 #define PRODUCTION_ID_COUNT 9 #define SUPERTYPE_COUNT 0 enum ts_symbol_identifiers { sym_identifier = 1, anon_sym_LBRACE = 2, anon_sym_RBRACE = 3, anon_sym_COMMA = 4, anon_sym_EQ = 5, anon_sym_ATsystem = 6, anon_sym_AT = 7, anon_sym_AMP = 8, anon_sym_DOLLAR = 9, anon_sym_PIPE = 10, anon_sym_COLON = 11, sym_hex_literal = 12, sym_dec_literal = 13, anon_sym_SQUOTE = 14, aux_sym_char_literal_token1 = 15, anon_sym_DQUOTE = 16, aux_sym_string_literal_token1 = 17, anon_sym_r_DQUOTE = 18, aux_sym_raw_string_literal_token1 = 19, anon_sym_b_DQUOTE = 20, sym_escape_sequence = 21, anon_sym_POUND = 22, anon_sym_add = 23, anon_sym_sub = 24, anon_sym_inc = 25, anon_sym_dec = 26, anon_sym_shiftl = 27, anon_sym_shiftr = 28, anon_sym_ashiftr = 29, anon_sym_and = 30, anon_sym_or = 31, anon_sym_xor = 32, anon_sym_not = 33, anon_sym_eq = 34, anon_sym_lt = 35, anon_sym_lte = 36, anon_sym_gt = 37, anon_sym_gte = 38, anon_sym_breq = 39, anon_sym_brgt = 40, anon_sym_brge = 41, anon_sym_brof = 42, anon_sym_brty = 43, anon_sym_sweq = 44, anon_sym_swgt = 45, anon_sym_swge = 46, anon_sym_swof = 47, anon_sym_swty = 48, anon_sym_gate = 49, anon_sym_sel = 50, anon_sym_merge = 51, anon_sym_pass = 52, anon_sym_const = 53, anon_sym_free_ctx = 54, anon_sym_change_tag = 55, anon_sym_extract_tag = 56, anon_sym_read = 57, anon_sym_write = 58, anon_sym_clear = 59, anon_sym_alloc = 60, anon_sym_exec = 61, anon_sym_free = 62, anon_sym_rd_inc = 63, anon_sym_rd_dec = 64, anon_sym_cmp_sw = 65, anon_sym_load_inst = 66, sym_flow_in = 67, sym_flow_out = 68, sym_comment = 69, sym_program = 70, sym__statement = 71, sym_func_def = 72, sym_inst_def = 73, sym_strong_edge = 74, sym_weak_edge = 75, sym_plain_edge = 76, sym_data_def = 77, sym_pragma = 78, sym_system_param = 79, sym_location_dir = 80, sym_ref_list = 81, sym_qualified_ref = 82, sym_node_ref = 83, sym_label_ref = 84, sym_func_ref = 85, sym_placement = 86, sym_port = 87, sym__argument = 88, sym_named_arg = 89, sym__positional_arg = 90, sym__value = 91, sym_value_list = 92, sym_number_literal = 93, sym_char_literal = 94, sym_string_literal = 95, sym_raw_string_literal = 96, sym_byte_string_literal = 97, sym_macro_call = 98, sym_opcode = 99, aux_sym_program_repeat1 = 100, aux_sym_inst_def_repeat1 = 101, aux_sym_pragma_repeat1 = 102, aux_sym_ref_list_repeat1 = 103, aux_sym_value_list_repeat1 = 104, aux_sym_string_literal_repeat1 = 105, aux_sym_macro_call_repeat1 = 106, }; static const char * const ts_symbol_names[] = { [ts_builtin_sym_end] = "end", [sym_identifier] = "identifier", [anon_sym_LBRACE] = "{", [anon_sym_RBRACE] = "}", [anon_sym_COMMA] = ",", [anon_sym_EQ] = "=", [anon_sym_ATsystem] = "@system", [anon_sym_AT] = "@", [anon_sym_AMP] = "&", [anon_sym_DOLLAR] = "$", [anon_sym_PIPE] = "|", [anon_sym_COLON] = ":", [sym_hex_literal] = "hex_literal", [sym_dec_literal] = "dec_literal", [anon_sym_SQUOTE] = "'", [aux_sym_char_literal_token1] = "char_literal_token1", [anon_sym_DQUOTE] = "\"", [aux_sym_string_literal_token1] = "string_literal_token1", [anon_sym_r_DQUOTE] = "r\"", [aux_sym_raw_string_literal_token1] = "raw_string_literal_token1", [anon_sym_b_DQUOTE] = "b\"", [sym_escape_sequence] = "escape_sequence", [anon_sym_POUND] = "#", [anon_sym_add] = "add", [anon_sym_sub] = "sub", [anon_sym_inc] = "inc", [anon_sym_dec] = "dec", [anon_sym_shiftl] = "shiftl", [anon_sym_shiftr] = "shiftr", [anon_sym_ashiftr] = "ashiftr", [anon_sym_and] = "and", [anon_sym_or] = "or", [anon_sym_xor] = "xor", [anon_sym_not] = "not", [anon_sym_eq] = "eq", [anon_sym_lt] = "lt", [anon_sym_lte] = "lte", [anon_sym_gt] = "gt", [anon_sym_gte] = "gte", [anon_sym_breq] = "breq", [anon_sym_brgt] = "brgt", [anon_sym_brge] = "brge", [anon_sym_brof] = "brof", [anon_sym_brty] = "brty", [anon_sym_sweq] = "sweq", [anon_sym_swgt] = "swgt", [anon_sym_swge] = "swge", [anon_sym_swof] = "swof", [anon_sym_swty] = "swty", [anon_sym_gate] = "gate", [anon_sym_sel] = "sel", [anon_sym_merge] = "merge", [anon_sym_pass] = "pass", [anon_sym_const] = "const", [anon_sym_free_ctx] = "free_ctx", [anon_sym_change_tag] = "change_tag", [anon_sym_extract_tag] = "extract_tag", [anon_sym_read] = "read", [anon_sym_write] = "write", [anon_sym_clear] = "clear", [anon_sym_alloc] = "alloc", [anon_sym_exec] = "exec", [anon_sym_free] = "free", [anon_sym_rd_inc] = "rd_inc", [anon_sym_rd_dec] = "rd_dec", [anon_sym_cmp_sw] = "cmp_sw", [anon_sym_load_inst] = "load_inst", [sym_flow_in] = "flow_in", [sym_flow_out] = "flow_out", [sym_comment] = "comment", [sym_program] = "program", [sym__statement] = "_statement", [sym_func_def] = "func_def", [sym_inst_def] = "inst_def", [sym_strong_edge] = "strong_edge", [sym_weak_edge] = "weak_edge", [sym_plain_edge] = "plain_edge", [sym_data_def] = "data_def", [sym_pragma] = "pragma", [sym_system_param] = "system_param", [sym_location_dir] = "location_dir", [sym_ref_list] = "ref_list", [sym_qualified_ref] = "qualified_ref", [sym_node_ref] = "node_ref", [sym_label_ref] = "label_ref", [sym_func_ref] = "func_ref", [sym_placement] = "placement", [sym_port] = "port", [sym__argument] = "_argument", [sym_named_arg] = "named_arg", [sym__positional_arg] = "_positional_arg", [sym__value] = "_value", [sym_value_list] = "value_list", [sym_number_literal] = "number_literal", [sym_char_literal] = "char_literal", [sym_string_literal] = "string_literal", [sym_raw_string_literal] = "raw_string_literal", [sym_byte_string_literal] = "byte_string_literal", [sym_macro_call] = "macro_call", [sym_opcode] = "opcode", [aux_sym_program_repeat1] = "program_repeat1", [aux_sym_inst_def_repeat1] = "inst_def_repeat1", [aux_sym_pragma_repeat1] = "pragma_repeat1", [aux_sym_ref_list_repeat1] = "ref_list_repeat1", [aux_sym_value_list_repeat1] = "value_list_repeat1", [aux_sym_string_literal_repeat1] = "string_literal_repeat1", [aux_sym_macro_call_repeat1] = "macro_call_repeat1", }; static const TSSymbol ts_symbol_map[] = { [ts_builtin_sym_end] = ts_builtin_sym_end, [sym_identifier] = sym_identifier, [anon_sym_LBRACE] = anon_sym_LBRACE, [anon_sym_RBRACE] = anon_sym_RBRACE, [anon_sym_COMMA] = anon_sym_COMMA, [anon_sym_EQ] = anon_sym_EQ, [anon_sym_ATsystem] = anon_sym_ATsystem, [anon_sym_AT] = anon_sym_AT, [anon_sym_AMP] = anon_sym_AMP, [anon_sym_DOLLAR] = anon_sym_DOLLAR, [anon_sym_PIPE] = anon_sym_PIPE, [anon_sym_COLON] = anon_sym_COLON, [sym_hex_literal] = sym_hex_literal, [sym_dec_literal] = sym_dec_literal, [anon_sym_SQUOTE] = anon_sym_SQUOTE, [aux_sym_char_literal_token1] = aux_sym_char_literal_token1, [anon_sym_DQUOTE] = anon_sym_DQUOTE, [aux_sym_string_literal_token1] = aux_sym_string_literal_token1, [anon_sym_r_DQUOTE] = anon_sym_r_DQUOTE, [aux_sym_raw_string_literal_token1] = aux_sym_raw_string_literal_token1, [anon_sym_b_DQUOTE] = anon_sym_b_DQUOTE, [sym_escape_sequence] = sym_escape_sequence, [anon_sym_POUND] = anon_sym_POUND, [anon_sym_add] = anon_sym_add, [anon_sym_sub] = anon_sym_sub, [anon_sym_inc] = anon_sym_inc, [anon_sym_dec] = anon_sym_dec, [anon_sym_shiftl] = anon_sym_shiftl, [anon_sym_shiftr] = anon_sym_shiftr, [anon_sym_ashiftr] = anon_sym_ashiftr, [anon_sym_and] = anon_sym_and, [anon_sym_or] = anon_sym_or, [anon_sym_xor] = anon_sym_xor, [anon_sym_not] = anon_sym_not, [anon_sym_eq] = anon_sym_eq, [anon_sym_lt] = anon_sym_lt, [anon_sym_lte] = anon_sym_lte, [anon_sym_gt] = anon_sym_gt, [anon_sym_gte] = anon_sym_gte, [anon_sym_breq] = anon_sym_breq, [anon_sym_brgt] = anon_sym_brgt, [anon_sym_brge] = anon_sym_brge, [anon_sym_brof] = anon_sym_brof, [anon_sym_brty] = anon_sym_brty, [anon_sym_sweq] = anon_sym_sweq, [anon_sym_swgt] = anon_sym_swgt, [anon_sym_swge] = anon_sym_swge, [anon_sym_swof] = anon_sym_swof, [anon_sym_swty] = anon_sym_swty, [anon_sym_gate] = anon_sym_gate, [anon_sym_sel] = anon_sym_sel, [anon_sym_merge] = anon_sym_merge, [anon_sym_pass] = anon_sym_pass, [anon_sym_const] = anon_sym_const, [anon_sym_free_ctx] = anon_sym_free_ctx, [anon_sym_change_tag] = anon_sym_change_tag, [anon_sym_extract_tag] = anon_sym_extract_tag, [anon_sym_read] = anon_sym_read, [anon_sym_write] = anon_sym_write, [anon_sym_clear] = anon_sym_clear, [anon_sym_alloc] = anon_sym_alloc, [anon_sym_exec] = anon_sym_exec, [anon_sym_free] = anon_sym_free, [anon_sym_rd_inc] = anon_sym_rd_inc, [anon_sym_rd_dec] = anon_sym_rd_dec, [anon_sym_cmp_sw] = anon_sym_cmp_sw, [anon_sym_load_inst] = anon_sym_load_inst, [sym_flow_in] = sym_flow_in, [sym_flow_out] = sym_flow_out, [sym_comment] = sym_comment, [sym_program] = sym_program, [sym__statement] = sym__statement, [sym_func_def] = sym_func_def, [sym_inst_def] = sym_inst_def, [sym_strong_edge] = sym_strong_edge, [sym_weak_edge] = sym_weak_edge, [sym_plain_edge] = sym_plain_edge, [sym_data_def] = sym_data_def, [sym_pragma] = sym_pragma, [sym_system_param] = sym_system_param, [sym_location_dir] = sym_location_dir, [sym_ref_list] = sym_ref_list, [sym_qualified_ref] = sym_qualified_ref, [sym_node_ref] = sym_node_ref, [sym_label_ref] = sym_label_ref, [sym_func_ref] = sym_func_ref, [sym_placement] = sym_placement, [sym_port] = sym_port, [sym__argument] = sym__argument, [sym_named_arg] = sym_named_arg, [sym__positional_arg] = sym__positional_arg, [sym__value] = sym__value, [sym_value_list] = sym_value_list, [sym_number_literal] = sym_number_literal, [sym_char_literal] = sym_char_literal, [sym_string_literal] = sym_string_literal, [sym_raw_string_literal] = sym_raw_string_literal, [sym_byte_string_literal] = sym_byte_string_literal, [sym_macro_call] = sym_macro_call, [sym_opcode] = sym_opcode, [aux_sym_program_repeat1] = aux_sym_program_repeat1, [aux_sym_inst_def_repeat1] = aux_sym_inst_def_repeat1, [aux_sym_pragma_repeat1] = aux_sym_pragma_repeat1, [aux_sym_ref_list_repeat1] = aux_sym_ref_list_repeat1, [aux_sym_value_list_repeat1] = aux_sym_value_list_repeat1, [aux_sym_string_literal_repeat1] = aux_sym_string_literal_repeat1, [aux_sym_macro_call_repeat1] = aux_sym_macro_call_repeat1, }; static const TSSymbolMetadata ts_symbol_metadata[] = { [ts_builtin_sym_end] = { .visible = false, .named = true, }, [sym_identifier] = { .visible = true, .named = true, }, [anon_sym_LBRACE] = { .visible = true, .named = false, }, [anon_sym_RBRACE] = { .visible = true, .named = false, }, [anon_sym_COMMA] = { .visible = true, .named = false, }, [anon_sym_EQ] = { .visible = true, .named = false, }, [anon_sym_ATsystem] = { .visible = true, .named = false, }, [anon_sym_AT] = { .visible = true, .named = false, }, [anon_sym_AMP] = { .visible = true, .named = false, }, [anon_sym_DOLLAR] = { .visible = true, .named = false, }, [anon_sym_PIPE] = { .visible = true, .named = false, }, [anon_sym_COLON] = { .visible = true, .named = false, }, [sym_hex_literal] = { .visible = true, .named = true, }, [sym_dec_literal] = { .visible = true, .named = true, }, [anon_sym_SQUOTE] = { .visible = true, .named = false, }, [aux_sym_char_literal_token1] = { .visible = false, .named = false, }, [anon_sym_DQUOTE] = { .visible = true, .named = false, }, [aux_sym_string_literal_token1] = { .visible = false, .named = false, }, [anon_sym_r_DQUOTE] = { .visible = true, .named = false, }, [aux_sym_raw_string_literal_token1] = { .visible = false, .named = false, }, [anon_sym_b_DQUOTE] = { .visible = true, .named = false, }, [sym_escape_sequence] = { .visible = true, .named = true, }, [anon_sym_POUND] = { .visible = true, .named = false, }, [anon_sym_add] = { .visible = true, .named = false, }, [anon_sym_sub] = { .visible = true, .named = false, }, [anon_sym_inc] = { .visible = true, .named = false, }, [anon_sym_dec] = { .visible = true, .named = false, }, [anon_sym_shiftl] = { .visible = true, .named = false, }, [anon_sym_shiftr] = { .visible = true, .named = false, }, [anon_sym_ashiftr] = { .visible = true, .named = false, }, [anon_sym_and] = { .visible = true, .named = false, }, [anon_sym_or] = { .visible = true, .named = false, }, [anon_sym_xor] = { .visible = true, .named = false, }, [anon_sym_not] = { .visible = true, .named = false, }, [anon_sym_eq] = { .visible = true, .named = false, }, [anon_sym_lt] = { .visible = true, .named = false, }, [anon_sym_lte] = { .visible = true, .named = false, }, [anon_sym_gt] = { .visible = true, .named = false, }, [anon_sym_gte] = { .visible = true, .named = false, }, [anon_sym_breq] = { .visible = true, .named = false, }, [anon_sym_brgt] = { .visible = true, .named = false, }, [anon_sym_brge] = { .visible = true, .named = false, }, [anon_sym_brof] = { .visible = true, .named = false, }, [anon_sym_brty] = { .visible = true, .named = false, }, [anon_sym_sweq] = { .visible = true, .named = false, }, [anon_sym_swgt] = { .visible = true, .named = false, }, [anon_sym_swge] = { .visible = true, .named = false, }, [anon_sym_swof] = { .visible = true, .named = false, }, [anon_sym_swty] = { .visible = true, .named = false, }, [anon_sym_gate] = { .visible = true, .named = false, }, [anon_sym_sel] = { .visible = true, .named = false, }, [anon_sym_merge] = { .visible = true, .named = false, }, [anon_sym_pass] = { .visible = true, .named = false, }, [anon_sym_const] = { .visible = true, .named = false, }, [anon_sym_free_ctx] = { .visible = true, .named = false, }, [anon_sym_change_tag] = { .visible = true, .named = false, }, [anon_sym_extract_tag] = { .visible = true, .named = false, }, [anon_sym_read] = { .visible = true, .named = false, }, [anon_sym_write] = { .visible = true, .named = false, }, [anon_sym_clear] = { .visible = true, .named = false, }, [anon_sym_alloc] = { .visible = true, .named = false, }, [anon_sym_exec] = { .visible = true, .named = false, }, [anon_sym_free] = { .visible = true, .named = false, }, [anon_sym_rd_inc] = { .visible = true, .named = false, }, [anon_sym_rd_dec] = { .visible = true, .named = false, }, [anon_sym_cmp_sw] = { .visible = true, .named = false, }, [anon_sym_load_inst] = { .visible = true, .named = false, }, [sym_flow_in] = { .visible = true, .named = true, }, [sym_flow_out] = { .visible = true, .named = true, }, [sym_comment] = { .visible = true, .named = true, }, [sym_program] = { .visible = true, .named = true, }, [sym__statement] = { .visible = false, .named = true, }, [sym_func_def] = { .visible = true, .named = true, }, [sym_inst_def] = { .visible = true, .named = true, }, [sym_strong_edge] = { .visible = true, .named = true, }, [sym_weak_edge] = { .visible = true, .named = true, }, [sym_plain_edge] = { .visible = true, .named = true, }, [sym_data_def] = { .visible = true, .named = true, }, [sym_pragma] = { .visible = true, .named = true, }, [sym_system_param] = { .visible = true, .named = true, }, [sym_location_dir] = { .visible = true, .named = true, }, [sym_ref_list] = { .visible = true, .named = true, }, [sym_qualified_ref] = { .visible = true, .named = true, }, [sym_node_ref] = { .visible = true, .named = true, }, [sym_label_ref] = { .visible = true, .named = true, }, [sym_func_ref] = { .visible = true, .named = true, }, [sym_placement] = { .visible = true, .named = true, }, [sym_port] = { .visible = true, .named = true, }, [sym__argument] = { .visible = false, .named = true, }, [sym_named_arg] = { .visible = true, .named = true, }, [sym__positional_arg] = { .visible = false, .named = true, }, [sym__value] = { .visible = false, .named = true, }, [sym_value_list] = { .visible = true, .named = true, }, [sym_number_literal] = { .visible = true, .named = true, }, [sym_char_literal] = { .visible = true, .named = true, }, [sym_string_literal] = { .visible = true, .named = true, }, [sym_raw_string_literal] = { .visible = true, .named = true, }, [sym_byte_string_literal] = { .visible = true, .named = true, }, [sym_macro_call] = { .visible = true, .named = true, }, [sym_opcode] = { .visible = true, .named = true, }, [aux_sym_program_repeat1] = { .visible = false, .named = false, }, [aux_sym_inst_def_repeat1] = { .visible = false, .named = false, }, [aux_sym_pragma_repeat1] = { .visible = false, .named = false, }, [aux_sym_ref_list_repeat1] = { .visible = false, .named = false, }, [aux_sym_value_list_repeat1] = { .visible = false, .named = false, }, [aux_sym_string_literal_repeat1] = { .visible = false, .named = false, }, [aux_sym_macro_call_repeat1] = { .visible = false, .named = false, }, }; enum ts_field_identifiers { field_key = 1, field_name = 2, field_placement = 3, field_port = 4, field_ref = 5, field_separator = 6, field_value = 7, }; static const char * const ts_field_names[] = { [0] = NULL, [field_key] = "key", [field_name] = "name", [field_placement] = "placement", [field_port] = "port", [field_ref] = "ref", [field_separator] = "separator", [field_value] = "value", }; static const TSMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { [1] = {.index = 0, .length = 1}, [2] = {.index = 1, .length = 1}, [3] = {.index = 2, .length = 2}, [4] = {.index = 4, .length = 2}, [5] = {.index = 6, .length = 2}, [6] = {.index = 8, .length = 3}, [7] = {.index = 11, .length = 2}, [8] = {.index = 13, .length = 2}, }; static const TSFieldMapEntry ts_field_map_entries[] = { [0] = {field_ref, 0}, [1] = {field_name, 1}, [2] = {field_placement, 1}, {field_ref, 0}, [4] = {field_port, 1}, {field_ref, 0}, [6] = {field_name, 1}, {field_separator, 0}, [8] = {field_placement, 1}, {field_port, 2}, {field_ref, 0}, [11] = {field_name, 0}, {field_value, 2}, [13] = {field_key, 0}, {field_value, 2}, }; static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE_LENGTH] = { [0] = {0}, }; static const uint16_t ts_non_terminal_alias_map[] = { 0, }; static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [0] = 0, [1] = 1, [2] = 2, [3] = 3, [4] = 4, [5] = 5, [6] = 6, [7] = 7, [8] = 8, [9] = 9, [10] = 10, [11] = 11, [12] = 12, [13] = 13, [14] = 14, [15] = 15, [16] = 16, [17] = 17, [18] = 18, [19] = 19, [20] = 20, [21] = 21, [22] = 22, [23] = 23, [24] = 24, [25] = 25, [26] = 26, [27] = 27, [28] = 28, [29] = 29, [30] = 30, [31] = 31, [32] = 32, [33] = 33, [34] = 34, [35] = 35, [36] = 36, [37] = 37, [38] = 38, [39] = 39, [40] = 40, [41] = 41, [42] = 42, [43] = 43, [44] = 44, [45] = 45, [46] = 46, [47] = 47, [48] = 48, [49] = 49, [50] = 50, [51] = 51, [52] = 52, [53] = 53, [54] = 54, [55] = 55, [56] = 56, [57] = 57, [58] = 58, [59] = 59, [60] = 60, [61] = 61, [62] = 46, [63] = 63, [64] = 64, [65] = 65, [66] = 66, [67] = 67, [68] = 68, [69] = 69, [70] = 70, [71] = 71, [72] = 72, [73] = 73, [74] = 74, [75] = 75, [76] = 76, [77] = 77, [78] = 78, [79] = 79, [80] = 80, [81] = 81, [82] = 82, [83] = 83, [84] = 84, [85] = 85, [86] = 86, [87] = 87, [88] = 88, [89] = 89, [90] = 90, [91] = 91, }; static bool ts_lex(TSLexer *lexer, TSStateId state) { START_LEXER(); eof = lexer->eof(lexer); switch (state) { case 0: if (eof) ADVANCE(18); ADVANCE_MAP( '"', 37, '#', 47, '$', 27, '&', 26, '\'', 33, ',', 21, '0', 31, ':', 29, ';', 53, '<', 11, '=', 22, '@', 25, '\\', 9, 'b', 50, 'r', 51, '{', 19, '|', 28, '}', 20, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(15); if (('1' <= lookahead && lookahead <= '9')) ADVANCE(32); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(52); END_STATE(); case 1: ADVANCE_MAP( '"', 37, '$', 27, '&', 26, '\'', 33, '0', 31, ';', 53, '<', 11, '@', 24, 'b', 50, 'r', 51, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(1); if (('1' <= lookahead && lookahead <= '9')) ADVANCE(32); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(52); END_STATE(); case 2: if (lookahead == '"') ADVANCE(37); if (lookahead == ';') ADVANCE(38); if (lookahead == '\\') ADVANCE(9); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') ADVANCE(39); if (lookahead != 0) ADVANCE(40); END_STATE(); case 3: if (lookahead == ';') ADVANCE(36); if (lookahead == '\\') ADVANCE(9); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') ADVANCE(35); if (lookahead != 0 && lookahead != '\'') ADVANCE(34); END_STATE(); case 4: if (lookahead == '>') ADVANCE(49); END_STATE(); case 5: if (lookahead == 'e') ADVANCE(6); END_STATE(); case 6: if (lookahead == 'm') ADVANCE(23); END_STATE(); case 7: if (lookahead == 's') ADVANCE(8); END_STATE(); case 8: if (lookahead == 't') ADVANCE(5); END_STATE(); case 9: ADVANCE_MAP( 'x', 14, '"', 46, '\'', 46, '0', 46, '\\', 46, 'n', 46, 'r', 46, 't', 46, ); END_STATE(); case 10: if (lookahead == 'y') ADVANCE(7); END_STATE(); case 11: if (lookahead == '|') ADVANCE(48); END_STATE(); case 12: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(46); END_STATE(); case 13: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(30); END_STATE(); case 14: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(12); END_STATE(); case 15: if (eof) ADVANCE(18); ADVANCE_MAP( '"', 37, '#', 47, '$', 27, '&', 26, '\'', 33, ',', 21, '0', 31, ';', 53, '<', 11, '=', 22, '@', 25, '\\', 9, 'b', 50, 'r', 51, '{', 19, '|', 4, '}', 20, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(15); if (('1' <= lookahead && lookahead <= '9')) ADVANCE(32); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(52); END_STATE(); case 16: if (eof) ADVANCE(18); ADVANCE_MAP( '$', 27, '&', 26, ',', 21, '0', 31, ':', 29, ';', 53, '<', 11, '=', 22, '@', 25, '|', 28, '}', 20, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(17); if (('1' <= lookahead && lookahead <= '9')) ADVANCE(32); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(52); END_STATE(); case 17: if (eof) ADVANCE(18); ADVANCE_MAP( '$', 27, '&', 26, ',', 21, '0', 31, ';', 53, '<', 11, '=', 22, '@', 25, '|', 4, '}', 20, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(17); if (('1' <= lookahead && lookahead <= '9')) ADVANCE(32); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(52); END_STATE(); case 18: ACCEPT_TOKEN(ts_builtin_sym_end); END_STATE(); case 19: ACCEPT_TOKEN(anon_sym_LBRACE); END_STATE(); case 20: ACCEPT_TOKEN(anon_sym_RBRACE); END_STATE(); case 21: ACCEPT_TOKEN(anon_sym_COMMA); END_STATE(); case 22: ACCEPT_TOKEN(anon_sym_EQ); END_STATE(); case 23: ACCEPT_TOKEN(anon_sym_ATsystem); END_STATE(); case 24: ACCEPT_TOKEN(anon_sym_AT); END_STATE(); case 25: ACCEPT_TOKEN(anon_sym_AT); if (lookahead == 's') ADVANCE(10); END_STATE(); case 26: ACCEPT_TOKEN(anon_sym_AMP); END_STATE(); case 27: ACCEPT_TOKEN(anon_sym_DOLLAR); END_STATE(); case 28: ACCEPT_TOKEN(anon_sym_PIPE); if (lookahead == '>') ADVANCE(49); END_STATE(); case 29: ACCEPT_TOKEN(anon_sym_COLON); END_STATE(); case 30: ACCEPT_TOKEN(sym_hex_literal); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(30); END_STATE(); case 31: ACCEPT_TOKEN(sym_dec_literal); if (lookahead == 'x') ADVANCE(13); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(32); END_STATE(); case 32: ACCEPT_TOKEN(sym_dec_literal); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(32); END_STATE(); case 33: ACCEPT_TOKEN(anon_sym_SQUOTE); END_STATE(); case 34: ACCEPT_TOKEN(aux_sym_char_literal_token1); END_STATE(); case 35: ACCEPT_TOKEN(aux_sym_char_literal_token1); if (lookahead == ';') ADVANCE(36); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') ADVANCE(35); if (lookahead != 0 && lookahead != '\'' && lookahead != '\\') ADVANCE(34); END_STATE(); case 36: ACCEPT_TOKEN(aux_sym_char_literal_token1); if (lookahead != 0 && lookahead != '\n') ADVANCE(53); END_STATE(); case 37: ACCEPT_TOKEN(anon_sym_DQUOTE); END_STATE(); case 38: ACCEPT_TOKEN(aux_sym_string_literal_token1); if (lookahead == '\n') ADVANCE(40); if (lookahead == '"' || lookahead == '\\') ADVANCE(53); if (lookahead != 0) ADVANCE(38); END_STATE(); case 39: ACCEPT_TOKEN(aux_sym_string_literal_token1); if (lookahead == ';') ADVANCE(38); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') ADVANCE(39); if (lookahead != 0 && lookahead != '"' && lookahead != '\\') ADVANCE(40); END_STATE(); case 40: ACCEPT_TOKEN(aux_sym_string_literal_token1); if (lookahead != 0 && lookahead != '"' && lookahead != '\\') ADVANCE(40); END_STATE(); case 41: ACCEPT_TOKEN(anon_sym_r_DQUOTE); END_STATE(); case 42: ACCEPT_TOKEN(aux_sym_raw_string_literal_token1); if (lookahead == '\n') ADVANCE(44); if (lookahead == '"') ADVANCE(53); if (lookahead != 0) ADVANCE(42); END_STATE(); case 43: ACCEPT_TOKEN(aux_sym_raw_string_literal_token1); if (lookahead == ';') ADVANCE(42); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') ADVANCE(43); if (lookahead != 0 && lookahead != '"') ADVANCE(44); END_STATE(); case 44: ACCEPT_TOKEN(aux_sym_raw_string_literal_token1); if (lookahead != 0 && lookahead != '"') ADVANCE(44); END_STATE(); case 45: ACCEPT_TOKEN(anon_sym_b_DQUOTE); END_STATE(); case 46: ACCEPT_TOKEN(sym_escape_sequence); END_STATE(); case 47: ACCEPT_TOKEN(anon_sym_POUND); END_STATE(); case 48: ACCEPT_TOKEN(sym_flow_in); END_STATE(); case 49: ACCEPT_TOKEN(sym_flow_out); END_STATE(); case 50: ACCEPT_TOKEN(sym_identifier); if (lookahead == '"') ADVANCE(45); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(52); END_STATE(); case 51: ACCEPT_TOKEN(sym_identifier); if (lookahead == '"') ADVANCE(41); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(52); END_STATE(); case 52: ACCEPT_TOKEN(sym_identifier); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(52); END_STATE(); case 53: ACCEPT_TOKEN(sym_comment); if (lookahead != 0 && lookahead != '\n') ADVANCE(53); END_STATE(); default: return false; } } static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) { START_LEXER(); eof = lexer->eof(lexer); switch (state) { case 0: ADVANCE_MAP( 'a', 1, 'b', 2, 'c', 3, 'd', 4, 'e', 5, 'f', 6, 'g', 7, 'i', 8, 'l', 9, 'm', 10, 'n', 11, 'o', 12, 'p', 13, 'r', 14, 's', 15, 'w', 16, 'x', 17, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(0); END_STATE(); case 1: if (lookahead == 'd') ADVANCE(18); if (lookahead == 'l') ADVANCE(19); if (lookahead == 'n') ADVANCE(20); if (lookahead == 's') ADVANCE(21); END_STATE(); case 2: if (lookahead == 'r') ADVANCE(22); END_STATE(); case 3: if (lookahead == 'h') ADVANCE(23); if (lookahead == 'l') ADVANCE(24); if (lookahead == 'm') ADVANCE(25); if (lookahead == 'o') ADVANCE(26); END_STATE(); case 4: if (lookahead == 'e') ADVANCE(27); END_STATE(); case 5: if (lookahead == 'q') ADVANCE(28); if (lookahead == 'x') ADVANCE(29); END_STATE(); case 6: if (lookahead == 'r') ADVANCE(30); END_STATE(); case 7: if (lookahead == 'a') ADVANCE(31); if (lookahead == 't') ADVANCE(32); END_STATE(); case 8: if (lookahead == 'n') ADVANCE(33); END_STATE(); case 9: if (lookahead == 'o') ADVANCE(34); if (lookahead == 't') ADVANCE(35); END_STATE(); case 10: if (lookahead == 'e') ADVANCE(36); END_STATE(); case 11: if (lookahead == 'o') ADVANCE(37); END_STATE(); case 12: if (lookahead == 'r') ADVANCE(38); END_STATE(); case 13: if (lookahead == 'a') ADVANCE(39); END_STATE(); case 14: if (lookahead == 'd') ADVANCE(40); if (lookahead == 'e') ADVANCE(41); END_STATE(); case 15: if (lookahead == 'e') ADVANCE(42); if (lookahead == 'h') ADVANCE(43); if (lookahead == 'u') ADVANCE(44); if (lookahead == 'w') ADVANCE(45); END_STATE(); case 16: if (lookahead == 'r') ADVANCE(46); END_STATE(); case 17: if (lookahead == 'o') ADVANCE(47); END_STATE(); case 18: if (lookahead == 'd') ADVANCE(48); END_STATE(); case 19: if (lookahead == 'l') ADVANCE(49); END_STATE(); case 20: if (lookahead == 'd') ADVANCE(50); END_STATE(); case 21: if (lookahead == 'h') ADVANCE(51); END_STATE(); case 22: if (lookahead == 'e') ADVANCE(52); if (lookahead == 'g') ADVANCE(53); if (lookahead == 'o') ADVANCE(54); if (lookahead == 't') ADVANCE(55); END_STATE(); case 23: if (lookahead == 'a') ADVANCE(56); END_STATE(); case 24: if (lookahead == 'e') ADVANCE(57); END_STATE(); case 25: if (lookahead == 'p') ADVANCE(58); END_STATE(); case 26: if (lookahead == 'n') ADVANCE(59); END_STATE(); case 27: if (lookahead == 'c') ADVANCE(60); END_STATE(); case 28: ACCEPT_TOKEN(anon_sym_eq); END_STATE(); case 29: if (lookahead == 'e') ADVANCE(61); if (lookahead == 't') ADVANCE(62); END_STATE(); case 30: if (lookahead == 'e') ADVANCE(63); END_STATE(); case 31: if (lookahead == 't') ADVANCE(64); END_STATE(); case 32: ACCEPT_TOKEN(anon_sym_gt); if (lookahead == 'e') ADVANCE(65); END_STATE(); case 33: if (lookahead == 'c') ADVANCE(66); END_STATE(); case 34: if (lookahead == 'a') ADVANCE(67); END_STATE(); case 35: ACCEPT_TOKEN(anon_sym_lt); if (lookahead == 'e') ADVANCE(68); END_STATE(); case 36: if (lookahead == 'r') ADVANCE(69); END_STATE(); case 37: if (lookahead == 't') ADVANCE(70); END_STATE(); case 38: ACCEPT_TOKEN(anon_sym_or); END_STATE(); case 39: if (lookahead == 's') ADVANCE(71); END_STATE(); case 40: if (lookahead == '_') ADVANCE(72); END_STATE(); case 41: if (lookahead == 'a') ADVANCE(73); END_STATE(); case 42: if (lookahead == 'l') ADVANCE(74); END_STATE(); case 43: if (lookahead == 'i') ADVANCE(75); END_STATE(); case 44: if (lookahead == 'b') ADVANCE(76); END_STATE(); case 45: if (lookahead == 'e') ADVANCE(77); if (lookahead == 'g') ADVANCE(78); if (lookahead == 'o') ADVANCE(79); if (lookahead == 't') ADVANCE(80); END_STATE(); case 46: if (lookahead == 'i') ADVANCE(81); END_STATE(); case 47: if (lookahead == 'r') ADVANCE(82); END_STATE(); case 48: ACCEPT_TOKEN(anon_sym_add); END_STATE(); case 49: if (lookahead == 'o') ADVANCE(83); END_STATE(); case 50: ACCEPT_TOKEN(anon_sym_and); END_STATE(); case 51: if (lookahead == 'i') ADVANCE(84); END_STATE(); case 52: if (lookahead == 'q') ADVANCE(85); END_STATE(); case 53: if (lookahead == 'e') ADVANCE(86); if (lookahead == 't') ADVANCE(87); END_STATE(); case 54: if (lookahead == 'f') ADVANCE(88); END_STATE(); case 55: if (lookahead == 'y') ADVANCE(89); END_STATE(); case 56: if (lookahead == 'n') ADVANCE(90); END_STATE(); case 57: if (lookahead == 'a') ADVANCE(91); END_STATE(); case 58: if (lookahead == '_') ADVANCE(92); END_STATE(); case 59: if (lookahead == 's') ADVANCE(93); END_STATE(); case 60: ACCEPT_TOKEN(anon_sym_dec); END_STATE(); case 61: if (lookahead == 'c') ADVANCE(94); END_STATE(); case 62: if (lookahead == 'r') ADVANCE(95); END_STATE(); case 63: if (lookahead == 'e') ADVANCE(96); END_STATE(); case 64: if (lookahead == 'e') ADVANCE(97); END_STATE(); case 65: ACCEPT_TOKEN(anon_sym_gte); END_STATE(); case 66: ACCEPT_TOKEN(anon_sym_inc); END_STATE(); case 67: if (lookahead == 'd') ADVANCE(98); END_STATE(); case 68: ACCEPT_TOKEN(anon_sym_lte); END_STATE(); case 69: if (lookahead == 'g') ADVANCE(99); END_STATE(); case 70: ACCEPT_TOKEN(anon_sym_not); END_STATE(); case 71: if (lookahead == 's') ADVANCE(100); END_STATE(); case 72: if (lookahead == 'd') ADVANCE(101); if (lookahead == 'i') ADVANCE(102); END_STATE(); case 73: if (lookahead == 'd') ADVANCE(103); END_STATE(); case 74: ACCEPT_TOKEN(anon_sym_sel); END_STATE(); case 75: if (lookahead == 'f') ADVANCE(104); END_STATE(); case 76: ACCEPT_TOKEN(anon_sym_sub); END_STATE(); case 77: if (lookahead == 'q') ADVANCE(105); END_STATE(); case 78: if (lookahead == 'e') ADVANCE(106); if (lookahead == 't') ADVANCE(107); END_STATE(); case 79: if (lookahead == 'f') ADVANCE(108); END_STATE(); case 80: if (lookahead == 'y') ADVANCE(109); END_STATE(); case 81: if (lookahead == 't') ADVANCE(110); END_STATE(); case 82: ACCEPT_TOKEN(anon_sym_xor); END_STATE(); case 83: if (lookahead == 'c') ADVANCE(111); END_STATE(); case 84: if (lookahead == 'f') ADVANCE(112); END_STATE(); case 85: ACCEPT_TOKEN(anon_sym_breq); END_STATE(); case 86: ACCEPT_TOKEN(anon_sym_brge); END_STATE(); case 87: ACCEPT_TOKEN(anon_sym_brgt); END_STATE(); case 88: ACCEPT_TOKEN(anon_sym_brof); END_STATE(); case 89: ACCEPT_TOKEN(anon_sym_brty); END_STATE(); case 90: if (lookahead == 'g') ADVANCE(113); END_STATE(); case 91: if (lookahead == 'r') ADVANCE(114); END_STATE(); case 92: if (lookahead == 's') ADVANCE(115); END_STATE(); case 93: if (lookahead == 't') ADVANCE(116); END_STATE(); case 94: ACCEPT_TOKEN(anon_sym_exec); END_STATE(); case 95: if (lookahead == 'a') ADVANCE(117); END_STATE(); case 96: ACCEPT_TOKEN(anon_sym_free); if (lookahead == '_') ADVANCE(118); END_STATE(); case 97: ACCEPT_TOKEN(anon_sym_gate); END_STATE(); case 98: if (lookahead == '_') ADVANCE(119); END_STATE(); case 99: if (lookahead == 'e') ADVANCE(120); END_STATE(); case 100: ACCEPT_TOKEN(anon_sym_pass); END_STATE(); case 101: if (lookahead == 'e') ADVANCE(121); END_STATE(); case 102: if (lookahead == 'n') ADVANCE(122); END_STATE(); case 103: ACCEPT_TOKEN(anon_sym_read); END_STATE(); case 104: if (lookahead == 't') ADVANCE(123); END_STATE(); case 105: ACCEPT_TOKEN(anon_sym_sweq); END_STATE(); case 106: ACCEPT_TOKEN(anon_sym_swge); END_STATE(); case 107: ACCEPT_TOKEN(anon_sym_swgt); END_STATE(); case 108: ACCEPT_TOKEN(anon_sym_swof); END_STATE(); case 109: ACCEPT_TOKEN(anon_sym_swty); END_STATE(); case 110: if (lookahead == 'e') ADVANCE(124); END_STATE(); case 111: ACCEPT_TOKEN(anon_sym_alloc); END_STATE(); case 112: if (lookahead == 't') ADVANCE(125); END_STATE(); case 113: if (lookahead == 'e') ADVANCE(126); END_STATE(); case 114: ACCEPT_TOKEN(anon_sym_clear); END_STATE(); case 115: if (lookahead == 'w') ADVANCE(127); END_STATE(); case 116: ACCEPT_TOKEN(anon_sym_const); END_STATE(); case 117: if (lookahead == 'c') ADVANCE(128); END_STATE(); case 118: if (lookahead == 'c') ADVANCE(129); END_STATE(); case 119: if (lookahead == 'i') ADVANCE(130); END_STATE(); case 120: ACCEPT_TOKEN(anon_sym_merge); END_STATE(); case 121: if (lookahead == 'c') ADVANCE(131); END_STATE(); case 122: if (lookahead == 'c') ADVANCE(132); END_STATE(); case 123: if (lookahead == 'l') ADVANCE(133); if (lookahead == 'r') ADVANCE(134); END_STATE(); case 124: ACCEPT_TOKEN(anon_sym_write); END_STATE(); case 125: if (lookahead == 'r') ADVANCE(135); END_STATE(); case 126: if (lookahead == '_') ADVANCE(136); END_STATE(); case 127: ACCEPT_TOKEN(anon_sym_cmp_sw); END_STATE(); case 128: if (lookahead == 't') ADVANCE(137); END_STATE(); case 129: if (lookahead == 't') ADVANCE(138); END_STATE(); case 130: if (lookahead == 'n') ADVANCE(139); END_STATE(); case 131: ACCEPT_TOKEN(anon_sym_rd_dec); END_STATE(); case 132: ACCEPT_TOKEN(anon_sym_rd_inc); END_STATE(); case 133: ACCEPT_TOKEN(anon_sym_shiftl); END_STATE(); case 134: ACCEPT_TOKEN(anon_sym_shiftr); END_STATE(); case 135: ACCEPT_TOKEN(anon_sym_ashiftr); END_STATE(); case 136: if (lookahead == 't') ADVANCE(140); END_STATE(); case 137: if (lookahead == '_') ADVANCE(141); END_STATE(); case 138: if (lookahead == 'x') ADVANCE(142); END_STATE(); case 139: if (lookahead == 's') ADVANCE(143); END_STATE(); case 140: if (lookahead == 'a') ADVANCE(144); END_STATE(); case 141: if (lookahead == 't') ADVANCE(145); END_STATE(); case 142: ACCEPT_TOKEN(anon_sym_free_ctx); END_STATE(); case 143: if (lookahead == 't') ADVANCE(146); END_STATE(); case 144: if (lookahead == 'g') ADVANCE(147); END_STATE(); case 145: if (lookahead == 'a') ADVANCE(148); END_STATE(); case 146: ACCEPT_TOKEN(anon_sym_load_inst); END_STATE(); case 147: ACCEPT_TOKEN(anon_sym_change_tag); END_STATE(); case 148: if (lookahead == 'g') ADVANCE(149); END_STATE(); case 149: ACCEPT_TOKEN(anon_sym_extract_tag); END_STATE(); default: return false; } } static const TSLexerMode ts_lex_modes[STATE_COUNT] = { [0] = {.lex_state = 0}, [1] = {.lex_state = 16}, [2] = {.lex_state = 16}, [3] = {.lex_state = 16}, [4] = {.lex_state = 16}, [5] = {.lex_state = 16}, [6] = {.lex_state = 0}, [7] = {.lex_state = 0}, [8] = {.lex_state = 0}, [9] = {.lex_state = 0}, [10] = {.lex_state = 16}, [11] = {.lex_state = 16}, [12] = {.lex_state = 0}, [13] = {.lex_state = 0}, [14] = {.lex_state = 0}, [15] = {.lex_state = 0}, [16] = {.lex_state = 0}, [17] = {.lex_state = 0}, [18] = {.lex_state = 16}, [19] = {.lex_state = 16}, [20] = {.lex_state = 16}, [21] = {.lex_state = 16}, [22] = {.lex_state = 16}, [23] = {.lex_state = 16}, [24] = {.lex_state = 16}, [25] = {.lex_state = 16}, [26] = {.lex_state = 16}, [27] = {.lex_state = 16}, [28] = {.lex_state = 16}, [29] = {.lex_state = 16}, [30] = {.lex_state = 16}, [31] = {.lex_state = 16}, [32] = {.lex_state = 16}, [33] = {.lex_state = 16}, [34] = {.lex_state = 16}, [35] = {.lex_state = 16}, [36] = {.lex_state = 16}, [37] = {.lex_state = 16}, [38] = {.lex_state = 16}, [39] = {.lex_state = 16}, [40] = {.lex_state = 16}, [41] = {.lex_state = 16}, [42] = {.lex_state = 16}, [43] = {.lex_state = 16}, [44] = {.lex_state = 16}, [45] = {.lex_state = 16}, [46] = {.lex_state = 16}, [47] = {.lex_state = 16}, [48] = {.lex_state = 16}, [49] = {.lex_state = 16}, [50] = {.lex_state = 16}, [51] = {.lex_state = 16}, [52] = {.lex_state = 16}, [53] = {.lex_state = 16}, [54] = {.lex_state = 16}, [55] = {.lex_state = 16}, [56] = {.lex_state = 1}, [57] = {.lex_state = 1}, [58] = {.lex_state = 1}, [59] = {.lex_state = 1}, [60] = {.lex_state = 0}, [61] = {.lex_state = 0}, [62] = {.lex_state = 1}, [63] = {.lex_state = 1}, [64] = {.lex_state = 1}, [65] = {.lex_state = 1}, [66] = {.lex_state = 1}, [67] = {.lex_state = 2}, [68] = {.lex_state = 2}, [69] = {.lex_state = 2}, [70] = {.lex_state = 2}, [71] = {.lex_state = 16}, [72] = {.lex_state = 2}, [73] = {.lex_state = 0}, [74] = {.lex_state = 0}, [75] = {.lex_state = 0}, [76] = {.lex_state = 16}, [77] = {.lex_state = 16}, [78] = {.lex_state = 3}, [79] = {.lex_state = 0}, [80] = {.lex_state = 16}, [81] = {.lex_state = 0}, [82] = {.lex_state = 0}, [83] = {.lex_state = 16}, [84] = {.lex_state = 43}, [85] = {.lex_state = 0}, [86] = {.lex_state = 0}, [87] = {.lex_state = 0}, [88] = {.lex_state = 16}, [89] = {.lex_state = 16}, [90] = {.lex_state = 16}, [91] = {.lex_state = 0}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [STATE(0)] = { [ts_builtin_sym_end] = ACTIONS(1), [sym_identifier] = ACTIONS(1), [anon_sym_LBRACE] = ACTIONS(1), [anon_sym_RBRACE] = ACTIONS(1), [anon_sym_COMMA] = ACTIONS(1), [anon_sym_EQ] = ACTIONS(1), [anon_sym_ATsystem] = ACTIONS(1), [anon_sym_AT] = ACTIONS(1), [anon_sym_AMP] = ACTIONS(1), [anon_sym_DOLLAR] = ACTIONS(1), [anon_sym_PIPE] = ACTIONS(1), [anon_sym_COLON] = ACTIONS(1), [sym_hex_literal] = ACTIONS(1), [sym_dec_literal] = ACTIONS(1), [anon_sym_SQUOTE] = ACTIONS(1), [anon_sym_DQUOTE] = ACTIONS(1), [anon_sym_r_DQUOTE] = ACTIONS(1), [anon_sym_b_DQUOTE] = ACTIONS(1), [sym_escape_sequence] = ACTIONS(1), [anon_sym_POUND] = ACTIONS(1), [anon_sym_add] = ACTIONS(1), [anon_sym_sub] = ACTIONS(1), [anon_sym_inc] = ACTIONS(1), [anon_sym_dec] = ACTIONS(1), [anon_sym_shiftl] = ACTIONS(1), [anon_sym_shiftr] = ACTIONS(1), [anon_sym_ashiftr] = ACTIONS(1), [anon_sym_and] = ACTIONS(1), [anon_sym_or] = ACTIONS(1), [anon_sym_xor] = ACTIONS(1), [anon_sym_not] = ACTIONS(1), [anon_sym_eq] = ACTIONS(1), [anon_sym_lt] = ACTIONS(1), [anon_sym_lte] = ACTIONS(1), [anon_sym_gt] = ACTIONS(1), [anon_sym_gte] = ACTIONS(1), [anon_sym_breq] = ACTIONS(1), [anon_sym_brgt] = ACTIONS(1), [anon_sym_brge] = ACTIONS(1), [anon_sym_brof] = ACTIONS(1), [anon_sym_brty] = ACTIONS(1), [anon_sym_sweq] = ACTIONS(1), [anon_sym_swgt] = ACTIONS(1), [anon_sym_swge] = ACTIONS(1), [anon_sym_swof] = ACTIONS(1), [anon_sym_swty] = ACTIONS(1), [anon_sym_gate] = ACTIONS(1), [anon_sym_sel] = ACTIONS(1), [anon_sym_merge] = ACTIONS(1), [anon_sym_pass] = ACTIONS(1), [anon_sym_const] = ACTIONS(1), [anon_sym_free_ctx] = ACTIONS(1), [anon_sym_change_tag] = ACTIONS(1), [anon_sym_extract_tag] = ACTIONS(1), [anon_sym_read] = ACTIONS(1), [anon_sym_write] = ACTIONS(1), [anon_sym_clear] = ACTIONS(1), [anon_sym_alloc] = ACTIONS(1), [anon_sym_exec] = ACTIONS(1), [anon_sym_free] = ACTIONS(1), [anon_sym_rd_inc] = ACTIONS(1), [anon_sym_rd_dec] = ACTIONS(1), [anon_sym_cmp_sw] = ACTIONS(1), [anon_sym_load_inst] = ACTIONS(1), [sym_flow_in] = ACTIONS(1), [sym_flow_out] = ACTIONS(1), [sym_comment] = ACTIONS(3), }, [STATE(1)] = { [sym_program] = STATE(81), [sym__statement] = STATE(3), [sym_func_def] = STATE(3), [sym_inst_def] = STATE(3), [sym_strong_edge] = STATE(3), [sym_weak_edge] = STATE(3), [sym_plain_edge] = STATE(3), [sym_data_def] = STATE(3), [sym_pragma] = STATE(3), [sym_location_dir] = STATE(3), [sym_ref_list] = STATE(54), [sym_qualified_ref] = STATE(22), [sym_node_ref] = STATE(10), [sym_label_ref] = STATE(10), [sym_func_ref] = STATE(11), [sym_opcode] = STATE(56), [aux_sym_program_repeat1] = STATE(3), [ts_builtin_sym_end] = ACTIONS(5), [anon_sym_ATsystem] = ACTIONS(7), [anon_sym_AT] = ACTIONS(9), [anon_sym_AMP] = ACTIONS(11), [anon_sym_DOLLAR] = ACTIONS(13), [anon_sym_add] = ACTIONS(15), [anon_sym_sub] = ACTIONS(15), [anon_sym_inc] = ACTIONS(15), [anon_sym_dec] = ACTIONS(15), [anon_sym_shiftl] = ACTIONS(15), [anon_sym_shiftr] = ACTIONS(15), [anon_sym_ashiftr] = ACTIONS(15), [anon_sym_and] = ACTIONS(15), [anon_sym_or] = ACTIONS(15), [anon_sym_xor] = ACTIONS(15), [anon_sym_not] = ACTIONS(15), [anon_sym_eq] = ACTIONS(15), [anon_sym_lt] = ACTIONS(17), [anon_sym_lte] = ACTIONS(15), [anon_sym_gt] = ACTIONS(17), [anon_sym_gte] = ACTIONS(15), [anon_sym_breq] = ACTIONS(15), [anon_sym_brgt] = ACTIONS(15), [anon_sym_brge] = ACTIONS(15), [anon_sym_brof] = ACTIONS(15), [anon_sym_brty] = ACTIONS(15), [anon_sym_sweq] = ACTIONS(15), [anon_sym_swgt] = ACTIONS(15), [anon_sym_swge] = ACTIONS(15), [anon_sym_swof] = ACTIONS(15), [anon_sym_swty] = ACTIONS(15), [anon_sym_gate] = ACTIONS(15), [anon_sym_sel] = ACTIONS(15), [anon_sym_merge] = ACTIONS(15), [anon_sym_pass] = ACTIONS(15), [anon_sym_const] = ACTIONS(15), [anon_sym_free_ctx] = ACTIONS(15), [anon_sym_change_tag] = ACTIONS(15), [anon_sym_extract_tag] = ACTIONS(15), [anon_sym_read] = ACTIONS(15), [anon_sym_write] = ACTIONS(15), [anon_sym_clear] = ACTIONS(15), [anon_sym_alloc] = ACTIONS(15), [anon_sym_exec] = ACTIONS(15), [anon_sym_free] = ACTIONS(17), [anon_sym_rd_inc] = ACTIONS(15), [anon_sym_rd_dec] = ACTIONS(15), [anon_sym_cmp_sw] = ACTIONS(15), [anon_sym_load_inst] = ACTIONS(15), [sym_comment] = ACTIONS(3), }, [STATE(2)] = { [sym__statement] = STATE(2), [sym_func_def] = STATE(2), [sym_inst_def] = STATE(2), [sym_strong_edge] = STATE(2), [sym_weak_edge] = STATE(2), [sym_plain_edge] = STATE(2), [sym_data_def] = STATE(2), [sym_pragma] = STATE(2), [sym_location_dir] = STATE(2), [sym_ref_list] = STATE(54), [sym_qualified_ref] = STATE(22), [sym_node_ref] = STATE(10), [sym_label_ref] = STATE(10), [sym_func_ref] = STATE(11), [sym_opcode] = STATE(56), [aux_sym_program_repeat1] = STATE(2), [ts_builtin_sym_end] = ACTIONS(19), [anon_sym_RBRACE] = ACTIONS(19), [anon_sym_ATsystem] = ACTIONS(21), [anon_sym_AT] = ACTIONS(24), [anon_sym_AMP] = ACTIONS(27), [anon_sym_DOLLAR] = ACTIONS(30), [anon_sym_add] = ACTIONS(33), [anon_sym_sub] = ACTIONS(33), [anon_sym_inc] = ACTIONS(33), [anon_sym_dec] = ACTIONS(33), [anon_sym_shiftl] = ACTIONS(33), [anon_sym_shiftr] = ACTIONS(33), [anon_sym_ashiftr] = ACTIONS(33), [anon_sym_and] = ACTIONS(33), [anon_sym_or] = ACTIONS(33), [anon_sym_xor] = ACTIONS(33), [anon_sym_not] = ACTIONS(33), [anon_sym_eq] = ACTIONS(33), [anon_sym_lt] = ACTIONS(36), [anon_sym_lte] = ACTIONS(33), [anon_sym_gt] = ACTIONS(36), [anon_sym_gte] = ACTIONS(33), [anon_sym_breq] = ACTIONS(33), [anon_sym_brgt] = ACTIONS(33), [anon_sym_brge] = ACTIONS(33), [anon_sym_brof] = ACTIONS(33), [anon_sym_brty] = ACTIONS(33), [anon_sym_sweq] = ACTIONS(33), [anon_sym_swgt] = ACTIONS(33), [anon_sym_swge] = ACTIONS(33), [anon_sym_swof] = ACTIONS(33), [anon_sym_swty] = ACTIONS(33), [anon_sym_gate] = ACTIONS(33), [anon_sym_sel] = ACTIONS(33), [anon_sym_merge] = ACTIONS(33), [anon_sym_pass] = ACTIONS(33), [anon_sym_const] = ACTIONS(33), [anon_sym_free_ctx] = ACTIONS(33), [anon_sym_change_tag] = ACTIONS(33), [anon_sym_extract_tag] = ACTIONS(33), [anon_sym_read] = ACTIONS(33), [anon_sym_write] = ACTIONS(33), [anon_sym_clear] = ACTIONS(33), [anon_sym_alloc] = ACTIONS(33), [anon_sym_exec] = ACTIONS(33), [anon_sym_free] = ACTIONS(36), [anon_sym_rd_inc] = ACTIONS(33), [anon_sym_rd_dec] = ACTIONS(33), [anon_sym_cmp_sw] = ACTIONS(33), [anon_sym_load_inst] = ACTIONS(33), [sym_comment] = ACTIONS(3), }, [STATE(3)] = { [sym__statement] = STATE(2), [sym_func_def] = STATE(2), [sym_inst_def] = STATE(2), [sym_strong_edge] = STATE(2), [sym_weak_edge] = STATE(2), [sym_plain_edge] = STATE(2), [sym_data_def] = STATE(2), [sym_pragma] = STATE(2), [sym_location_dir] = STATE(2), [sym_ref_list] = STATE(54), [sym_qualified_ref] = STATE(22), [sym_node_ref] = STATE(10), [sym_label_ref] = STATE(10), [sym_func_ref] = STATE(11), [sym_opcode] = STATE(56), [aux_sym_program_repeat1] = STATE(2), [ts_builtin_sym_end] = ACTIONS(39), [anon_sym_ATsystem] = ACTIONS(7), [anon_sym_AT] = ACTIONS(9), [anon_sym_AMP] = ACTIONS(11), [anon_sym_DOLLAR] = ACTIONS(13), [anon_sym_add] = ACTIONS(15), [anon_sym_sub] = ACTIONS(15), [anon_sym_inc] = ACTIONS(15), [anon_sym_dec] = ACTIONS(15), [anon_sym_shiftl] = ACTIONS(15), [anon_sym_shiftr] = ACTIONS(15), [anon_sym_ashiftr] = ACTIONS(15), [anon_sym_and] = ACTIONS(15), [anon_sym_or] = ACTIONS(15), [anon_sym_xor] = ACTIONS(15), [anon_sym_not] = ACTIONS(15), [anon_sym_eq] = ACTIONS(15), [anon_sym_lt] = ACTIONS(17), [anon_sym_lte] = ACTIONS(15), [anon_sym_gt] = ACTIONS(17), [anon_sym_gte] = ACTIONS(15), [anon_sym_breq] = ACTIONS(15), [anon_sym_brgt] = ACTIONS(15), [anon_sym_brge] = ACTIONS(15), [anon_sym_brof] = ACTIONS(15), [anon_sym_brty] = ACTIONS(15), [anon_sym_sweq] = ACTIONS(15), [anon_sym_swgt] = ACTIONS(15), [anon_sym_swge] = ACTIONS(15), [anon_sym_swof] = ACTIONS(15), [anon_sym_swty] = ACTIONS(15), [anon_sym_gate] = ACTIONS(15), [anon_sym_sel] = ACTIONS(15), [anon_sym_merge] = ACTIONS(15), [anon_sym_pass] = ACTIONS(15), [anon_sym_const] = ACTIONS(15), [anon_sym_free_ctx] = ACTIONS(15), [anon_sym_change_tag] = ACTIONS(15), [anon_sym_extract_tag] = ACTIONS(15), [anon_sym_read] = ACTIONS(15), [anon_sym_write] = ACTIONS(15), [anon_sym_clear] = ACTIONS(15), [anon_sym_alloc] = ACTIONS(15), [anon_sym_exec] = ACTIONS(15), [anon_sym_free] = ACTIONS(17), [anon_sym_rd_inc] = ACTIONS(15), [anon_sym_rd_dec] = ACTIONS(15), [anon_sym_cmp_sw] = ACTIONS(15), [anon_sym_load_inst] = ACTIONS(15), [sym_comment] = ACTIONS(3), }, [STATE(4)] = { [sym__statement] = STATE(2), [sym_func_def] = STATE(2), [sym_inst_def] = STATE(2), [sym_strong_edge] = STATE(2), [sym_weak_edge] = STATE(2), [sym_plain_edge] = STATE(2), [sym_data_def] = STATE(2), [sym_pragma] = STATE(2), [sym_location_dir] = STATE(2), [sym_ref_list] = STATE(54), [sym_qualified_ref] = STATE(22), [sym_node_ref] = STATE(10), [sym_label_ref] = STATE(10), [sym_func_ref] = STATE(11), [sym_opcode] = STATE(56), [aux_sym_program_repeat1] = STATE(2), [anon_sym_RBRACE] = ACTIONS(41), [anon_sym_ATsystem] = ACTIONS(7), [anon_sym_AT] = ACTIONS(9), [anon_sym_AMP] = ACTIONS(11), [anon_sym_DOLLAR] = ACTIONS(13), [anon_sym_add] = ACTIONS(15), [anon_sym_sub] = ACTIONS(15), [anon_sym_inc] = ACTIONS(15), [anon_sym_dec] = ACTIONS(15), [anon_sym_shiftl] = ACTIONS(15), [anon_sym_shiftr] = ACTIONS(15), [anon_sym_ashiftr] = ACTIONS(15), [anon_sym_and] = ACTIONS(15), [anon_sym_or] = ACTIONS(15), [anon_sym_xor] = ACTIONS(15), [anon_sym_not] = ACTIONS(15), [anon_sym_eq] = ACTIONS(15), [anon_sym_lt] = ACTIONS(17), [anon_sym_lte] = ACTIONS(15), [anon_sym_gt] = ACTIONS(17), [anon_sym_gte] = ACTIONS(15), [anon_sym_breq] = ACTIONS(15), [anon_sym_brgt] = ACTIONS(15), [anon_sym_brge] = ACTIONS(15), [anon_sym_brof] = ACTIONS(15), [anon_sym_brty] = ACTIONS(15), [anon_sym_sweq] = ACTIONS(15), [anon_sym_swgt] = ACTIONS(15), [anon_sym_swge] = ACTIONS(15), [anon_sym_swof] = ACTIONS(15), [anon_sym_swty] = ACTIONS(15), [anon_sym_gate] = ACTIONS(15), [anon_sym_sel] = ACTIONS(15), [anon_sym_merge] = ACTIONS(15), [anon_sym_pass] = ACTIONS(15), [anon_sym_const] = ACTIONS(15), [anon_sym_free_ctx] = ACTIONS(15), [anon_sym_change_tag] = ACTIONS(15), [anon_sym_extract_tag] = ACTIONS(15), [anon_sym_read] = ACTIONS(15), [anon_sym_write] = ACTIONS(15), [anon_sym_clear] = ACTIONS(15), [anon_sym_alloc] = ACTIONS(15), [anon_sym_exec] = ACTIONS(15), [anon_sym_free] = ACTIONS(17), [anon_sym_rd_inc] = ACTIONS(15), [anon_sym_rd_dec] = ACTIONS(15), [anon_sym_cmp_sw] = ACTIONS(15), [anon_sym_load_inst] = ACTIONS(15), [sym_comment] = ACTIONS(3), }, [STATE(5)] = { [sym__statement] = STATE(4), [sym_func_def] = STATE(4), [sym_inst_def] = STATE(4), [sym_strong_edge] = STATE(4), [sym_weak_edge] = STATE(4), [sym_plain_edge] = STATE(4), [sym_data_def] = STATE(4), [sym_pragma] = STATE(4), [sym_location_dir] = STATE(4), [sym_ref_list] = STATE(54), [sym_qualified_ref] = STATE(22), [sym_node_ref] = STATE(10), [sym_label_ref] = STATE(10), [sym_func_ref] = STATE(11), [sym_opcode] = STATE(56), [aux_sym_program_repeat1] = STATE(4), [anon_sym_RBRACE] = ACTIONS(43), [anon_sym_ATsystem] = ACTIONS(7), [anon_sym_AT] = ACTIONS(9), [anon_sym_AMP] = ACTIONS(11), [anon_sym_DOLLAR] = ACTIONS(13), [anon_sym_add] = ACTIONS(15), [anon_sym_sub] = ACTIONS(15), [anon_sym_inc] = ACTIONS(15), [anon_sym_dec] = ACTIONS(15), [anon_sym_shiftl] = ACTIONS(15), [anon_sym_shiftr] = ACTIONS(15), [anon_sym_ashiftr] = ACTIONS(15), [anon_sym_and] = ACTIONS(15), [anon_sym_or] = ACTIONS(15), [anon_sym_xor] = ACTIONS(15), [anon_sym_not] = ACTIONS(15), [anon_sym_eq] = ACTIONS(15), [anon_sym_lt] = ACTIONS(17), [anon_sym_lte] = ACTIONS(15), [anon_sym_gt] = ACTIONS(17), [anon_sym_gte] = ACTIONS(15), [anon_sym_breq] = ACTIONS(15), [anon_sym_brgt] = ACTIONS(15), [anon_sym_brge] = ACTIONS(15), [anon_sym_brof] = ACTIONS(15), [anon_sym_brty] = ACTIONS(15), [anon_sym_sweq] = ACTIONS(15), [anon_sym_swgt] = ACTIONS(15), [anon_sym_swge] = ACTIONS(15), [anon_sym_swof] = ACTIONS(15), [anon_sym_swty] = ACTIONS(15), [anon_sym_gate] = ACTIONS(15), [anon_sym_sel] = ACTIONS(15), [anon_sym_merge] = ACTIONS(15), [anon_sym_pass] = ACTIONS(15), [anon_sym_const] = ACTIONS(15), [anon_sym_free_ctx] = ACTIONS(15), [anon_sym_change_tag] = ACTIONS(15), [anon_sym_extract_tag] = ACTIONS(15), [anon_sym_read] = ACTIONS(15), [anon_sym_write] = ACTIONS(15), [anon_sym_clear] = ACTIONS(15), [anon_sym_alloc] = ACTIONS(15), [anon_sym_exec] = ACTIONS(15), [anon_sym_free] = ACTIONS(17), [anon_sym_rd_inc] = ACTIONS(15), [anon_sym_rd_dec] = ACTIONS(15), [anon_sym_cmp_sw] = ACTIONS(15), [anon_sym_load_inst] = ACTIONS(15), [sym_comment] = ACTIONS(3), }, [STATE(6)] = { [sym__value] = STATE(8), [sym_number_literal] = STATE(8), [sym_char_literal] = STATE(8), [sym_string_literal] = STATE(8), [sym_raw_string_literal] = STATE(8), [sym_byte_string_literal] = STATE(8), [aux_sym_macro_call_repeat1] = STATE(8), [ts_builtin_sym_end] = ACTIONS(45), [anon_sym_RBRACE] = ACTIONS(45), [anon_sym_ATsystem] = ACTIONS(45), [anon_sym_AT] = ACTIONS(47), [anon_sym_AMP] = ACTIONS(45), [anon_sym_DOLLAR] = ACTIONS(45), [sym_hex_literal] = ACTIONS(49), [sym_dec_literal] = ACTIONS(51), [anon_sym_SQUOTE] = ACTIONS(53), [anon_sym_DQUOTE] = ACTIONS(55), [anon_sym_r_DQUOTE] = ACTIONS(57), [anon_sym_b_DQUOTE] = ACTIONS(59), [anon_sym_add] = ACTIONS(45), [anon_sym_sub] = ACTIONS(45), [anon_sym_inc] = ACTIONS(45), [anon_sym_dec] = ACTIONS(45), [anon_sym_shiftl] = ACTIONS(45), [anon_sym_shiftr] = ACTIONS(45), [anon_sym_ashiftr] = ACTIONS(45), [anon_sym_and] = ACTIONS(45), [anon_sym_or] = ACTIONS(45), [anon_sym_xor] = ACTIONS(45), [anon_sym_not] = ACTIONS(45), [anon_sym_eq] = ACTIONS(45), [anon_sym_lt] = ACTIONS(47), [anon_sym_lte] = ACTIONS(45), [anon_sym_gt] = ACTIONS(47), [anon_sym_gte] = ACTIONS(45), [anon_sym_breq] = ACTIONS(45), [anon_sym_brgt] = ACTIONS(45), [anon_sym_brge] = ACTIONS(45), [anon_sym_brof] = ACTIONS(45), [anon_sym_brty] = ACTIONS(45), [anon_sym_sweq] = ACTIONS(45), [anon_sym_swgt] = ACTIONS(45), [anon_sym_swge] = ACTIONS(45), [anon_sym_swof] = ACTIONS(45), [anon_sym_swty] = ACTIONS(45), [anon_sym_gate] = ACTIONS(45), [anon_sym_sel] = ACTIONS(45), [anon_sym_merge] = ACTIONS(45), [anon_sym_pass] = ACTIONS(45), [anon_sym_const] = ACTIONS(45), [anon_sym_free_ctx] = ACTIONS(45), [anon_sym_change_tag] = ACTIONS(45), [anon_sym_extract_tag] = ACTIONS(45), [anon_sym_read] = ACTIONS(45), [anon_sym_write] = ACTIONS(45), [anon_sym_clear] = ACTIONS(45), [anon_sym_alloc] = ACTIONS(45), [anon_sym_exec] = ACTIONS(45), [anon_sym_free] = ACTIONS(47), [anon_sym_rd_inc] = ACTIONS(45), [anon_sym_rd_dec] = ACTIONS(45), [anon_sym_cmp_sw] = ACTIONS(45), [anon_sym_load_inst] = ACTIONS(45), [sym_comment] = ACTIONS(3), }, [STATE(7)] = { [sym__value] = STATE(6), [sym_number_literal] = STATE(6), [sym_char_literal] = STATE(6), [sym_string_literal] = STATE(6), [sym_raw_string_literal] = STATE(6), [sym_byte_string_literal] = STATE(6), [aux_sym_macro_call_repeat1] = STATE(6), [ts_builtin_sym_end] = ACTIONS(61), [anon_sym_RBRACE] = ACTIONS(61), [anon_sym_ATsystem] = ACTIONS(61), [anon_sym_AT] = ACTIONS(63), [anon_sym_AMP] = ACTIONS(61), [anon_sym_DOLLAR] = ACTIONS(61), [sym_hex_literal] = ACTIONS(49), [sym_dec_literal] = ACTIONS(51), [anon_sym_SQUOTE] = ACTIONS(53), [anon_sym_DQUOTE] = ACTIONS(55), [anon_sym_r_DQUOTE] = ACTIONS(57), [anon_sym_b_DQUOTE] = ACTIONS(59), [anon_sym_add] = ACTIONS(61), [anon_sym_sub] = ACTIONS(61), [anon_sym_inc] = ACTIONS(61), [anon_sym_dec] = ACTIONS(61), [anon_sym_shiftl] = ACTIONS(61), [anon_sym_shiftr] = ACTIONS(61), [anon_sym_ashiftr] = ACTIONS(61), [anon_sym_and] = ACTIONS(61), [anon_sym_or] = ACTIONS(61), [anon_sym_xor] = ACTIONS(61), [anon_sym_not] = ACTIONS(61), [anon_sym_eq] = ACTIONS(61), [anon_sym_lt] = ACTIONS(63), [anon_sym_lte] = ACTIONS(61), [anon_sym_gt] = ACTIONS(63), [anon_sym_gte] = ACTIONS(61), [anon_sym_breq] = ACTIONS(61), [anon_sym_brgt] = ACTIONS(61), [anon_sym_brge] = ACTIONS(61), [anon_sym_brof] = ACTIONS(61), [anon_sym_brty] = ACTIONS(61), [anon_sym_sweq] = ACTIONS(61), [anon_sym_swgt] = ACTIONS(61), [anon_sym_swge] = ACTIONS(61), [anon_sym_swof] = ACTIONS(61), [anon_sym_swty] = ACTIONS(61), [anon_sym_gate] = ACTIONS(61), [anon_sym_sel] = ACTIONS(61), [anon_sym_merge] = ACTIONS(61), [anon_sym_pass] = ACTIONS(61), [anon_sym_const] = ACTIONS(61), [anon_sym_free_ctx] = ACTIONS(61), [anon_sym_change_tag] = ACTIONS(61), [anon_sym_extract_tag] = ACTIONS(61), [anon_sym_read] = ACTIONS(61), [anon_sym_write] = ACTIONS(61), [anon_sym_clear] = ACTIONS(61), [anon_sym_alloc] = ACTIONS(61), [anon_sym_exec] = ACTIONS(61), [anon_sym_free] = ACTIONS(63), [anon_sym_rd_inc] = ACTIONS(61), [anon_sym_rd_dec] = ACTIONS(61), [anon_sym_cmp_sw] = ACTIONS(61), [anon_sym_load_inst] = ACTIONS(61), [sym_comment] = ACTIONS(3), }, [STATE(8)] = { [sym__value] = STATE(8), [sym_number_literal] = STATE(8), [sym_char_literal] = STATE(8), [sym_string_literal] = STATE(8), [sym_raw_string_literal] = STATE(8), [sym_byte_string_literal] = STATE(8), [aux_sym_macro_call_repeat1] = STATE(8), [ts_builtin_sym_end] = ACTIONS(65), [anon_sym_RBRACE] = ACTIONS(65), [anon_sym_ATsystem] = ACTIONS(65), [anon_sym_AT] = ACTIONS(67), [anon_sym_AMP] = ACTIONS(65), [anon_sym_DOLLAR] = ACTIONS(65), [sym_hex_literal] = ACTIONS(69), [sym_dec_literal] = ACTIONS(72), [anon_sym_SQUOTE] = ACTIONS(75), [anon_sym_DQUOTE] = ACTIONS(78), [anon_sym_r_DQUOTE] = ACTIONS(81), [anon_sym_b_DQUOTE] = ACTIONS(84), [anon_sym_add] = ACTIONS(65), [anon_sym_sub] = ACTIONS(65), [anon_sym_inc] = ACTIONS(65), [anon_sym_dec] = ACTIONS(65), [anon_sym_shiftl] = ACTIONS(65), [anon_sym_shiftr] = ACTIONS(65), [anon_sym_ashiftr] = ACTIONS(65), [anon_sym_and] = ACTIONS(65), [anon_sym_or] = ACTIONS(65), [anon_sym_xor] = ACTIONS(65), [anon_sym_not] = ACTIONS(65), [anon_sym_eq] = ACTIONS(65), [anon_sym_lt] = ACTIONS(67), [anon_sym_lte] = ACTIONS(65), [anon_sym_gt] = ACTIONS(67), [anon_sym_gte] = ACTIONS(65), [anon_sym_breq] = ACTIONS(65), [anon_sym_brgt] = ACTIONS(65), [anon_sym_brge] = ACTIONS(65), [anon_sym_brof] = ACTIONS(65), [anon_sym_brty] = ACTIONS(65), [anon_sym_sweq] = ACTIONS(65), [anon_sym_swgt] = ACTIONS(65), [anon_sym_swge] = ACTIONS(65), [anon_sym_swof] = ACTIONS(65), [anon_sym_swty] = ACTIONS(65), [anon_sym_gate] = ACTIONS(65), [anon_sym_sel] = ACTIONS(65), [anon_sym_merge] = ACTIONS(65), [anon_sym_pass] = ACTIONS(65), [anon_sym_const] = ACTIONS(65), [anon_sym_free_ctx] = ACTIONS(65), [anon_sym_change_tag] = ACTIONS(65), [anon_sym_extract_tag] = ACTIONS(65), [anon_sym_read] = ACTIONS(65), [anon_sym_write] = ACTIONS(65), [anon_sym_clear] = ACTIONS(65), [anon_sym_alloc] = ACTIONS(65), [anon_sym_exec] = ACTIONS(65), [anon_sym_free] = ACTIONS(67), [anon_sym_rd_inc] = ACTIONS(65), [anon_sym_rd_dec] = ACTIONS(65), [anon_sym_cmp_sw] = ACTIONS(65), [anon_sym_load_inst] = ACTIONS(65), [sym_comment] = ACTIONS(3), }, [STATE(9)] = { [ts_builtin_sym_end] = ACTIONS(87), [anon_sym_RBRACE] = ACTIONS(87), [anon_sym_COMMA] = ACTIONS(87), [anon_sym_EQ] = ACTIONS(87), [anon_sym_ATsystem] = ACTIONS(87), [anon_sym_AT] = ACTIONS(89), [anon_sym_AMP] = ACTIONS(87), [anon_sym_DOLLAR] = ACTIONS(87), [sym_hex_literal] = ACTIONS(87), [sym_dec_literal] = ACTIONS(89), [anon_sym_SQUOTE] = ACTIONS(87), [anon_sym_DQUOTE] = ACTIONS(87), [anon_sym_r_DQUOTE] = ACTIONS(87), [anon_sym_b_DQUOTE] = ACTIONS(87), [anon_sym_add] = ACTIONS(87), [anon_sym_sub] = ACTIONS(87), [anon_sym_inc] = ACTIONS(87), [anon_sym_dec] = ACTIONS(87), [anon_sym_shiftl] = ACTIONS(87), [anon_sym_shiftr] = ACTIONS(87), [anon_sym_ashiftr] = ACTIONS(87), [anon_sym_and] = ACTIONS(87), [anon_sym_or] = ACTIONS(87), [anon_sym_xor] = ACTIONS(87), [anon_sym_not] = ACTIONS(87), [anon_sym_eq] = ACTIONS(87), [anon_sym_lt] = ACTIONS(89), [anon_sym_lte] = ACTIONS(87), [anon_sym_gt] = ACTIONS(89), [anon_sym_gte] = ACTIONS(87), [anon_sym_breq] = ACTIONS(87), [anon_sym_brgt] = ACTIONS(87), [anon_sym_brge] = ACTIONS(87), [anon_sym_brof] = ACTIONS(87), [anon_sym_brty] = ACTIONS(87), [anon_sym_sweq] = ACTIONS(87), [anon_sym_swgt] = ACTIONS(87), [anon_sym_swge] = ACTIONS(87), [anon_sym_swof] = ACTIONS(87), [anon_sym_swty] = ACTIONS(87), [anon_sym_gate] = ACTIONS(87), [anon_sym_sel] = ACTIONS(87), [anon_sym_merge] = ACTIONS(87), [anon_sym_pass] = ACTIONS(87), [anon_sym_const] = ACTIONS(87), [anon_sym_free_ctx] = ACTIONS(87), [anon_sym_change_tag] = ACTIONS(87), [anon_sym_extract_tag] = ACTIONS(87), [anon_sym_read] = ACTIONS(87), [anon_sym_write] = ACTIONS(87), [anon_sym_clear] = ACTIONS(87), [anon_sym_alloc] = ACTIONS(87), [anon_sym_exec] = ACTIONS(87), [anon_sym_free] = ACTIONS(89), [anon_sym_rd_inc] = ACTIONS(87), [anon_sym_rd_dec] = ACTIONS(87), [anon_sym_cmp_sw] = ACTIONS(87), [anon_sym_load_inst] = ACTIONS(87), [sym_flow_in] = ACTIONS(87), [sym_flow_out] = ACTIONS(87), [sym_comment] = ACTIONS(3), }, [STATE(10)] = { [sym_placement] = STATE(21), [sym_port] = STATE(24), [ts_builtin_sym_end] = ACTIONS(91), [anon_sym_RBRACE] = ACTIONS(91), [anon_sym_COMMA] = ACTIONS(91), [anon_sym_EQ] = ACTIONS(91), [anon_sym_ATsystem] = ACTIONS(91), [anon_sym_AT] = ACTIONS(93), [anon_sym_AMP] = ACTIONS(91), [anon_sym_DOLLAR] = ACTIONS(91), [anon_sym_PIPE] = ACTIONS(95), [anon_sym_COLON] = ACTIONS(97), [anon_sym_add] = ACTIONS(91), [anon_sym_sub] = ACTIONS(91), [anon_sym_inc] = ACTIONS(91), [anon_sym_dec] = ACTIONS(91), [anon_sym_shiftl] = ACTIONS(91), [anon_sym_shiftr] = ACTIONS(91), [anon_sym_ashiftr] = ACTIONS(91), [anon_sym_and] = ACTIONS(91), [anon_sym_or] = ACTIONS(91), [anon_sym_xor] = ACTIONS(91), [anon_sym_not] = ACTIONS(91), [anon_sym_eq] = ACTIONS(91), [anon_sym_lt] = ACTIONS(93), [anon_sym_lte] = ACTIONS(91), [anon_sym_gt] = ACTIONS(93), [anon_sym_gte] = ACTIONS(91), [anon_sym_breq] = ACTIONS(91), [anon_sym_brgt] = ACTIONS(91), [anon_sym_brge] = ACTIONS(91), [anon_sym_brof] = ACTIONS(91), [anon_sym_brty] = ACTIONS(91), [anon_sym_sweq] = ACTIONS(91), [anon_sym_swgt] = ACTIONS(91), [anon_sym_swge] = ACTIONS(91), [anon_sym_swof] = ACTIONS(91), [anon_sym_swty] = ACTIONS(91), [anon_sym_gate] = ACTIONS(91), [anon_sym_sel] = ACTIONS(91), [anon_sym_merge] = ACTIONS(91), [anon_sym_pass] = ACTIONS(91), [anon_sym_const] = ACTIONS(91), [anon_sym_free_ctx] = ACTIONS(91), [anon_sym_change_tag] = ACTIONS(91), [anon_sym_extract_tag] = ACTIONS(91), [anon_sym_read] = ACTIONS(91), [anon_sym_write] = ACTIONS(91), [anon_sym_clear] = ACTIONS(91), [anon_sym_alloc] = ACTIONS(91), [anon_sym_exec] = ACTIONS(91), [anon_sym_free] = ACTIONS(93), [anon_sym_rd_inc] = ACTIONS(91), [anon_sym_rd_dec] = ACTIONS(91), [anon_sym_cmp_sw] = ACTIONS(91), [anon_sym_load_inst] = ACTIONS(91), [sym_flow_in] = ACTIONS(91), [sym_flow_out] = ACTIONS(91), [sym_comment] = ACTIONS(3), }, [STATE(11)] = { [sym_placement] = STATE(21), [sym_port] = STATE(24), [ts_builtin_sym_end] = ACTIONS(91), [anon_sym_RBRACE] = ACTIONS(91), [anon_sym_COMMA] = ACTIONS(91), [anon_sym_EQ] = ACTIONS(91), [anon_sym_ATsystem] = ACTIONS(91), [anon_sym_AT] = ACTIONS(93), [anon_sym_AMP] = ACTIONS(91), [anon_sym_DOLLAR] = ACTIONS(91), [anon_sym_PIPE] = ACTIONS(95), [anon_sym_COLON] = ACTIONS(97), [anon_sym_add] = ACTIONS(91), [anon_sym_sub] = ACTIONS(91), [anon_sym_inc] = ACTIONS(91), [anon_sym_dec] = ACTIONS(91), [anon_sym_shiftl] = ACTIONS(91), [anon_sym_shiftr] = ACTIONS(91), [anon_sym_ashiftr] = ACTIONS(91), [anon_sym_and] = ACTIONS(91), [anon_sym_or] = ACTIONS(91), [anon_sym_xor] = ACTIONS(91), [anon_sym_not] = ACTIONS(91), [anon_sym_eq] = ACTIONS(91), [anon_sym_lt] = ACTIONS(93), [anon_sym_lte] = ACTIONS(91), [anon_sym_gt] = ACTIONS(93), [anon_sym_gte] = ACTIONS(91), [anon_sym_breq] = ACTIONS(91), [anon_sym_brgt] = ACTIONS(91), [anon_sym_brge] = ACTIONS(91), [anon_sym_brof] = ACTIONS(91), [anon_sym_brty] = ACTIONS(91), [anon_sym_sweq] = ACTIONS(91), [anon_sym_swgt] = ACTIONS(91), [anon_sym_swge] = ACTIONS(91), [anon_sym_swof] = ACTIONS(91), [anon_sym_swty] = ACTIONS(91), [anon_sym_gate] = ACTIONS(91), [anon_sym_sel] = ACTIONS(91), [anon_sym_merge] = ACTIONS(91), [anon_sym_pass] = ACTIONS(91), [anon_sym_const] = ACTIONS(91), [anon_sym_free_ctx] = ACTIONS(91), [anon_sym_change_tag] = ACTIONS(91), [anon_sym_extract_tag] = ACTIONS(91), [anon_sym_read] = ACTIONS(91), [anon_sym_write] = ACTIONS(91), [anon_sym_clear] = ACTIONS(91), [anon_sym_alloc] = ACTIONS(91), [anon_sym_exec] = ACTIONS(91), [anon_sym_free] = ACTIONS(93), [anon_sym_rd_inc] = ACTIONS(91), [anon_sym_rd_dec] = ACTIONS(91), [anon_sym_cmp_sw] = ACTIONS(91), [anon_sym_load_inst] = ACTIONS(91), [sym_flow_in] = ACTIONS(91), [sym_flow_out] = ACTIONS(99), [sym_comment] = ACTIONS(3), }, [STATE(12)] = { [ts_builtin_sym_end] = ACTIONS(101), [anon_sym_RBRACE] = ACTIONS(101), [anon_sym_COMMA] = ACTIONS(101), [anon_sym_ATsystem] = ACTIONS(101), [anon_sym_AT] = ACTIONS(103), [anon_sym_AMP] = ACTIONS(101), [anon_sym_DOLLAR] = ACTIONS(101), [sym_hex_literal] = ACTIONS(101), [sym_dec_literal] = ACTIONS(103), [anon_sym_SQUOTE] = ACTIONS(101), [anon_sym_DQUOTE] = ACTIONS(101), [anon_sym_r_DQUOTE] = ACTIONS(101), [anon_sym_b_DQUOTE] = ACTIONS(101), [anon_sym_add] = ACTIONS(101), [anon_sym_sub] = ACTIONS(101), [anon_sym_inc] = ACTIONS(101), [anon_sym_dec] = ACTIONS(101), [anon_sym_shiftl] = ACTIONS(101), [anon_sym_shiftr] = ACTIONS(101), [anon_sym_ashiftr] = ACTIONS(101), [anon_sym_and] = ACTIONS(101), [anon_sym_or] = ACTIONS(101), [anon_sym_xor] = ACTIONS(101), [anon_sym_not] = ACTIONS(101), [anon_sym_eq] = ACTIONS(101), [anon_sym_lt] = ACTIONS(103), [anon_sym_lte] = ACTIONS(101), [anon_sym_gt] = ACTIONS(103), [anon_sym_gte] = ACTIONS(101), [anon_sym_breq] = ACTIONS(101), [anon_sym_brgt] = ACTIONS(101), [anon_sym_brge] = ACTIONS(101), [anon_sym_brof] = ACTIONS(101), [anon_sym_brty] = ACTIONS(101), [anon_sym_sweq] = ACTIONS(101), [anon_sym_swgt] = ACTIONS(101), [anon_sym_swge] = ACTIONS(101), [anon_sym_swof] = ACTIONS(101), [anon_sym_swty] = ACTIONS(101), [anon_sym_gate] = ACTIONS(101), [anon_sym_sel] = ACTIONS(101), [anon_sym_merge] = ACTIONS(101), [anon_sym_pass] = ACTIONS(101), [anon_sym_const] = ACTIONS(101), [anon_sym_free_ctx] = ACTIONS(101), [anon_sym_change_tag] = ACTIONS(101), [anon_sym_extract_tag] = ACTIONS(101), [anon_sym_read] = ACTIONS(101), [anon_sym_write] = ACTIONS(101), [anon_sym_clear] = ACTIONS(101), [anon_sym_alloc] = ACTIONS(101), [anon_sym_exec] = ACTIONS(101), [anon_sym_free] = ACTIONS(103), [anon_sym_rd_inc] = ACTIONS(101), [anon_sym_rd_dec] = ACTIONS(101), [anon_sym_cmp_sw] = ACTIONS(101), [anon_sym_load_inst] = ACTIONS(101), [sym_flow_out] = ACTIONS(101), [sym_comment] = ACTIONS(3), }, [STATE(13)] = { [ts_builtin_sym_end] = ACTIONS(105), [anon_sym_RBRACE] = ACTIONS(105), [anon_sym_COMMA] = ACTIONS(105), [anon_sym_ATsystem] = ACTIONS(105), [anon_sym_AT] = ACTIONS(107), [anon_sym_AMP] = ACTIONS(105), [anon_sym_DOLLAR] = ACTIONS(105), [sym_hex_literal] = ACTIONS(105), [sym_dec_literal] = ACTIONS(107), [anon_sym_SQUOTE] = ACTIONS(105), [anon_sym_DQUOTE] = ACTIONS(105), [anon_sym_r_DQUOTE] = ACTIONS(105), [anon_sym_b_DQUOTE] = ACTIONS(105), [anon_sym_add] = ACTIONS(105), [anon_sym_sub] = ACTIONS(105), [anon_sym_inc] = ACTIONS(105), [anon_sym_dec] = ACTIONS(105), [anon_sym_shiftl] = ACTIONS(105), [anon_sym_shiftr] = ACTIONS(105), [anon_sym_ashiftr] = ACTIONS(105), [anon_sym_and] = ACTIONS(105), [anon_sym_or] = ACTIONS(105), [anon_sym_xor] = ACTIONS(105), [anon_sym_not] = ACTIONS(105), [anon_sym_eq] = ACTIONS(105), [anon_sym_lt] = ACTIONS(107), [anon_sym_lte] = ACTIONS(105), [anon_sym_gt] = ACTIONS(107), [anon_sym_gte] = ACTIONS(105), [anon_sym_breq] = ACTIONS(105), [anon_sym_brgt] = ACTIONS(105), [anon_sym_brge] = ACTIONS(105), [anon_sym_brof] = ACTIONS(105), [anon_sym_brty] = ACTIONS(105), [anon_sym_sweq] = ACTIONS(105), [anon_sym_swgt] = ACTIONS(105), [anon_sym_swge] = ACTIONS(105), [anon_sym_swof] = ACTIONS(105), [anon_sym_swty] = ACTIONS(105), [anon_sym_gate] = ACTIONS(105), [anon_sym_sel] = ACTIONS(105), [anon_sym_merge] = ACTIONS(105), [anon_sym_pass] = ACTIONS(105), [anon_sym_const] = ACTIONS(105), [anon_sym_free_ctx] = ACTIONS(105), [anon_sym_change_tag] = ACTIONS(105), [anon_sym_extract_tag] = ACTIONS(105), [anon_sym_read] = ACTIONS(105), [anon_sym_write] = ACTIONS(105), [anon_sym_clear] = ACTIONS(105), [anon_sym_alloc] = ACTIONS(105), [anon_sym_exec] = ACTIONS(105), [anon_sym_free] = ACTIONS(107), [anon_sym_rd_inc] = ACTIONS(105), [anon_sym_rd_dec] = ACTIONS(105), [anon_sym_cmp_sw] = ACTIONS(105), [anon_sym_load_inst] = ACTIONS(105), [sym_flow_out] = ACTIONS(105), [sym_comment] = ACTIONS(3), }, [STATE(14)] = { [ts_builtin_sym_end] = ACTIONS(109), [anon_sym_RBRACE] = ACTIONS(109), [anon_sym_COMMA] = ACTIONS(109), [anon_sym_ATsystem] = ACTIONS(109), [anon_sym_AT] = ACTIONS(111), [anon_sym_AMP] = ACTIONS(109), [anon_sym_DOLLAR] = ACTIONS(109), [sym_hex_literal] = ACTIONS(109), [sym_dec_literal] = ACTIONS(111), [anon_sym_SQUOTE] = ACTIONS(109), [anon_sym_DQUOTE] = ACTIONS(109), [anon_sym_r_DQUOTE] = ACTIONS(109), [anon_sym_b_DQUOTE] = ACTIONS(109), [anon_sym_add] = ACTIONS(109), [anon_sym_sub] = ACTIONS(109), [anon_sym_inc] = ACTIONS(109), [anon_sym_dec] = ACTIONS(109), [anon_sym_shiftl] = ACTIONS(109), [anon_sym_shiftr] = ACTIONS(109), [anon_sym_ashiftr] = ACTIONS(109), [anon_sym_and] = ACTIONS(109), [anon_sym_or] = ACTIONS(109), [anon_sym_xor] = ACTIONS(109), [anon_sym_not] = ACTIONS(109), [anon_sym_eq] = ACTIONS(109), [anon_sym_lt] = ACTIONS(111), [anon_sym_lte] = ACTIONS(109), [anon_sym_gt] = ACTIONS(111), [anon_sym_gte] = ACTIONS(109), [anon_sym_breq] = ACTIONS(109), [anon_sym_brgt] = ACTIONS(109), [anon_sym_brge] = ACTIONS(109), [anon_sym_brof] = ACTIONS(109), [anon_sym_brty] = ACTIONS(109), [anon_sym_sweq] = ACTIONS(109), [anon_sym_swgt] = ACTIONS(109), [anon_sym_swge] = ACTIONS(109), [anon_sym_swof] = ACTIONS(109), [anon_sym_swty] = ACTIONS(109), [anon_sym_gate] = ACTIONS(109), [anon_sym_sel] = ACTIONS(109), [anon_sym_merge] = ACTIONS(109), [anon_sym_pass] = ACTIONS(109), [anon_sym_const] = ACTIONS(109), [anon_sym_free_ctx] = ACTIONS(109), [anon_sym_change_tag] = ACTIONS(109), [anon_sym_extract_tag] = ACTIONS(109), [anon_sym_read] = ACTIONS(109), [anon_sym_write] = ACTIONS(109), [anon_sym_clear] = ACTIONS(109), [anon_sym_alloc] = ACTIONS(109), [anon_sym_exec] = ACTIONS(109), [anon_sym_free] = ACTIONS(111), [anon_sym_rd_inc] = ACTIONS(109), [anon_sym_rd_dec] = ACTIONS(109), [anon_sym_cmp_sw] = ACTIONS(109), [anon_sym_load_inst] = ACTIONS(109), [sym_flow_out] = ACTIONS(109), [sym_comment] = ACTIONS(3), }, [STATE(15)] = { [ts_builtin_sym_end] = ACTIONS(113), [anon_sym_RBRACE] = ACTIONS(113), [anon_sym_COMMA] = ACTIONS(113), [anon_sym_ATsystem] = ACTIONS(113), [anon_sym_AT] = ACTIONS(115), [anon_sym_AMP] = ACTIONS(113), [anon_sym_DOLLAR] = ACTIONS(113), [sym_hex_literal] = ACTIONS(113), [sym_dec_literal] = ACTIONS(115), [anon_sym_SQUOTE] = ACTIONS(113), [anon_sym_DQUOTE] = ACTIONS(113), [anon_sym_r_DQUOTE] = ACTIONS(113), [anon_sym_b_DQUOTE] = ACTIONS(113), [anon_sym_add] = ACTIONS(113), [anon_sym_sub] = ACTIONS(113), [anon_sym_inc] = ACTIONS(113), [anon_sym_dec] = ACTIONS(113), [anon_sym_shiftl] = ACTIONS(113), [anon_sym_shiftr] = ACTIONS(113), [anon_sym_ashiftr] = ACTIONS(113), [anon_sym_and] = ACTIONS(113), [anon_sym_or] = ACTIONS(113), [anon_sym_xor] = ACTIONS(113), [anon_sym_not] = ACTIONS(113), [anon_sym_eq] = ACTIONS(113), [anon_sym_lt] = ACTIONS(115), [anon_sym_lte] = ACTIONS(113), [anon_sym_gt] = ACTIONS(115), [anon_sym_gte] = ACTIONS(113), [anon_sym_breq] = ACTIONS(113), [anon_sym_brgt] = ACTIONS(113), [anon_sym_brge] = ACTIONS(113), [anon_sym_brof] = ACTIONS(113), [anon_sym_brty] = ACTIONS(113), [anon_sym_sweq] = ACTIONS(113), [anon_sym_swgt] = ACTIONS(113), [anon_sym_swge] = ACTIONS(113), [anon_sym_swof] = ACTIONS(113), [anon_sym_swty] = ACTIONS(113), [anon_sym_gate] = ACTIONS(113), [anon_sym_sel] = ACTIONS(113), [anon_sym_merge] = ACTIONS(113), [anon_sym_pass] = ACTIONS(113), [anon_sym_const] = ACTIONS(113), [anon_sym_free_ctx] = ACTIONS(113), [anon_sym_change_tag] = ACTIONS(113), [anon_sym_extract_tag] = ACTIONS(113), [anon_sym_read] = ACTIONS(113), [anon_sym_write] = ACTIONS(113), [anon_sym_clear] = ACTIONS(113), [anon_sym_alloc] = ACTIONS(113), [anon_sym_exec] = ACTIONS(113), [anon_sym_free] = ACTIONS(115), [anon_sym_rd_inc] = ACTIONS(113), [anon_sym_rd_dec] = ACTIONS(113), [anon_sym_cmp_sw] = ACTIONS(113), [anon_sym_load_inst] = ACTIONS(113), [sym_flow_out] = ACTIONS(113), [sym_comment] = ACTIONS(3), }, [STATE(16)] = { [ts_builtin_sym_end] = ACTIONS(117), [anon_sym_RBRACE] = ACTIONS(117), [anon_sym_COMMA] = ACTIONS(117), [anon_sym_ATsystem] = ACTIONS(117), [anon_sym_AT] = ACTIONS(119), [anon_sym_AMP] = ACTIONS(117), [anon_sym_DOLLAR] = ACTIONS(117), [sym_hex_literal] = ACTIONS(117), [sym_dec_literal] = ACTIONS(119), [anon_sym_SQUOTE] = ACTIONS(117), [anon_sym_DQUOTE] = ACTIONS(117), [anon_sym_r_DQUOTE] = ACTIONS(117), [anon_sym_b_DQUOTE] = ACTIONS(117), [anon_sym_add] = ACTIONS(117), [anon_sym_sub] = ACTIONS(117), [anon_sym_inc] = ACTIONS(117), [anon_sym_dec] = ACTIONS(117), [anon_sym_shiftl] = ACTIONS(117), [anon_sym_shiftr] = ACTIONS(117), [anon_sym_ashiftr] = ACTIONS(117), [anon_sym_and] = ACTIONS(117), [anon_sym_or] = ACTIONS(117), [anon_sym_xor] = ACTIONS(117), [anon_sym_not] = ACTIONS(117), [anon_sym_eq] = ACTIONS(117), [anon_sym_lt] = ACTIONS(119), [anon_sym_lte] = ACTIONS(117), [anon_sym_gt] = ACTIONS(119), [anon_sym_gte] = ACTIONS(117), [anon_sym_breq] = ACTIONS(117), [anon_sym_brgt] = ACTIONS(117), [anon_sym_brge] = ACTIONS(117), [anon_sym_brof] = ACTIONS(117), [anon_sym_brty] = ACTIONS(117), [anon_sym_sweq] = ACTIONS(117), [anon_sym_swgt] = ACTIONS(117), [anon_sym_swge] = ACTIONS(117), [anon_sym_swof] = ACTIONS(117), [anon_sym_swty] = ACTIONS(117), [anon_sym_gate] = ACTIONS(117), [anon_sym_sel] = ACTIONS(117), [anon_sym_merge] = ACTIONS(117), [anon_sym_pass] = ACTIONS(117), [anon_sym_const] = ACTIONS(117), [anon_sym_free_ctx] = ACTIONS(117), [anon_sym_change_tag] = ACTIONS(117), [anon_sym_extract_tag] = ACTIONS(117), [anon_sym_read] = ACTIONS(117), [anon_sym_write] = ACTIONS(117), [anon_sym_clear] = ACTIONS(117), [anon_sym_alloc] = ACTIONS(117), [anon_sym_exec] = ACTIONS(117), [anon_sym_free] = ACTIONS(119), [anon_sym_rd_inc] = ACTIONS(117), [anon_sym_rd_dec] = ACTIONS(117), [anon_sym_cmp_sw] = ACTIONS(117), [anon_sym_load_inst] = ACTIONS(117), [sym_flow_out] = ACTIONS(117), [sym_comment] = ACTIONS(3), }, [STATE(17)] = { [ts_builtin_sym_end] = ACTIONS(121), [anon_sym_RBRACE] = ACTIONS(121), [anon_sym_COMMA] = ACTIONS(121), [anon_sym_ATsystem] = ACTIONS(121), [anon_sym_AT] = ACTIONS(123), [anon_sym_AMP] = ACTIONS(121), [anon_sym_DOLLAR] = ACTIONS(121), [sym_hex_literal] = ACTIONS(121), [sym_dec_literal] = ACTIONS(123), [anon_sym_SQUOTE] = ACTIONS(121), [anon_sym_DQUOTE] = ACTIONS(121), [anon_sym_r_DQUOTE] = ACTIONS(121), [anon_sym_b_DQUOTE] = ACTIONS(121), [anon_sym_add] = ACTIONS(121), [anon_sym_sub] = ACTIONS(121), [anon_sym_inc] = ACTIONS(121), [anon_sym_dec] = ACTIONS(121), [anon_sym_shiftl] = ACTIONS(121), [anon_sym_shiftr] = ACTIONS(121), [anon_sym_ashiftr] = ACTIONS(121), [anon_sym_and] = ACTIONS(121), [anon_sym_or] = ACTIONS(121), [anon_sym_xor] = ACTIONS(121), [anon_sym_not] = ACTIONS(121), [anon_sym_eq] = ACTIONS(121), [anon_sym_lt] = ACTIONS(123), [anon_sym_lte] = ACTIONS(121), [anon_sym_gt] = ACTIONS(123), [anon_sym_gte] = ACTIONS(121), [anon_sym_breq] = ACTIONS(121), [anon_sym_brgt] = ACTIONS(121), [anon_sym_brge] = ACTIONS(121), [anon_sym_brof] = ACTIONS(121), [anon_sym_brty] = ACTIONS(121), [anon_sym_sweq] = ACTIONS(121), [anon_sym_swgt] = ACTIONS(121), [anon_sym_swge] = ACTIONS(121), [anon_sym_swof] = ACTIONS(121), [anon_sym_swty] = ACTIONS(121), [anon_sym_gate] = ACTIONS(121), [anon_sym_sel] = ACTIONS(121), [anon_sym_merge] = ACTIONS(121), [anon_sym_pass] = ACTIONS(121), [anon_sym_const] = ACTIONS(121), [anon_sym_free_ctx] = ACTIONS(121), [anon_sym_change_tag] = ACTIONS(121), [anon_sym_extract_tag] = ACTIONS(121), [anon_sym_read] = ACTIONS(121), [anon_sym_write] = ACTIONS(121), [anon_sym_clear] = ACTIONS(121), [anon_sym_alloc] = ACTIONS(121), [anon_sym_exec] = ACTIONS(121), [anon_sym_free] = ACTIONS(123), [anon_sym_rd_inc] = ACTIONS(121), [anon_sym_rd_dec] = ACTIONS(121), [anon_sym_cmp_sw] = ACTIONS(121), [anon_sym_load_inst] = ACTIONS(121), [sym_flow_out] = ACTIONS(121), [sym_comment] = ACTIONS(3), }, [STATE(18)] = { [ts_builtin_sym_end] = ACTIONS(125), [anon_sym_RBRACE] = ACTIONS(125), [anon_sym_COMMA] = ACTIONS(125), [anon_sym_EQ] = ACTIONS(125), [anon_sym_ATsystem] = ACTIONS(125), [anon_sym_AT] = ACTIONS(127), [anon_sym_AMP] = ACTIONS(125), [anon_sym_DOLLAR] = ACTIONS(125), [anon_sym_PIPE] = ACTIONS(127), [anon_sym_COLON] = ACTIONS(125), [anon_sym_add] = ACTIONS(125), [anon_sym_sub] = ACTIONS(125), [anon_sym_inc] = ACTIONS(125), [anon_sym_dec] = ACTIONS(125), [anon_sym_shiftl] = ACTIONS(125), [anon_sym_shiftr] = ACTIONS(125), [anon_sym_ashiftr] = ACTIONS(125), [anon_sym_and] = ACTIONS(125), [anon_sym_or] = ACTIONS(125), [anon_sym_xor] = ACTIONS(125), [anon_sym_not] = ACTIONS(125), [anon_sym_eq] = ACTIONS(125), [anon_sym_lt] = ACTIONS(127), [anon_sym_lte] = ACTIONS(125), [anon_sym_gt] = ACTIONS(127), [anon_sym_gte] = ACTIONS(125), [anon_sym_breq] = ACTIONS(125), [anon_sym_brgt] = ACTIONS(125), [anon_sym_brge] = ACTIONS(125), [anon_sym_brof] = ACTIONS(125), [anon_sym_brty] = ACTIONS(125), [anon_sym_sweq] = ACTIONS(125), [anon_sym_swgt] = ACTIONS(125), [anon_sym_swge] = ACTIONS(125), [anon_sym_swof] = ACTIONS(125), [anon_sym_swty] = ACTIONS(125), [anon_sym_gate] = ACTIONS(125), [anon_sym_sel] = ACTIONS(125), [anon_sym_merge] = ACTIONS(125), [anon_sym_pass] = ACTIONS(125), [anon_sym_const] = ACTIONS(125), [anon_sym_free_ctx] = ACTIONS(125), [anon_sym_change_tag] = ACTIONS(125), [anon_sym_extract_tag] = ACTIONS(125), [anon_sym_read] = ACTIONS(125), [anon_sym_write] = ACTIONS(125), [anon_sym_clear] = ACTIONS(125), [anon_sym_alloc] = ACTIONS(125), [anon_sym_exec] = ACTIONS(125), [anon_sym_free] = ACTIONS(127), [anon_sym_rd_inc] = ACTIONS(125), [anon_sym_rd_dec] = ACTIONS(125), [anon_sym_cmp_sw] = ACTIONS(125), [anon_sym_load_inst] = ACTIONS(125), [sym_flow_in] = ACTIONS(125), [sym_flow_out] = ACTIONS(125), [sym_comment] = ACTIONS(3), }, [STATE(19)] = { [ts_builtin_sym_end] = ACTIONS(129), [anon_sym_RBRACE] = ACTIONS(129), [anon_sym_COMMA] = ACTIONS(129), [anon_sym_EQ] = ACTIONS(129), [anon_sym_ATsystem] = ACTIONS(129), [anon_sym_AT] = ACTIONS(131), [anon_sym_AMP] = ACTIONS(129), [anon_sym_DOLLAR] = ACTIONS(129), [anon_sym_PIPE] = ACTIONS(131), [anon_sym_COLON] = ACTIONS(129), [anon_sym_add] = ACTIONS(129), [anon_sym_sub] = ACTIONS(129), [anon_sym_inc] = ACTIONS(129), [anon_sym_dec] = ACTIONS(129), [anon_sym_shiftl] = ACTIONS(129), [anon_sym_shiftr] = ACTIONS(129), [anon_sym_ashiftr] = ACTIONS(129), [anon_sym_and] = ACTIONS(129), [anon_sym_or] = ACTIONS(129), [anon_sym_xor] = ACTIONS(129), [anon_sym_not] = ACTIONS(129), [anon_sym_eq] = ACTIONS(129), [anon_sym_lt] = ACTIONS(131), [anon_sym_lte] = ACTIONS(129), [anon_sym_gt] = ACTIONS(131), [anon_sym_gte] = ACTIONS(129), [anon_sym_breq] = ACTIONS(129), [anon_sym_brgt] = ACTIONS(129), [anon_sym_brge] = ACTIONS(129), [anon_sym_brof] = ACTIONS(129), [anon_sym_brty] = ACTIONS(129), [anon_sym_sweq] = ACTIONS(129), [anon_sym_swgt] = ACTIONS(129), [anon_sym_swge] = ACTIONS(129), [anon_sym_swof] = ACTIONS(129), [anon_sym_swty] = ACTIONS(129), [anon_sym_gate] = ACTIONS(129), [anon_sym_sel] = ACTIONS(129), [anon_sym_merge] = ACTIONS(129), [anon_sym_pass] = ACTIONS(129), [anon_sym_const] = ACTIONS(129), [anon_sym_free_ctx] = ACTIONS(129), [anon_sym_change_tag] = ACTIONS(129), [anon_sym_extract_tag] = ACTIONS(129), [anon_sym_read] = ACTIONS(129), [anon_sym_write] = ACTIONS(129), [anon_sym_clear] = ACTIONS(129), [anon_sym_alloc] = ACTIONS(129), [anon_sym_exec] = ACTIONS(129), [anon_sym_free] = ACTIONS(131), [anon_sym_rd_inc] = ACTIONS(129), [anon_sym_rd_dec] = ACTIONS(129), [anon_sym_cmp_sw] = ACTIONS(129), [anon_sym_load_inst] = ACTIONS(129), [sym_flow_in] = ACTIONS(129), [sym_flow_out] = ACTIONS(129), [sym_comment] = ACTIONS(3), }, [STATE(20)] = { [ts_builtin_sym_end] = ACTIONS(133), [anon_sym_RBRACE] = ACTIONS(133), [anon_sym_COMMA] = ACTIONS(133), [anon_sym_EQ] = ACTIONS(133), [anon_sym_ATsystem] = ACTIONS(133), [anon_sym_AT] = ACTIONS(135), [anon_sym_AMP] = ACTIONS(133), [anon_sym_DOLLAR] = ACTIONS(133), [anon_sym_PIPE] = ACTIONS(135), [anon_sym_COLON] = ACTIONS(133), [anon_sym_add] = ACTIONS(133), [anon_sym_sub] = ACTIONS(133), [anon_sym_inc] = ACTIONS(133), [anon_sym_dec] = ACTIONS(133), [anon_sym_shiftl] = ACTIONS(133), [anon_sym_shiftr] = ACTIONS(133), [anon_sym_ashiftr] = ACTIONS(133), [anon_sym_and] = ACTIONS(133), [anon_sym_or] = ACTIONS(133), [anon_sym_xor] = ACTIONS(133), [anon_sym_not] = ACTIONS(133), [anon_sym_eq] = ACTIONS(133), [anon_sym_lt] = ACTIONS(135), [anon_sym_lte] = ACTIONS(133), [anon_sym_gt] = ACTIONS(135), [anon_sym_gte] = ACTIONS(133), [anon_sym_breq] = ACTIONS(133), [anon_sym_brgt] = ACTIONS(133), [anon_sym_brge] = ACTIONS(133), [anon_sym_brof] = ACTIONS(133), [anon_sym_brty] = ACTIONS(133), [anon_sym_sweq] = ACTIONS(133), [anon_sym_swgt] = ACTIONS(133), [anon_sym_swge] = ACTIONS(133), [anon_sym_swof] = ACTIONS(133), [anon_sym_swty] = ACTIONS(133), [anon_sym_gate] = ACTIONS(133), [anon_sym_sel] = ACTIONS(133), [anon_sym_merge] = ACTIONS(133), [anon_sym_pass] = ACTIONS(133), [anon_sym_const] = ACTIONS(133), [anon_sym_free_ctx] = ACTIONS(133), [anon_sym_change_tag] = ACTIONS(133), [anon_sym_extract_tag] = ACTIONS(133), [anon_sym_read] = ACTIONS(133), [anon_sym_write] = ACTIONS(133), [anon_sym_clear] = ACTIONS(133), [anon_sym_alloc] = ACTIONS(133), [anon_sym_exec] = ACTIONS(133), [anon_sym_free] = ACTIONS(135), [anon_sym_rd_inc] = ACTIONS(133), [anon_sym_rd_dec] = ACTIONS(133), [anon_sym_cmp_sw] = ACTIONS(133), [anon_sym_load_inst] = ACTIONS(133), [sym_flow_in] = ACTIONS(133), [sym_flow_out] = ACTIONS(133), [sym_comment] = ACTIONS(3), }, [STATE(21)] = { [sym_port] = STATE(25), [ts_builtin_sym_end] = ACTIONS(137), [anon_sym_RBRACE] = ACTIONS(137), [anon_sym_COMMA] = ACTIONS(137), [anon_sym_EQ] = ACTIONS(137), [anon_sym_ATsystem] = ACTIONS(137), [anon_sym_AT] = ACTIONS(139), [anon_sym_AMP] = ACTIONS(137), [anon_sym_DOLLAR] = ACTIONS(137), [anon_sym_COLON] = ACTIONS(97), [anon_sym_add] = ACTIONS(137), [anon_sym_sub] = ACTIONS(137), [anon_sym_inc] = ACTIONS(137), [anon_sym_dec] = ACTIONS(137), [anon_sym_shiftl] = ACTIONS(137), [anon_sym_shiftr] = ACTIONS(137), [anon_sym_ashiftr] = ACTIONS(137), [anon_sym_and] = ACTIONS(137), [anon_sym_or] = ACTIONS(137), [anon_sym_xor] = ACTIONS(137), [anon_sym_not] = ACTIONS(137), [anon_sym_eq] = ACTIONS(137), [anon_sym_lt] = ACTIONS(139), [anon_sym_lte] = ACTIONS(137), [anon_sym_gt] = ACTIONS(139), [anon_sym_gte] = ACTIONS(137), [anon_sym_breq] = ACTIONS(137), [anon_sym_brgt] = ACTIONS(137), [anon_sym_brge] = ACTIONS(137), [anon_sym_brof] = ACTIONS(137), [anon_sym_brty] = ACTIONS(137), [anon_sym_sweq] = ACTIONS(137), [anon_sym_swgt] = ACTIONS(137), [anon_sym_swge] = ACTIONS(137), [anon_sym_swof] = ACTIONS(137), [anon_sym_swty] = ACTIONS(137), [anon_sym_gate] = ACTIONS(137), [anon_sym_sel] = ACTIONS(137), [anon_sym_merge] = ACTIONS(137), [anon_sym_pass] = ACTIONS(137), [anon_sym_const] = ACTIONS(137), [anon_sym_free_ctx] = ACTIONS(137), [anon_sym_change_tag] = ACTIONS(137), [anon_sym_extract_tag] = ACTIONS(137), [anon_sym_read] = ACTIONS(137), [anon_sym_write] = ACTIONS(137), [anon_sym_clear] = ACTIONS(137), [anon_sym_alloc] = ACTIONS(137), [anon_sym_exec] = ACTIONS(137), [anon_sym_free] = ACTIONS(139), [anon_sym_rd_inc] = ACTIONS(137), [anon_sym_rd_dec] = ACTIONS(137), [anon_sym_cmp_sw] = ACTIONS(137), [anon_sym_load_inst] = ACTIONS(137), [sym_flow_in] = ACTIONS(137), [sym_flow_out] = ACTIONS(137), [sym_comment] = ACTIONS(3), }, [STATE(22)] = { [aux_sym_ref_list_repeat1] = STATE(39), [ts_builtin_sym_end] = ACTIONS(141), [anon_sym_RBRACE] = ACTIONS(141), [anon_sym_COMMA] = ACTIONS(143), [anon_sym_EQ] = ACTIONS(145), [anon_sym_ATsystem] = ACTIONS(141), [anon_sym_AT] = ACTIONS(147), [anon_sym_AMP] = ACTIONS(141), [anon_sym_DOLLAR] = ACTIONS(141), [anon_sym_add] = ACTIONS(149), [anon_sym_sub] = ACTIONS(149), [anon_sym_inc] = ACTIONS(149), [anon_sym_dec] = ACTIONS(149), [anon_sym_shiftl] = ACTIONS(149), [anon_sym_shiftr] = ACTIONS(149), [anon_sym_ashiftr] = ACTIONS(149), [anon_sym_and] = ACTIONS(149), [anon_sym_or] = ACTIONS(149), [anon_sym_xor] = ACTIONS(149), [anon_sym_not] = ACTIONS(149), [anon_sym_eq] = ACTIONS(149), [anon_sym_lt] = ACTIONS(151), [anon_sym_lte] = ACTIONS(149), [anon_sym_gt] = ACTIONS(151), [anon_sym_gte] = ACTIONS(149), [anon_sym_breq] = ACTIONS(149), [anon_sym_brgt] = ACTIONS(149), [anon_sym_brge] = ACTIONS(149), [anon_sym_brof] = ACTIONS(149), [anon_sym_brty] = ACTIONS(149), [anon_sym_sweq] = ACTIONS(149), [anon_sym_swgt] = ACTIONS(149), [anon_sym_swge] = ACTIONS(149), [anon_sym_swof] = ACTIONS(149), [anon_sym_swty] = ACTIONS(149), [anon_sym_gate] = ACTIONS(149), [anon_sym_sel] = ACTIONS(149), [anon_sym_merge] = ACTIONS(149), [anon_sym_pass] = ACTIONS(149), [anon_sym_const] = ACTIONS(149), [anon_sym_free_ctx] = ACTIONS(149), [anon_sym_change_tag] = ACTIONS(149), [anon_sym_extract_tag] = ACTIONS(149), [anon_sym_read] = ACTIONS(149), [anon_sym_write] = ACTIONS(149), [anon_sym_clear] = ACTIONS(149), [anon_sym_alloc] = ACTIONS(149), [anon_sym_exec] = ACTIONS(149), [anon_sym_free] = ACTIONS(151), [anon_sym_rd_inc] = ACTIONS(149), [anon_sym_rd_dec] = ACTIONS(149), [anon_sym_cmp_sw] = ACTIONS(149), [anon_sym_load_inst] = ACTIONS(149), [sym_flow_in] = ACTIONS(153), [sym_flow_out] = ACTIONS(155), [sym_comment] = ACTIONS(3), }, [STATE(23)] = { [ts_builtin_sym_end] = ACTIONS(157), [anon_sym_RBRACE] = ACTIONS(157), [anon_sym_COMMA] = ACTIONS(157), [anon_sym_EQ] = ACTIONS(157), [anon_sym_ATsystem] = ACTIONS(157), [anon_sym_AT] = ACTIONS(159), [anon_sym_AMP] = ACTIONS(157), [anon_sym_DOLLAR] = ACTIONS(157), [anon_sym_COLON] = ACTIONS(157), [anon_sym_add] = ACTIONS(157), [anon_sym_sub] = ACTIONS(157), [anon_sym_inc] = ACTIONS(157), [anon_sym_dec] = ACTIONS(157), [anon_sym_shiftl] = ACTIONS(157), [anon_sym_shiftr] = ACTIONS(157), [anon_sym_ashiftr] = ACTIONS(157), [anon_sym_and] = ACTIONS(157), [anon_sym_or] = ACTIONS(157), [anon_sym_xor] = ACTIONS(157), [anon_sym_not] = ACTIONS(157), [anon_sym_eq] = ACTIONS(157), [anon_sym_lt] = ACTIONS(159), [anon_sym_lte] = ACTIONS(157), [anon_sym_gt] = ACTIONS(159), [anon_sym_gte] = ACTIONS(157), [anon_sym_breq] = ACTIONS(157), [anon_sym_brgt] = ACTIONS(157), [anon_sym_brge] = ACTIONS(157), [anon_sym_brof] = ACTIONS(157), [anon_sym_brty] = ACTIONS(157), [anon_sym_sweq] = ACTIONS(157), [anon_sym_swgt] = ACTIONS(157), [anon_sym_swge] = ACTIONS(157), [anon_sym_swof] = ACTIONS(157), [anon_sym_swty] = ACTIONS(157), [anon_sym_gate] = ACTIONS(157), [anon_sym_sel] = ACTIONS(157), [anon_sym_merge] = ACTIONS(157), [anon_sym_pass] = ACTIONS(157), [anon_sym_const] = ACTIONS(157), [anon_sym_free_ctx] = ACTIONS(157), [anon_sym_change_tag] = ACTIONS(157), [anon_sym_extract_tag] = ACTIONS(157), [anon_sym_read] = ACTIONS(157), [anon_sym_write] = ACTIONS(157), [anon_sym_clear] = ACTIONS(157), [anon_sym_alloc] = ACTIONS(157), [anon_sym_exec] = ACTIONS(157), [anon_sym_free] = ACTIONS(159), [anon_sym_rd_inc] = ACTIONS(157), [anon_sym_rd_dec] = ACTIONS(157), [anon_sym_cmp_sw] = ACTIONS(157), [anon_sym_load_inst] = ACTIONS(157), [sym_flow_in] = ACTIONS(157), [sym_flow_out] = ACTIONS(157), [sym_comment] = ACTIONS(3), }, [STATE(24)] = { [ts_builtin_sym_end] = ACTIONS(161), [anon_sym_RBRACE] = ACTIONS(161), [anon_sym_COMMA] = ACTIONS(161), [anon_sym_EQ] = ACTIONS(161), [anon_sym_ATsystem] = ACTIONS(161), [anon_sym_AT] = ACTIONS(163), [anon_sym_AMP] = ACTIONS(161), [anon_sym_DOLLAR] = ACTIONS(161), [anon_sym_add] = ACTIONS(161), [anon_sym_sub] = ACTIONS(161), [anon_sym_inc] = ACTIONS(161), [anon_sym_dec] = ACTIONS(161), [anon_sym_shiftl] = ACTIONS(161), [anon_sym_shiftr] = ACTIONS(161), [anon_sym_ashiftr] = ACTIONS(161), [anon_sym_and] = ACTIONS(161), [anon_sym_or] = ACTIONS(161), [anon_sym_xor] = ACTIONS(161), [anon_sym_not] = ACTIONS(161), [anon_sym_eq] = ACTIONS(161), [anon_sym_lt] = ACTIONS(163), [anon_sym_lte] = ACTIONS(161), [anon_sym_gt] = ACTIONS(163), [anon_sym_gte] = ACTIONS(161), [anon_sym_breq] = ACTIONS(161), [anon_sym_brgt] = ACTIONS(161), [anon_sym_brge] = ACTIONS(161), [anon_sym_brof] = ACTIONS(161), [anon_sym_brty] = ACTIONS(161), [anon_sym_sweq] = ACTIONS(161), [anon_sym_swgt] = ACTIONS(161), [anon_sym_swge] = ACTIONS(161), [anon_sym_swof] = ACTIONS(161), [anon_sym_swty] = ACTIONS(161), [anon_sym_gate] = ACTIONS(161), [anon_sym_sel] = ACTIONS(161), [anon_sym_merge] = ACTIONS(161), [anon_sym_pass] = ACTIONS(161), [anon_sym_const] = ACTIONS(161), [anon_sym_free_ctx] = ACTIONS(161), [anon_sym_change_tag] = ACTIONS(161), [anon_sym_extract_tag] = ACTIONS(161), [anon_sym_read] = ACTIONS(161), [anon_sym_write] = ACTIONS(161), [anon_sym_clear] = ACTIONS(161), [anon_sym_alloc] = ACTIONS(161), [anon_sym_exec] = ACTIONS(161), [anon_sym_free] = ACTIONS(163), [anon_sym_rd_inc] = ACTIONS(161), [anon_sym_rd_dec] = ACTIONS(161), [anon_sym_cmp_sw] = ACTIONS(161), [anon_sym_load_inst] = ACTIONS(161), [sym_flow_in] = ACTIONS(161), [sym_flow_out] = ACTIONS(161), [sym_comment] = ACTIONS(3), }, [STATE(25)] = { [ts_builtin_sym_end] = ACTIONS(165), [anon_sym_RBRACE] = ACTIONS(165), [anon_sym_COMMA] = ACTIONS(165), [anon_sym_EQ] = ACTIONS(165), [anon_sym_ATsystem] = ACTIONS(165), [anon_sym_AT] = ACTIONS(167), [anon_sym_AMP] = ACTIONS(165), [anon_sym_DOLLAR] = ACTIONS(165), [anon_sym_add] = ACTIONS(165), [anon_sym_sub] = ACTIONS(165), [anon_sym_inc] = ACTIONS(165), [anon_sym_dec] = ACTIONS(165), [anon_sym_shiftl] = ACTIONS(165), [anon_sym_shiftr] = ACTIONS(165), [anon_sym_ashiftr] = ACTIONS(165), [anon_sym_and] = ACTIONS(165), [anon_sym_or] = ACTIONS(165), [anon_sym_xor] = ACTIONS(165), [anon_sym_not] = ACTIONS(165), [anon_sym_eq] = ACTIONS(165), [anon_sym_lt] = ACTIONS(167), [anon_sym_lte] = ACTIONS(165), [anon_sym_gt] = ACTIONS(167), [anon_sym_gte] = ACTIONS(165), [anon_sym_breq] = ACTIONS(165), [anon_sym_brgt] = ACTIONS(165), [anon_sym_brge] = ACTIONS(165), [anon_sym_brof] = ACTIONS(165), [anon_sym_brty] = ACTIONS(165), [anon_sym_sweq] = ACTIONS(165), [anon_sym_swgt] = ACTIONS(165), [anon_sym_swge] = ACTIONS(165), [anon_sym_swof] = ACTIONS(165), [anon_sym_swty] = ACTIONS(165), [anon_sym_gate] = ACTIONS(165), [anon_sym_sel] = ACTIONS(165), [anon_sym_merge] = ACTIONS(165), [anon_sym_pass] = ACTIONS(165), [anon_sym_const] = ACTIONS(165), [anon_sym_free_ctx] = ACTIONS(165), [anon_sym_change_tag] = ACTIONS(165), [anon_sym_extract_tag] = ACTIONS(165), [anon_sym_read] = ACTIONS(165), [anon_sym_write] = ACTIONS(165), [anon_sym_clear] = ACTIONS(165), [anon_sym_alloc] = ACTIONS(165), [anon_sym_exec] = ACTIONS(165), [anon_sym_free] = ACTIONS(167), [anon_sym_rd_inc] = ACTIONS(165), [anon_sym_rd_dec] = ACTIONS(165), [anon_sym_cmp_sw] = ACTIONS(165), [anon_sym_load_inst] = ACTIONS(165), [sym_flow_in] = ACTIONS(165), [sym_flow_out] = ACTIONS(165), [sym_comment] = ACTIONS(3), }, [STATE(26)] = { [ts_builtin_sym_end] = ACTIONS(169), [anon_sym_RBRACE] = ACTIONS(169), [anon_sym_COMMA] = ACTIONS(169), [anon_sym_EQ] = ACTIONS(169), [anon_sym_ATsystem] = ACTIONS(169), [anon_sym_AT] = ACTIONS(171), [anon_sym_AMP] = ACTIONS(169), [anon_sym_DOLLAR] = ACTIONS(169), [anon_sym_add] = ACTIONS(169), [anon_sym_sub] = ACTIONS(169), [anon_sym_inc] = ACTIONS(169), [anon_sym_dec] = ACTIONS(169), [anon_sym_shiftl] = ACTIONS(169), [anon_sym_shiftr] = ACTIONS(169), [anon_sym_ashiftr] = ACTIONS(169), [anon_sym_and] = ACTIONS(169), [anon_sym_or] = ACTIONS(169), [anon_sym_xor] = ACTIONS(169), [anon_sym_not] = ACTIONS(169), [anon_sym_eq] = ACTIONS(169), [anon_sym_lt] = ACTIONS(171), [anon_sym_lte] = ACTIONS(169), [anon_sym_gt] = ACTIONS(171), [anon_sym_gte] = ACTIONS(169), [anon_sym_breq] = ACTIONS(169), [anon_sym_brgt] = ACTIONS(169), [anon_sym_brge] = ACTIONS(169), [anon_sym_brof] = ACTIONS(169), [anon_sym_brty] = ACTIONS(169), [anon_sym_sweq] = ACTIONS(169), [anon_sym_swgt] = ACTIONS(169), [anon_sym_swge] = ACTIONS(169), [anon_sym_swof] = ACTIONS(169), [anon_sym_swty] = ACTIONS(169), [anon_sym_gate] = ACTIONS(169), [anon_sym_sel] = ACTIONS(169), [anon_sym_merge] = ACTIONS(169), [anon_sym_pass] = ACTIONS(169), [anon_sym_const] = ACTIONS(169), [anon_sym_free_ctx] = ACTIONS(169), [anon_sym_change_tag] = ACTIONS(169), [anon_sym_extract_tag] = ACTIONS(169), [anon_sym_read] = ACTIONS(169), [anon_sym_write] = ACTIONS(169), [anon_sym_clear] = ACTIONS(169), [anon_sym_alloc] = ACTIONS(169), [anon_sym_exec] = ACTIONS(169), [anon_sym_free] = ACTIONS(171), [anon_sym_rd_inc] = ACTIONS(169), [anon_sym_rd_dec] = ACTIONS(169), [anon_sym_cmp_sw] = ACTIONS(169), [anon_sym_load_inst] = ACTIONS(169), [sym_flow_in] = ACTIONS(169), [sym_flow_out] = ACTIONS(169), [sym_comment] = ACTIONS(3), }, [STATE(27)] = { [aux_sym_inst_def_repeat1] = STATE(27), [ts_builtin_sym_end] = ACTIONS(173), [anon_sym_RBRACE] = ACTIONS(173), [anon_sym_COMMA] = ACTIONS(175), [anon_sym_ATsystem] = ACTIONS(173), [anon_sym_AT] = ACTIONS(178), [anon_sym_AMP] = ACTIONS(173), [anon_sym_DOLLAR] = ACTIONS(173), [anon_sym_add] = ACTIONS(173), [anon_sym_sub] = ACTIONS(173), [anon_sym_inc] = ACTIONS(173), [anon_sym_dec] = ACTIONS(173), [anon_sym_shiftl] = ACTIONS(173), [anon_sym_shiftr] = ACTIONS(173), [anon_sym_ashiftr] = ACTIONS(173), [anon_sym_and] = ACTIONS(173), [anon_sym_or] = ACTIONS(173), [anon_sym_xor] = ACTIONS(173), [anon_sym_not] = ACTIONS(173), [anon_sym_eq] = ACTIONS(173), [anon_sym_lt] = ACTIONS(178), [anon_sym_lte] = ACTIONS(173), [anon_sym_gt] = ACTIONS(178), [anon_sym_gte] = ACTIONS(173), [anon_sym_breq] = ACTIONS(173), [anon_sym_brgt] = ACTIONS(173), [anon_sym_brge] = ACTIONS(173), [anon_sym_brof] = ACTIONS(173), [anon_sym_brty] = ACTIONS(173), [anon_sym_sweq] = ACTIONS(173), [anon_sym_swgt] = ACTIONS(173), [anon_sym_swge] = ACTIONS(173), [anon_sym_swof] = ACTIONS(173), [anon_sym_swty] = ACTIONS(173), [anon_sym_gate] = ACTIONS(173), [anon_sym_sel] = ACTIONS(173), [anon_sym_merge] = ACTIONS(173), [anon_sym_pass] = ACTIONS(173), [anon_sym_const] = ACTIONS(173), [anon_sym_free_ctx] = ACTIONS(173), [anon_sym_change_tag] = ACTIONS(173), [anon_sym_extract_tag] = ACTIONS(173), [anon_sym_read] = ACTIONS(173), [anon_sym_write] = ACTIONS(173), [anon_sym_clear] = ACTIONS(173), [anon_sym_alloc] = ACTIONS(173), [anon_sym_exec] = ACTIONS(173), [anon_sym_free] = ACTIONS(178), [anon_sym_rd_inc] = ACTIONS(173), [anon_sym_rd_dec] = ACTIONS(173), [anon_sym_cmp_sw] = ACTIONS(173), [anon_sym_load_inst] = ACTIONS(173), [sym_flow_out] = ACTIONS(173), [sym_comment] = ACTIONS(3), }, }; static const uint16_t ts_small_parse_table[] = { [0] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(143), 1, anon_sym_COMMA, STATE(39), 1, aux_sym_ref_list_repeat1, ACTIONS(151), 4, anon_sym_AT, anon_sym_lt, anon_sym_gt, anon_sym_free, ACTIONS(149), 46, ts_builtin_sym_end, anon_sym_RBRACE, anon_sym_ATsystem, anon_sym_AMP, anon_sym_DOLLAR, anon_sym_add, anon_sym_sub, anon_sym_inc, anon_sym_dec, anon_sym_shiftl, anon_sym_shiftr, anon_sym_ashiftr, anon_sym_and, anon_sym_or, anon_sym_xor, anon_sym_not, anon_sym_eq, anon_sym_lte, anon_sym_gte, anon_sym_breq, anon_sym_brgt, anon_sym_brge, anon_sym_brof, anon_sym_brty, anon_sym_sweq, anon_sym_swgt, anon_sym_swge, anon_sym_swof, anon_sym_swty, anon_sym_gate, anon_sym_sel, anon_sym_merge, anon_sym_pass, anon_sym_const, anon_sym_free_ctx, anon_sym_change_tag, anon_sym_extract_tag, anon_sym_read, anon_sym_write, anon_sym_clear, anon_sym_alloc, anon_sym_exec, anon_sym_rd_inc, anon_sym_rd_dec, anon_sym_cmp_sw, anon_sym_load_inst, [64] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(182), 1, anon_sym_COMMA, STATE(29), 1, aux_sym_value_list_repeat1, ACTIONS(185), 4, anon_sym_AT, anon_sym_lt, anon_sym_gt, anon_sym_free, ACTIONS(180), 46, ts_builtin_sym_end, anon_sym_RBRACE, anon_sym_ATsystem, anon_sym_AMP, anon_sym_DOLLAR, anon_sym_add, anon_sym_sub, anon_sym_inc, anon_sym_dec, anon_sym_shiftl, anon_sym_shiftr, anon_sym_ashiftr, anon_sym_and, anon_sym_or, anon_sym_xor, anon_sym_not, anon_sym_eq, anon_sym_lte, anon_sym_gte, anon_sym_breq, anon_sym_brgt, anon_sym_brge, anon_sym_brof, anon_sym_brty, anon_sym_sweq, anon_sym_swgt, anon_sym_swge, anon_sym_swof, anon_sym_swty, anon_sym_gate, anon_sym_sel, anon_sym_merge, anon_sym_pass, anon_sym_const, anon_sym_free_ctx, anon_sym_change_tag, anon_sym_extract_tag, anon_sym_read, anon_sym_write, anon_sym_clear, anon_sym_alloc, anon_sym_exec, anon_sym_rd_inc, anon_sym_rd_dec, anon_sym_cmp_sw, anon_sym_load_inst, [128] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(189), 1, anon_sym_COMMA, STATE(35), 1, aux_sym_pragma_repeat1, ACTIONS(191), 4, anon_sym_AT, anon_sym_lt, anon_sym_gt, anon_sym_free, ACTIONS(187), 46, ts_builtin_sym_end, anon_sym_RBRACE, anon_sym_ATsystem, anon_sym_AMP, anon_sym_DOLLAR, anon_sym_add, anon_sym_sub, anon_sym_inc, anon_sym_dec, anon_sym_shiftl, anon_sym_shiftr, anon_sym_ashiftr, anon_sym_and, anon_sym_or, anon_sym_xor, anon_sym_not, anon_sym_eq, anon_sym_lte, anon_sym_gte, anon_sym_breq, anon_sym_brgt, anon_sym_brge, anon_sym_brof, anon_sym_brty, anon_sym_sweq, anon_sym_swgt, anon_sym_swge, anon_sym_swof, anon_sym_swty, anon_sym_gate, anon_sym_sel, anon_sym_merge, anon_sym_pass, anon_sym_const, anon_sym_free_ctx, anon_sym_change_tag, anon_sym_extract_tag, anon_sym_read, anon_sym_write, anon_sym_clear, anon_sym_alloc, anon_sym_exec, anon_sym_rd_inc, anon_sym_rd_dec, anon_sym_cmp_sw, anon_sym_load_inst, [192] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(195), 1, anon_sym_COMMA, STATE(31), 1, aux_sym_ref_list_repeat1, ACTIONS(198), 4, anon_sym_AT, anon_sym_lt, anon_sym_gt, anon_sym_free, ACTIONS(193), 46, ts_builtin_sym_end, anon_sym_RBRACE, anon_sym_ATsystem, anon_sym_AMP, anon_sym_DOLLAR, anon_sym_add, anon_sym_sub, anon_sym_inc, anon_sym_dec, anon_sym_shiftl, anon_sym_shiftr, anon_sym_ashiftr, anon_sym_and, anon_sym_or, anon_sym_xor, anon_sym_not, anon_sym_eq, anon_sym_lte, anon_sym_gte, anon_sym_breq, anon_sym_brgt, anon_sym_brge, anon_sym_brof, anon_sym_brty, anon_sym_sweq, anon_sym_swgt, anon_sym_swge, anon_sym_swof, anon_sym_swty, anon_sym_gate, anon_sym_sel, anon_sym_merge, anon_sym_pass, anon_sym_const, anon_sym_free_ctx, anon_sym_change_tag, anon_sym_extract_tag, anon_sym_read, anon_sym_write, anon_sym_clear, anon_sym_alloc, anon_sym_exec, anon_sym_rd_inc, anon_sym_rd_dec, anon_sym_cmp_sw, anon_sym_load_inst, [256] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(202), 1, anon_sym_COMMA, STATE(37), 1, aux_sym_value_list_repeat1, ACTIONS(204), 4, anon_sym_AT, anon_sym_lt, anon_sym_gt, anon_sym_free, ACTIONS(200), 46, ts_builtin_sym_end, anon_sym_RBRACE, anon_sym_ATsystem, anon_sym_AMP, anon_sym_DOLLAR, anon_sym_add, anon_sym_sub, anon_sym_inc, anon_sym_dec, anon_sym_shiftl, anon_sym_shiftr, anon_sym_ashiftr, anon_sym_and, anon_sym_or, anon_sym_xor, anon_sym_not, anon_sym_eq, anon_sym_lte, anon_sym_gte, anon_sym_breq, anon_sym_brgt, anon_sym_brge, anon_sym_brof, anon_sym_brty, anon_sym_sweq, anon_sym_swgt, anon_sym_swge, anon_sym_swof, anon_sym_swty, anon_sym_gate, anon_sym_sel, anon_sym_merge, anon_sym_pass, anon_sym_const, anon_sym_free_ctx, anon_sym_change_tag, anon_sym_extract_tag, anon_sym_read, anon_sym_write, anon_sym_clear, anon_sym_alloc, anon_sym_exec, anon_sym_rd_inc, anon_sym_rd_dec, anon_sym_cmp_sw, anon_sym_load_inst, [320] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(208), 1, anon_sym_COMMA, STATE(38), 1, aux_sym_inst_def_repeat1, ACTIONS(210), 4, anon_sym_AT, anon_sym_lt, anon_sym_gt, anon_sym_free, ACTIONS(206), 46, ts_builtin_sym_end, anon_sym_RBRACE, anon_sym_ATsystem, anon_sym_AMP, anon_sym_DOLLAR, anon_sym_add, anon_sym_sub, anon_sym_inc, anon_sym_dec, anon_sym_shiftl, anon_sym_shiftr, anon_sym_ashiftr, anon_sym_and, anon_sym_or, anon_sym_xor, anon_sym_not, anon_sym_eq, anon_sym_lte, anon_sym_gte, anon_sym_breq, anon_sym_brgt, anon_sym_brge, anon_sym_brof, anon_sym_brty, anon_sym_sweq, anon_sym_swgt, anon_sym_swge, anon_sym_swof, anon_sym_swty, anon_sym_gate, anon_sym_sel, anon_sym_merge, anon_sym_pass, anon_sym_const, anon_sym_free_ctx, anon_sym_change_tag, anon_sym_extract_tag, anon_sym_read, anon_sym_write, anon_sym_clear, anon_sym_alloc, anon_sym_exec, anon_sym_rd_inc, anon_sym_rd_dec, anon_sym_cmp_sw, anon_sym_load_inst, [384] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(189), 1, anon_sym_COMMA, STATE(30), 1, aux_sym_pragma_repeat1, ACTIONS(214), 4, anon_sym_AT, anon_sym_lt, anon_sym_gt, anon_sym_free, ACTIONS(212), 46, ts_builtin_sym_end, anon_sym_RBRACE, anon_sym_ATsystem, anon_sym_AMP, anon_sym_DOLLAR, anon_sym_add, anon_sym_sub, anon_sym_inc, anon_sym_dec, anon_sym_shiftl, anon_sym_shiftr, anon_sym_ashiftr, anon_sym_and, anon_sym_or, anon_sym_xor, anon_sym_not, anon_sym_eq, anon_sym_lte, anon_sym_gte, anon_sym_breq, anon_sym_brgt, anon_sym_brge, anon_sym_brof, anon_sym_brty, anon_sym_sweq, anon_sym_swgt, anon_sym_swge, anon_sym_swof, anon_sym_swty, anon_sym_gate, anon_sym_sel, anon_sym_merge, anon_sym_pass, anon_sym_const, anon_sym_free_ctx, anon_sym_change_tag, anon_sym_extract_tag, anon_sym_read, anon_sym_write, anon_sym_clear, anon_sym_alloc, anon_sym_exec, anon_sym_rd_inc, anon_sym_rd_dec, anon_sym_cmp_sw, anon_sym_load_inst, [448] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(218), 1, anon_sym_COMMA, STATE(35), 1, aux_sym_pragma_repeat1, ACTIONS(221), 4, anon_sym_AT, anon_sym_lt, anon_sym_gt, anon_sym_free, ACTIONS(216), 46, ts_builtin_sym_end, anon_sym_RBRACE, anon_sym_ATsystem, anon_sym_AMP, anon_sym_DOLLAR, anon_sym_add, anon_sym_sub, anon_sym_inc, anon_sym_dec, anon_sym_shiftl, anon_sym_shiftr, anon_sym_ashiftr, anon_sym_and, anon_sym_or, anon_sym_xor, anon_sym_not, anon_sym_eq, anon_sym_lte, anon_sym_gte, anon_sym_breq, anon_sym_brgt, anon_sym_brge, anon_sym_brof, anon_sym_brty, anon_sym_sweq, anon_sym_swgt, anon_sym_swge, anon_sym_swof, anon_sym_swty, anon_sym_gate, anon_sym_sel, anon_sym_merge, anon_sym_pass, anon_sym_const, anon_sym_free_ctx, anon_sym_change_tag, anon_sym_extract_tag, anon_sym_read, anon_sym_write, anon_sym_clear, anon_sym_alloc, anon_sym_exec, anon_sym_rd_inc, anon_sym_rd_dec, anon_sym_cmp_sw, anon_sym_load_inst, [512] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(208), 1, anon_sym_COMMA, STATE(42), 1, aux_sym_inst_def_repeat1, ACTIONS(225), 4, anon_sym_AT, anon_sym_lt, anon_sym_gt, anon_sym_free, ACTIONS(223), 46, ts_builtin_sym_end, anon_sym_RBRACE, anon_sym_ATsystem, anon_sym_AMP, anon_sym_DOLLAR, anon_sym_add, anon_sym_sub, anon_sym_inc, anon_sym_dec, anon_sym_shiftl, anon_sym_shiftr, anon_sym_ashiftr, anon_sym_and, anon_sym_or, anon_sym_xor, anon_sym_not, anon_sym_eq, anon_sym_lte, anon_sym_gte, anon_sym_breq, anon_sym_brgt, anon_sym_brge, anon_sym_brof, anon_sym_brty, anon_sym_sweq, anon_sym_swgt, anon_sym_swge, anon_sym_swof, anon_sym_swty, anon_sym_gate, anon_sym_sel, anon_sym_merge, anon_sym_pass, anon_sym_const, anon_sym_free_ctx, anon_sym_change_tag, anon_sym_extract_tag, anon_sym_read, anon_sym_write, anon_sym_clear, anon_sym_alloc, anon_sym_exec, anon_sym_rd_inc, anon_sym_rd_dec, anon_sym_cmp_sw, anon_sym_load_inst, [576] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(202), 1, anon_sym_COMMA, STATE(29), 1, aux_sym_value_list_repeat1, ACTIONS(229), 4, anon_sym_AT, anon_sym_lt, anon_sym_gt, anon_sym_free, ACTIONS(227), 46, ts_builtin_sym_end, anon_sym_RBRACE, anon_sym_ATsystem, anon_sym_AMP, anon_sym_DOLLAR, anon_sym_add, anon_sym_sub, anon_sym_inc, anon_sym_dec, anon_sym_shiftl, anon_sym_shiftr, anon_sym_ashiftr, anon_sym_and, anon_sym_or, anon_sym_xor, anon_sym_not, anon_sym_eq, anon_sym_lte, anon_sym_gte, anon_sym_breq, anon_sym_brgt, anon_sym_brge, anon_sym_brof, anon_sym_brty, anon_sym_sweq, anon_sym_swgt, anon_sym_swge, anon_sym_swof, anon_sym_swty, anon_sym_gate, anon_sym_sel, anon_sym_merge, anon_sym_pass, anon_sym_const, anon_sym_free_ctx, anon_sym_change_tag, anon_sym_extract_tag, anon_sym_read, anon_sym_write, anon_sym_clear, anon_sym_alloc, anon_sym_exec, anon_sym_rd_inc, anon_sym_rd_dec, anon_sym_cmp_sw, anon_sym_load_inst, [640] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(208), 1, anon_sym_COMMA, STATE(27), 1, aux_sym_inst_def_repeat1, ACTIONS(233), 4, anon_sym_AT, anon_sym_lt, anon_sym_gt, anon_sym_free, ACTIONS(231), 46, ts_builtin_sym_end, anon_sym_RBRACE, anon_sym_ATsystem, anon_sym_AMP, anon_sym_DOLLAR, anon_sym_add, anon_sym_sub, anon_sym_inc, anon_sym_dec, anon_sym_shiftl, anon_sym_shiftr, anon_sym_ashiftr, anon_sym_and, anon_sym_or, anon_sym_xor, anon_sym_not, anon_sym_eq, anon_sym_lte, anon_sym_gte, anon_sym_breq, anon_sym_brgt, anon_sym_brge, anon_sym_brof, anon_sym_brty, anon_sym_sweq, anon_sym_swgt, anon_sym_swge, anon_sym_swof, anon_sym_swty, anon_sym_gate, anon_sym_sel, anon_sym_merge, anon_sym_pass, anon_sym_const, anon_sym_free_ctx, anon_sym_change_tag, anon_sym_extract_tag, anon_sym_read, anon_sym_write, anon_sym_clear, anon_sym_alloc, anon_sym_exec, anon_sym_rd_inc, anon_sym_rd_dec, anon_sym_cmp_sw, anon_sym_load_inst, [704] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(143), 1, anon_sym_COMMA, STATE(31), 1, aux_sym_ref_list_repeat1, ACTIONS(237), 4, anon_sym_AT, anon_sym_lt, anon_sym_gt, anon_sym_free, ACTIONS(235), 46, ts_builtin_sym_end, anon_sym_RBRACE, anon_sym_ATsystem, anon_sym_AMP, anon_sym_DOLLAR, anon_sym_add, anon_sym_sub, anon_sym_inc, anon_sym_dec, anon_sym_shiftl, anon_sym_shiftr, anon_sym_ashiftr, anon_sym_and, anon_sym_or, anon_sym_xor, anon_sym_not, anon_sym_eq, anon_sym_lte, anon_sym_gte, anon_sym_breq, anon_sym_brgt, anon_sym_brge, anon_sym_brof, anon_sym_brty, anon_sym_sweq, anon_sym_swgt, anon_sym_swge, anon_sym_swof, anon_sym_swty, anon_sym_gate, anon_sym_sel, anon_sym_merge, anon_sym_pass, anon_sym_const, anon_sym_free_ctx, anon_sym_change_tag, anon_sym_extract_tag, anon_sym_read, anon_sym_write, anon_sym_clear, anon_sym_alloc, anon_sym_exec, anon_sym_rd_inc, anon_sym_rd_dec, anon_sym_cmp_sw, anon_sym_load_inst, [768] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(241), 4, anon_sym_AT, anon_sym_lt, anon_sym_gt, anon_sym_free, ACTIONS(239), 48, ts_builtin_sym_end, anon_sym_RBRACE, anon_sym_COMMA, anon_sym_ATsystem, anon_sym_AMP, anon_sym_DOLLAR, anon_sym_add, anon_sym_sub, anon_sym_inc, anon_sym_dec, anon_sym_shiftl, anon_sym_shiftr, anon_sym_ashiftr, anon_sym_and, anon_sym_or, anon_sym_xor, anon_sym_not, anon_sym_eq, anon_sym_lte, anon_sym_gte, anon_sym_breq, anon_sym_brgt, anon_sym_brge, anon_sym_brof, anon_sym_brty, anon_sym_sweq, anon_sym_swgt, anon_sym_swge, anon_sym_swof, anon_sym_swty, anon_sym_gate, anon_sym_sel, anon_sym_merge, anon_sym_pass, anon_sym_const, anon_sym_free_ctx, anon_sym_change_tag, anon_sym_extract_tag, anon_sym_read, anon_sym_write, anon_sym_clear, anon_sym_alloc, anon_sym_exec, anon_sym_rd_inc, anon_sym_rd_dec, anon_sym_cmp_sw, anon_sym_load_inst, sym_flow_out, [828] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(178), 4, anon_sym_AT, anon_sym_lt, anon_sym_gt, anon_sym_free, ACTIONS(173), 48, ts_builtin_sym_end, anon_sym_RBRACE, anon_sym_COMMA, anon_sym_ATsystem, anon_sym_AMP, anon_sym_DOLLAR, anon_sym_add, anon_sym_sub, anon_sym_inc, anon_sym_dec, anon_sym_shiftl, anon_sym_shiftr, anon_sym_ashiftr, anon_sym_and, anon_sym_or, anon_sym_xor, anon_sym_not, anon_sym_eq, anon_sym_lte, anon_sym_gte, anon_sym_breq, anon_sym_brgt, anon_sym_brge, anon_sym_brof, anon_sym_brty, anon_sym_sweq, anon_sym_swgt, anon_sym_swge, anon_sym_swof, anon_sym_swty, anon_sym_gate, anon_sym_sel, anon_sym_merge, anon_sym_pass, anon_sym_const, anon_sym_free_ctx, anon_sym_change_tag, anon_sym_extract_tag, anon_sym_read, anon_sym_write, anon_sym_clear, anon_sym_alloc, anon_sym_exec, anon_sym_rd_inc, anon_sym_rd_dec, anon_sym_cmp_sw, anon_sym_load_inst, sym_flow_out, [888] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(208), 1, anon_sym_COMMA, STATE(27), 1, aux_sym_inst_def_repeat1, ACTIONS(245), 4, anon_sym_AT, anon_sym_lt, anon_sym_gt, anon_sym_free, ACTIONS(243), 46, ts_builtin_sym_end, anon_sym_RBRACE, anon_sym_ATsystem, anon_sym_AMP, anon_sym_DOLLAR, anon_sym_add, anon_sym_sub, anon_sym_inc, anon_sym_dec, anon_sym_shiftl, anon_sym_shiftr, anon_sym_ashiftr, anon_sym_and, anon_sym_or, anon_sym_xor, anon_sym_not, anon_sym_eq, anon_sym_lte, anon_sym_gte, anon_sym_breq, anon_sym_brgt, anon_sym_brge, anon_sym_brof, anon_sym_brty, anon_sym_sweq, anon_sym_swgt, anon_sym_swge, anon_sym_swof, anon_sym_swty, anon_sym_gate, anon_sym_sel, anon_sym_merge, anon_sym_pass, anon_sym_const, anon_sym_free_ctx, anon_sym_change_tag, anon_sym_extract_tag, anon_sym_read, anon_sym_write, anon_sym_clear, anon_sym_alloc, anon_sym_exec, anon_sym_rd_inc, anon_sym_rd_dec, anon_sym_cmp_sw, anon_sym_load_inst, [952] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(198), 4, anon_sym_AT, anon_sym_lt, anon_sym_gt, anon_sym_free, ACTIONS(193), 47, ts_builtin_sym_end, anon_sym_RBRACE, anon_sym_COMMA, anon_sym_ATsystem, anon_sym_AMP, anon_sym_DOLLAR, anon_sym_add, anon_sym_sub, anon_sym_inc, anon_sym_dec, anon_sym_shiftl, anon_sym_shiftr, anon_sym_ashiftr, anon_sym_and, anon_sym_or, anon_sym_xor, anon_sym_not, anon_sym_eq, anon_sym_lte, anon_sym_gte, anon_sym_breq, anon_sym_brgt, anon_sym_brge, anon_sym_brof, anon_sym_brty, anon_sym_sweq, anon_sym_swgt, anon_sym_swge, anon_sym_swof, anon_sym_swty, anon_sym_gate, anon_sym_sel, anon_sym_merge, anon_sym_pass, anon_sym_const, anon_sym_free_ctx, anon_sym_change_tag, anon_sym_extract_tag, anon_sym_read, anon_sym_write, anon_sym_clear, anon_sym_alloc, anon_sym_exec, anon_sym_rd_inc, anon_sym_rd_dec, anon_sym_cmp_sw, anon_sym_load_inst, [1011] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(249), 4, anon_sym_AT, anon_sym_lt, anon_sym_gt, anon_sym_free, ACTIONS(247), 47, ts_builtin_sym_end, anon_sym_RBRACE, anon_sym_COMMA, anon_sym_ATsystem, anon_sym_AMP, anon_sym_DOLLAR, anon_sym_add, anon_sym_sub, anon_sym_inc, anon_sym_dec, anon_sym_shiftl, anon_sym_shiftr, anon_sym_ashiftr, anon_sym_and, anon_sym_or, anon_sym_xor, anon_sym_not, anon_sym_eq, anon_sym_lte, anon_sym_gte, anon_sym_breq, anon_sym_brgt, anon_sym_brge, anon_sym_brof, anon_sym_brty, anon_sym_sweq, anon_sym_swgt, anon_sym_swge, anon_sym_swof, anon_sym_swty, anon_sym_gate, anon_sym_sel, anon_sym_merge, anon_sym_pass, anon_sym_const, anon_sym_free_ctx, anon_sym_change_tag, anon_sym_extract_tag, anon_sym_read, anon_sym_write, anon_sym_clear, anon_sym_alloc, anon_sym_exec, anon_sym_rd_inc, anon_sym_rd_dec, anon_sym_cmp_sw, anon_sym_load_inst, [1070] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(221), 4, anon_sym_AT, anon_sym_lt, anon_sym_gt, anon_sym_free, ACTIONS(216), 47, ts_builtin_sym_end, anon_sym_RBRACE, anon_sym_COMMA, anon_sym_ATsystem, anon_sym_AMP, anon_sym_DOLLAR, anon_sym_add, anon_sym_sub, anon_sym_inc, anon_sym_dec, anon_sym_shiftl, anon_sym_shiftr, anon_sym_ashiftr, anon_sym_and, anon_sym_or, anon_sym_xor, anon_sym_not, anon_sym_eq, anon_sym_lte, anon_sym_gte, anon_sym_breq, anon_sym_brgt, anon_sym_brge, anon_sym_brof, anon_sym_brty, anon_sym_sweq, anon_sym_swgt, anon_sym_swge, anon_sym_swof, anon_sym_swty, anon_sym_gate, anon_sym_sel, anon_sym_merge, anon_sym_pass, anon_sym_const, anon_sym_free_ctx, anon_sym_change_tag, anon_sym_extract_tag, anon_sym_read, anon_sym_write, anon_sym_clear, anon_sym_alloc, anon_sym_exec, anon_sym_rd_inc, anon_sym_rd_dec, anon_sym_cmp_sw, anon_sym_load_inst, [1129] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(253), 4, anon_sym_AT, anon_sym_lt, anon_sym_gt, anon_sym_free, ACTIONS(251), 47, ts_builtin_sym_end, anon_sym_RBRACE, anon_sym_COMMA, anon_sym_ATsystem, anon_sym_AMP, anon_sym_DOLLAR, anon_sym_add, anon_sym_sub, anon_sym_inc, anon_sym_dec, anon_sym_shiftl, anon_sym_shiftr, anon_sym_ashiftr, anon_sym_and, anon_sym_or, anon_sym_xor, anon_sym_not, anon_sym_eq, anon_sym_lte, anon_sym_gte, anon_sym_breq, anon_sym_brgt, anon_sym_brge, anon_sym_brof, anon_sym_brty, anon_sym_sweq, anon_sym_swgt, anon_sym_swge, anon_sym_swof, anon_sym_swty, anon_sym_gate, anon_sym_sel, anon_sym_merge, anon_sym_pass, anon_sym_const, anon_sym_free_ctx, anon_sym_change_tag, anon_sym_extract_tag, anon_sym_read, anon_sym_write, anon_sym_clear, anon_sym_alloc, anon_sym_exec, anon_sym_rd_inc, anon_sym_rd_dec, anon_sym_cmp_sw, anon_sym_load_inst, [1188] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(185), 4, anon_sym_AT, anon_sym_lt, anon_sym_gt, anon_sym_free, ACTIONS(180), 47, ts_builtin_sym_end, anon_sym_RBRACE, anon_sym_COMMA, anon_sym_ATsystem, anon_sym_AMP, anon_sym_DOLLAR, anon_sym_add, anon_sym_sub, anon_sym_inc, anon_sym_dec, anon_sym_shiftl, anon_sym_shiftr, anon_sym_ashiftr, anon_sym_and, anon_sym_or, anon_sym_xor, anon_sym_not, anon_sym_eq, anon_sym_lte, anon_sym_gte, anon_sym_breq, anon_sym_brgt, anon_sym_brge, anon_sym_brof, anon_sym_brty, anon_sym_sweq, anon_sym_swgt, anon_sym_swge, anon_sym_swof, anon_sym_swty, anon_sym_gate, anon_sym_sel, anon_sym_merge, anon_sym_pass, anon_sym_const, anon_sym_free_ctx, anon_sym_change_tag, anon_sym_extract_tag, anon_sym_read, anon_sym_write, anon_sym_clear, anon_sym_alloc, anon_sym_exec, anon_sym_rd_inc, anon_sym_rd_dec, anon_sym_cmp_sw, anon_sym_load_inst, [1247] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(257), 4, anon_sym_AT, anon_sym_lt, anon_sym_gt, anon_sym_free, ACTIONS(255), 46, ts_builtin_sym_end, anon_sym_RBRACE, anon_sym_ATsystem, anon_sym_AMP, anon_sym_DOLLAR, anon_sym_add, anon_sym_sub, anon_sym_inc, anon_sym_dec, anon_sym_shiftl, anon_sym_shiftr, anon_sym_ashiftr, anon_sym_and, anon_sym_or, anon_sym_xor, anon_sym_not, anon_sym_eq, anon_sym_lte, anon_sym_gte, anon_sym_breq, anon_sym_brgt, anon_sym_brge, anon_sym_brof, anon_sym_brty, anon_sym_sweq, anon_sym_swgt, anon_sym_swge, anon_sym_swof, anon_sym_swty, anon_sym_gate, anon_sym_sel, anon_sym_merge, anon_sym_pass, anon_sym_const, anon_sym_free_ctx, anon_sym_change_tag, anon_sym_extract_tag, anon_sym_read, anon_sym_write, anon_sym_clear, anon_sym_alloc, anon_sym_exec, anon_sym_rd_inc, anon_sym_rd_dec, anon_sym_cmp_sw, anon_sym_load_inst, [1305] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(261), 4, anon_sym_AT, anon_sym_lt, anon_sym_gt, anon_sym_free, ACTIONS(259), 46, ts_builtin_sym_end, anon_sym_RBRACE, anon_sym_ATsystem, anon_sym_AMP, anon_sym_DOLLAR, anon_sym_add, anon_sym_sub, anon_sym_inc, anon_sym_dec, anon_sym_shiftl, anon_sym_shiftr, anon_sym_ashiftr, anon_sym_and, anon_sym_or, anon_sym_xor, anon_sym_not, anon_sym_eq, anon_sym_lte, anon_sym_gte, anon_sym_breq, anon_sym_brgt, anon_sym_brge, anon_sym_brof, anon_sym_brty, anon_sym_sweq, anon_sym_swgt, anon_sym_swge, anon_sym_swof, anon_sym_swty, anon_sym_gate, anon_sym_sel, anon_sym_merge, anon_sym_pass, anon_sym_const, anon_sym_free_ctx, anon_sym_change_tag, anon_sym_extract_tag, anon_sym_read, anon_sym_write, anon_sym_clear, anon_sym_alloc, anon_sym_exec, anon_sym_rd_inc, anon_sym_rd_dec, anon_sym_cmp_sw, anon_sym_load_inst, [1363] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(265), 4, anon_sym_AT, anon_sym_lt, anon_sym_gt, anon_sym_free, ACTIONS(263), 46, ts_builtin_sym_end, anon_sym_RBRACE, anon_sym_ATsystem, anon_sym_AMP, anon_sym_DOLLAR, anon_sym_add, anon_sym_sub, anon_sym_inc, anon_sym_dec, anon_sym_shiftl, anon_sym_shiftr, anon_sym_ashiftr, anon_sym_and, anon_sym_or, anon_sym_xor, anon_sym_not, anon_sym_eq, anon_sym_lte, anon_sym_gte, anon_sym_breq, anon_sym_brgt, anon_sym_brge, anon_sym_brof, anon_sym_brty, anon_sym_sweq, anon_sym_swgt, anon_sym_swge, anon_sym_swof, anon_sym_swty, anon_sym_gate, anon_sym_sel, anon_sym_merge, anon_sym_pass, anon_sym_const, anon_sym_free_ctx, anon_sym_change_tag, anon_sym_extract_tag, anon_sym_read, anon_sym_write, anon_sym_clear, anon_sym_alloc, anon_sym_exec, anon_sym_rd_inc, anon_sym_rd_dec, anon_sym_cmp_sw, anon_sym_load_inst, [1421] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(269), 4, anon_sym_AT, anon_sym_lt, anon_sym_gt, anon_sym_free, ACTIONS(267), 46, ts_builtin_sym_end, anon_sym_RBRACE, anon_sym_ATsystem, anon_sym_AMP, anon_sym_DOLLAR, anon_sym_add, anon_sym_sub, anon_sym_inc, anon_sym_dec, anon_sym_shiftl, anon_sym_shiftr, anon_sym_ashiftr, anon_sym_and, anon_sym_or, anon_sym_xor, anon_sym_not, anon_sym_eq, anon_sym_lte, anon_sym_gte, anon_sym_breq, anon_sym_brgt, anon_sym_brge, anon_sym_brof, anon_sym_brty, anon_sym_sweq, anon_sym_swgt, anon_sym_swge, anon_sym_swof, anon_sym_swty, anon_sym_gate, anon_sym_sel, anon_sym_merge, anon_sym_pass, anon_sym_const, anon_sym_free_ctx, anon_sym_change_tag, anon_sym_extract_tag, anon_sym_read, anon_sym_write, anon_sym_clear, anon_sym_alloc, anon_sym_exec, anon_sym_rd_inc, anon_sym_rd_dec, anon_sym_cmp_sw, anon_sym_load_inst, [1479] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(273), 4, anon_sym_AT, anon_sym_lt, anon_sym_gt, anon_sym_free, ACTIONS(271), 46, ts_builtin_sym_end, anon_sym_RBRACE, anon_sym_ATsystem, anon_sym_AMP, anon_sym_DOLLAR, anon_sym_add, anon_sym_sub, anon_sym_inc, anon_sym_dec, anon_sym_shiftl, anon_sym_shiftr, anon_sym_ashiftr, anon_sym_and, anon_sym_or, anon_sym_xor, anon_sym_not, anon_sym_eq, anon_sym_lte, anon_sym_gte, anon_sym_breq, anon_sym_brgt, anon_sym_brge, anon_sym_brof, anon_sym_brty, anon_sym_sweq, anon_sym_swgt, anon_sym_swge, anon_sym_swof, anon_sym_swty, anon_sym_gate, anon_sym_sel, anon_sym_merge, anon_sym_pass, anon_sym_const, anon_sym_free_ctx, anon_sym_change_tag, anon_sym_extract_tag, anon_sym_read, anon_sym_write, anon_sym_clear, anon_sym_alloc, anon_sym_exec, anon_sym_rd_inc, anon_sym_rd_dec, anon_sym_cmp_sw, anon_sym_load_inst, [1537] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(277), 4, anon_sym_AT, anon_sym_lt, anon_sym_gt, anon_sym_free, ACTIONS(275), 46, ts_builtin_sym_end, anon_sym_RBRACE, anon_sym_ATsystem, anon_sym_AMP, anon_sym_DOLLAR, anon_sym_add, anon_sym_sub, anon_sym_inc, anon_sym_dec, anon_sym_shiftl, anon_sym_shiftr, anon_sym_ashiftr, anon_sym_and, anon_sym_or, anon_sym_xor, anon_sym_not, anon_sym_eq, anon_sym_lte, anon_sym_gte, anon_sym_breq, anon_sym_brgt, anon_sym_brge, anon_sym_brof, anon_sym_brty, anon_sym_sweq, anon_sym_swgt, anon_sym_swge, anon_sym_swof, anon_sym_swty, anon_sym_gate, anon_sym_sel, anon_sym_merge, anon_sym_pass, anon_sym_const, anon_sym_free_ctx, anon_sym_change_tag, anon_sym_extract_tag, anon_sym_read, anon_sym_write, anon_sym_clear, anon_sym_alloc, anon_sym_exec, anon_sym_rd_inc, anon_sym_rd_dec, anon_sym_cmp_sw, anon_sym_load_inst, [1595] = 4, ACTIONS(3), 1, sym_comment, STATE(86), 1, sym_opcode, ACTIONS(17), 3, anon_sym_lt, anon_sym_gt, anon_sym_free, ACTIONS(15), 41, anon_sym_add, anon_sym_sub, anon_sym_inc, anon_sym_dec, anon_sym_shiftl, anon_sym_shiftr, anon_sym_ashiftr, anon_sym_and, anon_sym_or, anon_sym_xor, anon_sym_not, anon_sym_eq, anon_sym_lte, anon_sym_gte, anon_sym_breq, anon_sym_brgt, anon_sym_brge, anon_sym_brof, anon_sym_brty, anon_sym_sweq, anon_sym_swgt, anon_sym_swge, anon_sym_swof, anon_sym_swty, anon_sym_gate, anon_sym_sel, anon_sym_merge, anon_sym_pass, anon_sym_const, anon_sym_free_ctx, anon_sym_change_tag, anon_sym_extract_tag, anon_sym_read, anon_sym_write, anon_sym_clear, anon_sym_alloc, anon_sym_exec, anon_sym_rd_inc, anon_sym_rd_dec, anon_sym_cmp_sw, anon_sym_load_inst, [1650] = 4, ACTIONS(3), 1, sym_comment, STATE(33), 1, sym_opcode, ACTIONS(281), 3, anon_sym_lt, anon_sym_gt, anon_sym_free, ACTIONS(279), 41, anon_sym_add, anon_sym_sub, anon_sym_inc, anon_sym_dec, anon_sym_shiftl, anon_sym_shiftr, anon_sym_ashiftr, anon_sym_and, anon_sym_or, anon_sym_xor, anon_sym_not, anon_sym_eq, anon_sym_lte, anon_sym_gte, anon_sym_breq, anon_sym_brgt, anon_sym_brge, anon_sym_brof, anon_sym_brty, anon_sym_sweq, anon_sym_swgt, anon_sym_swge, anon_sym_swof, anon_sym_swty, anon_sym_gate, anon_sym_sel, anon_sym_merge, anon_sym_pass, anon_sym_const, anon_sym_free_ctx, anon_sym_change_tag, anon_sym_extract_tag, anon_sym_read, anon_sym_write, anon_sym_clear, anon_sym_alloc, anon_sym_exec, anon_sym_rd_inc, anon_sym_rd_dec, anon_sym_cmp_sw, anon_sym_load_inst, [1705] = 13, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, anon_sym_AMP, ACTIONS(13), 1, anon_sym_DOLLAR, ACTIONS(49), 1, sym_hex_literal, ACTIONS(51), 1, sym_dec_literal, ACTIONS(53), 1, anon_sym_SQUOTE, ACTIONS(55), 1, anon_sym_DQUOTE, ACTIONS(57), 1, anon_sym_r_DQUOTE, ACTIONS(59), 1, anon_sym_b_DQUOTE, ACTIONS(283), 1, sym_identifier, ACTIONS(285), 1, anon_sym_AT, STATE(10), 3, sym_node_ref, sym_label_ref, sym_func_ref, STATE(73), 10, sym_qualified_ref, sym__argument, sym_named_arg, sym__positional_arg, sym__value, sym_number_literal, sym_char_literal, sym_string_literal, sym_raw_string_literal, sym_byte_string_literal, [1756] = 13, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, anon_sym_AMP, ACTIONS(13), 1, anon_sym_DOLLAR, ACTIONS(49), 1, sym_hex_literal, ACTIONS(51), 1, sym_dec_literal, ACTIONS(53), 1, anon_sym_SQUOTE, ACTIONS(55), 1, anon_sym_DQUOTE, ACTIONS(57), 1, anon_sym_r_DQUOTE, ACTIONS(59), 1, anon_sym_b_DQUOTE, ACTIONS(283), 1, sym_identifier, ACTIONS(285), 1, anon_sym_AT, STATE(10), 3, sym_node_ref, sym_label_ref, sym_func_ref, STATE(41), 10, sym_qualified_ref, sym__argument, sym_named_arg, sym__positional_arg, sym__value, sym_number_literal, sym_char_literal, sym_string_literal, sym_raw_string_literal, sym_byte_string_literal, [1807] = 13, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, anon_sym_AMP, ACTIONS(13), 1, anon_sym_DOLLAR, ACTIONS(49), 1, sym_hex_literal, ACTIONS(51), 1, sym_dec_literal, ACTIONS(53), 1, anon_sym_SQUOTE, ACTIONS(55), 1, anon_sym_DQUOTE, ACTIONS(57), 1, anon_sym_r_DQUOTE, ACTIONS(59), 1, anon_sym_b_DQUOTE, ACTIONS(283), 1, sym_identifier, ACTIONS(285), 1, anon_sym_AT, STATE(10), 3, sym_node_ref, sym_label_ref, sym_func_ref, STATE(36), 10, sym_qualified_ref, sym__argument, sym_named_arg, sym__positional_arg, sym__value, sym_number_literal, sym_char_literal, sym_string_literal, sym_raw_string_literal, sym_byte_string_literal, [1858] = 12, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, anon_sym_AMP, ACTIONS(13), 1, anon_sym_DOLLAR, ACTIONS(49), 1, sym_hex_literal, ACTIONS(51), 1, sym_dec_literal, ACTIONS(53), 1, anon_sym_SQUOTE, ACTIONS(55), 1, anon_sym_DQUOTE, ACTIONS(57), 1, anon_sym_r_DQUOTE, ACTIONS(59), 1, anon_sym_b_DQUOTE, ACTIONS(285), 1, anon_sym_AT, STATE(10), 3, sym_node_ref, sym_label_ref, sym_func_ref, STATE(40), 8, sym_qualified_ref, sym__positional_arg, sym__value, sym_number_literal, sym_char_literal, sym_string_literal, sym_raw_string_literal, sym_byte_string_literal, [1904] = 10, ACTIONS(3), 1, sym_comment, ACTIONS(49), 1, sym_hex_literal, ACTIONS(51), 1, sym_dec_literal, ACTIONS(53), 1, anon_sym_SQUOTE, ACTIONS(55), 1, anon_sym_DQUOTE, ACTIONS(57), 1, anon_sym_r_DQUOTE, ACTIONS(59), 1, anon_sym_b_DQUOTE, ACTIONS(287), 1, anon_sym_POUND, STATE(50), 2, sym_value_list, sym_macro_call, STATE(32), 6, sym__value, sym_number_literal, sym_char_literal, sym_string_literal, sym_raw_string_literal, sym_byte_string_literal, [1941] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(49), 1, sym_hex_literal, ACTIONS(51), 1, sym_dec_literal, ACTIONS(53), 1, anon_sym_SQUOTE, ACTIONS(55), 1, anon_sym_DQUOTE, ACTIONS(57), 1, anon_sym_r_DQUOTE, ACTIONS(59), 1, anon_sym_b_DQUOTE, STATE(47), 6, sym__value, sym_number_literal, sym_char_literal, sym_string_literal, sym_raw_string_literal, sym_byte_string_literal, [1971] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(253), 2, sym_dec_literal, sym_identifier, ACTIONS(251), 9, anon_sym_AT, anon_sym_AMP, anon_sym_DOLLAR, sym_hex_literal, anon_sym_SQUOTE, anon_sym_DQUOTE, anon_sym_r_DQUOTE, anon_sym_b_DQUOTE, sym_flow_in, [1990] = 7, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, anon_sym_AMP, ACTIONS(13), 1, anon_sym_DOLLAR, ACTIONS(285), 1, anon_sym_AT, STATE(28), 1, sym_qualified_ref, STATE(52), 1, sym_ref_list, STATE(10), 3, sym_node_ref, sym_label_ref, sym_func_ref, [2014] = 7, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, anon_sym_AMP, ACTIONS(13), 1, anon_sym_DOLLAR, ACTIONS(285), 1, anon_sym_AT, STATE(28), 1, sym_qualified_ref, STATE(48), 1, sym_ref_list, STATE(10), 3, sym_node_ref, sym_label_ref, sym_func_ref, [2038] = 7, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, anon_sym_AMP, ACTIONS(13), 1, anon_sym_DOLLAR, ACTIONS(285), 1, anon_sym_AT, STATE(28), 1, sym_qualified_ref, STATE(49), 1, sym_ref_list, STATE(10), 3, sym_node_ref, sym_label_ref, sym_func_ref, [2062] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, anon_sym_AMP, ACTIONS(13), 1, anon_sym_DOLLAR, ACTIONS(285), 1, anon_sym_AT, STATE(43), 1, sym_qualified_ref, STATE(10), 3, sym_node_ref, sym_label_ref, sym_func_ref, [2083] = 4, ACTIONS(289), 1, anon_sym_DQUOTE, ACTIONS(294), 1, sym_comment, STATE(67), 1, aux_sym_string_literal_repeat1, ACTIONS(291), 2, aux_sym_string_literal_token1, sym_escape_sequence, [2097] = 4, ACTIONS(294), 1, sym_comment, ACTIONS(296), 1, anon_sym_DQUOTE, STATE(70), 1, aux_sym_string_literal_repeat1, ACTIONS(298), 2, aux_sym_string_literal_token1, sym_escape_sequence, [2111] = 4, ACTIONS(294), 1, sym_comment, ACTIONS(300), 1, anon_sym_DQUOTE, STATE(67), 1, aux_sym_string_literal_repeat1, ACTIONS(302), 2, aux_sym_string_literal_token1, sym_escape_sequence, [2125] = 4, ACTIONS(294), 1, sym_comment, ACTIONS(304), 1, anon_sym_DQUOTE, STATE(67), 1, aux_sym_string_literal_repeat1, ACTIONS(302), 2, aux_sym_string_literal_token1, sym_escape_sequence, [2139] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(49), 1, sym_hex_literal, ACTIONS(51), 1, sym_dec_literal, ACTIONS(306), 1, sym_identifier, STATE(26), 1, sym_number_literal, [2155] = 4, ACTIONS(294), 1, sym_comment, ACTIONS(308), 1, anon_sym_DQUOTE, STATE(69), 1, aux_sym_string_literal_repeat1, ACTIONS(310), 2, aux_sym_string_literal_token1, sym_escape_sequence, [2169] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(208), 1, anon_sym_COMMA, ACTIONS(312), 1, sym_flow_out, STATE(74), 1, aux_sym_inst_def_repeat1, [2182] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(208), 1, anon_sym_COMMA, ACTIONS(314), 1, sym_flow_out, STATE(27), 1, aux_sym_inst_def_repeat1, [2195] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(49), 1, sym_hex_literal, ACTIONS(51), 1, sym_dec_literal, STATE(44), 1, sym_number_literal, [2208] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(316), 1, sym_identifier, STATE(45), 1, sym_system_param, [2218] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(316), 1, sym_identifier, STATE(34), 1, sym_system_param, [2228] = 2, ACTIONS(294), 1, sym_comment, ACTIONS(318), 2, aux_sym_char_literal_token1, sym_escape_sequence, [2236] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(320), 1, anon_sym_DQUOTE, [2243] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(322), 1, sym_identifier, [2250] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(324), 1, ts_builtin_sym_end, [2257] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(326), 1, anon_sym_SQUOTE, [2264] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(328), 1, sym_identifier, [2271] = 2, ACTIONS(294), 1, sym_comment, ACTIONS(330), 1, aux_sym_raw_string_literal_token1, [2278] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(332), 1, anon_sym_LBRACE, [2285] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(334), 1, sym_flow_in, [2292] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(336), 1, anon_sym_EQ, [2299] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(338), 1, sym_identifier, [2306] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(340), 1, sym_identifier, [2313] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(342), 1, sym_identifier, [2320] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(344), 1, anon_sym_EQ, }; static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(28)] = 0, [SMALL_STATE(29)] = 64, [SMALL_STATE(30)] = 128, [SMALL_STATE(31)] = 192, [SMALL_STATE(32)] = 256, [SMALL_STATE(33)] = 320, [SMALL_STATE(34)] = 384, [SMALL_STATE(35)] = 448, [SMALL_STATE(36)] = 512, [SMALL_STATE(37)] = 576, [SMALL_STATE(38)] = 640, [SMALL_STATE(39)] = 704, [SMALL_STATE(40)] = 768, [SMALL_STATE(41)] = 828, [SMALL_STATE(42)] = 888, [SMALL_STATE(43)] = 952, [SMALL_STATE(44)] = 1011, [SMALL_STATE(45)] = 1070, [SMALL_STATE(46)] = 1129, [SMALL_STATE(47)] = 1188, [SMALL_STATE(48)] = 1247, [SMALL_STATE(49)] = 1305, [SMALL_STATE(50)] = 1363, [SMALL_STATE(51)] = 1421, [SMALL_STATE(52)] = 1479, [SMALL_STATE(53)] = 1537, [SMALL_STATE(54)] = 1595, [SMALL_STATE(55)] = 1650, [SMALL_STATE(56)] = 1705, [SMALL_STATE(57)] = 1756, [SMALL_STATE(58)] = 1807, [SMALL_STATE(59)] = 1858, [SMALL_STATE(60)] = 1904, [SMALL_STATE(61)] = 1941, [SMALL_STATE(62)] = 1971, [SMALL_STATE(63)] = 1990, [SMALL_STATE(64)] = 2014, [SMALL_STATE(65)] = 2038, [SMALL_STATE(66)] = 2062, [SMALL_STATE(67)] = 2083, [SMALL_STATE(68)] = 2097, [SMALL_STATE(69)] = 2111, [SMALL_STATE(70)] = 2125, [SMALL_STATE(71)] = 2139, [SMALL_STATE(72)] = 2155, [SMALL_STATE(73)] = 2169, [SMALL_STATE(74)] = 2182, [SMALL_STATE(75)] = 2195, [SMALL_STATE(76)] = 2208, [SMALL_STATE(77)] = 2218, [SMALL_STATE(78)] = 2228, [SMALL_STATE(79)] = 2236, [SMALL_STATE(80)] = 2243, [SMALL_STATE(81)] = 2250, [SMALL_STATE(82)] = 2257, [SMALL_STATE(83)] = 2264, [SMALL_STATE(84)] = 2271, [SMALL_STATE(85)] = 2278, [SMALL_STATE(86)] = 2285, [SMALL_STATE(87)] = 2292, [SMALL_STATE(88)] = 2299, [SMALL_STATE(89)] = 2306, [SMALL_STATE(90)] = 2313, [SMALL_STATE(91)] = 2320, }; static const TSParseActionEntry ts_parse_actions[] = { [0] = {.entry = {.count = 0, .reusable = false}}, [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(), [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT_EXTRA(), [5] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_program, 0, 0, 0), [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(90), [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(62), [19] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), [21] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(77), [24] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(90), [27] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(80), [30] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(83), [33] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(62), [36] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(62), [39] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_program, 1, 0, 0), [41] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), [43] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), [45] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_macro_call, 3, 0, 2), [47] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_macro_call, 3, 0, 2), [49] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), [51] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9), [53] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), [55] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), [57] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), [59] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), [61] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_macro_call, 2, 0, 2), [63] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_macro_call, 2, 0, 2), [65] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_macro_call_repeat1, 2, 0, 0), [67] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_macro_call_repeat1, 2, 0, 0), [69] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_macro_call_repeat1, 2, 0, 0), SHIFT_REPEAT(9), [72] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_macro_call_repeat1, 2, 0, 0), SHIFT_REPEAT(9), [75] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_macro_call_repeat1, 2, 0, 0), SHIFT_REPEAT(78), [78] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_macro_call_repeat1, 2, 0, 0), SHIFT_REPEAT(72), [81] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_macro_call_repeat1, 2, 0, 0), SHIFT_REPEAT(84), [84] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_macro_call_repeat1, 2, 0, 0), SHIFT_REPEAT(68), [87] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_number_literal, 1, 0, 0), [89] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_number_literal, 1, 0, 0), [91] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_qualified_ref, 1, 0, 1), [93] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_qualified_ref, 1, 0, 1), [95] = {.entry = {.count = 1, .reusable = false}}, SHIFT(88), [97] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), [99] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), [101] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 2, 0, 0), [103] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 2, 0, 0), [105] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_byte_string_literal, 2, 0, 0), [107] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_byte_string_literal, 2, 0, 0), [109] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_byte_string_literal, 3, 0, 0), [111] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_byte_string_literal, 3, 0, 0), [113] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_char_literal, 3, 0, 0), [115] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_char_literal, 3, 0, 0), [117] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 3, 0, 0), [119] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 3, 0, 0), [121] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_raw_string_literal, 3, 0, 0), [123] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_raw_string_literal, 3, 0, 0), [125] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_label_ref, 2, 0, 2), [127] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_label_ref, 2, 0, 2), [129] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_func_ref, 2, 0, 2), [131] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_func_ref, 2, 0, 2), [133] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_node_ref, 2, 0, 2), [135] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_node_ref, 2, 0, 2), [137] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_qualified_ref, 2, 0, 3), [139] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_qualified_ref, 2, 0, 3), [141] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_location_dir, 1, 0, 0), [143] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), [145] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), [147] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_location_dir, 1, 0, 0), [149] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ref_list, 1, 0, 0), [151] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ref_list, 1, 0, 0), [153] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), [155] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), [157] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_placement, 2, 0, 5), [159] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_placement, 2, 0, 5), [161] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_qualified_ref, 2, 0, 4), [163] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_qualified_ref, 2, 0, 4), [165] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_qualified_ref, 3, 0, 6), [167] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_qualified_ref, 3, 0, 6), [169] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_port, 2, 0, 5), [171] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_port, 2, 0, 5), [173] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_inst_def_repeat1, 2, 0, 0), [175] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_inst_def_repeat1, 2, 0, 0), SHIFT_REPEAT(57), [178] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_inst_def_repeat1, 2, 0, 0), [180] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_value_list_repeat1, 2, 0, 0), [182] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_value_list_repeat1, 2, 0, 0), SHIFT_REPEAT(61), [185] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_value_list_repeat1, 2, 0, 0), [187] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pragma, 3, 0, 0), [189] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), [191] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pragma, 3, 0, 0), [193] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_ref_list_repeat1, 2, 0, 0), [195] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_ref_list_repeat1, 2, 0, 0), SHIFT_REPEAT(66), [198] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_ref_list_repeat1, 2, 0, 0), [200] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_value_list, 1, 0, 0), [202] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), [204] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_value_list, 1, 0, 0), [206] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_inst_def, 3, 0, 0), [208] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), [210] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_inst_def, 3, 0, 0), [212] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pragma, 2, 0, 0), [214] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pragma, 2, 0, 0), [216] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_pragma_repeat1, 2, 0, 0), [218] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_pragma_repeat1, 2, 0, 0), SHIFT_REPEAT(76), [221] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_pragma_repeat1, 2, 0, 0), [223] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_weak_edge, 4, 0, 0), [225] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_weak_edge, 4, 0, 0), [227] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_value_list, 2, 0, 0), [229] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_value_list, 2, 0, 0), [231] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_inst_def, 4, 0, 0), [233] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_inst_def, 4, 0, 0), [235] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ref_list, 2, 0, 0), [237] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ref_list, 2, 0, 0), [239] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_named_arg, 3, 0, 8), [241] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_named_arg, 3, 0, 8), [243] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_weak_edge, 5, 0, 0), [245] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_weak_edge, 5, 0, 0), [247] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_system_param, 3, 0, 7), [249] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_system_param, 3, 0, 7), [251] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_opcode, 1, 0, 0), [253] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_opcode, 1, 0, 0), [255] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_strong_edge, 4, 0, 0), [257] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_strong_edge, 4, 0, 0), [259] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_plain_edge, 3, 0, 0), [261] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_plain_edge, 3, 0, 0), [263] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_data_def, 3, 0, 0), [265] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_data_def, 3, 0, 0), [267] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_func_def, 4, 0, 0), [269] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_func_def, 4, 0, 0), [271] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_strong_edge, 5, 0, 0), [273] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_strong_edge, 5, 0, 0), [275] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_func_def, 5, 0, 0), [277] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_func_def, 5, 0, 0), [279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), [281] = {.entry = {.count = 1, .reusable = false}}, SHIFT(46), [283] = {.entry = {.count = 1, .reusable = false}}, SHIFT(91), [285] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), [287] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), [289] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat1, 2, 0, 0), [291] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(67), [294] = {.entry = {.count = 1, .reusable = false}}, SHIFT_EXTRA(), [296] = {.entry = {.count = 1, .reusable = false}}, SHIFT(13), [298] = {.entry = {.count = 1, .reusable = false}}, SHIFT(70), [300] = {.entry = {.count = 1, .reusable = false}}, SHIFT(16), [302] = {.entry = {.count = 1, .reusable = false}}, SHIFT(67), [304] = {.entry = {.count = 1, .reusable = false}}, SHIFT(14), [306] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), [308] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12), [310] = {.entry = {.count = 1, .reusable = false}}, SHIFT(69), [312] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), [314] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), [316] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), [318] = {.entry = {.count = 1, .reusable = false}}, SHIFT(82), [320] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), [322] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), [324] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), [326] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), [328] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), [330] = {.entry = {.count = 1, .reusable = false}}, SHIFT(79), [332] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), [334] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), [336] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), [338] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), [340] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), [342] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), [344] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), }; #ifdef __cplusplus extern "C" { #endif #ifdef TREE_SITTER_HIDE_SYMBOLS #define TS_PUBLIC #elif defined(_WIN32) #define TS_PUBLIC __declspec(dllexport) #else #define TS_PUBLIC __attribute__((visibility("default"))) #endif TS_PUBLIC const TSLanguage *tree_sitter_dfasm(void) { static const TSLanguage language = { .abi_version = LANGUAGE_VERSION, .symbol_count = SYMBOL_COUNT, .alias_count = ALIAS_COUNT, .token_count = TOKEN_COUNT, .external_token_count = EXTERNAL_TOKEN_COUNT, .state_count = STATE_COUNT, .large_state_count = LARGE_STATE_COUNT, .production_id_count = PRODUCTION_ID_COUNT, .supertype_count = SUPERTYPE_COUNT, .field_count = FIELD_COUNT, .max_alias_sequence_length = MAX_ALIAS_SEQUENCE_LENGTH, .parse_table = &ts_parse_table[0][0], .small_parse_table = ts_small_parse_table, .small_parse_table_map = ts_small_parse_table_map, .parse_actions = ts_parse_actions, .symbol_names = ts_symbol_names, .field_names = ts_field_names, .field_map_slices = ts_field_map_slices, .field_map_entries = ts_field_map_entries, .symbol_metadata = ts_symbol_metadata, .public_symbol_map = ts_symbol_map, .alias_map = ts_non_terminal_alias_map, .alias_sequences = &ts_alias_sequences[0][0], .lex_modes = (const void*)ts_lex_modes, .lex_fn = ts_lex, .keyword_lex_fn = ts_lex_keywords, .keyword_capture_token = sym_identifier, .primary_state_ids = ts_primary_state_ids, .name = "dfasm", .max_reserved_word_set_size = 0, .metadata = { .major_version = 0, .minor_version = 1, .patch_version = 0, }, }; return &language; } #ifdef __cplusplus } #endif