diff --git a/grammar.js b/grammar.js index 6e4f80d7..559643d7 100644 --- a/grammar.js +++ b/grammar.js @@ -35,17 +35,17 @@ module.exports = grammar({ label: $ => choice( seq( - choice($.meta_ident, alias($.word, $.ident), alias($._ident, $.ident)), + choice($.meta_ident, alias(choice($.op, $.word, $._ident), $.ident)), ':', optional(choice(seq('(', $.ident, ')'), $.meta)), ), seq( 'label', - field('name', $.word), + field('name', choice($.op, $.word)), ), ), const: $ => seq('const', field('name', $.word), field('value', $._tc_expr)), - instruction: $ => seq(field('kind', $.word), choice(sep(',', $._expr), repeat($._tc_expr))), + instruction: $ => seq(field('kind', $.op), choice(sep(',', $._expr), repeat($._tc_expr))), _expr: $ => choice($.ptr, $.ident, $.int, $.string, $.float, $.list), // ARMv7 @@ -128,10 +128,12 @@ module.exports = grammar({ /'[^']*'/ ), + op: $ => /[A-Za-z_][A-Za-z0-9_]*(\.[A-Za-z0-9_]+)*/, word: $ => /[a-zA-Z0-9_]+/, _reg: $ => /%?[a-z0-9]+/, address: $ => /[=\$][a-zA-Z0-9_]+/, // GAS x86 address - reg: $ => choice($._reg, $.word, $.address), + flag: $ => /[a-zA-Z0-9_]+.t/, // RISC-V vector mask flag + reg: $ => choice($._reg, $.word, $.address, $.flag), meta_ident: $ => /\.[a-z_]+/, _ident: $ => /[a-zA-Z_0-9.]+/, ident: $ => choice($._ident, $.meta_ident, $.reg), diff --git a/src/grammar.json b/src/grammar.json index a75664ba..743da632 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -1,4 +1,5 @@ { + "$schema": "https://tree-sitter.github.io/tree-sitter/assets/schemas/grammar.schema.json", "name": "asm", "rules": { "program": { @@ -194,17 +195,21 @@ { "type": "ALIAS", "content": { - "type": "SYMBOL", - "name": "word" - }, - "named": true, - "value": "ident" - }, - { - "type": "ALIAS", - "content": { - "type": "SYMBOL", - "name": "_ident" + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "op" + }, + { + "type": "SYMBOL", + "name": "word" + }, + { + "type": "SYMBOL", + "name": "_ident" + } + ] }, "named": true, "value": "ident" @@ -262,8 +267,17 @@ "type": "FIELD", "name": "name", "content": { - "type": "SYMBOL", - "name": "word" + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "op" + }, + { + "type": "SYMBOL", + "name": "word" + } + ] } } ] @@ -303,7 +317,7 @@ "name": "kind", "content": { "type": "SYMBOL", - "name": "word" + "name": "op" } }, { @@ -996,6 +1010,10 @@ } ] }, + "op": { + "type": "PATTERN", + "value": "[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z0-9_]+)*" + }, "word": { "type": "PATTERN", "value": "[a-zA-Z0-9_]+" @@ -1008,6 +1026,10 @@ "type": "PATTERN", "value": "[=\\$][a-zA-Z0-9_]+" }, + "flag": { + "type": "PATTERN", + "value": "[a-zA-Z0-9_]+.t" + }, "reg": { "type": "CHOICE", "members": [ @@ -1022,6 +1044,10 @@ { "type": "SYMBOL", "name": "address" + }, + { + "type": "SYMBOL", + "name": "flag" } ] }, @@ -1119,5 +1145,6 @@ "precedences": [], "externals": [], "inline": [], - "supertypes": [] -} + "supertypes": [], + "reserved": {} +} \ No newline at end of file diff --git a/src/node-types.json b/src/node-types.json index 80b1f8e6..0161a1ed 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -65,7 +65,7 @@ "required": true, "types": [ { - "type": "word", + "type": "op", "named": true } ] @@ -119,6 +119,10 @@ "multiple": false, "required": false, "types": [ + { + "type": "op", + "named": true + }, { "type": "word", "named": true @@ -148,6 +152,7 @@ { "type": "line_comment", "named": true, + "extra": true, "fields": {} }, { @@ -206,6 +211,7 @@ { "type": "program", "named": true, + "root": true, "fields": {}, "children": { "multiple": true, @@ -265,6 +271,10 @@ "type": "address", "named": true }, + { + "type": "flag", + "named": true + }, { "type": "word", "named": true @@ -435,7 +445,8 @@ }, { "type": "block_comment", - "named": true + "named": true, + "extra": true }, { "type": "byte", @@ -449,6 +460,10 @@ "type": "dword", "named": false }, + { + "type": "flag", + "named": true + }, { "type": "float", "named": true @@ -461,6 +476,10 @@ "type": "meta_ident", "named": true }, + { + "type": "op", + "named": true + }, { "type": "ptr", "named": false @@ -475,11 +494,11 @@ }, { "type": "word", - "named": false + "named": true }, { "type": "word", - "named": true + "named": false }, { "type": "{", diff --git a/src/parser.c b/src/parser.c index 3a8c319c..ab08986e 100644 --- a/src/parser.c +++ b/src/parser.c @@ -1,19 +1,23 @@ +/* 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 14 +#define LANGUAGE_VERSION 15 #define STATE_COUNT 137 #define LARGE_STATE_COUNT 3 -#define SYMBOL_COUNT 65 +#define SYMBOL_COUNT 67 #define ALIAS_COUNT 0 -#define TOKEN_COUNT 41 +#define TOKEN_COUNT 43 #define EXTERNAL_TOKEN_COUNT 0 #define FIELD_COUNT 6 #define MAX_ALIAS_SEQUENCE_LENGTH 7 +#define MAX_RESERVED_WORD_SET_SIZE 0 #define PRODUCTION_ID_COUNT 6 +#define SUPERTYPE_COUNT 0 enum ts_symbol_identifiers { anon_sym_LF = 1, @@ -48,38 +52,40 @@ enum ts_symbol_identifiers { sym_float = 30, aux_sym_string_token1 = 31, aux_sym_string_token2 = 32, - sym_word = 33, - sym__reg = 34, - sym_address = 35, - sym_meta_ident = 36, - sym__ident = 37, - aux_sym_line_comment_token1 = 38, - aux_sym_line_comment_token2 = 39, - sym_block_comment = 40, - sym_program = 41, - sym__item = 42, - sym_meta = 43, - sym_label = 44, - sym_const = 45, - sym_instruction = 46, - sym__expr = 47, - sym_list = 48, - sym_ptr = 49, - sym__tc_expr = 50, - sym_tc_infix = 51, - sym_int = 52, - sym_string = 53, - sym_reg = 54, - sym_ident = 55, - sym_line_comment = 56, - aux_sym_program_repeat1 = 57, - aux_sym_program_repeat2 = 58, - aux_sym_meta_repeat1 = 59, - aux_sym_meta_repeat2 = 60, - aux_sym_meta_repeat3 = 61, - aux_sym_instruction_repeat1 = 62, - aux_sym_instruction_repeat2 = 63, - aux_sym_list_repeat1 = 64, + sym_op = 33, + sym_word = 34, + sym__reg = 35, + sym_address = 36, + sym_flag = 37, + sym_meta_ident = 38, + sym__ident = 39, + aux_sym_line_comment_token1 = 40, + aux_sym_line_comment_token2 = 41, + sym_block_comment = 42, + sym_program = 43, + sym__item = 44, + sym_meta = 45, + sym_label = 46, + sym_const = 47, + sym_instruction = 48, + sym__expr = 49, + sym_list = 50, + sym_ptr = 51, + sym__tc_expr = 52, + sym_tc_infix = 53, + sym_int = 54, + sym_string = 55, + sym_reg = 56, + sym_ident = 57, + sym_line_comment = 58, + aux_sym_program_repeat1 = 59, + aux_sym_program_repeat2 = 60, + aux_sym_meta_repeat1 = 61, + aux_sym_meta_repeat2 = 62, + aux_sym_meta_repeat3 = 63, + aux_sym_instruction_repeat1 = 64, + aux_sym_instruction_repeat2 = 65, + aux_sym_list_repeat1 = 66, }; static const char * const ts_symbol_names[] = { @@ -116,9 +122,11 @@ static const char * const ts_symbol_names[] = { [sym_float] = "float", [aux_sym_string_token1] = "string_token1", [aux_sym_string_token2] = "string_token2", + [sym_op] = "op", [sym_word] = "word", [sym__reg] = "_reg", [sym_address] = "address", + [sym_flag] = "flag", [sym_meta_ident] = "meta_ident", [sym__ident] = "_ident", [aux_sym_line_comment_token1] = "line_comment_token1", @@ -184,9 +192,11 @@ static const TSSymbol ts_symbol_map[] = { [sym_float] = sym_float, [aux_sym_string_token1] = aux_sym_string_token1, [aux_sym_string_token2] = aux_sym_string_token2, + [sym_op] = sym_op, [sym_word] = sym_word, [sym__reg] = sym__reg, [sym_address] = sym_address, + [sym_flag] = sym_flag, [sym_meta_ident] = sym_meta_ident, [sym__ident] = sym__ident, [aux_sym_line_comment_token1] = aux_sym_line_comment_token1, @@ -351,6 +361,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = false, }, + [sym_op] = { + .visible = true, + .named = true, + }, [sym_word] = { .visible = true, .named = true, @@ -363,6 +377,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_flag] = { + .visible = true, + .named = true, + }, [sym_meta_ident] = { .visible = true, .named = true, @@ -500,7 +518,7 @@ static const char * const ts_field_names[] = { [field_value] = "value", }; -static const TSFieldMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { +static const TSMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { [1] = {.index = 0, .length = 1}, [2] = {.index = 1, .length = 1}, [4] = {.index = 2, .length = 2}, @@ -562,29 +580,29 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [26] = 26, [27] = 27, [28] = 28, - [29] = 26, - [30] = 25, - [31] = 24, - [32] = 32, - [33] = 27, - [34] = 28, - [35] = 9, - [36] = 8, - [37] = 37, + [29] = 29, + [30] = 28, + [31] = 26, + [32] = 29, + [33] = 25, + [34] = 24, + [35] = 35, + [36] = 36, + [37] = 11, [38] = 38, - [39] = 6, - [40] = 11, - [41] = 41, - [42] = 12, - [43] = 17, - [44] = 19, - [45] = 16, - [46] = 46, - [47] = 13, - [48] = 14, - [49] = 15, + [39] = 7, + [40] = 8, + [41] = 9, + [42] = 10, + [43] = 18, + [44] = 15, + [45] = 45, + [46] = 19, + [47] = 47, + [48] = 13, + [49] = 16, [50] = 50, - [51] = 51, + [51] = 17, [52] = 52, [53] = 53, [54] = 54, @@ -667,7 +685,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [131] = 131, [132] = 132, [133] = 133, - [134] = 125, + [134] = 128, [135] = 135, [136] = 136, }; @@ -677,1329 +695,1691 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { eof = lexer->eof(lexer); switch (state) { case 0: - if (eof) ADVANCE(30); + if (eof) ADVANCE(34); ADVANCE_MAP( - '\n', 31, - '!', 58, + '\n', 35, + '!', 64, '"', 1, - '#', 65, - '$', 19, - '%', 60, - '&', 64, - '\'', 9, - '(', 34, - ')', 35, - '*', 55, - '+', 53, - ',', 32, - '-', 40, - '.', 147, - '/', 59, - '0', 74, - ':', 33, - ';', 154, - '=', 24, - '[', 52, - ']', 54, - '^', 63, - 'b', 134, - 'c', 110, - 'd', 129, - 'l', 95, - 'p', 125, - 'q', 130, - 'r', 103, - 'w', 112, - '{', 38, - '|', 62, - '}', 41, + '#', 71, + '$', 22, + '%', 66, + '&', 70, + '\'', 11, + '(', 38, + ')', 39, + '*', 61, + '+', 59, + ',', 36, + '-', 46, + '.', 178, + '/', 65, + '0', 77, + ':', 37, + ';', 185, + '=', 27, + '[', 58, + ']', 60, + '^', 69, + 'b', 141, + 'c', 127, + 'd', 139, + 'l', 116, + 'p', 136, + 'q', 140, + 'r', 121, + 'w', 128, + '{', 44, + '|', 68, + '}', 47, ); if (lookahead == '\t' || lookahead == '\r' || lookahead == ' ') SKIP(0); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(77); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(79); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(144); END_STATE(); case 1: - if (lookahead == '"') ADVANCE(93); + if (lookahead == '"') ADVANCE(104); if (lookahead != 0) ADVANCE(1); END_STATE(); case 2: ADVANCE_MAP( - '#', 65, - '$', 20, - '-', 6, - '/', 10, - '0', 84, - ';', 154, - 'p', 16, - 'r', 13, + '#', 71, + '$', 23, + '-', 8, + '/', 12, + '0', 95, + ';', 185, + 'p', 19, + 'r', 15, ); if (lookahead == '\t' || lookahead == '\r' || lookahead == ' ') SKIP(2); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(86); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(97); END_STATE(); case 3: - if (lookahead == '#') ADVANCE(65); - if (lookahead == '$') ADVANCE(21); - if (lookahead == '-') ADVANCE(8); - if (lookahead == '/') ADVANCE(10); - if (lookahead == '0') ADVANCE(67); - if (lookahead == ';') ADVANCE(154); + if (lookahead == '#') ADVANCE(71); + if (lookahead == '$') ADVANCE(24); + if (lookahead == '-') ADVANCE(10); + if (lookahead == '/') ADVANCE(12); + if (lookahead == '0') ADVANCE(73); + if (lookahead == ';') ADVANCE(185); if (lookahead == '\t' || lookahead == '\r' || - lookahead == ' ') SKIP(5); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(69); + lookahead == ' ') SKIP(6); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(75); END_STATE(); case 4: - if (lookahead == '#') ADVANCE(65); - if (lookahead == '%') ADVANCE(23); - if (lookahead == '.') ADVANCE(147); - if (lookahead == '/') ADVANCE(10); - if (lookahead == ';') ADVANCE(154); + if (lookahead == '#') ADVANCE(71); + if (lookahead == '%') ADVANCE(26); + if (lookahead == '.') ADVANCE(178); + if (lookahead == '/') ADVANCE(12); + if (lookahead == ';') ADVANCE(185); if (lookahead == '$' || - lookahead == '=') ADVANCE(24); + lookahead == '=') ADVANCE(27); if (lookahead == '\t' || lookahead == '\r' || lookahead == ' ') SKIP(4); if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_') ADVANCE(140); + lookahead == '_') ADVANCE(164); if (('0' <= lookahead && lookahead <= '9') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(139); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(163); END_STATE(); case 5: - if (lookahead == '#') ADVANCE(65); - if (lookahead == '/') ADVANCE(10); - if (lookahead == ';') ADVANCE(154); + if (lookahead == '#') ADVANCE(71); + if (lookahead == '/') ADVANCE(12); + if (lookahead == ';') ADVANCE(185); if (lookahead == '\t' || lookahead == '\r' || lookahead == ' ') SKIP(5); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(169); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(115); END_STATE(); case 6: - if (lookahead == '$') ADVANCE(20); - if (lookahead == '0') ADVANCE(84); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(86); + if (lookahead == '#') ADVANCE(71); + if (lookahead == '/') ADVANCE(12); + if (lookahead == ';') ADVANCE(185); + if (lookahead == '\t' || + lookahead == '\r' || + lookahead == ' ') SKIP(6); END_STATE(); case 7: - if (lookahead == '$') ADVANCE(20); - if (lookahead == '0') ADVANCE(82); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(83); + if (lookahead == '#') ADVANCE(71); + if (lookahead == '/') ADVANCE(12); + if (lookahead == ';') ADVANCE(185); + if (lookahead == '\t' || + lookahead == '\r' || + lookahead == ' ') SKIP(7); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(169); END_STATE(); case 8: - if (lookahead == '$') ADVANCE(21); - if (lookahead == '0') ADVANCE(67); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(69); + if (lookahead == '$') ADVANCE(23); + if (lookahead == '0') ADVANCE(95); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(97); END_STATE(); case 9: - if (lookahead == '\'') ADVANCE(94); - if (lookahead != 0) ADVANCE(9); + if (lookahead == '$') ADVANCE(23); + if (lookahead == '0') ADVANCE(93); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(94); END_STATE(); case 10: - if (lookahead == '*') ADVANCE(12); - if (lookahead == '/') ADVANCE(154); + if (lookahead == '$') ADVANCE(24); + if (lookahead == '0') ADVANCE(73); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(75); END_STATE(); case 11: - if (lookahead == '*') ADVANCE(11); - if (lookahead == '/') ADVANCE(155); - if (lookahead != 0) ADVANCE(12); + if (lookahead == '\'') ADVANCE(105); + if (lookahead != 0) ADVANCE(11); END_STATE(); case 12: - if (lookahead == '*') ADVANCE(11); - if (lookahead != 0) ADVANCE(12); + if (lookahead == '*') ADVANCE(14); + if (lookahead == '/') ADVANCE(185); END_STATE(); case 13: - if (lookahead == 'e') ADVANCE(14); + if (lookahead == '*') ADVANCE(13); + if (lookahead == '/') ADVANCE(186); + if (lookahead != 0) ADVANCE(14); END_STATE(); case 14: - if (lookahead == 'l') ADVANCE(56); + if (lookahead == '*') ADVANCE(13); + if (lookahead != 0) ADVANCE(14); END_STATE(); case 15: - if (lookahead == 'r') ADVANCE(50); + if (lookahead == 'e') ADVANCE(16); END_STATE(); case 16: - if (lookahead == 't') ADVANCE(15); + if (lookahead == 'l') ADVANCE(62); END_STATE(); case 17: - if (lookahead == '0' || - lookahead == '1') ADVANCE(85); + if (lookahead == 'r') ADVANCE(56); END_STATE(); case 18: - if (lookahead == '0' || - lookahead == '1') ADVANCE(68); + if (lookahead == 't') ADVANCE(172); END_STATE(); case 19: + if (lookahead == 't') ADVANCE(17); + END_STATE(); + case 20: + if (lookahead == '0' || + lookahead == '1') ADVANCE(96); + END_STATE(); + case 21: + if (lookahead == '0' || + lookahead == '1') ADVANCE(74); + END_STATE(); + case 22: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(87); + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(98); if (('G' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('g' <= lookahead && lookahead <= 'z')) ADVANCE(144); + ('g' <= lookahead && lookahead <= 'z')) ADVANCE(171); END_STATE(); - case 20: + case 23: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(88); + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(99); END_STATE(); - case 21: + case 24: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(70); + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(76); END_STATE(); - case 22: + case 25: if (lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(146); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(175); END_STATE(); - case 23: + case 26: if (('0' <= lookahead && lookahead <= '9') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(143); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(170); END_STATE(); - case 24: + case 27: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(144); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(171); END_STATE(); - case 25: - if (eof) ADVANCE(30); + case 28: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(115); + END_STATE(); + case 29: + if (eof) ADVANCE(34); ADVANCE_MAP( - '\n', 31, + '\n', 35, '"', 1, - '#', 65, - '$', 19, - '%', 23, - '\'', 9, - '(', 34, - '*', 55, - '-', 7, - '.', 147, - '/', 10, - '0', 79, - ':', 33, - ';', 154, - '=', 24, - '[', 52, - 'b', 133, - 'd', 131, - 'q', 132, - 'w', 111, - '{', 38, + '#', 71, + '$', 22, + '%', 26, + '\'', 11, + '(', 38, + '*', 61, + '-', 9, + '.', 178, + '/', 12, + '0', 81, + ':', 37, + ';', 185, + '=', 27, + '[', 58, + 'b', 162, + 'd', 160, + 'q', 161, + 'w', 149, + '{', 44, ); if (lookahead == '\t' || lookahead == '\r' || - lookahead == ' ') SKIP(25); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(80); - if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(139); + lookahead == ' ') SKIP(29); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(83); + if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(163); if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_') ADVANCE(140); + lookahead == '_') ADVANCE(164); END_STATE(); - case 26: - if (eof) ADVANCE(30); + case 30: + if (eof) ADVANCE(34); ADVANCE_MAP( - '\n', 31, + '\n', 35, '"', 1, - '#', 65, - '$', 19, - '%', 23, - '\'', 9, - '-', 7, - '.', 147, - '/', 10, - '0', 79, - ':', 33, - ';', 154, - '=', 24, + '#', 71, + '$', 22, + '%', 26, + '\'', 11, + '-', 9, + '.', 178, + '/', 12, + '0', 81, + ':', 37, + ';', 185, + '=', 27, ); if (lookahead == '\t' || lookahead == '\r' || - lookahead == ' ') SKIP(26); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(80); - if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(139); + lookahead == ' ') SKIP(30); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(83); + if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(163); if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_') ADVANCE(140); + lookahead == '_') ADVANCE(164); END_STATE(); - case 27: - if (eof) ADVANCE(30); + case 31: + if (eof) ADVANCE(34); ADVANCE_MAP( - '\n', 31, + '\n', 35, '"', 1, - '#', 65, - '$', 19, - '%', 61, - '&', 64, - '\'', 9, - '(', 34, - '*', 55, - '+', 53, - ',', 32, - '-', 40, - '.', 147, - '/', 59, - '0', 71, - ';', 154, - '=', 24, - '^', 63, - '|', 62, + '#', 71, + '$', 22, + '%', 67, + '&', 70, + '\'', 11, + '(', 38, + '*', 61, + '+', 59, + ',', 36, + '-', 46, + '.', 178, + '/', 65, + '0', 86, + ';', 185, + '=', 27, + '^', 69, + '|', 68, ); if (lookahead == '\t' || lookahead == '\r' || - lookahead == ' ') SKIP(27); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(72); - if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(139); + lookahead == ' ') SKIP(31); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(88); + if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(163); if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_') ADVANCE(140); + lookahead == '_') ADVANCE(164); END_STATE(); - case 28: - if (eof) ADVANCE(30); + case 32: + if (eof) ADVANCE(34); ADVANCE_MAP( - '\n', 31, - '#', 65, - '%', 60, - '&', 64, - '(', 34, - ')', 35, - '*', 55, - '+', 53, - ',', 32, - '-', 39, - '.', 147, - '/', 59, - ';', 154, - ']', 54, - '^', 63, - 'c', 110, - 'l', 95, - '|', 62, - '}', 41, + '\n', 35, + '#', 71, + '%', 66, + '&', 70, + '(', 38, + ')', 39, + '*', 61, + '+', 59, + ',', 36, + '-', 45, + '.', 178, + '/', 65, + ';', 185, + ']', 60, + '^', 69, + 'c', 111, + 'l', 106, + '|', 68, + '}', 47, ); if (lookahead == '\t' || lookahead == '\r' || - lookahead == ' ') SKIP(28); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || + lookahead == ' ') SKIP(32); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(144); + if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(114); END_STATE(); - case 29: - if (eof) ADVANCE(30); + case 33: + if (eof) ADVANCE(34); ADVANCE_MAP( - '\n', 31, - '#', 65, - '%', 23, - '(', 34, - '.', 22, - '/', 10, - ';', 154, - '}', 41, - '$', 24, - '=', 24, + '\n', 35, + '#', 71, + '%', 26, + '(', 38, + '.', 25, + '/', 12, + ';', 185, + '}', 47, + '$', 27, + '=', 27, ); if (lookahead == '\t' || lookahead == '\r' || - lookahead == ' ') SKIP(29); + lookahead == ' ') SKIP(33); if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_') ADVANCE(142); + lookahead == '_') ADVANCE(168); if (('0' <= lookahead && lookahead <= '9') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(141); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(167); END_STATE(); - case 30: + case 34: ACCEPT_TOKEN(ts_builtin_sym_end); END_STATE(); - case 31: + case 35: ACCEPT_TOKEN(anon_sym_LF); END_STATE(); - case 32: + case 36: ACCEPT_TOKEN(anon_sym_COMMA); END_STATE(); - case 33: + case 37: ACCEPT_TOKEN(anon_sym_COLON); END_STATE(); - case 34: + case 38: ACCEPT_TOKEN(anon_sym_LPAREN); END_STATE(); - case 35: + case 39: ACCEPT_TOKEN(anon_sym_RPAREN); END_STATE(); - case 36: + case 40: + ACCEPT_TOKEN(anon_sym_label); + if (lookahead == '.') ADVANCE(179); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(144); + END_STATE(); + case 41: ACCEPT_TOKEN(anon_sym_label); - if (lookahead == '.') ADVANCE(148); + if (lookahead == '.') ADVANCE(176); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(114); END_STATE(); - case 37: + case 42: ACCEPT_TOKEN(anon_sym_const); - if (lookahead == '.') ADVANCE(148); + if (lookahead == '.') ADVANCE(179); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(144); END_STATE(); - case 38: + case 43: + ACCEPT_TOKEN(anon_sym_const); + if (lookahead == '.') ADVANCE(176); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(114); + END_STATE(); + case 44: ACCEPT_TOKEN(anon_sym_LBRACE); END_STATE(); - case 39: + case 45: ACCEPT_TOKEN(anon_sym_DASH); END_STATE(); - case 40: + case 46: ACCEPT_TOKEN(anon_sym_DASH); - if (lookahead == '$') ADVANCE(20); - if (lookahead == '0') ADVANCE(84); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(86); + if (lookahead == '$') ADVANCE(23); + if (lookahead == '0') ADVANCE(95); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(97); END_STATE(); - case 41: + case 47: ACCEPT_TOKEN(anon_sym_RBRACE); END_STATE(); - case 42: - ACCEPT_TOKEN(anon_sym_byte); - if (lookahead == '.') ADVANCE(148); - if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_') ADVANCE(140); - if (('0' <= lookahead && lookahead <= '9') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(139); - END_STATE(); - case 43: + case 48: ACCEPT_TOKEN(anon_sym_byte); - if (lookahead == '.') ADVANCE(148); + if (lookahead == '.') ADVANCE(179); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(144); END_STATE(); - case 44: - ACCEPT_TOKEN(anon_sym_word); - if (lookahead == '.') ADVANCE(148); + case 49: + ACCEPT_TOKEN(anon_sym_byte); + if (lookahead == '.') ADVANCE(177); + if (lookahead == 't') ADVANCE(157); if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_') ADVANCE(140); + lookahead == '_') ADVANCE(158); if (('0' <= lookahead && lookahead <= '9') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(139); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(157); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(18); END_STATE(); - case 45: + case 50: ACCEPT_TOKEN(anon_sym_word); - if (lookahead == '.') ADVANCE(148); + if (lookahead == '.') ADVANCE(179); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(144); END_STATE(); - case 46: - ACCEPT_TOKEN(anon_sym_dword); - if (lookahead == '.') ADVANCE(148); + case 51: + ACCEPT_TOKEN(anon_sym_word); + if (lookahead == '.') ADVANCE(177); + if (lookahead == 't') ADVANCE(157); if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_') ADVANCE(140); + lookahead == '_') ADVANCE(158); if (('0' <= lookahead && lookahead <= '9') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(139); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(157); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(18); END_STATE(); - case 47: + case 52: ACCEPT_TOKEN(anon_sym_dword); - if (lookahead == '.') ADVANCE(148); + if (lookahead == '.') ADVANCE(179); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(144); END_STATE(); - case 48: - ACCEPT_TOKEN(anon_sym_qword); - if (lookahead == '.') ADVANCE(148); + case 53: + ACCEPT_TOKEN(anon_sym_dword); + if (lookahead == '.') ADVANCE(177); + if (lookahead == 't') ADVANCE(157); if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_') ADVANCE(140); + lookahead == '_') ADVANCE(158); if (('0' <= lookahead && lookahead <= '9') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(139); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(157); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(18); END_STATE(); - case 49: + case 54: ACCEPT_TOKEN(anon_sym_qword); - if (lookahead == '.') ADVANCE(148); + if (lookahead == '.') ADVANCE(179); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(144); END_STATE(); - case 50: + case 55: + ACCEPT_TOKEN(anon_sym_qword); + if (lookahead == '.') ADVANCE(177); + if (lookahead == 't') ADVANCE(157); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_') ADVANCE(158); + if (('0' <= lookahead && lookahead <= '9') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(157); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(18); + END_STATE(); + case 56: ACCEPT_TOKEN(anon_sym_ptr); END_STATE(); - case 51: + case 57: ACCEPT_TOKEN(anon_sym_ptr); - if (lookahead == '.') ADVANCE(148); + if (lookahead == '.') ADVANCE(179); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(144); END_STATE(); - case 52: + case 58: ACCEPT_TOKEN(anon_sym_LBRACK); END_STATE(); - case 53: + case 59: ACCEPT_TOKEN(anon_sym_PLUS); END_STATE(); - case 54: + case 60: ACCEPT_TOKEN(anon_sym_RBRACK); END_STATE(); - case 55: + case 61: ACCEPT_TOKEN(anon_sym_STAR); END_STATE(); - case 56: + case 62: ACCEPT_TOKEN(anon_sym_rel); END_STATE(); - case 57: + case 63: ACCEPT_TOKEN(anon_sym_rel); - if (lookahead == '.') ADVANCE(148); + if (lookahead == '.') ADVANCE(179); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(144); END_STATE(); - case 58: + case 64: ACCEPT_TOKEN(anon_sym_BANG); END_STATE(); - case 59: + case 65: ACCEPT_TOKEN(anon_sym_SLASH); - if (lookahead == '*') ADVANCE(12); - if (lookahead == '/') ADVANCE(154); + if (lookahead == '*') ADVANCE(14); + if (lookahead == '/') ADVANCE(185); END_STATE(); - case 60: + case 66: ACCEPT_TOKEN(anon_sym_PERCENT); END_STATE(); - case 61: + case 67: ACCEPT_TOKEN(anon_sym_PERCENT); if (('0' <= lookahead && lookahead <= '9') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(143); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(170); END_STATE(); - case 62: + case 68: ACCEPT_TOKEN(anon_sym_PIPE); END_STATE(); - case 63: + case 69: ACCEPT_TOKEN(anon_sym_CARET); END_STATE(); - case 64: + case 70: ACCEPT_TOKEN(anon_sym_AMP); END_STATE(); - case 65: + case 71: ACCEPT_TOKEN(anon_sym_POUND); END_STATE(); - case 66: + case 72: ACCEPT_TOKEN(anon_sym_POUND); if (lookahead != 0 && - lookahead != '\n') ADVANCE(153); + lookahead != '\n') ADVANCE(184); END_STATE(); - case 67: + case 73: ACCEPT_TOKEN(aux_sym_int_token1); - if (lookahead == 'b') ADVANCE(18); - if (lookahead == 'x') ADVANCE(21); + if (lookahead == 'b') ADVANCE(21); + if (lookahead == 'x') ADVANCE(24); if (('0' <= lookahead && lookahead <= '9') || - lookahead == '_') ADVANCE(69); + lookahead == '_') ADVANCE(75); END_STATE(); - case 68: + case 74: ACCEPT_TOKEN(aux_sym_int_token1); if (lookahead == '0' || lookahead == '1' || - lookahead == '_') ADVANCE(68); + lookahead == '_') ADVANCE(74); END_STATE(); - case 69: + case 75: ACCEPT_TOKEN(aux_sym_int_token1); if (('0' <= lookahead && lookahead <= '9') || - lookahead == '_') ADVANCE(69); + lookahead == '_') ADVANCE(75); END_STATE(); - case 70: + case 76: ACCEPT_TOKEN(aux_sym_int_token1); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(70); - END_STATE(); - case 71: - ACCEPT_TOKEN(aux_sym_int_token2); - if (lookahead == '.') ADVANCE(148); - if (lookahead == '_') ADVANCE(77); - if (lookahead == 'b') ADVANCE(136); - if (lookahead == 'x') ADVANCE(137); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(72); - if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(139); - if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(140); - END_STATE(); - case 72: - ACCEPT_TOKEN(aux_sym_int_token2); - if (lookahead == '.') ADVANCE(148); - if (lookahead == '_') ADVANCE(77); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(72); - if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(140); - if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(139); - END_STATE(); - case 73: - ACCEPT_TOKEN(aux_sym_int_token2); - if (lookahead == '.') ADVANCE(148); - if (lookahead == '_') ADVANCE(75); - if (lookahead == '0' || - lookahead == '1') ADVANCE(73); - if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(140); - if (('2' <= lookahead && lookahead <= '9') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(139); + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(76); END_STATE(); - case 74: + case 77: ACCEPT_TOKEN(aux_sym_int_token2); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'b') ADVANCE(135); - if (lookahead == 'x') ADVANCE(138); + if (lookahead == '.') ADVANCE(179); + if (lookahead == 'b') ADVANCE(142); + if (lookahead == 'x') ADVANCE(143); if (('0' <= lookahead && lookahead <= '9') || - lookahead == '_') ADVANCE(77); + lookahead == '_') ADVANCE(79); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(144); END_STATE(); - case 75: + case 78: ACCEPT_TOKEN(aux_sym_int_token2); - if (lookahead == '.') ADVANCE(148); + if (lookahead == '.') ADVANCE(179); if (lookahead == '0' || lookahead == '1' || - lookahead == '_') ADVANCE(75); + lookahead == '_') ADVANCE(78); if (('2' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); - END_STATE(); - case 76: - ACCEPT_TOKEN(aux_sym_int_token2); - if (lookahead == '.') ADVANCE(148); - if (('A' <= lookahead && lookahead <= 'F') || - lookahead == '_') ADVANCE(78); - if (('0' <= lookahead && lookahead <= '9') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(76); - if (('G' <= lookahead && lookahead <= 'Z')) ADVANCE(140); - if (('g' <= lookahead && lookahead <= 'z')) ADVANCE(139); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(144); END_STATE(); - case 77: + case 79: ACCEPT_TOKEN(aux_sym_int_token2); - if (lookahead == '.') ADVANCE(148); + if (lookahead == '.') ADVANCE(179); if (('0' <= lookahead && lookahead <= '9') || - lookahead == '_') ADVANCE(77); + lookahead == '_') ADVANCE(79); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(144); END_STATE(); - case 78: + case 80: ACCEPT_TOKEN(aux_sym_int_token2); - if (lookahead == '.') ADVANCE(148); + if (lookahead == '.') ADVANCE(179); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(78); + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(80); if (('G' <= lookahead && lookahead <= 'Z') || - ('g' <= lookahead && lookahead <= 'z')) ADVANCE(140); - END_STATE(); - case 79: - ACCEPT_TOKEN(aux_sym_int_token2); - if (lookahead == '.') ADVANCE(89); - if (lookahead == '_') ADVANCE(81); - if (lookahead == 'b') ADVANCE(136); - if (lookahead == 'x') ADVANCE(137); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(80); - if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(139); - if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(140); - END_STATE(); - case 80: - ACCEPT_TOKEN(aux_sym_int_token2); - if (lookahead == '.') ADVANCE(89); - if (lookahead == '_') ADVANCE(81); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(80); - if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(140); - if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(139); + ('g' <= lookahead && lookahead <= 'z')) ADVANCE(144); END_STATE(); case 81: ACCEPT_TOKEN(aux_sym_int_token2); - if (lookahead == '.') ADVANCE(89); - if (('0' <= lookahead && lookahead <= '9') || - lookahead == '_') ADVANCE(81); - if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + if (lookahead == '.') ADVANCE(100); + if (lookahead == '_') ADVANCE(84); + if (lookahead == 'b') ADVANCE(155); + if (lookahead == 'x') ADVANCE(156); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(82); + if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(157); + if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(158); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(18); END_STATE(); case 82: ACCEPT_TOKEN(aux_sym_int_token2); - if (lookahead == '.') ADVANCE(90); - if (lookahead == 'b') ADVANCE(17); - if (lookahead == 'x') ADVANCE(20); - if (('0' <= lookahead && lookahead <= '9') || - lookahead == '_') ADVANCE(83); + if (lookahead == '.') ADVANCE(100); + if (lookahead == '_') ADVANCE(84); + if (lookahead == 't') ADVANCE(157); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(82); + if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(157); + if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(158); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(18); END_STATE(); case 83: ACCEPT_TOKEN(aux_sym_int_token2); - if (lookahead == '.') ADVANCE(90); - if (('0' <= lookahead && lookahead <= '9') || - lookahead == '_') ADVANCE(83); + if (lookahead == '.') ADVANCE(100); + if (lookahead == '_') ADVANCE(84); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(82); + if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(158); + if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(157); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(18); END_STATE(); case 84: ACCEPT_TOKEN(aux_sym_int_token2); - if (lookahead == 'b') ADVANCE(17); - if (lookahead == 'x') ADVANCE(20); + if (lookahead == '.') ADVANCE(100); + if (lookahead == 't') ADVANCE(158); if (('0' <= lookahead && lookahead <= '9') || - lookahead == '_') ADVANCE(86); + lookahead == '_') ADVANCE(84); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(158); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(18); END_STATE(); case 85: ACCEPT_TOKEN(aux_sym_int_token2); + if (lookahead == '.') ADVANCE(177); + if (lookahead == '_') ADVANCE(90); + if (lookahead == 't') ADVANCE(157); if (lookahead == '0' || - lookahead == '1' || - lookahead == '_') ADVANCE(85); + lookahead == '1') ADVANCE(85); + if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(158); + if (('2' <= lookahead && lookahead <= '9') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(157); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(18); END_STATE(); case 86: ACCEPT_TOKEN(aux_sym_int_token2); - if (('0' <= lookahead && lookahead <= '9') || - lookahead == '_') ADVANCE(86); + if (lookahead == '.') ADVANCE(177); + if (lookahead == '_') ADVANCE(91); + if (lookahead == 'b') ADVANCE(155); + if (lookahead == 'x') ADVANCE(156); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(87); + if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(157); + if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(158); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(18); END_STATE(); case 87: ACCEPT_TOKEN(aux_sym_int_token2); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(87); - if (('G' <= lookahead && lookahead <= 'Z') || - ('g' <= lookahead && lookahead <= 'z')) ADVANCE(144); + if (lookahead == '.') ADVANCE(177); + if (lookahead == '_') ADVANCE(91); + if (lookahead == 't') ADVANCE(157); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(87); + if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(157); + if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(158); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(18); END_STATE(); case 88: ACCEPT_TOKEN(aux_sym_int_token2); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(88); + if (lookahead == '.') ADVANCE(177); + if (lookahead == '_') ADVANCE(91); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(87); + if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(158); + if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(157); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(18); END_STATE(); case 89: - ACCEPT_TOKEN(sym_float); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(91); - if (lookahead == '.' || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(148); - END_STATE(); + ACCEPT_TOKEN(aux_sym_int_token2); + if (lookahead == '.') ADVANCE(177); + if (lookahead == 't') ADVANCE(157); + if (('A' <= lookahead && lookahead <= 'F') || + lookahead == '_') ADVANCE(92); + if (('0' <= lookahead && lookahead <= '9') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(89); + if (('g' <= lookahead && lookahead <= 'z')) ADVANCE(157); + if (('G' <= lookahead && lookahead <= 'Z')) ADVANCE(158); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(18); + END_STATE(); case 90: - ACCEPT_TOKEN(sym_float); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(92); + ACCEPT_TOKEN(aux_sym_int_token2); + if (lookahead == '.') ADVANCE(177); + if (lookahead == 't') ADVANCE(158); + if (lookahead == '0' || + lookahead == '1' || + lookahead == '_') ADVANCE(90); + if (('2' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(158); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(18); END_STATE(); case 91: - ACCEPT_TOKEN(sym_float); + ACCEPT_TOKEN(aux_sym_int_token2); + if (lookahead == '.') ADVANCE(177); + if (lookahead == 't') ADVANCE(158); if (('0' <= lookahead && lookahead <= '9') || lookahead == '_') ADVANCE(91); - if (lookahead == '.' || - ('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(148); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(158); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(18); END_STATE(); case 92: - ACCEPT_TOKEN(sym_float); + ACCEPT_TOKEN(aux_sym_int_token2); + if (lookahead == '.') ADVANCE(177); + if (lookahead == 't') ADVANCE(158); if (('0' <= lookahead && lookahead <= '9') || - lookahead == '_') ADVANCE(92); + ('A' <= lookahead && lookahead <= 'F') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(92); + if (('G' <= lookahead && lookahead <= 'Z') || + ('g' <= lookahead && lookahead <= 'z')) ADVANCE(158); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(18); END_STATE(); case 93: - ACCEPT_TOKEN(aux_sym_string_token1); + ACCEPT_TOKEN(aux_sym_int_token2); + if (lookahead == '.') ADVANCE(101); + if (lookahead == 'b') ADVANCE(20); + if (lookahead == 'x') ADVANCE(23); + if (('0' <= lookahead && lookahead <= '9') || + lookahead == '_') ADVANCE(94); END_STATE(); case 94: - ACCEPT_TOKEN(aux_sym_string_token2); + ACCEPT_TOKEN(aux_sym_int_token2); + if (lookahead == '.') ADVANCE(101); + if (('0' <= lookahead && lookahead <= '9') || + lookahead == '_') ADVANCE(94); END_STATE(); case 95: - ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'a') ADVANCE(96); + ACCEPT_TOKEN(aux_sym_int_token2); + if (lookahead == 'b') ADVANCE(20); + if (lookahead == 'x') ADVANCE(23); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('b' <= lookahead && lookahead <= 'z')) ADVANCE(140); + lookahead == '_') ADVANCE(97); END_STATE(); case 96: - ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'b') ADVANCE(106); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ACCEPT_TOKEN(aux_sym_int_token2); + if (lookahead == '0' || + lookahead == '1' || + lookahead == '_') ADVANCE(96); END_STATE(); case 97: - ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'd') ADVANCE(45); + ACCEPT_TOKEN(aux_sym_int_token2); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + lookahead == '_') ADVANCE(97); END_STATE(); case 98: - ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'd') ADVANCE(47); + ACCEPT_TOKEN(aux_sym_int_token2); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || + ('A' <= lookahead && lookahead <= 'F') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(98); + if (('G' <= lookahead && lookahead <= 'Z') || + ('g' <= lookahead && lookahead <= 'z')) ADVANCE(171); END_STATE(); case 99: - ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'd') ADVANCE(49); + ACCEPT_TOKEN(aux_sym_int_token2); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || + ('A' <= lookahead && lookahead <= 'F') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(99); END_STATE(); case 100: - ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'd') ADVANCE(44); - if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_') ADVANCE(140); - if (('0' <= lookahead && lookahead <= '9') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(139); + ACCEPT_TOKEN(sym_float); + if (lookahead == 't') ADVANCE(173); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(102); + if (lookahead == '.' || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(179); END_STATE(); case 101: - ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'd') ADVANCE(46); - if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_') ADVANCE(140); - if (('0' <= lookahead && lookahead <= '9') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(139); + ACCEPT_TOKEN(sym_float); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(103); END_STATE(); case 102: - ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'd') ADVANCE(48); - if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_') ADVANCE(140); + ACCEPT_TOKEN(sym_float); if (('0' <= lookahead && lookahead <= '9') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(139); + lookahead == '_') ADVANCE(102); + if (lookahead == '.' || + ('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(179); END_STATE(); case 103: - ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'e') ADVANCE(107); + ACCEPT_TOKEN(sym_float); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + lookahead == '_') ADVANCE(103); END_STATE(); case 104: - ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'e') ADVANCE(43); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ACCEPT_TOKEN(aux_sym_string_token1); END_STATE(); case 105: - ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'e') ADVANCE(42); - if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_') ADVANCE(140); - if (('0' <= lookahead && lookahead <= '9') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(139); + ACCEPT_TOKEN(aux_sym_string_token2); END_STATE(); case 106: - ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'e') ADVANCE(108); + ACCEPT_TOKEN(sym_op); + if (lookahead == '.') ADVANCE(176); + if (lookahead == 'a') ADVANCE(107); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('b' <= lookahead && lookahead <= 'z')) ADVANCE(114); END_STATE(); case 107: - ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'l') ADVANCE(57); + ACCEPT_TOKEN(sym_op); + if (lookahead == '.') ADVANCE(176); + if (lookahead == 'b') ADVANCE(108); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(114); END_STATE(); case 108: - ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'l') ADVANCE(36); + ACCEPT_TOKEN(sym_op); + if (lookahead == '.') ADVANCE(176); + if (lookahead == 'e') ADVANCE(109); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(114); END_STATE(); case 109: - ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'n') ADVANCE(124); + ACCEPT_TOKEN(sym_op); + if (lookahead == '.') ADVANCE(176); + if (lookahead == 'l') ADVANCE(41); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(114); END_STATE(); case 110: - ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'o') ADVANCE(109); + ACCEPT_TOKEN(sym_op); + if (lookahead == '.') ADVANCE(176); + if (lookahead == 'n') ADVANCE(112); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(114); END_STATE(); case 111: - ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'o') ADVANCE(119); - if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_') ADVANCE(140); + ACCEPT_TOKEN(sym_op); + if (lookahead == '.') ADVANCE(176); + if (lookahead == 'o') ADVANCE(110); if (('0' <= lookahead && lookahead <= '9') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(139); + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(114); END_STATE(); case 112: - ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'o') ADVANCE(118); + ACCEPT_TOKEN(sym_op); + if (lookahead == '.') ADVANCE(176); + if (lookahead == 's') ADVANCE(113); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(114); END_STATE(); case 113: - ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'o') ADVANCE(120); + ACCEPT_TOKEN(sym_op); + if (lookahead == '.') ADVANCE(176); + if (lookahead == 't') ADVANCE(43); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(114); END_STATE(); case 114: - ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'o') ADVANCE(122); + ACCEPT_TOKEN(sym_op); + if (lookahead == '.') ADVANCE(176); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(114); END_STATE(); case 115: - ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'o') ADVANCE(121); - if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_') ADVANCE(140); + ACCEPT_TOKEN(sym_op); + if (lookahead == '.') ADVANCE(28); if (('0' <= lookahead && lookahead <= '9') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(139); + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(115); END_STATE(); case 116: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'o') ADVANCE(123); - if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_') ADVANCE(140); + if (lookahead == '.') ADVANCE(179); + if (lookahead == 'a') ADVANCE(117); if (('0' <= lookahead && lookahead <= '9') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(139); + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('b' <= lookahead && lookahead <= 'z')) ADVANCE(144); END_STATE(); case 117: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'r') ADVANCE(51); + if (lookahead == '.') ADVANCE(179); + if (lookahead == 'b') ADVANCE(123); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(144); END_STATE(); case 118: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'r') ADVANCE(97); + if (lookahead == '.') ADVANCE(179); + if (lookahead == 'd') ADVANCE(50); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(144); END_STATE(); case 119: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'r') ADVANCE(100); - if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_') ADVANCE(140); + if (lookahead == '.') ADVANCE(179); + if (lookahead == 'd') ADVANCE(52); if (('0' <= lookahead && lookahead <= '9') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(139); + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(144); END_STATE(); case 120: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'r') ADVANCE(98); + if (lookahead == '.') ADVANCE(179); + if (lookahead == 'd') ADVANCE(54); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(144); END_STATE(); case 121: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'r') ADVANCE(101); - if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_') ADVANCE(140); + if (lookahead == '.') ADVANCE(179); + if (lookahead == 'e') ADVANCE(124); if (('0' <= lookahead && lookahead <= '9') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(139); + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(144); END_STATE(); case 122: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'r') ADVANCE(99); + if (lookahead == '.') ADVANCE(179); + if (lookahead == 'e') ADVANCE(48); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(144); END_STATE(); case 123: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'r') ADVANCE(102); - if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_') ADVANCE(140); + if (lookahead == '.') ADVANCE(179); + if (lookahead == 'e') ADVANCE(125); if (('0' <= lookahead && lookahead <= '9') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(139); + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(144); END_STATE(); case 124: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 's') ADVANCE(126); + if (lookahead == '.') ADVANCE(179); + if (lookahead == 'l') ADVANCE(63); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(144); END_STATE(); case 125: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 't') ADVANCE(117); + if (lookahead == '.') ADVANCE(179); + if (lookahead == 'l') ADVANCE(40); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(144); END_STATE(); case 126: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 't') ADVANCE(37); + if (lookahead == '.') ADVANCE(179); + if (lookahead == 'n') ADVANCE(135); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(144); END_STATE(); case 127: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 't') ADVANCE(105); - if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_') ADVANCE(140); + if (lookahead == '.') ADVANCE(179); + if (lookahead == 'o') ADVANCE(126); if (('0' <= lookahead && lookahead <= '9') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(139); + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(144); END_STATE(); case 128: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 't') ADVANCE(104); + if (lookahead == '.') ADVANCE(179); + if (lookahead == 'o') ADVANCE(132); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(144); END_STATE(); case 129: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'w') ADVANCE(113); + if (lookahead == '.') ADVANCE(179); + if (lookahead == 'o') ADVANCE(133); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(144); END_STATE(); case 130: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'w') ADVANCE(114); + if (lookahead == '.') ADVANCE(179); + if (lookahead == 'o') ADVANCE(134); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(144); END_STATE(); case 131: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'w') ADVANCE(115); - if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_') ADVANCE(140); + if (lookahead == '.') ADVANCE(179); + if (lookahead == 'r') ADVANCE(57); if (('0' <= lookahead && lookahead <= '9') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(139); + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(144); END_STATE(); case 132: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'w') ADVANCE(116); - if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_') ADVANCE(140); + if (lookahead == '.') ADVANCE(179); + if (lookahead == 'r') ADVANCE(118); if (('0' <= lookahead && lookahead <= '9') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(139); + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(144); END_STATE(); case 133: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'y') ADVANCE(127); - if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_') ADVANCE(140); + if (lookahead == '.') ADVANCE(179); + if (lookahead == 'r') ADVANCE(119); if (('0' <= lookahead && lookahead <= '9') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(139); + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(144); END_STATE(); case 134: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'y') ADVANCE(128); + if (lookahead == '.') ADVANCE(179); + if (lookahead == 'r') ADVANCE(120); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(144); END_STATE(); case 135: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == '0' || - lookahead == '1') ADVANCE(75); - if (('2' <= lookahead && lookahead <= '9') || + if (lookahead == '.') ADVANCE(179); + if (lookahead == 's') ADVANCE(137); + if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(144); END_STATE(); case 136: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == '0' || - lookahead == '1') ADVANCE(73); - if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_') ADVANCE(140); - if (('2' <= lookahead && lookahead <= '9') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(139); + if (lookahead == '.') ADVANCE(179); + if (lookahead == 't') ADVANCE(131); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(144); END_STATE(); case 137: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (('A' <= lookahead && lookahead <= 'F')) ADVANCE(78); + if (lookahead == '.') ADVANCE(179); + if (lookahead == 't') ADVANCE(42); if (('0' <= lookahead && lookahead <= '9') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(76); - if (('g' <= lookahead && lookahead <= 'z')) ADVANCE(139); - if (('G' <= lookahead && lookahead <= 'Z') || - lookahead == '_') ADVANCE(140); + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(144); END_STATE(); case 138: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); + if (lookahead == '.') ADVANCE(179); + if (lookahead == 't') ADVANCE(122); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(78); - if (('G' <= lookahead && lookahead <= 'Z') || + ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('g' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(144); END_STATE(); case 139: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_') ADVANCE(140); + if (lookahead == '.') ADVANCE(179); + if (lookahead == 'w') ADVANCE(129); if (('0' <= lookahead && lookahead <= '9') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(139); + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(144); END_STATE(); case 140: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); + if (lookahead == '.') ADVANCE(179); + if (lookahead == 'w') ADVANCE(130); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(144); END_STATE(); case 141: ACCEPT_TOKEN(sym_word); - if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_') ADVANCE(142); + if (lookahead == '.') ADVANCE(179); + if (lookahead == 'y') ADVANCE(138); if (('0' <= lookahead && lookahead <= '9') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(141); + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(144); END_STATE(); case 142: ACCEPT_TOKEN(sym_word); - if (('0' <= lookahead && lookahead <= '9') || + if (lookahead == '.') ADVANCE(179); + if (lookahead == '0' || + lookahead == '1') ADVANCE(78); + if (('2' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(142); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(144); END_STATE(); case 143: - ACCEPT_TOKEN(sym__reg); + ACCEPT_TOKEN(sym_word); + if (lookahead == '.') ADVANCE(179); if (('0' <= lookahead && lookahead <= '9') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(143); + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(80); + if (('G' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('g' <= lookahead && lookahead <= 'z')) ADVANCE(144); END_STATE(); case 144: - ACCEPT_TOKEN(sym_address); + ACCEPT_TOKEN(sym_word); + if (lookahead == '.') ADVANCE(179); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(144); END_STATE(); case 145: - ACCEPT_TOKEN(sym_meta_ident); - if (lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(145); - if (lookahead == '.' || - ('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z')) ADVANCE(148); + ACCEPT_TOKEN(sym_word); + if (lookahead == '.') ADVANCE(177); + if (lookahead == 'd') ADVANCE(51); + if (lookahead == 't') ADVANCE(157); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_') ADVANCE(158); + if (('0' <= lookahead && lookahead <= '9') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(157); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(18); END_STATE(); case 146: - ACCEPT_TOKEN(sym_meta_ident); - if (lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(146); + ACCEPT_TOKEN(sym_word); + if (lookahead == '.') ADVANCE(177); + if (lookahead == 'd') ADVANCE(53); + if (lookahead == 't') ADVANCE(157); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_') ADVANCE(158); + if (('0' <= lookahead && lookahead <= '9') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(157); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(18); END_STATE(); case 147: - ACCEPT_TOKEN(sym__ident); - if (lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(145); - if (lookahead == '.' || - ('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z')) ADVANCE(148); + ACCEPT_TOKEN(sym_word); + if (lookahead == '.') ADVANCE(177); + if (lookahead == 'd') ADVANCE(55); + if (lookahead == 't') ADVANCE(157); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_') ADVANCE(158); + if (('0' <= lookahead && lookahead <= '9') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(157); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(18); END_STATE(); case 148: - ACCEPT_TOKEN(sym__ident); - if (lookahead == '.' || - ('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(148); + ACCEPT_TOKEN(sym_word); + if (lookahead == '.') ADVANCE(177); + if (lookahead == 'e') ADVANCE(49); + if (lookahead == 't') ADVANCE(157); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_') ADVANCE(158); + if (('0' <= lookahead && lookahead <= '9') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(157); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(18); END_STATE(); case 149: - ACCEPT_TOKEN(aux_sym_line_comment_token1); - if (lookahead == '\n') ADVANCE(12); - if (lookahead == '*') ADVANCE(149); - if (lookahead == '/') ADVANCE(153); - if (lookahead != 0) ADVANCE(150); + ACCEPT_TOKEN(sym_word); + if (lookahead == '.') ADVANCE(177); + if (lookahead == 'o') ADVANCE(152); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_') ADVANCE(158); + if (('0' <= lookahead && lookahead <= '9') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(157); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(18); END_STATE(); case 150: - ACCEPT_TOKEN(aux_sym_line_comment_token1); - if (lookahead == '\n') ADVANCE(12); - if (lookahead == '*') ADVANCE(149); - if (lookahead != 0) ADVANCE(150); + ACCEPT_TOKEN(sym_word); + if (lookahead == '.') ADVANCE(177); + if (lookahead == 'o') ADVANCE(153); + if (lookahead == 't') ADVANCE(157); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_') ADVANCE(158); + if (('0' <= lookahead && lookahead <= '9') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(157); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(18); END_STATE(); case 151: - ACCEPT_TOKEN(aux_sym_line_comment_token1); - if (lookahead == '#') ADVANCE(66); - if (lookahead == '/') ADVANCE(152); - if (lookahead == ';') ADVANCE(153); - if (lookahead == '\t' || - lookahead == '\r' || - lookahead == ' ') ADVANCE(151); + ACCEPT_TOKEN(sym_word); + if (lookahead == '.') ADVANCE(177); + if (lookahead == 'o') ADVANCE(154); + if (lookahead == 't') ADVANCE(157); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_') ADVANCE(158); + if (('0' <= lookahead && lookahead <= '9') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(157); if (lookahead != 0 && - lookahead != '\t' && - lookahead != '\n') ADVANCE(153); + lookahead != '\n') ADVANCE(18); END_STATE(); case 152: - ACCEPT_TOKEN(aux_sym_line_comment_token1); - if (lookahead == '*') ADVANCE(150); - if (lookahead == '/') ADVANCE(153); + ACCEPT_TOKEN(sym_word); + if (lookahead == '.') ADVANCE(177); + if (lookahead == 'r') ADVANCE(145); + if (lookahead == 't') ADVANCE(157); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_') ADVANCE(158); + if (('0' <= lookahead && lookahead <= '9') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(157); if (lookahead != 0 && - lookahead != '\n') ADVANCE(153); + lookahead != '\n') ADVANCE(18); END_STATE(); case 153: - ACCEPT_TOKEN(aux_sym_line_comment_token1); + ACCEPT_TOKEN(sym_word); + if (lookahead == '.') ADVANCE(177); + if (lookahead == 'r') ADVANCE(146); + if (lookahead == 't') ADVANCE(157); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_') ADVANCE(158); + if (('0' <= lookahead && lookahead <= '9') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(157); if (lookahead != 0 && - lookahead != '\n') ADVANCE(153); + lookahead != '\n') ADVANCE(18); END_STATE(); case 154: - ACCEPT_TOKEN(aux_sym_line_comment_token2); + ACCEPT_TOKEN(sym_word); + if (lookahead == '.') ADVANCE(177); + if (lookahead == 'r') ADVANCE(147); + if (lookahead == 't') ADVANCE(157); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_') ADVANCE(158); + if (('0' <= lookahead && lookahead <= '9') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(157); if (lookahead != 0 && - lookahead != '\n') ADVANCE(154); + lookahead != '\n') ADVANCE(18); END_STATE(); case 155: - ACCEPT_TOKEN(sym_block_comment); + ACCEPT_TOKEN(sym_word); + if (lookahead == '.') ADVANCE(177); + if (lookahead == 't') ADVANCE(157); + if (lookahead == '0' || + lookahead == '1') ADVANCE(85); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_') ADVANCE(158); + if (('2' <= lookahead && lookahead <= '9') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(157); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(18); END_STATE(); - default: - return false; - } -} - -static const TSLexMode ts_lex_modes[STATE_COUNT] = { + case 156: + ACCEPT_TOKEN(sym_word); + if (lookahead == '.') ADVANCE(177); + if (lookahead == 't') ADVANCE(157); + if (('A' <= lookahead && lookahead <= 'F')) ADVANCE(92); + if (('0' <= lookahead && lookahead <= '9') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(89); + if (('g' <= lookahead && lookahead <= 'z')) ADVANCE(157); + if (('G' <= lookahead && lookahead <= 'Z') || + lookahead == '_') ADVANCE(158); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(18); + END_STATE(); + case 157: + ACCEPT_TOKEN(sym_word); + if (lookahead == '.') ADVANCE(177); + if (lookahead == 't') ADVANCE(157); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_') ADVANCE(158); + if (('0' <= lookahead && lookahead <= '9') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(157); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(18); + END_STATE(); + case 158: + ACCEPT_TOKEN(sym_word); + if (lookahead == '.') ADVANCE(177); + if (lookahead == 't') ADVANCE(158); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(158); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(18); + END_STATE(); + case 159: + ACCEPT_TOKEN(sym_word); + if (lookahead == '.') ADVANCE(177); + if (lookahead == 't') ADVANCE(148); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_') ADVANCE(158); + if (('0' <= lookahead && lookahead <= '9') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(157); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(18); + END_STATE(); + case 160: + ACCEPT_TOKEN(sym_word); + if (lookahead == '.') ADVANCE(177); + if (lookahead == 'w') ADVANCE(150); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_') ADVANCE(158); + if (('0' <= lookahead && lookahead <= '9') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(157); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(18); + END_STATE(); + case 161: + ACCEPT_TOKEN(sym_word); + if (lookahead == '.') ADVANCE(177); + if (lookahead == 'w') ADVANCE(151); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_') ADVANCE(158); + if (('0' <= lookahead && lookahead <= '9') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(157); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(18); + END_STATE(); + case 162: + ACCEPT_TOKEN(sym_word); + if (lookahead == '.') ADVANCE(177); + if (lookahead == 'y') ADVANCE(159); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_') ADVANCE(158); + if (('0' <= lookahead && lookahead <= '9') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(157); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(18); + END_STATE(); + case 163: + ACCEPT_TOKEN(sym_word); + if (lookahead == '.') ADVANCE(177); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_') ADVANCE(158); + if (('0' <= lookahead && lookahead <= '9') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(157); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(18); + END_STATE(); + case 164: + ACCEPT_TOKEN(sym_word); + if (lookahead == '.') ADVANCE(177); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(158); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(18); + END_STATE(); + case 165: + ACCEPT_TOKEN(sym_word); + if (lookahead == 't') ADVANCE(165); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(165); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(18); + END_STATE(); + case 166: + ACCEPT_TOKEN(sym_word); + if (lookahead == 't') ADVANCE(166); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_') ADVANCE(165); + if (('0' <= lookahead && lookahead <= '9') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(166); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(18); + END_STATE(); + case 167: + ACCEPT_TOKEN(sym_word); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_') ADVANCE(165); + if (('0' <= lookahead && lookahead <= '9') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(166); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(18); + END_STATE(); + case 168: + ACCEPT_TOKEN(sym_word); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(165); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(18); + END_STATE(); + case 169: + ACCEPT_TOKEN(sym_word); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(169); + END_STATE(); + case 170: + ACCEPT_TOKEN(sym__reg); + if (('0' <= lookahead && lookahead <= '9') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(170); + END_STATE(); + case 171: + ACCEPT_TOKEN(sym_address); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(171); + END_STATE(); + case 172: + ACCEPT_TOKEN(sym_flag); + END_STATE(); + case 173: + ACCEPT_TOKEN(sym_flag); + if (lookahead == '.' || + ('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(179); + END_STATE(); + case 174: + ACCEPT_TOKEN(sym_meta_ident); + if (lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(174); + if (lookahead == '.' || + ('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z')) ADVANCE(179); + END_STATE(); + case 175: + ACCEPT_TOKEN(sym_meta_ident); + if (lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(175); + END_STATE(); + case 176: + ACCEPT_TOKEN(sym__ident); + if (lookahead == '.') ADVANCE(179); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(114); + END_STATE(); + case 177: + ACCEPT_TOKEN(sym__ident); + if (lookahead == 't') ADVANCE(173); + if (lookahead == '.' || + ('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(179); + END_STATE(); + case 178: + ACCEPT_TOKEN(sym__ident); + if (lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(174); + if (lookahead == '.' || + ('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z')) ADVANCE(179); + END_STATE(); + case 179: + ACCEPT_TOKEN(sym__ident); + if (lookahead == '.' || + ('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(179); + END_STATE(); + case 180: + ACCEPT_TOKEN(aux_sym_line_comment_token1); + if (lookahead == '\n') ADVANCE(14); + if (lookahead == '*') ADVANCE(180); + if (lookahead == '/') ADVANCE(184); + if (lookahead != 0) ADVANCE(181); + END_STATE(); + case 181: + ACCEPT_TOKEN(aux_sym_line_comment_token1); + if (lookahead == '\n') ADVANCE(14); + if (lookahead == '*') ADVANCE(180); + if (lookahead != 0) ADVANCE(181); + END_STATE(); + case 182: + ACCEPT_TOKEN(aux_sym_line_comment_token1); + if (lookahead == '#') ADVANCE(72); + if (lookahead == '/') ADVANCE(183); + if (lookahead == ';') ADVANCE(184); + if (lookahead == '\t' || + lookahead == '\r' || + lookahead == ' ') ADVANCE(182); + if (lookahead != 0 && + lookahead != '\t' && + lookahead != '\n') ADVANCE(184); + END_STATE(); + case 183: + ACCEPT_TOKEN(aux_sym_line_comment_token1); + if (lookahead == '*') ADVANCE(181); + if (lookahead == '/') ADVANCE(184); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(184); + END_STATE(); + case 184: + ACCEPT_TOKEN(aux_sym_line_comment_token1); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(184); + END_STATE(); + case 185: + ACCEPT_TOKEN(aux_sym_line_comment_token2); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(185); + END_STATE(); + case 186: + ACCEPT_TOKEN(sym_block_comment); + END_STATE(); + default: + return false; + } +} + +static const TSLexerMode ts_lex_modes[STATE_COUNT] = { [0] = {.lex_state = 0}, - [1] = {.lex_state = 28}, - [2] = {.lex_state = 25}, - [3] = {.lex_state = 25}, - [4] = {.lex_state = 25}, - [5] = {.lex_state = 25}, - [6] = {.lex_state = 27}, - [7] = {.lex_state = 27}, - [8] = {.lex_state = 27}, - [9] = {.lex_state = 27}, - [10] = {.lex_state = 27}, - [11] = {.lex_state = 27}, - [12] = {.lex_state = 27}, - [13] = {.lex_state = 27}, - [14] = {.lex_state = 27}, - [15] = {.lex_state = 27}, - [16] = {.lex_state = 27}, - [17] = {.lex_state = 27}, - [18] = {.lex_state = 27}, - [19] = {.lex_state = 27}, - [20] = {.lex_state = 27}, - [21] = {.lex_state = 27}, - [22] = {.lex_state = 26}, - [23] = {.lex_state = 26}, - [24] = {.lex_state = 27}, - [25] = {.lex_state = 27}, - [26] = {.lex_state = 27}, - [27] = {.lex_state = 27}, - [28] = {.lex_state = 27}, - [29] = {.lex_state = 27}, - [30] = {.lex_state = 27}, - [31] = {.lex_state = 27}, - [32] = {.lex_state = 27}, - [33] = {.lex_state = 27}, - [34] = {.lex_state = 27}, - [35] = {.lex_state = 28}, - [36] = {.lex_state = 28}, - [37] = {.lex_state = 28}, - [38] = {.lex_state = 28}, - [39] = {.lex_state = 28}, - [40] = {.lex_state = 28}, - [41] = {.lex_state = 28}, - [42] = {.lex_state = 28}, - [43] = {.lex_state = 28}, - [44] = {.lex_state = 28}, - [45] = {.lex_state = 28}, - [46] = {.lex_state = 28}, - [47] = {.lex_state = 28}, - [48] = {.lex_state = 28}, - [49] = {.lex_state = 28}, - [50] = {.lex_state = 27}, - [51] = {.lex_state = 27}, - [52] = {.lex_state = 28}, - [53] = {.lex_state = 28}, - [54] = {.lex_state = 4}, + [1] = {.lex_state = 32}, + [2] = {.lex_state = 29}, + [3] = {.lex_state = 29}, + [4] = {.lex_state = 29}, + [5] = {.lex_state = 29}, + [6] = {.lex_state = 31}, + [7] = {.lex_state = 31}, + [8] = {.lex_state = 31}, + [9] = {.lex_state = 31}, + [10] = {.lex_state = 31}, + [11] = {.lex_state = 31}, + [12] = {.lex_state = 31}, + [13] = {.lex_state = 31}, + [14] = {.lex_state = 31}, + [15] = {.lex_state = 31}, + [16] = {.lex_state = 31}, + [17] = {.lex_state = 31}, + [18] = {.lex_state = 31}, + [19] = {.lex_state = 31}, + [20] = {.lex_state = 31}, + [21] = {.lex_state = 31}, + [22] = {.lex_state = 30}, + [23] = {.lex_state = 30}, + [24] = {.lex_state = 31}, + [25] = {.lex_state = 31}, + [26] = {.lex_state = 31}, + [27] = {.lex_state = 31}, + [28] = {.lex_state = 31}, + [29] = {.lex_state = 31}, + [30] = {.lex_state = 31}, + [31] = {.lex_state = 31}, + [32] = {.lex_state = 31}, + [33] = {.lex_state = 31}, + [34] = {.lex_state = 31}, + [35] = {.lex_state = 32}, + [36] = {.lex_state = 32}, + [37] = {.lex_state = 32}, + [38] = {.lex_state = 32}, + [39] = {.lex_state = 32}, + [40] = {.lex_state = 32}, + [41] = {.lex_state = 32}, + [42] = {.lex_state = 32}, + [43] = {.lex_state = 32}, + [44] = {.lex_state = 32}, + [45] = {.lex_state = 31}, + [46] = {.lex_state = 32}, + [47] = {.lex_state = 31}, + [48] = {.lex_state = 32}, + [49] = {.lex_state = 32}, + [50] = {.lex_state = 32}, + [51] = {.lex_state = 32}, + [52] = {.lex_state = 32}, + [53] = {.lex_state = 4}, + [54] = {.lex_state = 32}, [55] = {.lex_state = 4}, - [56] = {.lex_state = 29}, - [57] = {.lex_state = 29}, - [58] = {.lex_state = 29}, - [59] = {.lex_state = 29}, - [60] = {.lex_state = 29}, - [61] = {.lex_state = 0}, - [62] = {.lex_state = 28}, - [63] = {.lex_state = 28}, - [64] = {.lex_state = 0}, - [65] = {.lex_state = 0}, + [56] = {.lex_state = 33}, + [57] = {.lex_state = 33}, + [58] = {.lex_state = 33}, + [59] = {.lex_state = 33}, + [60] = {.lex_state = 33}, + [61] = {.lex_state = 33}, + [62] = {.lex_state = 33}, + [63] = {.lex_state = 33}, + [64] = {.lex_state = 33}, + [65] = {.lex_state = 33}, [66] = {.lex_state = 0}, - [67] = {.lex_state = 29}, + [67] = {.lex_state = 0}, [68] = {.lex_state = 0}, [69] = {.lex_state = 0}, [70] = {.lex_state = 0}, [71] = {.lex_state = 0}, - [72] = {.lex_state = 29}, - [73] = {.lex_state = 29}, + [72] = {.lex_state = 0}, + [73] = {.lex_state = 0}, [74] = {.lex_state = 0}, - [75] = {.lex_state = 29}, - [76] = {.lex_state = 28}, + [75] = {.lex_state = 0}, + [76] = {.lex_state = 0}, [77] = {.lex_state = 0}, - [78] = {.lex_state = 0}, - [79] = {.lex_state = 29}, + [78] = {.lex_state = 32}, + [79] = {.lex_state = 0}, [80] = {.lex_state = 0}, [81] = {.lex_state = 0}, - [82] = {.lex_state = 28}, - [83] = {.lex_state = 0}, - [84] = {.lex_state = 0}, + [82] = {.lex_state = 0}, + [83] = {.lex_state = 32}, + [84] = {.lex_state = 32}, [85] = {.lex_state = 0}, [86] = {.lex_state = 0}, - [87] = {.lex_state = 0}, + [87] = {.lex_state = 32}, [88] = {.lex_state = 0}, [89] = {.lex_state = 0}, [90] = {.lex_state = 0}, @@ -2007,52 +2387,52 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [92] = {.lex_state = 0}, [93] = {.lex_state = 0}, [94] = {.lex_state = 0}, - [95] = {.lex_state = 0}, + [95] = {.lex_state = 32}, [96] = {.lex_state = 0}, [97] = {.lex_state = 0}, [98] = {.lex_state = 0}, - [99] = {.lex_state = 0}, + [99] = {.lex_state = 32}, [100] = {.lex_state = 0}, [101] = {.lex_state = 0}, - [102] = {.lex_state = 28}, + [102] = {.lex_state = 0}, [103] = {.lex_state = 0}, - [104] = {.lex_state = 28}, - [105] = {.lex_state = 2}, + [104] = {.lex_state = 0}, + [105] = {.lex_state = 0}, [106] = {.lex_state = 0}, [107] = {.lex_state = 0}, [108] = {.lex_state = 0}, - [109] = {.lex_state = 2}, + [109] = {.lex_state = 0}, [110] = {.lex_state = 0}, [111] = {.lex_state = 0}, - [112] = {.lex_state = 0}, - [113] = {.lex_state = 0}, + [112] = {.lex_state = 2}, + [113] = {.lex_state = 5}, [114] = {.lex_state = 0}, [115] = {.lex_state = 2}, - [116] = {.lex_state = 151}, + [116] = {.lex_state = 2}, [117] = {.lex_state = 0}, [118] = {.lex_state = 0}, [119] = {.lex_state = 0}, - [120] = {.lex_state = 0}, + [120] = {.lex_state = 182}, [121] = {.lex_state = 0}, [122] = {.lex_state = 0}, [123] = {.lex_state = 0}, - [124] = {.lex_state = 25}, - [125] = {.lex_state = 3}, - [126] = {.lex_state = 2}, + [124] = {.lex_state = 0}, + [125] = {.lex_state = 0}, + [126] = {.lex_state = 0}, [127] = {.lex_state = 2}, - [128] = {.lex_state = 0}, - [129] = {.lex_state = 0}, - [130] = {.lex_state = 0}, + [128] = {.lex_state = 3}, + [129] = {.lex_state = 7}, + [130] = {.lex_state = 29}, [131] = {.lex_state = 0}, - [132] = {.lex_state = 29}, - [133] = {.lex_state = 29}, + [132] = {.lex_state = 0}, + [133] = {.lex_state = 2}, [134] = {.lex_state = 3}, - [135] = {(TSStateId)(-1)}, - [136] = {(TSStateId)(-1)}, + [135] = {(TSStateId)(-1),}, + [136] = {(TSStateId)(-1),}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { - [0] = { + [STATE(0)] = { [sym_line_comment] = STATE(0), [ts_builtin_sym_end] = ACTIONS(1), [anon_sym_LF] = ACTIONS(1), @@ -2092,34 +2472,35 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_line_comment_token2] = ACTIONS(5), [sym_block_comment] = ACTIONS(7), }, - [1] = { - [sym_program] = STATE(130), - [sym__item] = STATE(81), - [sym_meta] = STATE(114), - [sym_label] = STATE(114), - [sym_const] = STATE(114), - [sym_instruction] = STATE(114), + [STATE(1)] = { + [sym_program] = STATE(122), + [sym__item] = STATE(71), + [sym_meta] = STATE(105), + [sym_label] = STATE(105), + [sym_const] = STATE(105), + [sym_instruction] = STATE(105), [sym_line_comment] = STATE(1), [ts_builtin_sym_end] = ACTIONS(9), [anon_sym_label] = ACTIONS(11), [anon_sym_const] = ACTIONS(13), [anon_sym_POUND] = ACTIONS(3), - [sym_word] = ACTIONS(15), - [sym_meta_ident] = ACTIONS(17), - [sym__ident] = ACTIONS(19), + [sym_op] = ACTIONS(15), + [sym_word] = ACTIONS(17), + [sym_meta_ident] = ACTIONS(19), + [sym__ident] = ACTIONS(17), [aux_sym_line_comment_token2] = ACTIONS(5), [sym_block_comment] = ACTIONS(7), }, - [2] = { - [sym__expr] = STATE(69), + [STATE(2)] = { + [sym__expr] = STATE(70), [sym_list] = STATE(100), [sym_ptr] = STATE(100), - [sym__tc_expr] = STATE(18), - [sym_tc_infix] = STATE(17), - [sym_int] = STATE(7), - [sym_string] = STATE(10), - [sym_reg] = STATE(11), - [sym_ident] = STATE(10), + [sym__tc_expr] = STATE(14), + [sym_tc_infix] = STATE(13), + [sym_int] = STATE(6), + [sym_string] = STATE(12), + [sym_reg] = STATE(9), + [sym_ident] = STATE(12), [sym_line_comment] = STATE(2), [aux_sym_instruction_repeat2] = STATE(20), [ts_builtin_sym_end] = ACTIONS(21), @@ -2141,6 +2522,7 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_word] = ACTIONS(43), [sym__reg] = ACTIONS(43), [sym_address] = ACTIONS(43), + [sym_flag] = ACTIONS(43), [sym_meta_ident] = ACTIONS(45), [sym__ident] = ACTIONS(45), [aux_sym_line_comment_token2] = ACTIONS(5), @@ -2170,11 +2552,11 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_int_token2, STATE(3), 1, sym_line_comment, - STATE(40), 1, + STATE(41), 1, sym_reg, - STATE(78), 1, + STATE(68), 1, sym_int, - STATE(91), 1, + STATE(93), 1, sym__expr, ACTIONS(47), 2, ts_builtin_sym_end, @@ -2185,21 +2567,22 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(57), 2, sym_meta_ident, sym__ident, - ACTIONS(55), 3, - sym_word, - sym__reg, - sym_address, ACTIONS(29), 4, anon_sym_byte, anon_sym_word, anon_sym_dword, anon_sym_qword, + ACTIONS(55), 4, + sym_word, + sym__reg, + sym_address, + sym_flag, STATE(100), 4, sym_list, sym_ptr, sym_string, sym_ident, - [69] = 19, + [70] = 19, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, @@ -2220,11 +2603,11 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_int_token2, STATE(4), 1, sym_line_comment, - STATE(40), 1, + STATE(41), 1, sym_reg, - STATE(78), 1, + STATE(68), 1, sym_int, - STATE(91), 1, + STATE(93), 1, sym__expr, ACTIONS(53), 2, aux_sym_string_token1, @@ -2235,21 +2618,22 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(59), 2, ts_builtin_sym_end, anon_sym_LF, - ACTIONS(55), 3, - sym_word, - sym__reg, - sym_address, ACTIONS(29), 4, anon_sym_byte, anon_sym_word, anon_sym_dword, anon_sym_qword, + ACTIONS(55), 4, + sym_word, + sym__reg, + sym_address, + sym_flag, STATE(100), 4, sym_list, sym_ptr, sym_string, sym_ident, - [138] = 18, + [140] = 18, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, @@ -2270,11 +2654,11 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_int_token2, STATE(5), 1, sym_line_comment, - STATE(40), 1, + STATE(41), 1, sym_reg, - STATE(78), 1, + STATE(68), 1, sym_int, - STATE(91), 1, + STATE(93), 1, sym__expr, ACTIONS(53), 2, aux_sym_string_token1, @@ -2282,65 +2666,36 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(57), 2, sym_meta_ident, sym__ident, - ACTIONS(55), 3, - sym_word, - sym__reg, - sym_address, ACTIONS(29), 4, anon_sym_byte, anon_sym_word, anon_sym_dword, anon_sym_qword, + ACTIONS(55), 4, + sym_word, + sym__reg, + sym_address, + sym_flag, STATE(100), 4, sym_list, sym_ptr, sym_string, sym_ident, - [203] = 5, - ACTIONS(5), 1, - aux_sym_line_comment_token2, - ACTIONS(7), 1, - sym_block_comment, - STATE(6), 1, - sym_line_comment, - ACTIONS(63), 9, - anon_sym_DASH, - anon_sym_SLASH, - anon_sym_PERCENT, - aux_sym_int_token2, - sym_word, - sym__reg, - sym_address, - sym_meta_ident, - sym__ident, - ACTIONS(61), 12, - ts_builtin_sym_end, - anon_sym_LF, - anon_sym_COMMA, - anon_sym_LPAREN, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_PIPE, - anon_sym_CARET, - anon_sym_AMP, - anon_sym_POUND, - aux_sym_string_token1, - aux_sym_string_token2, - [238] = 8, + [206] = 8, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(68), 1, + ACTIONS(64), 1, anon_sym_COMMA, - ACTIONS(70), 1, + ACTIONS(66), 1, anon_sym_LPAREN, - STATE(7), 1, + STATE(6), 1, sym_line_comment, - ACTIONS(65), 2, + ACTIONS(61), 2, ts_builtin_sym_end, anon_sym_LF, - ACTIONS(74), 8, + ACTIONS(70), 8, anon_sym_PLUS, anon_sym_STAR, anon_sym_PIPE, @@ -2349,7 +2704,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_POUND, aux_sym_string_token1, aux_sym_string_token2, - ACTIONS(72), 9, + ACTIONS(68), 10, anon_sym_DASH, anon_sym_SLASH, anon_sym_PERCENT, @@ -2357,16 +2712,17 @@ static const uint16_t ts_small_parse_table[] = { sym_word, sym__reg, sym_address, + sym_flag, sym_meta_ident, sym__ident, - [279] = 5, + [248] = 5, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - STATE(8), 1, + STATE(7), 1, sym_line_comment, - ACTIONS(78), 9, + ACTIONS(74), 10, anon_sym_DASH, anon_sym_SLASH, anon_sym_PERCENT, @@ -2374,9 +2730,10 @@ static const uint16_t ts_small_parse_table[] = { sym_word, sym__reg, sym_address, + sym_flag, sym_meta_ident, sym__ident, - ACTIONS(76), 12, + ACTIONS(72), 12, ts_builtin_sym_end, anon_sym_LF, anon_sym_COMMA, @@ -2389,14 +2746,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_POUND, aux_sym_string_token1, aux_sym_string_token2, - [314] = 5, + [284] = 5, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - STATE(9), 1, + STATE(8), 1, sym_line_comment, - ACTIONS(82), 9, + ACTIONS(78), 10, anon_sym_DASH, anon_sym_SLASH, anon_sym_PERCENT, @@ -2404,12 +2761,14 @@ static const uint16_t ts_small_parse_table[] = { sym_word, sym__reg, sym_address, + sym_flag, sym_meta_ident, sym__ident, - ACTIONS(80), 11, + ACTIONS(76), 12, ts_builtin_sym_end, anon_sym_LF, anon_sym_COMMA, + anon_sym_LPAREN, anon_sym_PLUS, anon_sym_STAR, anon_sym_PIPE, @@ -2418,19 +2777,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_POUND, aux_sym_string_token1, aux_sym_string_token2, - [348] = 7, + [320] = 5, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(68), 1, - anon_sym_COMMA, - STATE(10), 1, + STATE(9), 1, sym_line_comment, - ACTIONS(65), 2, + ACTIONS(82), 10, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PERCENT, + aux_sym_int_token2, + sym_word, + sym__reg, + sym_address, + sym_flag, + sym_meta_ident, + sym__ident, + ACTIONS(80), 11, ts_builtin_sym_end, anon_sym_LF, - ACTIONS(74), 8, + anon_sym_COMMA, anon_sym_PLUS, anon_sym_STAR, anon_sym_PIPE, @@ -2439,24 +2807,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_POUND, aux_sym_string_token1, aux_sym_string_token2, - ACTIONS(72), 9, - anon_sym_DASH, - anon_sym_SLASH, - anon_sym_PERCENT, - aux_sym_int_token2, - sym_word, - sym__reg, - sym_address, - sym_meta_ident, - sym__ident, - [386] = 5, + [355] = 5, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - STATE(11), 1, + STATE(10), 1, sym_line_comment, - ACTIONS(86), 9, + ACTIONS(86), 10, anon_sym_DASH, anon_sym_SLASH, anon_sym_PERCENT, @@ -2464,6 +2822,7 @@ static const uint16_t ts_small_parse_table[] = { sym_word, sym__reg, sym_address, + sym_flag, sym_meta_ident, sym__ident, ACTIONS(84), 11, @@ -2478,14 +2837,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_POUND, aux_sym_string_token1, aux_sym_string_token2, - [420] = 5, + [390] = 5, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - STATE(12), 1, + STATE(11), 1, sym_line_comment, - ACTIONS(90), 9, + ACTIONS(90), 10, anon_sym_DASH, anon_sym_SLASH, anon_sym_PERCENT, @@ -2493,6 +2852,7 @@ static const uint16_t ts_small_parse_table[] = { sym_word, sym__reg, sym_address, + sym_flag, sym_meta_ident, sym__ident, ACTIONS(88), 11, @@ -2507,28 +2867,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_POUND, aux_sym_string_token1, aux_sym_string_token2, - [454] = 8, + [425] = 7, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(96), 1, - anon_sym_PIPE, - ACTIONS(98), 1, - anon_sym_CARET, - ACTIONS(100), 1, - anon_sym_AMP, - STATE(13), 1, + ACTIONS(64), 1, + anon_sym_COMMA, + STATE(12), 1, sym_line_comment, - ACTIONS(92), 7, + ACTIONS(61), 2, ts_builtin_sym_end, anon_sym_LF, + ACTIONS(70), 8, anon_sym_PLUS, anon_sym_STAR, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, anon_sym_POUND, aux_sym_string_token1, aux_sym_string_token2, - ACTIONS(94), 9, + ACTIONS(68), 10, anon_sym_DASH, anon_sym_SLASH, anon_sym_PERCENT, @@ -2536,107 +2896,160 @@ static const uint16_t ts_small_parse_table[] = { sym_word, sym__reg, sym_address, + sym_flag, sym_meta_ident, sym__ident, - [493] = 10, + [464] = 5, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(96), 1, + STATE(13), 1, + sym_line_comment, + ACTIONS(68), 10, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PERCENT, + aux_sym_int_token2, + sym_word, + sym__reg, + sym_address, + sym_flag, + sym_meta_ident, + sym__ident, + ACTIONS(70), 10, + ts_builtin_sym_end, + anon_sym_LF, + anon_sym_PLUS, + anon_sym_STAR, anon_sym_PIPE, - ACTIONS(98), 1, anon_sym_CARET, - ACTIONS(100), 1, anon_sym_AMP, - ACTIONS(102), 1, + anon_sym_POUND, + aux_sym_string_token1, + aux_sym_string_token2, + [498] = 12, + ACTIONS(5), 1, + aux_sym_line_comment_token2, + ACTIONS(7), 1, + sym_block_comment, + ACTIONS(94), 1, + anon_sym_DASH, + ACTIONS(96), 1, + anon_sym_PLUS, + ACTIONS(98), 1, anon_sym_STAR, + ACTIONS(102), 1, + anon_sym_PIPE, + ACTIONS(104), 1, + anon_sym_CARET, + ACTIONS(106), 1, + anon_sym_AMP, STATE(14), 1, sym_line_comment, - ACTIONS(104), 2, + ACTIONS(100), 2, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(92), 6, + ACTIONS(92), 5, ts_builtin_sym_end, anon_sym_LF, - anon_sym_PLUS, anon_sym_POUND, aux_sym_string_token1, aux_sym_string_token2, - ACTIONS(94), 7, - anon_sym_DASH, + ACTIONS(108), 7, aux_sym_int_token2, sym_word, sym__reg, sym_address, + sym_flag, sym_meta_ident, sym__ident, - [536] = 5, + [546] = 6, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, + ACTIONS(106), 1, + anon_sym_AMP, STATE(15), 1, sym_line_comment, - ACTIONS(94), 9, - anon_sym_DASH, - anon_sym_SLASH, - anon_sym_PERCENT, - aux_sym_int_token2, - sym_word, - sym__reg, - sym_address, - sym_meta_ident, - sym__ident, - ACTIONS(92), 10, + ACTIONS(110), 9, ts_builtin_sym_end, anon_sym_LF, anon_sym_PLUS, anon_sym_STAR, anon_sym_PIPE, anon_sym_CARET, - anon_sym_AMP, anon_sym_POUND, aux_sym_string_token1, aux_sym_string_token2, - [569] = 7, + ACTIONS(112), 10, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PERCENT, + aux_sym_int_token2, + sym_word, + sym__reg, + sym_address, + sym_flag, + sym_meta_ident, + sym__ident, + [582] = 10, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, ACTIONS(98), 1, + anon_sym_STAR, + ACTIONS(102), 1, + anon_sym_PIPE, + ACTIONS(104), 1, anon_sym_CARET, - ACTIONS(100), 1, + ACTIONS(106), 1, anon_sym_AMP, STATE(16), 1, sym_line_comment, - ACTIONS(92), 8, + ACTIONS(100), 2, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(110), 6, ts_builtin_sym_end, anon_sym_LF, anon_sym_PLUS, - anon_sym_STAR, - anon_sym_PIPE, anon_sym_POUND, aux_sym_string_token1, aux_sym_string_token2, - ACTIONS(94), 9, + ACTIONS(112), 8, anon_sym_DASH, - anon_sym_SLASH, - anon_sym_PERCENT, aux_sym_int_token2, sym_word, sym__reg, sym_address, + sym_flag, sym_meta_ident, sym__ident, - [606] = 5, + [626] = 8, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, + ACTIONS(102), 1, + anon_sym_PIPE, + ACTIONS(104), 1, + anon_sym_CARET, + ACTIONS(106), 1, + anon_sym_AMP, STATE(17), 1, sym_line_comment, - ACTIONS(72), 9, + ACTIONS(110), 7, + ts_builtin_sym_end, + anon_sym_LF, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_POUND, + aux_sym_string_token1, + aux_sym_string_token2, + ACTIONS(112), 10, anon_sym_DASH, anon_sym_SLASH, anon_sym_PERCENT, @@ -2644,74 +3057,59 @@ static const uint16_t ts_small_parse_table[] = { sym_word, sym__reg, sym_address, + sym_flag, sym_meta_ident, sym__ident, - ACTIONS(74), 10, - ts_builtin_sym_end, - anon_sym_LF, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_PIPE, - anon_sym_CARET, - anon_sym_AMP, - anon_sym_POUND, - aux_sym_string_token1, - aux_sym_string_token2, - [639] = 12, + [666] = 7, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(96), 1, - anon_sym_PIPE, - ACTIONS(98), 1, + ACTIONS(104), 1, anon_sym_CARET, - ACTIONS(100), 1, + ACTIONS(106), 1, anon_sym_AMP, - ACTIONS(102), 1, - anon_sym_STAR, - ACTIONS(108), 1, - anon_sym_DASH, - ACTIONS(110), 1, - anon_sym_PLUS, STATE(18), 1, sym_line_comment, - ACTIONS(104), 2, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(106), 5, + ACTIONS(110), 8, ts_builtin_sym_end, anon_sym_LF, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_PIPE, anon_sym_POUND, aux_sym_string_token1, aux_sym_string_token2, - ACTIONS(112), 6, + ACTIONS(112), 10, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PERCENT, aux_sym_int_token2, sym_word, sym__reg, sym_address, + sym_flag, sym_meta_ident, sym__ident, - [686] = 6, + [704] = 5, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(100), 1, - anon_sym_AMP, STATE(19), 1, sym_line_comment, - ACTIONS(92), 9, + ACTIONS(110), 10, ts_builtin_sym_end, anon_sym_LF, anon_sym_PLUS, anon_sym_STAR, anon_sym_PIPE, anon_sym_CARET, + anon_sym_AMP, anon_sym_POUND, aux_sym_string_token1, aux_sym_string_token2, - ACTIONS(94), 9, + ACTIONS(112), 10, anon_sym_DASH, anon_sym_SLASH, anon_sym_PERCENT, @@ -2719,9 +3117,10 @@ static const uint16_t ts_small_parse_table[] = { sym_word, sym__reg, sym_address, + sym_flag, sym_meta_ident, sym__ident, - [721] = 13, + [738] = 13, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, @@ -2730,9 +3129,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_POUND, ACTIONS(37), 1, aux_sym_int_token2, - STATE(11), 1, + STATE(9), 1, sym_reg, - STATE(18), 1, + STATE(14), 1, sym__tc_expr, STATE(20), 1, sym_line_comment, @@ -2747,16 +3146,17 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(114), 2, ts_builtin_sym_end, anon_sym_LF, - ACTIONS(43), 3, + ACTIONS(43), 4, sym_word, sym__reg, sym_address, - STATE(17), 4, + sym_flag, + STATE(13), 4, sym_tc_infix, sym_int, sym_string, sym_ident, - [769] = 12, + [787] = 12, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, @@ -2765,9 +3165,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_POUND, ACTIONS(121), 1, aux_sym_int_token2, - STATE(11), 1, + STATE(9), 1, sym_reg, - STATE(18), 1, + STATE(14), 1, sym__tc_expr, ACTIONS(116), 2, ts_builtin_sym_end, @@ -2781,16 +3181,17 @@ static const uint16_t ts_small_parse_table[] = { STATE(21), 2, sym_line_comment, aux_sym_instruction_repeat2, - ACTIONS(127), 3, + ACTIONS(127), 4, sym_word, sym__reg, sym_address, - STATE(17), 4, + sym_flag, + STATE(13), 4, sym_tc_infix, sym_int, sym_string, sym_ident, - [815] = 15, + [834] = 15, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, @@ -2805,13 +3206,13 @@ static const uint16_t ts_small_parse_table[] = { sym_float, STATE(22), 1, sym_line_comment, - STATE(40), 1, + STATE(41), 1, sym_reg, - STATE(65), 1, - sym_string, - STATE(74), 1, + STATE(79), 1, sym_int, - STATE(106), 1, + STATE(80), 1, + sym_string, + STATE(114), 1, sym_ident, ACTIONS(53), 2, aux_sym_string_token1, @@ -2822,11 +3223,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(133), 2, ts_builtin_sym_end, anon_sym_LF, - ACTIONS(55), 3, + ACTIONS(55), 4, sym_word, sym__reg, sym_address, - [866] = 14, + sym_flag, + [886] = 14, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, @@ -2839,13 +3241,13 @@ static const uint16_t ts_small_parse_table[] = { sym_float, STATE(23), 1, sym_line_comment, - STATE(40), 1, + STATE(41), 1, sym_reg, - STATE(65), 1, - sym_string, - STATE(74), 1, + STATE(79), 1, sym_int, - STATE(106), 1, + STATE(80), 1, + sym_string, + STATE(114), 1, sym_ident, ACTIONS(53), 2, aux_sym_string_token1, @@ -2856,41 +3258,43 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(133), 2, ts_builtin_sym_end, anon_sym_LF, - ACTIONS(55), 3, + ACTIONS(55), 4, sym_word, sym__reg, sym_address, - [914] = 11, + sym_flag, + [935] = 11, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(49), 1, + ACTIONS(35), 1, anon_sym_POUND, - ACTIONS(51), 1, + ACTIONS(37), 1, aux_sym_int_token2, - STATE(24), 1, - sym_line_comment, - STATE(40), 1, + STATE(9), 1, sym_reg, - STATE(49), 1, + STATE(15), 1, sym__tc_expr, - ACTIONS(53), 2, + STATE(24), 1, + sym_line_comment, + ACTIONS(41), 2, aux_sym_string_token1, aux_sym_string_token2, - ACTIONS(57), 2, + ACTIONS(45), 2, sym_meta_ident, sym__ident, - ACTIONS(55), 3, + ACTIONS(43), 4, sym_word, sym__reg, sym_address, - STATE(43), 4, + sym_flag, + STATE(13), 4, sym_tc_infix, sym_int, sym_string, sym_ident, - [955] = 11, + [977] = 11, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, @@ -2899,9 +3303,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_POUND, ACTIONS(37), 1, aux_sym_int_token2, - STATE(11), 1, + STATE(9), 1, sym_reg, - STATE(14), 1, + STATE(17), 1, sym__tc_expr, STATE(25), 1, sym_line_comment, @@ -2911,76 +3315,79 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(45), 2, sym_meta_ident, sym__ident, - ACTIONS(43), 3, + ACTIONS(43), 4, sym_word, sym__reg, sym_address, - STATE(17), 4, + sym_flag, + STATE(13), 4, sym_tc_infix, sym_int, sym_string, sym_ident, - [996] = 11, + [1019] = 11, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(49), 1, + ACTIONS(35), 1, anon_sym_POUND, - ACTIONS(51), 1, + ACTIONS(37), 1, aux_sym_int_token2, - STATE(26), 1, - sym_line_comment, - STATE(40), 1, + STATE(9), 1, sym_reg, - STATE(44), 1, + STATE(18), 1, sym__tc_expr, - ACTIONS(53), 2, + STATE(26), 1, + sym_line_comment, + ACTIONS(41), 2, aux_sym_string_token1, aux_sym_string_token2, - ACTIONS(57), 2, + ACTIONS(45), 2, sym_meta_ident, sym__ident, - ACTIONS(55), 3, + ACTIONS(43), 4, sym_word, sym__reg, sym_address, - STATE(43), 4, + sym_flag, + STATE(13), 4, sym_tc_infix, sym_int, sym_string, sym_ident, - [1037] = 11, + [1061] = 11, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(35), 1, + ACTIONS(49), 1, anon_sym_POUND, - ACTIONS(37), 1, + ACTIONS(51), 1, aux_sym_int_token2, - STATE(11), 1, - sym_reg, - STATE(13), 1, - sym__tc_expr, STATE(27), 1, sym_line_comment, - ACTIONS(41), 2, + STATE(41), 1, + sym_reg, + STATE(50), 1, + sym__tc_expr, + ACTIONS(53), 2, aux_sym_string_token1, aux_sym_string_token2, - ACTIONS(45), 2, + ACTIONS(57), 2, sym_meta_ident, sym__ident, - ACTIONS(43), 3, + ACTIONS(55), 4, sym_word, sym__reg, sym_address, - STATE(17), 4, + sym_flag, + STATE(48), 4, sym_tc_infix, sym_int, sym_string, sym_ident, - [1078] = 11, + [1103] = 11, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, @@ -2989,9 +3396,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_POUND, ACTIONS(37), 1, aux_sym_int_token2, - STATE(11), 1, + STATE(9), 1, sym_reg, - STATE(16), 1, + STATE(19), 1, sym__tc_expr, STATE(28), 1, sym_line_comment, @@ -3001,46 +3408,48 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(45), 2, sym_meta_ident, sym__ident, - ACTIONS(43), 3, + ACTIONS(43), 4, sym_word, sym__reg, sym_address, - STATE(17), 4, + sym_flag, + STATE(13), 4, sym_tc_infix, sym_int, sym_string, sym_ident, - [1119] = 11, + [1145] = 11, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(35), 1, + ACTIONS(49), 1, anon_sym_POUND, - ACTIONS(37), 1, + ACTIONS(51), 1, aux_sym_int_token2, - STATE(11), 1, - sym_reg, - STATE(19), 1, - sym__tc_expr, STATE(29), 1, sym_line_comment, - ACTIONS(41), 2, + STATE(41), 1, + sym_reg, + STATE(49), 1, + sym__tc_expr, + ACTIONS(53), 2, aux_sym_string_token1, aux_sym_string_token2, - ACTIONS(45), 2, + ACTIONS(57), 2, sym_meta_ident, sym__ident, - ACTIONS(43), 3, + ACTIONS(55), 4, sym_word, sym__reg, sym_address, - STATE(17), 4, + sym_flag, + STATE(48), 4, sym_tc_infix, sym_int, sym_string, sym_ident, - [1160] = 11, + [1187] = 11, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, @@ -3051,9 +3460,9 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_int_token2, STATE(30), 1, sym_line_comment, - STATE(40), 1, + STATE(41), 1, sym_reg, - STATE(48), 1, + STATE(46), 1, sym__tc_expr, ACTIONS(53), 2, aux_sym_string_token1, @@ -3061,76 +3470,79 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(57), 2, sym_meta_ident, sym__ident, - ACTIONS(55), 3, + ACTIONS(55), 4, sym_word, sym__reg, sym_address, - STATE(43), 4, + sym_flag, + STATE(48), 4, sym_tc_infix, sym_int, sym_string, sym_ident, - [1201] = 11, + [1229] = 11, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(35), 1, + ACTIONS(49), 1, anon_sym_POUND, - ACTIONS(37), 1, + ACTIONS(51), 1, aux_sym_int_token2, - STATE(11), 1, - sym_reg, - STATE(15), 1, - sym__tc_expr, STATE(31), 1, sym_line_comment, - ACTIONS(41), 2, + STATE(41), 1, + sym_reg, + STATE(43), 1, + sym__tc_expr, + ACTIONS(53), 2, aux_sym_string_token1, aux_sym_string_token2, - ACTIONS(45), 2, + ACTIONS(57), 2, sym_meta_ident, sym__ident, - ACTIONS(43), 3, + ACTIONS(55), 4, sym_word, sym__reg, sym_address, - STATE(17), 4, + sym_flag, + STATE(48), 4, sym_tc_infix, sym_int, sym_string, sym_ident, - [1242] = 11, + [1271] = 11, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(49), 1, + ACTIONS(35), 1, anon_sym_POUND, - ACTIONS(51), 1, + ACTIONS(37), 1, aux_sym_int_token2, - STATE(32), 1, - sym_line_comment, - STATE(40), 1, + STATE(9), 1, sym_reg, - STATE(46), 1, + STATE(16), 1, sym__tc_expr, - ACTIONS(53), 2, + STATE(32), 1, + sym_line_comment, + ACTIONS(41), 2, aux_sym_string_token1, aux_sym_string_token2, - ACTIONS(57), 2, + ACTIONS(45), 2, sym_meta_ident, sym__ident, - ACTIONS(55), 3, + ACTIONS(43), 4, sym_word, sym__reg, sym_address, - STATE(43), 4, + sym_flag, + STATE(13), 4, sym_tc_infix, sym_int, sym_string, sym_ident, - [1283] = 11, + [1313] = 11, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, @@ -3141,9 +3553,9 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_int_token2, STATE(33), 1, sym_line_comment, - STATE(40), 1, + STATE(41), 1, sym_reg, - STATE(47), 1, + STATE(51), 1, sym__tc_expr, ACTIONS(53), 2, aux_sym_string_token1, @@ -3151,16 +3563,17 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(57), 2, sym_meta_ident, sym__ident, - ACTIONS(55), 3, + ACTIONS(55), 4, sym_word, sym__reg, sym_address, - STATE(43), 4, + sym_flag, + STATE(48), 4, sym_tc_infix, sym_int, sym_string, sym_ident, - [1324] = 11, + [1355] = 11, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, @@ -3171,9 +3584,9 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_int_token2, STATE(34), 1, sym_line_comment, - STATE(40), 1, + STATE(41), 1, sym_reg, - STATE(45), 1, + STATE(44), 1, sym__tc_expr, ACTIONS(53), 2, aux_sym_string_token1, @@ -3181,65 +3594,17 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(57), 2, sym_meta_ident, sym__ident, - ACTIONS(55), 3, + ACTIONS(55), 4, sym_word, sym__reg, sym_address, - STATE(43), 4, + sym_flag, + STATE(48), 4, sym_tc_infix, sym_int, sym_string, sym_ident, - [1365] = 6, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(5), 1, - aux_sym_line_comment_token2, - ACTIONS(7), 1, - sym_block_comment, - ACTIONS(82), 1, - anon_sym_SLASH, - STATE(35), 1, - sym_line_comment, - ACTIONS(80), 13, - ts_builtin_sym_end, - anon_sym_LF, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_DASH, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_RBRACK, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PIPE, - anon_sym_CARET, - anon_sym_AMP, - [1396] = 6, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(5), 1, - aux_sym_line_comment_token2, - ACTIONS(7), 1, - sym_block_comment, - ACTIONS(78), 1, - anon_sym_SLASH, - STATE(36), 1, - sym_line_comment, - ACTIONS(76), 12, - ts_builtin_sym_end, - anon_sym_LF, - anon_sym_COMMA, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_RBRACK, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PIPE, - anon_sym_CARET, - anon_sym_AMP, - [1426] = 14, + [1397] = 14, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, @@ -3251,27 +3616,28 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(13), 1, anon_sym_const, ACTIONS(15), 1, - sym_word, - ACTIONS(17), 1, - sym_meta_ident, + sym_op, ACTIONS(19), 1, - sym__ident, + sym_meta_ident, ACTIONS(139), 1, ts_builtin_sym_end, ACTIONS(141), 1, anon_sym_LF, - STATE(37), 1, + STATE(35), 1, sym_line_comment, STATE(52), 1, aux_sym_program_repeat1, STATE(110), 1, sym__item, - STATE(114), 4, + ACTIONS(17), 2, + sym_word, + sym__ident, + STATE(105), 4, sym_meta, sym_label, sym_const, sym_instruction, - [1472] = 14, + [1444] = 14, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, @@ -3283,67 +3649,45 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(13), 1, anon_sym_const, ACTIONS(15), 1, - sym_word, - ACTIONS(17), 1, - sym_meta_ident, + sym_op, ACTIONS(19), 1, - sym__ident, + sym_meta_ident, ACTIONS(141), 1, anon_sym_LF, ACTIONS(143), 1, ts_builtin_sym_end, - STATE(38), 1, + STATE(36), 1, sym_line_comment, STATE(52), 1, aux_sym_program_repeat1, STATE(110), 1, sym__item, - STATE(114), 4, + ACTIONS(17), 2, + sym_word, + sym__ident, + STATE(105), 4, sym_meta, sym_label, sym_const, sym_instruction, - [1518] = 6, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(5), 1, - aux_sym_line_comment_token2, - ACTIONS(7), 1, - sym_block_comment, - ACTIONS(63), 1, - anon_sym_SLASH, - STATE(39), 1, - sym_line_comment, - ACTIONS(61), 12, - ts_builtin_sym_end, - anon_sym_LF, - anon_sym_COMMA, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_RBRACK, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PIPE, - anon_sym_CARET, - anon_sym_AMP, - [1548] = 6, + [1491] = 6, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(86), 1, + ACTIONS(90), 1, anon_sym_SLASH, - STATE(40), 1, + STATE(37), 1, sym_line_comment, - ACTIONS(84), 12, + ACTIONS(88), 13, ts_builtin_sym_end, anon_sym_LF, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_DASH, + anon_sym_RBRACE, anon_sym_PLUS, anon_sym_RBRACK, anon_sym_STAR, @@ -3351,7 +3695,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE, anon_sym_CARET, anon_sym_AMP, - [1578] = 13, + [1522] = 13, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, @@ -3363,199 +3707,156 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(13), 1, anon_sym_const, ACTIONS(15), 1, - sym_word, - ACTIONS(17), 1, - sym_meta_ident, + sym_op, ACTIONS(19), 1, - sym__ident, + sym_meta_ident, ACTIONS(141), 1, anon_sym_LF, - STATE(41), 1, + STATE(38), 1, sym_line_comment, STATE(52), 1, aux_sym_program_repeat1, STATE(110), 1, sym__item, - STATE(114), 4, + ACTIONS(17), 2, + sym_word, + sym__ident, + STATE(105), 4, sym_meta, sym_label, sym_const, sym_instruction, - [1621] = 6, + [1566] = 6, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(90), 1, + ACTIONS(74), 1, anon_sym_SLASH, - STATE(42), 1, + STATE(39), 1, sym_line_comment, - ACTIONS(88), 10, + ACTIONS(72), 12, ts_builtin_sym_end, anon_sym_LF, anon_sym_COMMA, + anon_sym_LPAREN, anon_sym_DASH, anon_sym_PLUS, + anon_sym_RBRACK, anon_sym_STAR, anon_sym_PERCENT, anon_sym_PIPE, anon_sym_CARET, anon_sym_AMP, - [1649] = 6, + [1596] = 6, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(72), 1, + ACTIONS(78), 1, anon_sym_SLASH, - STATE(43), 1, + STATE(40), 1, sym_line_comment, - ACTIONS(74), 9, + ACTIONS(76), 12, ts_builtin_sym_end, anon_sym_LF, + anon_sym_COMMA, + anon_sym_LPAREN, anon_sym_DASH, anon_sym_PLUS, + anon_sym_RBRACK, anon_sym_STAR, anon_sym_PERCENT, anon_sym_PIPE, anon_sym_CARET, anon_sym_AMP, - [1676] = 7, + [1626] = 6, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(94), 1, + ACTIONS(82), 1, anon_sym_SLASH, - ACTIONS(145), 1, - anon_sym_AMP, - STATE(44), 1, + STATE(41), 1, sym_line_comment, - ACTIONS(92), 8, + ACTIONS(80), 12, ts_builtin_sym_end, anon_sym_LF, + anon_sym_COMMA, + anon_sym_RPAREN, anon_sym_DASH, anon_sym_PLUS, + anon_sym_RBRACK, anon_sym_STAR, anon_sym_PERCENT, anon_sym_PIPE, anon_sym_CARET, - [1705] = 8, + anon_sym_AMP, + [1656] = 6, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(94), 1, + ACTIONS(86), 1, anon_sym_SLASH, - ACTIONS(145), 1, - anon_sym_AMP, - ACTIONS(147), 1, - anon_sym_CARET, - STATE(45), 1, + STATE(42), 1, sym_line_comment, - ACTIONS(92), 7, + ACTIONS(84), 10, ts_builtin_sym_end, anon_sym_LF, + anon_sym_COMMA, anon_sym_DASH, anon_sym_PLUS, anon_sym_STAR, anon_sym_PERCENT, anon_sym_PIPE, - [1736] = 11, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(5), 1, - aux_sym_line_comment_token2, - ACTIONS(7), 1, - sym_block_comment, - ACTIONS(145), 1, - anon_sym_AMP, - ACTIONS(147), 1, anon_sym_CARET, - ACTIONS(155), 1, - anon_sym_SLASH, - ACTIONS(157), 1, - anon_sym_PIPE, - STATE(46), 1, - sym_line_comment, - ACTIONS(149), 2, - ts_builtin_sym_end, - anon_sym_LF, - ACTIONS(151), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(153), 2, - anon_sym_STAR, - anon_sym_PERCENT, - [1773] = 9, + anon_sym_AMP, + [1684] = 8, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(94), 1, + ACTIONS(112), 1, anon_sym_SLASH, ACTIONS(145), 1, - anon_sym_AMP, - ACTIONS(147), 1, anon_sym_CARET, - ACTIONS(157), 1, - anon_sym_PIPE, - STATE(47), 1, + ACTIONS(147), 1, + anon_sym_AMP, + STATE(43), 1, sym_line_comment, - ACTIONS(92), 6, + ACTIONS(110), 7, ts_builtin_sym_end, anon_sym_LF, anon_sym_DASH, anon_sym_PLUS, anon_sym_STAR, anon_sym_PERCENT, - [1806] = 10, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(5), 1, - aux_sym_line_comment_token2, - ACTIONS(7), 1, - sym_block_comment, - ACTIONS(145), 1, - anon_sym_AMP, - ACTIONS(147), 1, - anon_sym_CARET, - ACTIONS(155), 1, - anon_sym_SLASH, - ACTIONS(157), 1, anon_sym_PIPE, - STATE(48), 1, - sym_line_comment, - ACTIONS(153), 2, - anon_sym_STAR, - anon_sym_PERCENT, - ACTIONS(92), 4, - ts_builtin_sym_end, - anon_sym_LF, - anon_sym_DASH, - anon_sym_PLUS, - [1841] = 6, + [1715] = 7, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(94), 1, + ACTIONS(112), 1, anon_sym_SLASH, - STATE(49), 1, + ACTIONS(147), 1, + anon_sym_AMP, + STATE(44), 1, sym_line_comment, - ACTIONS(92), 9, + ACTIONS(110), 8, ts_builtin_sym_end, anon_sym_LF, anon_sym_DASH, @@ -3564,8 +3865,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT, anon_sym_PIPE, anon_sym_CARET, - anon_sym_AMP, - [1868] = 9, + [1744] = 9, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, @@ -3574,21 +3874,43 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_POUND, ACTIONS(51), 1, aux_sym_int_token2, - STATE(40), 1, + STATE(41), 1, sym_reg, - STATE(50), 1, + STATE(45), 1, sym_line_comment, ACTIONS(57), 2, sym_meta_ident, sym__ident, - STATE(122), 2, + STATE(117), 2, sym_int, sym_ident, - ACTIONS(55), 3, + ACTIONS(55), 4, sym_word, sym__reg, sym_address, - [1900] = 9, + sym_flag, + [1777] = 6, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(5), 1, + aux_sym_line_comment_token2, + ACTIONS(7), 1, + sym_block_comment, + ACTIONS(112), 1, + anon_sym_SLASH, + STATE(46), 1, + sym_line_comment, + ACTIONS(110), 9, + ts_builtin_sym_end, + anon_sym_LF, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + [1804] = 9, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, @@ -3597,493 +3919,599 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_POUND, ACTIONS(51), 1, aux_sym_int_token2, - STATE(40), 1, + STATE(41), 1, sym_reg, - STATE(51), 1, + STATE(47), 1, sym_line_comment, ACTIONS(57), 2, sym_meta_ident, sym__ident, - STATE(117), 2, + STATE(125), 2, sym_int, sym_ident, - ACTIONS(55), 3, + ACTIONS(55), 4, sym_word, sym__reg, sym_address, - [1932] = 7, + sym_flag, + [1837] = 6, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(159), 1, + ACTIONS(68), 1, + anon_sym_SLASH, + STATE(48), 1, + sym_line_comment, + ACTIONS(70), 9, ts_builtin_sym_end, - ACTIONS(161), 1, anon_sym_LF, - STATE(52), 2, - sym_line_comment, - aux_sym_program_repeat1, - ACTIONS(164), 5, - anon_sym_label, - anon_sym_const, - sym_word, - sym_meta_ident, - sym__ident, - [1959] = 6, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + [1864] = 10, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - STATE(53), 1, + ACTIONS(145), 1, + anon_sym_CARET, + ACTIONS(147), 1, + anon_sym_AMP, + ACTIONS(151), 1, + anon_sym_SLASH, + ACTIONS(153), 1, + anon_sym_PIPE, + STATE(49), 1, sym_line_comment, - ACTIONS(166), 2, + ACTIONS(149), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(110), 4, ts_builtin_sym_end, anon_sym_LF, - ACTIONS(168), 5, - anon_sym_label, - anon_sym_const, - sym_word, - sym_meta_ident, - sym__ident, - [1983] = 9, + anon_sym_DASH, + anon_sym_PLUS, + [1899] = 11, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(170), 1, - sym_address, - STATE(40), 1, + ACTIONS(145), 1, + anon_sym_CARET, + ACTIONS(147), 1, + anon_sym_AMP, + ACTIONS(151), 1, + anon_sym_SLASH, + ACTIONS(153), 1, + anon_sym_PIPE, + STATE(50), 1, + sym_line_comment, + ACTIONS(149), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(155), 2, + ts_builtin_sym_end, + anon_sym_LF, + ACTIONS(157), 2, + anon_sym_DASH, + anon_sym_PLUS, + [1936] = 9, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(5), 1, + aux_sym_line_comment_token2, + ACTIONS(7), 1, + sym_block_comment, + ACTIONS(112), 1, + anon_sym_SLASH, + ACTIONS(145), 1, + anon_sym_CARET, + ACTIONS(147), 1, + anon_sym_AMP, + ACTIONS(153), 1, + anon_sym_PIPE, + STATE(51), 1, + sym_line_comment, + ACTIONS(110), 6, + ts_builtin_sym_end, + anon_sym_LF, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_PERCENT, + [1969] = 7, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(5), 1, + aux_sym_line_comment_token2, + ACTIONS(7), 1, + sym_block_comment, + ACTIONS(159), 1, + ts_builtin_sym_end, + ACTIONS(161), 1, + anon_sym_LF, + STATE(52), 2, + sym_line_comment, + aux_sym_program_repeat1, + ACTIONS(164), 6, + anon_sym_label, + anon_sym_const, + sym_op, + sym_word, + sym_meta_ident, + sym__ident, + [1997] = 9, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(5), 1, + aux_sym_line_comment_token2, + ACTIONS(7), 1, + sym_block_comment, + ACTIONS(166), 1, + sym_address, + STATE(41), 1, sym_reg, - STATE(54), 1, + STATE(53), 1, sym_line_comment, - STATE(128), 1, + STATE(131), 1, sym_ident, - ACTIONS(55), 2, + ACTIONS(57), 2, + sym_meta_ident, + sym__ident, + ACTIONS(55), 3, sym_word, sym__reg, - ACTIONS(57), 2, + sym_flag, + [2028] = 6, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(5), 1, + aux_sym_line_comment_token2, + ACTIONS(7), 1, + sym_block_comment, + STATE(54), 1, + sym_line_comment, + ACTIONS(168), 2, + ts_builtin_sym_end, + anon_sym_LF, + ACTIONS(170), 6, + anon_sym_label, + anon_sym_const, + sym_op, + sym_word, sym_meta_ident, sym__ident, - [2013] = 9, + [2053] = 9, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(170), 1, + ACTIONS(166), 1, sym_address, - STATE(40), 1, + STATE(41), 1, sym_reg, STATE(55), 1, sym_line_comment, - STATE(129), 1, + STATE(123), 1, sym_ident, - ACTIONS(55), 2, - sym_word, - sym__reg, ACTIONS(57), 2, sym_meta_ident, sym__ident, - [2043] = 8, + ACTIONS(55), 3, + sym_word, + sym__reg, + sym_flag, + [2084] = 8, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(55), 1, - sym__reg, + ACTIONS(166), 1, + sym_address, ACTIONS(172), 1, anon_sym_RBRACE, STATE(56), 1, sym_line_comment, - STATE(82), 1, + STATE(78), 1, sym_reg, - ACTIONS(170), 2, + ACTIONS(55), 3, sym_word, - sym_address, - [2069] = 8, + sym__reg, + sym_flag, + [2111] = 8, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(55), 1, - sym__reg, + ACTIONS(166), 1, + sym_address, ACTIONS(174), 1, anon_sym_RBRACE, STATE(57), 1, sym_line_comment, - STATE(104), 1, + STATE(95), 1, sym_reg, - ACTIONS(170), 2, + ACTIONS(55), 3, sym_word, - sym_address, - [2095] = 8, + sym__reg, + sym_flag, + [2138] = 8, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(178), 1, - anon_sym_LPAREN, - ACTIONS(180), 1, - sym_meta_ident, + ACTIONS(166), 1, + sym_address, + ACTIONS(176), 1, + anon_sym_RBRACE, STATE(58), 1, sym_line_comment, - STATE(108), 1, - sym_meta, - ACTIONS(176), 2, - ts_builtin_sym_end, - anon_sym_LF, - [2121] = 8, + STATE(95), 1, + sym_reg, + ACTIONS(55), 3, + sym_word, + sym__reg, + sym_flag, + [2165] = 7, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(55), 1, - sym__reg, - ACTIONS(182), 1, - anon_sym_RBRACE, + ACTIONS(166), 1, + sym_address, STATE(59), 1, sym_line_comment, - STATE(104), 1, + STATE(126), 1, sym_reg, - ACTIONS(170), 2, + ACTIONS(55), 3, sym_word, - sym_address, - [2147] = 8, + sym__reg, + sym_flag, + [2189] = 7, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(180), 1, - sym_meta_ident, - ACTIONS(186), 1, - anon_sym_LPAREN, + ACTIONS(166), 1, + sym_address, STATE(60), 1, sym_line_comment, - STATE(111), 1, - sym_meta, - ACTIONS(184), 2, - ts_builtin_sym_end, - anon_sym_LF, - [2173] = 7, + STATE(83), 1, + sym_reg, + ACTIONS(55), 3, + sym_word, + sym__reg, + sym_flag, + [2213] = 7, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(188), 1, - ts_builtin_sym_end, - ACTIONS(190), 1, - anon_sym_LF, - STATE(41), 1, - aux_sym_program_repeat1, - STATE(61), 2, + ACTIONS(166), 1, + sym_address, + STATE(61), 1, sym_line_comment, - aux_sym_program_repeat2, - [2196] = 8, + STATE(124), 1, + sym_reg, + ACTIONS(55), 3, + sym_word, + sym__reg, + sym_flag, + [2237] = 7, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(182), 1, - anon_sym_RBRACE, - ACTIONS(193), 1, - anon_sym_COMMA, - ACTIONS(195), 1, - anon_sym_DASH, + ACTIONS(166), 1, + sym_address, STATE(62), 1, sym_line_comment, - STATE(63), 1, - aux_sym_list_repeat1, - [2221] = 6, + STATE(95), 1, + sym_reg, + ACTIONS(55), 3, + sym_word, + sym__reg, + sym_flag, + [2261] = 7, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(200), 1, - anon_sym_RBRACE, - ACTIONS(197), 2, - anon_sym_COMMA, - anon_sym_DASH, - STATE(63), 2, + ACTIONS(166), 1, + sym_address, + STATE(63), 1, sym_line_comment, - aux_sym_list_repeat1, - [2242] = 7, + STATE(99), 1, + sym_reg, + ACTIONS(55), 3, + sym_word, + sym__reg, + sym_flag, + [2285] = 8, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(204), 1, - anon_sym_COMMA, + ACTIONS(180), 1, + anon_sym_LPAREN, + ACTIONS(182), 1, + sym_meta_ident, STATE(64), 1, sym_line_comment, - STATE(86), 1, - aux_sym_meta_repeat2, - ACTIONS(202), 2, + STATE(106), 1, + sym_meta, + ACTIONS(178), 2, ts_builtin_sym_end, anon_sym_LF, - [2265] = 7, + [2311] = 8, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(208), 1, - anon_sym_COMMA, + ACTIONS(182), 1, + sym_meta_ident, + ACTIONS(186), 1, + anon_sym_LPAREN, STATE(65), 1, sym_line_comment, - STATE(68), 1, - aux_sym_meta_repeat3, - ACTIONS(206), 2, + STATE(109), 1, + sym_meta, + ACTIONS(184), 2, ts_builtin_sym_end, anon_sym_LF, - [2288] = 7, + [2337] = 7, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(210), 1, + ACTIONS(190), 1, anon_sym_COMMA, STATE(66), 1, sym_line_comment, - STATE(87), 1, - aux_sym_meta_repeat1, - ACTIONS(202), 2, + STATE(86), 1, + aux_sym_meta_repeat2, + ACTIONS(188), 2, ts_builtin_sym_end, anon_sym_LF, - [2311] = 7, + [2360] = 6, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(55), 1, - sym__reg, + ACTIONS(194), 1, + anon_sym_BANG, STATE(67), 1, sym_line_comment, - STATE(121), 1, - sym_reg, - ACTIONS(170), 2, - sym_word, - sym_address, - [2334] = 7, + ACTIONS(192), 3, + ts_builtin_sym_end, + anon_sym_LF, + anon_sym_COMMA, + [2381] = 6, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(208), 1, - anon_sym_COMMA, + ACTIONS(66), 1, + anon_sym_LPAREN, STATE(68), 1, sym_line_comment, - STATE(84), 1, - aux_sym_meta_repeat3, - ACTIONS(202), 2, + ACTIONS(64), 3, ts_builtin_sym_end, anon_sym_LF, - [2357] = 7, + anon_sym_COMMA, + [2402] = 6, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(212), 1, + ACTIONS(198), 1, anon_sym_COMMA, - STATE(69), 1, - sym_line_comment, - STATE(71), 1, - aux_sym_instruction_repeat1, - ACTIONS(114), 2, + ACTIONS(196), 2, ts_builtin_sym_end, anon_sym_LF, - [2380] = 7, + STATE(69), 2, + sym_line_comment, + aux_sym_instruction_repeat1, + [2423] = 7, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(204), 1, + ACTIONS(201), 1, anon_sym_COMMA, - STATE(64), 1, - aux_sym_meta_repeat2, STATE(70), 1, sym_line_comment, - ACTIONS(206), 2, + STATE(85), 1, + aux_sym_instruction_repeat1, + ACTIONS(114), 2, ts_builtin_sym_end, anon_sym_LF, - [2403] = 7, + [2446] = 8, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(214), 1, - anon_sym_COMMA, + ACTIONS(141), 1, + anon_sym_LF, + ACTIONS(203), 1, + ts_builtin_sym_end, + STATE(35), 1, + aux_sym_program_repeat1, STATE(71), 1, sym_line_comment, - STATE(80), 1, - aux_sym_instruction_repeat1, - ACTIONS(47), 2, - ts_builtin_sym_end, - anon_sym_LF, - [2426] = 7, + STATE(82), 1, + aux_sym_program_repeat2, + [2471] = 6, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(55), 1, - sym__reg, - STATE(72), 1, + ACTIONS(207), 1, + anon_sym_COMMA, + ACTIONS(205), 2, + ts_builtin_sym_end, + anon_sym_LF, + STATE(72), 2, sym_line_comment, - STATE(120), 1, - sym_reg, - ACTIONS(170), 2, - sym_word, - sym_address, - [2449] = 7, + aux_sym_meta_repeat2, + [2492] = 6, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(55), 1, - sym__reg, - STATE(73), 1, + ACTIONS(212), 1, + anon_sym_COMMA, + ACTIONS(210), 2, + ts_builtin_sym_end, + anon_sym_LF, + STATE(73), 2, sym_line_comment, - STATE(104), 1, - sym_reg, - ACTIONS(170), 2, - sym_word, - sym_address, - [2472] = 7, + aux_sym_meta_repeat1, + [2513] = 6, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(210), 1, + ACTIONS(217), 1, anon_sym_COMMA, - STATE(66), 1, - aux_sym_meta_repeat1, - STATE(74), 1, - sym_line_comment, - ACTIONS(206), 2, + ACTIONS(215), 2, ts_builtin_sym_end, anon_sym_LF, - [2495] = 7, + STATE(74), 2, + sym_line_comment, + aux_sym_meta_repeat3, + [2534] = 7, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(55), 1, - sym__reg, + ACTIONS(222), 1, + anon_sym_COMMA, + STATE(73), 1, + aux_sym_meta_repeat1, STATE(75), 1, sym_line_comment, - STATE(102), 1, - sym_reg, - ACTIONS(170), 2, - sym_word, - sym_address, - [2518] = 7, + ACTIONS(220), 2, + ts_builtin_sym_end, + anon_sym_LF, + [2557] = 6, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(216), 1, - anon_sym_COMMA, - ACTIONS(220), 1, - anon_sym_RBRACK, + ACTIONS(226), 1, + anon_sym_BANG, STATE(76), 1, sym_line_comment, - ACTIONS(218), 2, - anon_sym_DASH, - anon_sym_PLUS, - [2541] = 6, + ACTIONS(224), 3, + ts_builtin_sym_end, + anon_sym_LF, + anon_sym_COMMA, + [2578] = 7, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(224), 1, - anon_sym_BANG, + ACTIONS(228), 1, + anon_sym_COMMA, + STATE(74), 1, + aux_sym_meta_repeat3, STATE(77), 1, sym_line_comment, - ACTIONS(222), 3, + ACTIONS(220), 2, ts_builtin_sym_end, anon_sym_LF, - anon_sym_COMMA, - [2562] = 6, + [2601] = 8, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(70), 1, - anon_sym_LPAREN, + ACTIONS(230), 1, + anon_sym_COMMA, + ACTIONS(232), 1, + anon_sym_DASH, + ACTIONS(234), 1, + anon_sym_RBRACE, STATE(78), 1, sym_line_comment, - ACTIONS(68), 3, - ts_builtin_sym_end, - anon_sym_LF, - anon_sym_COMMA, - [2583] = 7, + STATE(84), 1, + aux_sym_list_repeat1, + [2626] = 7, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(55), 1, - sym__reg, - STATE(76), 1, - sym_reg, + ACTIONS(222), 1, + anon_sym_COMMA, + STATE(75), 1, + aux_sym_meta_repeat1, STATE(79), 1, sym_line_comment, - ACTIONS(170), 2, - sym_word, - sym_address, - [2606] = 6, + ACTIONS(188), 2, + ts_builtin_sym_end, + anon_sym_LF, + [2649] = 7, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, @@ -4092,124 +4520,127 @@ static const uint16_t ts_small_parse_table[] = { sym_block_comment, ACTIONS(228), 1, anon_sym_COMMA, - ACTIONS(226), 2, + STATE(77), 1, + aux_sym_meta_repeat3, + STATE(80), 1, + sym_line_comment, + ACTIONS(188), 2, ts_builtin_sym_end, anon_sym_LF, - STATE(80), 2, - sym_line_comment, - aux_sym_instruction_repeat1, - [2627] = 8, + [2672] = 7, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(141), 1, - anon_sym_LF, - ACTIONS(231), 1, + ACTIONS(236), 1, ts_builtin_sym_end, - STATE(37), 1, + ACTIONS(238), 1, + anon_sym_LF, + STATE(38), 1, aux_sym_program_repeat1, - STATE(81), 1, + STATE(81), 2, sym_line_comment, - STATE(85), 1, aux_sym_program_repeat2, - [2652] = 8, + [2695] = 8, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(195), 1, - anon_sym_DASH, - ACTIONS(233), 1, - anon_sym_COMMA, - ACTIONS(235), 1, - anon_sym_RBRACE, - STATE(62), 1, - aux_sym_list_repeat1, + ACTIONS(139), 1, + ts_builtin_sym_end, + ACTIONS(141), 1, + anon_sym_LF, + STATE(36), 1, + aux_sym_program_repeat1, + STATE(81), 1, + aux_sym_program_repeat2, STATE(82), 1, sym_line_comment, - [2677] = 6, + [2720] = 7, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(239), 1, - anon_sym_BANG, + ACTIONS(241), 1, + anon_sym_COMMA, + ACTIONS(245), 1, + anon_sym_RBRACK, STATE(83), 1, sym_line_comment, - ACTIONS(237), 3, - ts_builtin_sym_end, - anon_sym_LF, - anon_sym_COMMA, - [2698] = 6, + ACTIONS(243), 2, + anon_sym_DASH, + anon_sym_PLUS, + [2743] = 8, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(243), 1, + ACTIONS(174), 1, + anon_sym_RBRACE, + ACTIONS(232), 1, + anon_sym_DASH, + ACTIONS(247), 1, anon_sym_COMMA, - ACTIONS(241), 2, - ts_builtin_sym_end, - anon_sym_LF, - STATE(84), 2, + STATE(84), 1, sym_line_comment, - aux_sym_meta_repeat3, - [2719] = 8, + STATE(87), 1, + aux_sym_list_repeat1, + [2768] = 7, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(139), 1, - ts_builtin_sym_end, - ACTIONS(141), 1, - anon_sym_LF, - STATE(38), 1, - aux_sym_program_repeat1, - STATE(61), 1, - aux_sym_program_repeat2, + ACTIONS(249), 1, + anon_sym_COMMA, + STATE(69), 1, + aux_sym_instruction_repeat1, STATE(85), 1, sym_line_comment, - [2744] = 6, + ACTIONS(47), 2, + ts_builtin_sym_end, + anon_sym_LF, + [2791] = 7, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(248), 1, + ACTIONS(190), 1, anon_sym_COMMA, - ACTIONS(246), 2, + STATE(72), 1, + aux_sym_meta_repeat2, + STATE(86), 1, + sym_line_comment, + ACTIONS(220), 2, ts_builtin_sym_end, anon_sym_LF, - STATE(86), 2, - sym_line_comment, - aux_sym_meta_repeat2, - [2765] = 6, + [2814] = 6, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(253), 1, - anon_sym_COMMA, + ACTIONS(254), 1, + anon_sym_RBRACE, ACTIONS(251), 2, - ts_builtin_sym_end, - anon_sym_LF, + anon_sym_COMMA, + anon_sym_DASH, STATE(87), 2, sym_line_comment, - aux_sym_meta_repeat1, - [2786] = 6, + aux_sym_list_repeat1, + [2835] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, @@ -4218,12 +4649,11 @@ static const uint16_t ts_small_parse_table[] = { sym_block_comment, STATE(88), 1, sym_line_comment, - STATE(99), 1, - sym_string, - ACTIONS(53), 2, - aux_sym_string_token1, - aux_sym_string_token2, - [2806] = 5, + ACTIONS(224), 3, + ts_builtin_sym_end, + anon_sym_LF, + anon_sym_COMMA, + [2853] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, @@ -4232,11 +4662,11 @@ static const uint16_t ts_small_parse_table[] = { sym_block_comment, STATE(89), 1, sym_line_comment, - ACTIONS(256), 3, + ACTIONS(205), 3, ts_builtin_sym_end, anon_sym_LF, anon_sym_COMMA, - [2824] = 5, + [2871] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, @@ -4245,11 +4675,11 @@ static const uint16_t ts_small_parse_table[] = { sym_block_comment, STATE(90), 1, sym_line_comment, - ACTIONS(258), 3, + ACTIONS(256), 3, ts_builtin_sym_end, anon_sym_LF, anon_sym_COMMA, - [2842] = 5, + [2889] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, @@ -4258,11 +4688,11 @@ static const uint16_t ts_small_parse_table[] = { sym_block_comment, STATE(91), 1, sym_line_comment, - ACTIONS(226), 3, + ACTIONS(258), 3, ts_builtin_sym_end, anon_sym_LF, anon_sym_COMMA, - [2860] = 5, + [2907] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, @@ -4271,11 +4701,11 @@ static const uint16_t ts_small_parse_table[] = { sym_block_comment, STATE(92), 1, sym_line_comment, - ACTIONS(222), 3, + ACTIONS(215), 3, ts_builtin_sym_end, anon_sym_LF, anon_sym_COMMA, - [2878] = 5, + [2925] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, @@ -4284,11 +4714,11 @@ static const uint16_t ts_small_parse_table[] = { sym_block_comment, STATE(93), 1, sym_line_comment, - ACTIONS(237), 3, + ACTIONS(196), 3, ts_builtin_sym_end, anon_sym_LF, anon_sym_COMMA, - [2896] = 5, + [2943] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, @@ -4301,7 +4731,7 @@ static const uint16_t ts_small_parse_table[] = { ts_builtin_sym_end, anon_sym_LF, anon_sym_COMMA, - [2914] = 5, + [2961] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, @@ -4310,11 +4740,11 @@ static const uint16_t ts_small_parse_table[] = { sym_block_comment, STATE(95), 1, sym_line_comment, - ACTIONS(246), 3, - ts_builtin_sym_end, - anon_sym_LF, + ACTIONS(254), 3, anon_sym_COMMA, - [2932] = 5, + anon_sym_DASH, + anon_sym_RBRACE, + [2979] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, @@ -4323,11 +4753,11 @@ static const uint16_t ts_small_parse_table[] = { sym_block_comment, STATE(96), 1, sym_line_comment, - ACTIONS(262), 3, + ACTIONS(210), 3, ts_builtin_sym_end, anon_sym_LF, anon_sym_COMMA, - [2950] = 5, + [2997] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, @@ -4336,11 +4766,11 @@ static const uint16_t ts_small_parse_table[] = { sym_block_comment, STATE(97), 1, sym_line_comment, - ACTIONS(251), 3, + ACTIONS(192), 3, ts_builtin_sym_end, anon_sym_LF, anon_sym_COMMA, - [2968] = 5, + [3015] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, @@ -4349,24 +4779,25 @@ static const uint16_t ts_small_parse_table[] = { sym_block_comment, STATE(98), 1, sym_line_comment, - ACTIONS(264), 3, + ACTIONS(262), 3, ts_builtin_sym_end, anon_sym_LF, anon_sym_COMMA, - [2986] = 5, + [3033] = 6, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, + ACTIONS(266), 1, + anon_sym_RBRACK, STATE(99), 1, sym_line_comment, - ACTIONS(241), 3, - ts_builtin_sym_end, - anon_sym_LF, - anon_sym_COMMA, - [3004] = 5, + ACTIONS(264), 2, + anon_sym_DASH, + anon_sym_PLUS, + [3053] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, @@ -4375,11 +4806,11 @@ static const uint16_t ts_small_parse_table[] = { sym_block_comment, STATE(100), 1, sym_line_comment, - ACTIONS(68), 3, + ACTIONS(64), 3, ts_builtin_sym_end, anon_sym_LF, anon_sym_COMMA, - [3022] = 5, + [3071] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, @@ -4388,25 +4819,24 @@ static const uint16_t ts_small_parse_table[] = { sym_block_comment, STATE(101), 1, sym_line_comment, - ACTIONS(266), 3, + ACTIONS(268), 3, ts_builtin_sym_end, anon_sym_LF, anon_sym_COMMA, - [3040] = 6, + [3089] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(270), 1, - anon_sym_RBRACK, STATE(102), 1, sym_line_comment, - ACTIONS(268), 2, - anon_sym_DASH, - anon_sym_PLUS, - [3060] = 5, + ACTIONS(270), 3, + ts_builtin_sym_end, + anon_sym_LF, + anon_sym_COMMA, + [3107] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, @@ -4419,33 +4849,33 @@ static const uint16_t ts_small_parse_table[] = { ts_builtin_sym_end, anon_sym_LF, anon_sym_COMMA, - [3078] = 5, + [3125] = 6, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, + STATE(92), 1, + sym_string, STATE(104), 1, sym_line_comment, - ACTIONS(200), 3, - anon_sym_COMMA, - anon_sym_DASH, - anon_sym_RBRACE, - [3096] = 6, + ACTIONS(53), 2, + aux_sym_string_token1, + aux_sym_string_token2, + [3145] = 5, + ACTIONS(3), 1, + anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(49), 1, - anon_sym_POUND, - ACTIONS(274), 1, - aux_sym_int_token2, - STATE(97), 1, - sym_int, STATE(105), 1, sym_line_comment, - [3115] = 5, + ACTIONS(274), 2, + ts_builtin_sym_end, + anon_sym_LF, + [3162] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, @@ -4454,10 +4884,10 @@ static const uint16_t ts_small_parse_table[] = { sym_block_comment, STATE(106), 1, sym_line_comment, - ACTIONS(206), 2, + ACTIONS(276), 2, ts_builtin_sym_end, anon_sym_LF, - [3132] = 5, + [3179] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, @@ -4466,10 +4896,10 @@ static const uint16_t ts_small_parse_table[] = { sym_block_comment, STATE(107), 1, sym_line_comment, - ACTIONS(276), 2, + ACTIONS(278), 2, ts_builtin_sym_end, anon_sym_LF, - [3149] = 5, + [3196] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, @@ -4478,23 +4908,22 @@ static const uint16_t ts_small_parse_table[] = { sym_block_comment, STATE(108), 1, sym_line_comment, - ACTIONS(278), 2, + ACTIONS(280), 2, ts_builtin_sym_end, anon_sym_LF, - [3166] = 6, + [3213] = 5, + ACTIONS(3), 1, + anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(49), 1, - anon_sym_POUND, - ACTIONS(274), 1, - aux_sym_int_token2, STATE(109), 1, sym_line_comment, - STATE(123), 1, - sym_int, - [3185] = 5, + ACTIONS(282), 2, + ts_builtin_sym_end, + anon_sym_LF, + [3230] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, @@ -4503,10 +4932,10 @@ static const uint16_t ts_small_parse_table[] = { sym_block_comment, STATE(110), 1, sym_line_comment, - ACTIONS(188), 2, + ACTIONS(236), 2, ts_builtin_sym_end, anon_sym_LF, - [3202] = 5, + [3247] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, @@ -4515,34 +4944,36 @@ static const uint16_t ts_small_parse_table[] = { sym_block_comment, STATE(111), 1, sym_line_comment, - ACTIONS(280), 2, + ACTIONS(284), 2, ts_builtin_sym_end, anon_sym_LF, - [3219] = 5, - ACTIONS(3), 1, - anon_sym_POUND, + [3264] = 6, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, + ACTIONS(49), 1, + anon_sym_POUND, + ACTIONS(286), 1, + aux_sym_int_token2, + STATE(96), 1, + sym_int, STATE(112), 1, sym_line_comment, - ACTIONS(282), 2, - ts_builtin_sym_end, - anon_sym_LF, - [3236] = 5, + [3283] = 6, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, + ACTIONS(288), 1, + sym_op, + ACTIONS(290), 1, + sym_word, STATE(113), 1, sym_line_comment, - ACTIONS(284), 2, - ts_builtin_sym_end, - anon_sym_LF, - [3253] = 5, + [3302] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, @@ -4551,78 +4982,80 @@ static const uint16_t ts_small_parse_table[] = { sym_block_comment, STATE(114), 1, sym_line_comment, - ACTIONS(286), 2, + ACTIONS(188), 2, ts_builtin_sym_end, anon_sym_LF, - [3270] = 6, + [3319] = 6, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, ACTIONS(49), 1, anon_sym_POUND, - ACTIONS(274), 1, + ACTIONS(286), 1, aux_sym_int_token2, STATE(115), 1, sym_line_comment, - STATE(122), 1, + STATE(119), 1, sym_int, - [3289] = 5, - ACTIONS(288), 1, - anon_sym_POUND, - ACTIONS(290), 1, - aux_sym_line_comment_token1, - ACTIONS(292), 1, + [3338] = 6, + ACTIONS(5), 1, aux_sym_line_comment_token2, - ACTIONS(294), 1, + ACTIONS(7), 1, sym_block_comment, + ACTIONS(49), 1, + anon_sym_POUND, + ACTIONS(286), 1, + aux_sym_int_token2, STATE(116), 1, sym_line_comment, - [3305] = 5, + STATE(117), 1, + sym_int, + [3357] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(296), 1, + ACTIONS(266), 1, anon_sym_RBRACK, STATE(117), 1, sym_line_comment, - [3321] = 5, + [3373] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(298), 1, - anon_sym_LBRACK, + ACTIONS(23), 1, + anon_sym_COLON, STATE(118), 1, sym_line_comment, - [3337] = 5, + [3389] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(300), 1, - anon_sym_LBRACK, + ACTIONS(292), 1, + anon_sym_RBRACK, STATE(119), 1, sym_line_comment, - [3353] = 5, - ACTIONS(3), 1, + [3405] = 5, + ACTIONS(294), 1, anon_sym_POUND, - ACTIONS(5), 1, + ACTIONS(296), 1, + aux_sym_line_comment_token1, + ACTIONS(298), 1, aux_sym_line_comment_token2, - ACTIONS(7), 1, + ACTIONS(300), 1, sym_block_comment, - ACTIONS(224), 1, - anon_sym_RPAREN, STATE(120), 1, sym_line_comment, - [3369] = 5, + [3421] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, @@ -4630,65 +5063,65 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(7), 1, sym_block_comment, ACTIONS(302), 1, - anon_sym_RPAREN, + anon_sym_LBRACK, STATE(121), 1, sym_line_comment, - [3385] = 5, + [3437] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(270), 1, - anon_sym_RBRACK, + ACTIONS(304), 1, + ts_builtin_sym_end, STATE(122), 1, sym_line_comment, - [3401] = 5, + [3453] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(304), 1, - anon_sym_RBRACK, + ACTIONS(306), 1, + anon_sym_RPAREN, STATE(123), 1, sym_line_comment, - [3417] = 5, + [3469] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(306), 1, - sym_float, + ACTIONS(308), 1, + anon_sym_RPAREN, STATE(124), 1, sym_line_comment, - [3433] = 5, + [3485] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(308), 1, - aux_sym_int_token1, + ACTIONS(310), 1, + anon_sym_RBRACK, STATE(125), 1, sym_line_comment, - [3449] = 5, + [3501] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(310), 1, - anon_sym_rel, + ACTIONS(194), 1, + anon_sym_RPAREN, STATE(126), 1, sym_line_comment, - [3465] = 5, + [3517] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, @@ -4696,10 +5129,10 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(7), 1, sym_block_comment, ACTIONS(312), 1, - anon_sym_ptr, + anon_sym_rel, STATE(127), 1, sym_line_comment, - [3481] = 5, + [3533] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, @@ -4707,10 +5140,10 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(7), 1, sym_block_comment, ACTIONS(314), 1, - anon_sym_RPAREN, + aux_sym_int_token1, STATE(128), 1, sym_line_comment, - [3497] = 5, + [3549] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, @@ -4718,10 +5151,10 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(7), 1, sym_block_comment, ACTIONS(316), 1, - anon_sym_RPAREN, + sym_word, STATE(129), 1, sym_line_comment, - [3513] = 5, + [3565] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, @@ -4729,358 +5162,359 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(7), 1, sym_block_comment, ACTIONS(318), 1, - ts_builtin_sym_end, + sym_float, STATE(130), 1, sym_line_comment, - [3529] = 5, + [3581] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(23), 1, - anon_sym_COLON, + ACTIONS(320), 1, + anon_sym_RPAREN, STATE(131), 1, sym_line_comment, - [3545] = 5, + [3597] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(320), 1, - sym_word, + ACTIONS(322), 1, + anon_sym_LBRACK, STATE(132), 1, sym_line_comment, - [3561] = 5, + [3613] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(322), 1, - sym_word, + ACTIONS(324), 1, + anon_sym_ptr, STATE(133), 1, sym_line_comment, - [3577] = 5, + [3629] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(324), 1, + ACTIONS(326), 1, aux_sym_int_token1, STATE(134), 1, sym_line_comment, - [3593] = 1, - ACTIONS(326), 1, - ts_builtin_sym_end, - [3597] = 1, + [3645] = 1, ACTIONS(328), 1, ts_builtin_sym_end, + [3649] = 1, + ACTIONS(330), 1, + ts_builtin_sym_end, }; static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(3)] = 0, - [SMALL_STATE(4)] = 69, - [SMALL_STATE(5)] = 138, - [SMALL_STATE(6)] = 203, - [SMALL_STATE(7)] = 238, - [SMALL_STATE(8)] = 279, - [SMALL_STATE(9)] = 314, - [SMALL_STATE(10)] = 348, - [SMALL_STATE(11)] = 386, - [SMALL_STATE(12)] = 420, - [SMALL_STATE(13)] = 454, - [SMALL_STATE(14)] = 493, - [SMALL_STATE(15)] = 536, - [SMALL_STATE(16)] = 569, - [SMALL_STATE(17)] = 606, - [SMALL_STATE(18)] = 639, - [SMALL_STATE(19)] = 686, - [SMALL_STATE(20)] = 721, - [SMALL_STATE(21)] = 769, - [SMALL_STATE(22)] = 815, - [SMALL_STATE(23)] = 866, - [SMALL_STATE(24)] = 914, - [SMALL_STATE(25)] = 955, - [SMALL_STATE(26)] = 996, - [SMALL_STATE(27)] = 1037, - [SMALL_STATE(28)] = 1078, - [SMALL_STATE(29)] = 1119, - [SMALL_STATE(30)] = 1160, - [SMALL_STATE(31)] = 1201, - [SMALL_STATE(32)] = 1242, - [SMALL_STATE(33)] = 1283, - [SMALL_STATE(34)] = 1324, - [SMALL_STATE(35)] = 1365, - [SMALL_STATE(36)] = 1396, - [SMALL_STATE(37)] = 1426, - [SMALL_STATE(38)] = 1472, - [SMALL_STATE(39)] = 1518, - [SMALL_STATE(40)] = 1548, - [SMALL_STATE(41)] = 1578, - [SMALL_STATE(42)] = 1621, - [SMALL_STATE(43)] = 1649, - [SMALL_STATE(44)] = 1676, - [SMALL_STATE(45)] = 1705, - [SMALL_STATE(46)] = 1736, - [SMALL_STATE(47)] = 1773, - [SMALL_STATE(48)] = 1806, - [SMALL_STATE(49)] = 1841, - [SMALL_STATE(50)] = 1868, - [SMALL_STATE(51)] = 1900, - [SMALL_STATE(52)] = 1932, - [SMALL_STATE(53)] = 1959, - [SMALL_STATE(54)] = 1983, - [SMALL_STATE(55)] = 2013, - [SMALL_STATE(56)] = 2043, - [SMALL_STATE(57)] = 2069, - [SMALL_STATE(58)] = 2095, - [SMALL_STATE(59)] = 2121, - [SMALL_STATE(60)] = 2147, - [SMALL_STATE(61)] = 2173, - [SMALL_STATE(62)] = 2196, - [SMALL_STATE(63)] = 2221, - [SMALL_STATE(64)] = 2242, - [SMALL_STATE(65)] = 2265, - [SMALL_STATE(66)] = 2288, - [SMALL_STATE(67)] = 2311, - [SMALL_STATE(68)] = 2334, - [SMALL_STATE(69)] = 2357, - [SMALL_STATE(70)] = 2380, - [SMALL_STATE(71)] = 2403, - [SMALL_STATE(72)] = 2426, - [SMALL_STATE(73)] = 2449, - [SMALL_STATE(74)] = 2472, - [SMALL_STATE(75)] = 2495, - [SMALL_STATE(76)] = 2518, - [SMALL_STATE(77)] = 2541, - [SMALL_STATE(78)] = 2562, - [SMALL_STATE(79)] = 2583, - [SMALL_STATE(80)] = 2606, - [SMALL_STATE(81)] = 2627, - [SMALL_STATE(82)] = 2652, - [SMALL_STATE(83)] = 2677, - [SMALL_STATE(84)] = 2698, - [SMALL_STATE(85)] = 2719, - [SMALL_STATE(86)] = 2744, - [SMALL_STATE(87)] = 2765, - [SMALL_STATE(88)] = 2786, - [SMALL_STATE(89)] = 2806, - [SMALL_STATE(90)] = 2824, - [SMALL_STATE(91)] = 2842, - [SMALL_STATE(92)] = 2860, - [SMALL_STATE(93)] = 2878, - [SMALL_STATE(94)] = 2896, - [SMALL_STATE(95)] = 2914, - [SMALL_STATE(96)] = 2932, - [SMALL_STATE(97)] = 2950, - [SMALL_STATE(98)] = 2968, - [SMALL_STATE(99)] = 2986, - [SMALL_STATE(100)] = 3004, - [SMALL_STATE(101)] = 3022, - [SMALL_STATE(102)] = 3040, - [SMALL_STATE(103)] = 3060, - [SMALL_STATE(104)] = 3078, - [SMALL_STATE(105)] = 3096, - [SMALL_STATE(106)] = 3115, - [SMALL_STATE(107)] = 3132, - [SMALL_STATE(108)] = 3149, - [SMALL_STATE(109)] = 3166, - [SMALL_STATE(110)] = 3185, - [SMALL_STATE(111)] = 3202, - [SMALL_STATE(112)] = 3219, - [SMALL_STATE(113)] = 3236, - [SMALL_STATE(114)] = 3253, - [SMALL_STATE(115)] = 3270, - [SMALL_STATE(116)] = 3289, - [SMALL_STATE(117)] = 3305, - [SMALL_STATE(118)] = 3321, - [SMALL_STATE(119)] = 3337, - [SMALL_STATE(120)] = 3353, - [SMALL_STATE(121)] = 3369, - [SMALL_STATE(122)] = 3385, - [SMALL_STATE(123)] = 3401, - [SMALL_STATE(124)] = 3417, - [SMALL_STATE(125)] = 3433, - [SMALL_STATE(126)] = 3449, - [SMALL_STATE(127)] = 3465, - [SMALL_STATE(128)] = 3481, - [SMALL_STATE(129)] = 3497, - [SMALL_STATE(130)] = 3513, - [SMALL_STATE(131)] = 3529, - [SMALL_STATE(132)] = 3545, - [SMALL_STATE(133)] = 3561, - [SMALL_STATE(134)] = 3577, - [SMALL_STATE(135)] = 3593, - [SMALL_STATE(136)] = 3597, + [SMALL_STATE(4)] = 70, + [SMALL_STATE(5)] = 140, + [SMALL_STATE(6)] = 206, + [SMALL_STATE(7)] = 248, + [SMALL_STATE(8)] = 284, + [SMALL_STATE(9)] = 320, + [SMALL_STATE(10)] = 355, + [SMALL_STATE(11)] = 390, + [SMALL_STATE(12)] = 425, + [SMALL_STATE(13)] = 464, + [SMALL_STATE(14)] = 498, + [SMALL_STATE(15)] = 546, + [SMALL_STATE(16)] = 582, + [SMALL_STATE(17)] = 626, + [SMALL_STATE(18)] = 666, + [SMALL_STATE(19)] = 704, + [SMALL_STATE(20)] = 738, + [SMALL_STATE(21)] = 787, + [SMALL_STATE(22)] = 834, + [SMALL_STATE(23)] = 886, + [SMALL_STATE(24)] = 935, + [SMALL_STATE(25)] = 977, + [SMALL_STATE(26)] = 1019, + [SMALL_STATE(27)] = 1061, + [SMALL_STATE(28)] = 1103, + [SMALL_STATE(29)] = 1145, + [SMALL_STATE(30)] = 1187, + [SMALL_STATE(31)] = 1229, + [SMALL_STATE(32)] = 1271, + [SMALL_STATE(33)] = 1313, + [SMALL_STATE(34)] = 1355, + [SMALL_STATE(35)] = 1397, + [SMALL_STATE(36)] = 1444, + [SMALL_STATE(37)] = 1491, + [SMALL_STATE(38)] = 1522, + [SMALL_STATE(39)] = 1566, + [SMALL_STATE(40)] = 1596, + [SMALL_STATE(41)] = 1626, + [SMALL_STATE(42)] = 1656, + [SMALL_STATE(43)] = 1684, + [SMALL_STATE(44)] = 1715, + [SMALL_STATE(45)] = 1744, + [SMALL_STATE(46)] = 1777, + [SMALL_STATE(47)] = 1804, + [SMALL_STATE(48)] = 1837, + [SMALL_STATE(49)] = 1864, + [SMALL_STATE(50)] = 1899, + [SMALL_STATE(51)] = 1936, + [SMALL_STATE(52)] = 1969, + [SMALL_STATE(53)] = 1997, + [SMALL_STATE(54)] = 2028, + [SMALL_STATE(55)] = 2053, + [SMALL_STATE(56)] = 2084, + [SMALL_STATE(57)] = 2111, + [SMALL_STATE(58)] = 2138, + [SMALL_STATE(59)] = 2165, + [SMALL_STATE(60)] = 2189, + [SMALL_STATE(61)] = 2213, + [SMALL_STATE(62)] = 2237, + [SMALL_STATE(63)] = 2261, + [SMALL_STATE(64)] = 2285, + [SMALL_STATE(65)] = 2311, + [SMALL_STATE(66)] = 2337, + [SMALL_STATE(67)] = 2360, + [SMALL_STATE(68)] = 2381, + [SMALL_STATE(69)] = 2402, + [SMALL_STATE(70)] = 2423, + [SMALL_STATE(71)] = 2446, + [SMALL_STATE(72)] = 2471, + [SMALL_STATE(73)] = 2492, + [SMALL_STATE(74)] = 2513, + [SMALL_STATE(75)] = 2534, + [SMALL_STATE(76)] = 2557, + [SMALL_STATE(77)] = 2578, + [SMALL_STATE(78)] = 2601, + [SMALL_STATE(79)] = 2626, + [SMALL_STATE(80)] = 2649, + [SMALL_STATE(81)] = 2672, + [SMALL_STATE(82)] = 2695, + [SMALL_STATE(83)] = 2720, + [SMALL_STATE(84)] = 2743, + [SMALL_STATE(85)] = 2768, + [SMALL_STATE(86)] = 2791, + [SMALL_STATE(87)] = 2814, + [SMALL_STATE(88)] = 2835, + [SMALL_STATE(89)] = 2853, + [SMALL_STATE(90)] = 2871, + [SMALL_STATE(91)] = 2889, + [SMALL_STATE(92)] = 2907, + [SMALL_STATE(93)] = 2925, + [SMALL_STATE(94)] = 2943, + [SMALL_STATE(95)] = 2961, + [SMALL_STATE(96)] = 2979, + [SMALL_STATE(97)] = 2997, + [SMALL_STATE(98)] = 3015, + [SMALL_STATE(99)] = 3033, + [SMALL_STATE(100)] = 3053, + [SMALL_STATE(101)] = 3071, + [SMALL_STATE(102)] = 3089, + [SMALL_STATE(103)] = 3107, + [SMALL_STATE(104)] = 3125, + [SMALL_STATE(105)] = 3145, + [SMALL_STATE(106)] = 3162, + [SMALL_STATE(107)] = 3179, + [SMALL_STATE(108)] = 3196, + [SMALL_STATE(109)] = 3213, + [SMALL_STATE(110)] = 3230, + [SMALL_STATE(111)] = 3247, + [SMALL_STATE(112)] = 3264, + [SMALL_STATE(113)] = 3283, + [SMALL_STATE(114)] = 3302, + [SMALL_STATE(115)] = 3319, + [SMALL_STATE(116)] = 3338, + [SMALL_STATE(117)] = 3357, + [SMALL_STATE(118)] = 3373, + [SMALL_STATE(119)] = 3389, + [SMALL_STATE(120)] = 3405, + [SMALL_STATE(121)] = 3421, + [SMALL_STATE(122)] = 3437, + [SMALL_STATE(123)] = 3453, + [SMALL_STATE(124)] = 3469, + [SMALL_STATE(125)] = 3485, + [SMALL_STATE(126)] = 3501, + [SMALL_STATE(127)] = 3517, + [SMALL_STATE(128)] = 3533, + [SMALL_STATE(129)] = 3549, + [SMALL_STATE(130)] = 3565, + [SMALL_STATE(131)] = 3581, + [SMALL_STATE(132)] = 3597, + [SMALL_STATE(133)] = 3613, + [SMALL_STATE(134)] = 3629, + [SMALL_STATE(135)] = 3645, + [SMALL_STATE(136)] = 3649, }; 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(116), - [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), + [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), + [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT_EXTRA(), [9] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_program, 0, 0, 0), - [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(133), - [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(132), + [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(113), + [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(129), [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2), - [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(22), - [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(131), + [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(118), + [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(22), [21] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_instruction, 1, 0, 1), - [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), - [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), + [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), + [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), - [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(127), - [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), - [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), - [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), - [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8), + [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(133), + [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), + [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127), + [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), + [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7), [39] = {.entry = {.count = 1, .reusable = false}}, SHIFT(100), - [41] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), - [43] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9), - [45] = {.entry = {.count = 1, .reusable = false}}, SHIFT(11), + [41] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), + [43] = {.entry = {.count = 1, .reusable = false}}, SHIFT(11), + [45] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9), [47] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_instruction, 3, 0, 1), [49] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), - [51] = {.entry = {.count = 1, .reusable = false}}, SHIFT(36), + [51] = {.entry = {.count = 1, .reusable = false}}, SHIFT(39), [53] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), - [55] = {.entry = {.count = 1, .reusable = false}}, SHIFT(35), - [57] = {.entry = {.count = 1, .reusable = false}}, SHIFT(40), + [55] = {.entry = {.count = 1, .reusable = false}}, SHIFT(37), + [57] = {.entry = {.count = 1, .reusable = false}}, SHIFT(41), [59] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_instruction, 4, 0, 1), - [61] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_int, 2, 0, 0), - [63] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_int, 2, 0, 0), - [65] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__expr, 1, 0, 0), REDUCE(sym__tc_expr, 1, 0, 0), - [68] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expr, 1, 0, 0), - [70] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), - [72] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__tc_expr, 1, 0, 0), - [74] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__tc_expr, 1, 0, 0), - [76] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_int, 1, 0, 0), - [78] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_int, 1, 0, 0), - [80] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_reg, 1, 0, 0), - [82] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_reg, 1, 0, 0), - [84] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ident, 1, 0, 0), - [86] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ident, 1, 0, 0), - [88] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string, 1, 0, 0), - [90] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string, 1, 0, 0), - [92] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tc_infix, 3, 0, 5), - [94] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tc_infix, 3, 0, 5), - [96] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), - [98] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), - [100] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), - [102] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), - [104] = {.entry = {.count = 1, .reusable = false}}, SHIFT(27), - [106] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_instruction_repeat2, 1, 0, 0), - [108] = {.entry = {.count = 1, .reusable = false}}, SHIFT(25), - [110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), - [112] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_instruction_repeat2, 1, 0, 0), + [61] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__expr, 1, 0, 0), REDUCE(sym__tc_expr, 1, 0, 0), + [64] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expr, 1, 0, 0), + [66] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), + [68] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__tc_expr, 1, 0, 0), + [70] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__tc_expr, 1, 0, 0), + [72] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_int, 1, 0, 0), + [74] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_int, 1, 0, 0), + [76] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_int, 2, 0, 0), + [78] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_int, 2, 0, 0), + [80] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ident, 1, 0, 0), + [82] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ident, 1, 0, 0), + [84] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string, 1, 0, 0), + [86] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string, 1, 0, 0), + [88] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_reg, 1, 0, 0), + [90] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_reg, 1, 0, 0), + [92] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_instruction_repeat2, 1, 0, 0), + [94] = {.entry = {.count = 1, .reusable = false}}, SHIFT(32), + [96] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), + [98] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), + [100] = {.entry = {.count = 1, .reusable = false}}, SHIFT(25), + [102] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), + [104] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), + [106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), + [108] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_instruction_repeat2, 1, 0, 0), + [110] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tc_infix, 3, 0, 5), + [112] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tc_infix, 3, 0, 5), [114] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_instruction, 2, 0, 1), [116] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_instruction_repeat2, 2, 0, 0), - [118] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_instruction_repeat2, 2, 0, 0), SHIFT_REPEAT(125), - [121] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_instruction_repeat2, 2, 0, 0), SHIFT_REPEAT(8), - [124] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_instruction_repeat2, 2, 0, 0), SHIFT_REPEAT(12), - [127] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_instruction_repeat2, 2, 0, 0), SHIFT_REPEAT(9), - [130] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_instruction_repeat2, 2, 0, 0), SHIFT_REPEAT(11), + [118] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_instruction_repeat2, 2, 0, 0), SHIFT_REPEAT(128), + [121] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_instruction_repeat2, 2, 0, 0), SHIFT_REPEAT(7), + [124] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_instruction_repeat2, 2, 0, 0), SHIFT_REPEAT(10), + [127] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_instruction_repeat2, 2, 0, 0), SHIFT_REPEAT(11), + [130] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_instruction_repeat2, 2, 0, 0), SHIFT_REPEAT(9), [133] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_meta, 1, 0, 1), - [135] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), - [137] = {.entry = {.count = 1, .reusable = false}}, SHIFT(70), + [135] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), + [137] = {.entry = {.count = 1, .reusable = false}}, SHIFT(66), [139] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_program, 2, 0, 0), - [141] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), + [141] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), [143] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_program, 3, 0, 0), - [145] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), - [147] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), - [149] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_const, 3, 0, 4), - [151] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), - [153] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), - [155] = {.entry = {.count = 1, .reusable = false}}, SHIFT(33), - [157] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), + [145] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), + [147] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), + [149] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), + [151] = {.entry = {.count = 1, .reusable = false}}, SHIFT(33), + [153] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), + [155] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_const, 3, 0, 4), + [157] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), [159] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), - [161] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(53), + [161] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(54), [164] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), - [166] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 1, 0, 0), - [168] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_program_repeat1, 1, 0, 0), - [170] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), + [166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), + [168] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 1, 0, 0), + [170] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_program_repeat1, 1, 0, 0), [172] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), [174] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), - [176] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_label, 2, 0, 3), - [178] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), - [180] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), - [182] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), - [184] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_label, 2, 0, 0), + [176] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), + [178] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_label, 2, 0, 0), + [180] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), + [182] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), + [184] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_label, 2, 0, 3), [186] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), - [188] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2, 0, 0), - [190] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2, 0, 0), SHIFT_REPEAT(53), - [193] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), - [195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), - [197] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2, 0, 0), SHIFT_REPEAT(73), - [200] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2, 0, 0), - [202] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_meta, 3, 0, 1), - [204] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), - [206] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_meta, 2, 0, 1), - [208] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), - [210] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), - [212] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), - [214] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), - [216] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), - [218] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), - [220] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), - [222] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ptr, 3, 0, 0), - [224] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), - [226] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_instruction_repeat1, 2, 0, 0), - [228] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_instruction_repeat1, 2, 0, 0), SHIFT_REPEAT(5), - [231] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_program, 1, 0, 0), - [233] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), - [235] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), - [237] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ptr, 5, 0, 0), - [239] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), - [241] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_meta_repeat3, 2, 0, 0), - [243] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_meta_repeat3, 2, 0, 0), SHIFT_REPEAT(88), - [246] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_meta_repeat2, 2, 0, 0), - [248] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_meta_repeat2, 2, 0, 0), SHIFT_REPEAT(124), - [251] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_meta_repeat1, 2, 0, 0), - [253] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_meta_repeat1, 2, 0, 0), SHIFT_REPEAT(105), - [256] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 3, 0, 0), - [258] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ptr, 6, 0, 0), - [260] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 5, 0, 0), - [262] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ptr, 4, 0, 0), - [264] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 2, 0, 0), - [266] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ptr, 7, 0, 0), - [268] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), - [270] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), - [272] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 4, 0, 0), - [274] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), - [276] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_label, 5, 0, 3), - [278] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_label, 3, 0, 3), - [280] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_label, 3, 0, 0), - [282] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_label, 5, 0, 0), - [284] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_label, 2, 0, 2), - [286] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__item, 1, 0, 0), - [288] = {.entry = {.count = 1, .reusable = false}}, SHIFT(116), - [290] = {.entry = {.count = 1, .reusable = false}}, SHIFT(135), - [292] = {.entry = {.count = 1, .reusable = false}}, SHIFT(136), - [294] = {.entry = {.count = 1, .reusable = false}}, SHIFT_EXTRA(), - [296] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), - [298] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), - [300] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), - [302] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), - [304] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), - [306] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), - [308] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), - [310] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118), - [312] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), - [314] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), - [316] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), - [318] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [320] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), - [322] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), - [324] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), - [326] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_line_comment, 2, 0, 0), + [188] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_meta, 2, 0, 1), + [190] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), + [192] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ptr, 3, 0, 0), + [194] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), + [196] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_instruction_repeat1, 2, 0, 0), + [198] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_instruction_repeat1, 2, 0, 0), SHIFT_REPEAT(5), + [201] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), + [203] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_program, 1, 0, 0), + [205] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_meta_repeat2, 2, 0, 0), + [207] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_meta_repeat2, 2, 0, 0), SHIFT_REPEAT(130), + [210] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_meta_repeat1, 2, 0, 0), + [212] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_meta_repeat1, 2, 0, 0), SHIFT_REPEAT(112), + [215] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_meta_repeat3, 2, 0, 0), + [217] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_meta_repeat3, 2, 0, 0), SHIFT_REPEAT(104), + [220] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_meta, 3, 0, 1), + [222] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), + [224] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ptr, 5, 0, 0), + [226] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), + [228] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), + [230] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), + [232] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), + [234] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), + [236] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2, 0, 0), + [238] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2, 0, 0), SHIFT_REPEAT(54), + [241] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), + [243] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), + [245] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), + [247] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), + [249] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), + [251] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2, 0, 0), SHIFT_REPEAT(62), + [254] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2, 0, 0), + [256] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ptr, 6, 0, 0), + [258] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ptr, 7, 0, 0), + [260] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 4, 0, 0), + [262] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 2, 0, 0), + [264] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), + [266] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), + [268] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 3, 0, 0), + [270] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ptr, 4, 0, 0), + [272] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 5, 0, 0), + [274] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__item, 1, 0, 0), + [276] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_label, 3, 0, 0), + [278] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_label, 5, 0, 0), + [280] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_label, 2, 0, 2), + [282] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_label, 3, 0, 3), + [284] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_label, 5, 0, 3), + [286] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), + [288] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), + [290] = {.entry = {.count = 1, .reusable = false}}, SHIFT(108), + [292] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), + [294] = {.entry = {.count = 1, .reusable = false}}, SHIFT(120), + [296] = {.entry = {.count = 1, .reusable = false}}, SHIFT(136), + [298] = {.entry = {.count = 1, .reusable = false}}, SHIFT(135), + [300] = {.entry = {.count = 1, .reusable = false}}, SHIFT_EXTRA(), + [302] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116), + [304] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [306] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), + [308] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), + [310] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), + [312] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), + [314] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), + [316] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), + [318] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), + [320] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), + [322] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), + [324] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), + [326] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), [328] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_line_comment, 1, 0, 0), + [330] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_line_comment, 2, 0, 0), }; #ifdef __cplusplus @@ -5096,7 +5530,7 @@ extern "C" { TS_PUBLIC const TSLanguage *tree_sitter_asm(void) { static const TSLanguage language = { - .version = LANGUAGE_VERSION, + .abi_version = LANGUAGE_VERSION, .symbol_count = SYMBOL_COUNT, .alias_count = ALIAS_COUNT, .token_count = TOKEN_COUNT, @@ -5104,6 +5538,7 @@ TS_PUBLIC const TSLanguage *tree_sitter_asm(void) { .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], @@ -5118,9 +5553,16 @@ TS_PUBLIC const TSLanguage *tree_sitter_asm(void) { .public_symbol_map = ts_symbol_map, .alias_map = ts_non_terminal_alias_map, .alias_sequences = &ts_alias_sequences[0][0], - .lex_modes = ts_lex_modes, + .lex_modes = (const void*)ts_lex_modes, .lex_fn = ts_lex, .primary_state_ids = ts_primary_state_ids, + .name = "asm", + .max_reserved_word_set_size = 0, + .metadata = { + .major_version = 0, + .minor_version = 1, + .patch_version = 0, + }, }; return &language; } diff --git a/src/tree_sitter/alloc.h b/src/tree_sitter/alloc.h index 1f4466d7..1abdd120 100644 --- a/src/tree_sitter/alloc.h +++ b/src/tree_sitter/alloc.h @@ -12,10 +12,10 @@ extern "C" { // Allow clients to override allocation functions #ifdef TREE_SITTER_REUSE_ALLOCATOR -extern void *(*ts_current_malloc)(size_t); -extern void *(*ts_current_calloc)(size_t, size_t); -extern void *(*ts_current_realloc)(void *, size_t); -extern void (*ts_current_free)(void *); +extern void *(*ts_current_malloc)(size_t size); +extern void *(*ts_current_calloc)(size_t count, size_t size); +extern void *(*ts_current_realloc)(void *ptr, size_t size); +extern void (*ts_current_free)(void *ptr); #ifndef ts_malloc #define ts_malloc ts_current_malloc diff --git a/src/tree_sitter/array.h b/src/tree_sitter/array.h index 15a3b233..a17a574f 100644 --- a/src/tree_sitter/array.h +++ b/src/tree_sitter/array.h @@ -14,6 +14,7 @@ extern "C" { #include #ifdef _MSC_VER +#pragma warning(push) #pragma warning(disable : 4101) #elif defined(__GNUC__) || defined(__clang__) #pragma GCC diagnostic push @@ -278,7 +279,7 @@ static inline void _array__splice(Array *self, size_t element_size, #define _compare_int(a, b) ((int)*(a) - (int)(b)) #ifdef _MSC_VER -#pragma warning(default : 4101) +#pragma warning(pop) #elif defined(__GNUC__) || defined(__clang__) #pragma GCC diagnostic pop #endif diff --git a/src/tree_sitter/parser.h b/src/tree_sitter/parser.h index 17f0e94b..858107de 100644 --- a/src/tree_sitter/parser.h +++ b/src/tree_sitter/parser.h @@ -18,6 +18,11 @@ typedef uint16_t TSStateId; typedef uint16_t TSSymbol; typedef uint16_t TSFieldId; typedef struct TSLanguage TSLanguage; +typedef struct TSLanguageMetadata { + uint8_t major_version; + uint8_t minor_version; + uint8_t patch_version; +} TSLanguageMetadata; #endif typedef struct { @@ -26,10 +31,11 @@ typedef struct { bool inherited; } TSFieldMapEntry; +// Used to index the field and supertype maps. typedef struct { uint16_t index; uint16_t length; -} TSFieldMapSlice; +} TSMapSlice; typedef struct { bool visible; @@ -47,6 +53,7 @@ struct TSLexer { uint32_t (*get_column)(TSLexer *); bool (*is_at_included_range_start)(const TSLexer *); bool (*eof)(const TSLexer *); + void (*log)(const TSLexer *, const char *, ...); }; typedef enum { @@ -78,6 +85,12 @@ typedef struct { uint16_t external_lex_state; } TSLexMode; +typedef struct { + uint16_t lex_state; + uint16_t external_lex_state; + uint16_t reserved_word_set_id; +} TSLexerMode; + typedef union { TSParseAction action; struct { @@ -92,7 +105,7 @@ typedef struct { } TSCharacterRange; struct TSLanguage { - uint32_t version; + uint32_t abi_version; uint32_t symbol_count; uint32_t alias_count; uint32_t token_count; @@ -108,13 +121,13 @@ struct TSLanguage { const TSParseActionEntry *parse_actions; const char * const *symbol_names; const char * const *field_names; - const TSFieldMapSlice *field_map_slices; + const TSMapSlice *field_map_slices; const TSFieldMapEntry *field_map_entries; const TSSymbolMetadata *symbol_metadata; const TSSymbol *public_symbol_map; const uint16_t *alias_map; const TSSymbol *alias_sequences; - const TSLexMode *lex_modes; + const TSLexerMode *lex_modes; bool (*lex_fn)(TSLexer *, TSStateId); bool (*keyword_lex_fn)(TSLexer *, TSStateId); TSSymbol keyword_capture_token; @@ -128,15 +141,23 @@ struct TSLanguage { void (*deserialize)(void *, const char *, unsigned); } external_scanner; const TSStateId *primary_state_ids; + const char *name; + const TSSymbol *reserved_words; + uint16_t max_reserved_word_set_size; + uint32_t supertype_count; + const TSSymbol *supertype_symbols; + const TSMapSlice *supertype_map_slices; + const TSSymbol *supertype_map_entries; + TSLanguageMetadata metadata; }; -static inline bool set_contains(TSCharacterRange *ranges, uint32_t len, int32_t lookahead) { +static inline bool set_contains(const TSCharacterRange *ranges, uint32_t len, int32_t lookahead) { uint32_t index = 0; uint32_t size = len - index; while (size > 1) { uint32_t half_size = size / 2; uint32_t mid_index = index + half_size; - TSCharacterRange *range = &ranges[mid_index]; + const TSCharacterRange *range = &ranges[mid_index]; if (lookahead >= range->start && lookahead <= range->end) { return true; } else if (lookahead > range->end) { @@ -144,7 +165,7 @@ static inline bool set_contains(TSCharacterRange *ranges, uint32_t len, int32_t } size -= half_size; } - TSCharacterRange *range = &ranges[index]; + const TSCharacterRange *range = &ranges[index]; return (lookahead >= range->start && lookahead <= range->end); } diff --git a/test/corpus/comment.test b/test/corpus/comment.test index 98eb9c9a..f13dc309 100644 --- a/test/corpus/comment.test +++ b/test/corpus/comment.test @@ -13,7 +13,7 @@ MOVLPS ; This is an in-line comment --- (program (instruction - kind: (word)) + kind: (op)) (line_comment)) ========== @@ -23,7 +23,7 @@ pushq %rbp; This is an in-line comment --- (program (instruction - kind: (word) + kind: (op) (ident (reg))) (line_comment)) ========== @@ -33,7 +33,7 @@ pushq %rbp ; This is an in-line comment --- (program (instruction - kind: (word) + kind: (op) (ident (reg))) (line_comment)) ========== diff --git a/test/corpus/instr_and_reg.test b/test/corpus/instr_and_reg.test index aeb8f16c..7643c48b 100644 --- a/test/corpus/instr_and_reg.test +++ b/test/corpus/instr_and_reg.test @@ -4,7 +4,7 @@ Instruction -- No args MOVLPS --- (program - (instruction kind: (word))) + (instruction kind: (op))) ========== Instruction -- One reg arg @@ -13,7 +13,7 @@ pushq %rbp --- (program (instruction - kind: (word) + kind: (op) (ident (reg)))) ========== @@ -23,7 +23,7 @@ pushq %rbp, %rbp --- (program (instruction - kind: (word) + kind: (op) (ident (reg)) (ident (reg)))) @@ -34,7 +34,7 @@ movzbl -1(%rbp), %eax --- (program (instruction - kind: (word) + kind: (op) (ptr (int) (reg)) @@ -47,7 +47,7 @@ andl $15, %eax --- (program (instruction - kind: (word) + kind: (op) (int) (ident (reg)))) @@ -58,7 +58,7 @@ mov X10, #1 --- (program (instruction - (word) + (op) (ident (reg (word))) @@ -72,7 +72,7 @@ stp w0, w1, [sp, #-16]! --- (program (instruction - (word) + (op) (ident (reg (word))) @@ -92,7 +92,7 @@ ldr x8, [sp, #8] --- (program (instruction - (word) + (op) (ident (reg (word))) @@ -108,7 +108,7 @@ ldr x8, [sp] --- (program (instruction - (word) + (op) (ident (reg (word))) @@ -123,7 +123,7 @@ adr X1, helloworld --- (program (instruction - (word) + (op) (ident (reg (word))) @@ -138,7 +138,7 @@ PUSH { V1, V2, V3-V5, LR } --- (program (instruction - (word) + (op) (list (reg (word)) @@ -158,7 +158,7 @@ mov $msg, %ecx --- (program (instruction - (word) + (op) (ident (reg (address))) @@ -172,7 +172,7 @@ jne .L5 --- (program (instruction - kind: (word) + kind: (op) (ident))) ========== @@ -182,10 +182,42 @@ LDR A1, =addr --- (program (instruction - (word) + (op) (ident (reg (word))) (ident (reg (address))))) + +========== +Instruction -- Instruction with dot in the middle (RVV) +========== +vse32.v v8, (a2) +--- +(program + (instruction + kind: (op) + (ident + (reg + (word))) + (ptr + (reg + (word))))) +========== +Instruction -- Instruction with mask flag (RVV) +========== +vle32 v4, (a3), v0.t +--- +(program + (instruction + (op) + (ident + (reg + (word))) + (ptr + (reg + (word))) + (ident + (reg + (flag))))) diff --git a/test/corpus/literal.test b/test/corpus/literal.test index c20b67ae..b1f8eb21 100644 --- a/test/corpus/literal.test +++ b/test/corpus/literal.test @@ -45,7 +45,7 @@ cmp byte ptr [rdi], '"' --- (program (instruction - (word) + (op) (ptr (reg (word)))