diff --git a/grammar.js b/grammar.js index 6e4f80d7..1c1fbdd3 100644 --- a/grammar.js +++ b/grammar.js @@ -26,7 +26,11 @@ module.exports = grammar({ seq( field('kind', $.meta_ident), optional(choice( - $.ident, + seq( + $.ident, // macro name + optional(seq($._macro_arg, repeat(seq(',', $._macro_arg)))) + ), + $.op_expr, seq($.int, repeat(seq(',', $.int))), seq($.float, repeat(seq(',', $.float))), seq($.string, repeat(seq(',', $.string))), @@ -115,9 +119,9 @@ module.exports = grammar({ ), int: $ => { - const _int = /-?([0-9][0-9_]*|(0x|\$)[0-9A-Fa-f][0-9A-Fa-f_]*|0b[01][01_]*)/ + const _int = /([0-9][0-9_]*|(0x|\$)[0-9A-Fa-f][0-9A-Fa-f_]*|0b[01][01_]*)/ return choice( - seq('#', token.immediate(_int)), + seq(seq(optional('#'), optional($.prefix_operator)), token.immediate(_int)), _int, ) }, @@ -128,13 +132,22 @@ module.exports = grammar({ /'[^']*'/ ), - word: $ => /[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), meta_ident: $ => /\.[a-z_]+/, _ident: $ => /[a-zA-Z_0-9.]+/, ident: $ => choice($._ident, $.meta_ident, $.reg), + _macro_arg_value: $ => choice($.int, $.float, $.string, $.ident), + _macro_arg: $ => seq($.ident, optional(seq("=", $._macro_arg_value))), + prefix_operator: $ => /[~-]/, + infix_operator: $ => /[\/%*<>|&^!+-]|<<|>>/, + op_expr: $ => seq( + field('lhs', $._expr), + field('op', $.infix_operator), + field('rhs', choice($._expr, $.op_expr)), + ), line_comment: $ => choice( diff --git a/queries/asm/highlights.scm b/queries/asm/highlights.scm index 28664a3a..892a888f 100644 --- a/queries/asm/highlights.scm +++ b/queries/asm/highlights.scm @@ -48,8 +48,11 @@ "|" "^" "&" + "!" ] @operator +(infix_operator) @operator + [ "(" ")" diff --git a/src/grammar.json b/src/grammar.json index a75664ba..599c271d 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": { @@ -90,9 +91,51 @@ { "type": "CHOICE", "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "ident" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_macro_arg" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "_macro_arg" + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + } + ] + }, { "type": "SYMBOL", - "name": "ident" + "name": "op_expr" }, { "type": "SEQ", @@ -961,21 +1004,46 @@ "type": "SEQ", "members": [ { - "type": "STRING", - "value": "#" + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "#" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "prefix_operator" + }, + { + "type": "BLANK" + } + ] + } + ] }, { "type": "IMMEDIATE_TOKEN", "content": { "type": "PATTERN", - "value": "-?([0-9][0-9_]*|(0x|\\$)[0-9A-Fa-f][0-9A-Fa-f_]*|0b[01][01_]*)" + "value": "([0-9][0-9_]*|(0x|\\$)[0-9A-Fa-f][0-9A-Fa-f_]*|0b[01][01_]*)" } } ] }, { "type": "PATTERN", - "value": "-?([0-9][0-9_]*|(0x|\\$)[0-9A-Fa-f][0-9A-Fa-f_]*|0b[01][01_]*)" + "value": "([0-9][0-9_]*|(0x|\\$)[0-9A-Fa-f][0-9A-Fa-f_]*|0b[01][01_]*)" } ] }, @@ -998,7 +1066,7 @@ }, "word": { "type": "PATTERN", - "value": "[a-zA-Z0-9_]+" + "value": "[\\\\a-zA-Z0-9_]+" }, "_reg": { "type": "PATTERN", @@ -1050,6 +1118,103 @@ } ] }, + "_macro_arg_value": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "int" + }, + { + "type": "SYMBOL", + "name": "float" + }, + { + "type": "SYMBOL", + "name": "string" + }, + { + "type": "SYMBOL", + "name": "ident" + } + ] + }, + "_macro_arg": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "ident" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "=" + }, + { + "type": "SYMBOL", + "name": "_macro_arg_value" + } + ] + }, + { + "type": "BLANK" + } + ] + } + ] + }, + "prefix_operator": { + "type": "PATTERN", + "value": "[~-]" + }, + "infix_operator": { + "type": "PATTERN", + "value": "[\\/%*<>|&^!+-]|<<|>>" + }, + "op_expr": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "lhs", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + }, + { + "type": "FIELD", + "name": "op", + "content": { + "type": "SYMBOL", + "name": "infix_operator" + } + }, + { + "type": "FIELD", + "name": "rhs", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_expr" + }, + { + "type": "SYMBOL", + "name": "op_expr" + } + ] + } + } + ] + }, "line_comment": { "type": "CHOICE", "members": [ @@ -1119,5 +1284,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..3e212715 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -109,7 +109,17 @@ { "type": "int", "named": true, - "fields": {} + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "prefix_operator", + "named": true + } + ] + } }, { "type": "label", @@ -148,6 +158,7 @@ { "type": "line_comment", "named": true, + "extra": true, "fields": {} }, { @@ -196,6 +207,10 @@ "type": "int", "named": true }, + { + "type": "op_expr", + "named": true + }, { "type": "string", "named": true @@ -203,9 +218,90 @@ ] } }, + { + "type": "op_expr", + "named": true, + "fields": { + "lhs": { + "multiple": false, + "required": true, + "types": [ + { + "type": "float", + "named": true + }, + { + "type": "ident", + "named": true + }, + { + "type": "int", + "named": true + }, + { + "type": "list", + "named": true + }, + { + "type": "ptr", + "named": true + }, + { + "type": "string", + "named": true + } + ] + }, + "op": { + "multiple": false, + "required": true, + "types": [ + { + "type": "infix_operator", + "named": true + } + ] + }, + "rhs": { + "multiple": false, + "required": true, + "types": [ + { + "type": "float", + "named": true + }, + { + "type": "ident", + "named": true + }, + { + "type": "int", + "named": true + }, + { + "type": "list", + "named": true + }, + { + "type": "op_expr", + "named": true + }, + { + "type": "ptr", + "named": true + }, + { + "type": "string", + "named": true + } + ] + } + } + }, { "type": "program", "named": true, + "root": true, "fields": {}, "children": { "multiple": true, @@ -417,6 +513,10 @@ "type": ":", "named": false }, + { + "type": "=", + "named": false + }, { "type": "[", "named": false @@ -435,7 +535,8 @@ }, { "type": "block_comment", - "named": true + "named": true, + "extra": true }, { "type": "byte", @@ -453,6 +554,10 @@ "type": "float", "named": true }, + { + "type": "infix_operator", + "named": true + }, { "type": "label", "named": false @@ -461,6 +566,10 @@ "type": "meta_ident", "named": true }, + { + "type": "prefix_operator", + "named": true + }, { "type": "ptr", "named": false @@ -475,11 +584,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..c9ca038d 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 STATE_COUNT 137 -#define LARGE_STATE_COUNT 3 -#define SYMBOL_COUNT 65 +#define LANGUAGE_VERSION 15 +#define STATE_COUNT 168 +#define LARGE_STATE_COUNT 2 +#define SYMBOL_COUNT 72 #define ALIAS_COUNT 0 -#define TOKEN_COUNT 41 +#define TOKEN_COUNT 44 #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, @@ -53,33 +57,40 @@ enum ts_symbol_identifiers { 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, + anon_sym_EQ = 38, + sym_prefix_operator = 39, + sym_infix_operator = 40, + aux_sym_line_comment_token1 = 41, + aux_sym_line_comment_token2 = 42, + sym_block_comment = 43, + sym_program = 44, + sym__item = 45, + sym_meta = 46, + sym_label = 47, + sym_const = 48, + sym_instruction = 49, + sym__expr = 50, + sym_list = 51, + sym_ptr = 52, + sym__tc_expr = 53, + sym_tc_infix = 54, + sym_int = 55, + sym_string = 56, + sym_reg = 57, + sym_ident = 58, + sym__macro_arg_value = 59, + sym__macro_arg = 60, + sym_op_expr = 61, + sym_line_comment = 62, + aux_sym_program_repeat1 = 63, + aux_sym_program_repeat2 = 64, + aux_sym_meta_repeat1 = 65, + aux_sym_meta_repeat2 = 66, + aux_sym_meta_repeat3 = 67, + aux_sym_meta_repeat4 = 68, + aux_sym_instruction_repeat1 = 69, + aux_sym_instruction_repeat2 = 70, + aux_sym_list_repeat1 = 71, }; static const char * const ts_symbol_names[] = { @@ -121,6 +132,9 @@ static const char * const ts_symbol_names[] = { [sym_address] = "address", [sym_meta_ident] = "meta_ident", [sym__ident] = "_ident", + [anon_sym_EQ] = "=", + [sym_prefix_operator] = "prefix_operator", + [sym_infix_operator] = "infix_operator", [aux_sym_line_comment_token1] = "line_comment_token1", [aux_sym_line_comment_token2] = "line_comment_token2", [sym_block_comment] = "block_comment", @@ -139,12 +153,16 @@ static const char * const ts_symbol_names[] = { [sym_string] = "string", [sym_reg] = "reg", [sym_ident] = "ident", + [sym__macro_arg_value] = "_macro_arg_value", + [sym__macro_arg] = "_macro_arg", + [sym_op_expr] = "op_expr", [sym_line_comment] = "line_comment", [aux_sym_program_repeat1] = "program_repeat1", [aux_sym_program_repeat2] = "program_repeat2", [aux_sym_meta_repeat1] = "meta_repeat1", [aux_sym_meta_repeat2] = "meta_repeat2", [aux_sym_meta_repeat3] = "meta_repeat3", + [aux_sym_meta_repeat4] = "meta_repeat4", [aux_sym_instruction_repeat1] = "instruction_repeat1", [aux_sym_instruction_repeat2] = "instruction_repeat2", [aux_sym_list_repeat1] = "list_repeat1", @@ -189,6 +207,9 @@ static const TSSymbol ts_symbol_map[] = { [sym_address] = sym_address, [sym_meta_ident] = sym_meta_ident, [sym__ident] = sym__ident, + [anon_sym_EQ] = anon_sym_EQ, + [sym_prefix_operator] = sym_prefix_operator, + [sym_infix_operator] = sym_infix_operator, [aux_sym_line_comment_token1] = aux_sym_line_comment_token1, [aux_sym_line_comment_token2] = aux_sym_line_comment_token2, [sym_block_comment] = sym_block_comment, @@ -207,12 +228,16 @@ static const TSSymbol ts_symbol_map[] = { [sym_string] = sym_string, [sym_reg] = sym_reg, [sym_ident] = sym_ident, + [sym__macro_arg_value] = sym__macro_arg_value, + [sym__macro_arg] = sym__macro_arg, + [sym_op_expr] = sym_op_expr, [sym_line_comment] = sym_line_comment, [aux_sym_program_repeat1] = aux_sym_program_repeat1, [aux_sym_program_repeat2] = aux_sym_program_repeat2, [aux_sym_meta_repeat1] = aux_sym_meta_repeat1, [aux_sym_meta_repeat2] = aux_sym_meta_repeat2, [aux_sym_meta_repeat3] = aux_sym_meta_repeat3, + [aux_sym_meta_repeat4] = aux_sym_meta_repeat4, [aux_sym_instruction_repeat1] = aux_sym_instruction_repeat1, [aux_sym_instruction_repeat2] = aux_sym_instruction_repeat2, [aux_sym_list_repeat1] = aux_sym_list_repeat1, @@ -371,6 +396,18 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = true, }, + [anon_sym_EQ] = { + .visible = true, + .named = false, + }, + [sym_prefix_operator] = { + .visible = true, + .named = true, + }, + [sym_infix_operator] = { + .visible = true, + .named = true, + }, [aux_sym_line_comment_token1] = { .visible = false, .named = false, @@ -443,6 +480,18 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym__macro_arg_value] = { + .visible = false, + .named = true, + }, + [sym__macro_arg] = { + .visible = false, + .named = true, + }, + [sym_op_expr] = { + .visible = true, + .named = true, + }, [sym_line_comment] = { .visible = true, .named = true, @@ -467,6 +516,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = false, }, + [aux_sym_meta_repeat4] = { + .visible = false, + .named = false, + }, [aux_sym_instruction_repeat1] = { .visible = false, .named = false, @@ -500,7 +553,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,45 +615,45 @@ 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, - [38] = 38, - [39] = 6, - [40] = 11, + [29] = 29, + [30] = 30, + [31] = 31, + [32] = 26, + [33] = 33, + [34] = 27, + [35] = 30, + [36] = 33, + [37] = 29, + [38] = 15, + [39] = 39, + [40] = 40, [41] = 41, - [42] = 12, - [43] = 17, - [44] = 19, + [42] = 16, + [43] = 43, + [44] = 44, [45] = 16, [46] = 46, - [47] = 13, + [47] = 15, [48] = 14, - [49] = 15, - [50] = 50, - [51] = 51, - [52] = 52, - [53] = 53, - [54] = 54, + [49] = 12, + [50] = 23, + [51] = 18, + [52] = 19, + [53] = 20, + [54] = 22, [55] = 55, - [56] = 56, - [57] = 57, - [58] = 58, + [56] = 21, + [57] = 11, + [58] = 10, [59] = 59, [60] = 60, [61] = 61, [62] = 62, [63] = 63, [64] = 64, - [65] = 65, - [66] = 66, - [67] = 67, + [65] = 12, + [66] = 10, + [67] = 11, [68] = 68, [69] = 69, [70] = 70, @@ -631,7 +684,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [95] = 95, [96] = 96, [97] = 97, - [98] = 98, + [98] = 14, [99] = 99, [100] = 100, [101] = 101, @@ -661,15 +714,46 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [125] = 125, [126] = 126, [127] = 127, - [128] = 128, - [129] = 129, + [128] = 15, + [129] = 16, [130] = 130, [131] = 131, [132] = 132, [133] = 133, - [134] = 125, + [134] = 134, [135] = 135, [136] = 136, + [137] = 137, + [138] = 138, + [139] = 139, + [140] = 130, + [141] = 130, + [142] = 142, + [143] = 143, + [144] = 144, + [145] = 145, + [146] = 146, + [147] = 147, + [148] = 148, + [149] = 149, + [150] = 150, + [151] = 151, + [152] = 152, + [153] = 153, + [154] = 152, + [155] = 155, + [156] = 156, + [157] = 157, + [158] = 158, + [159] = 159, + [160] = 160, + [161] = 161, + [162] = 161, + [163] = 152, + [164] = 164, + [165] = 161, + [166] = 166, + [167] = 167, }; static bool ts_lex(TSLexer *lexer, TSStateId state) { @@ -677,1233 +761,1755 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { eof = lexer->eof(lexer); switch (state) { case 0: - if (eof) ADVANCE(30); + if (eof) ADVANCE(37); ADVANCE_MAP( - '\n', 31, - '!', 58, - '"', 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, + '\n', 38, + '!', 64, + '"', 3, + '#', 71, + '$', 18, + '%', 66, + '&', 70, + '\'', 7, + '(', 41, + ')', 42, + '*', 61, + '+', 59, + ',', 39, + '-', 46, + '.', 167, + '/', 65, + '0', 76, + ':', 40, + ';', 182, + '<', 174, + '=', 169, + '>', 175, + '[', 58, + '\\', 162, + ']', 60, + '^', 69, + 'b', 150, + 'c', 126, + 'd', 145, + 'l', 111, + 'p', 141, + 'q', 146, + 'r', 119, + 'w', 128, + '{', 45, + '|', 68, + '}', 47, + '~', 170, ); if (lookahead == '\t' || lookahead == '\r' || - lookahead == ' ') SKIP(0); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(77); - if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + lookahead == ' ') SKIP(25); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(79); + if (('A' <= lookahead && lookahead <= '_') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(160); END_STATE(); case 1: - if (lookahead == '"') ADVANCE(93); - if (lookahead != 0) ADVANCE(1); - END_STATE(); - case 2: ADVANCE_MAP( - '#', 65, + '"', 3, + '#', 71, '$', 20, - '-', 6, - '/', 10, - '0', 84, - ';', 154, - 'p', 16, - 'r', 13, + '%', 23, + '\'', 7, + '-', 171, + '.', 167, + '/', 8, + '0', 81, + ';', 182, + '=', 24, + '\\', 162, + '~', 170, ); if (lookahead == '\t' || lookahead == '\r' || lookahead == ' ') SKIP(2); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(86); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(82); + if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(159); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_') ADVANCE(160); 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); + case 2: + ADVANCE_MAP( + '"', 3, + '#', 71, + '$', 21, + '%', 23, + '\'', 7, + '-', 171, + '.', 167, + '/', 8, + '0', 97, + ';', 182, + '=', 24, + '\\', 162, + '~', 170, + ); if (lookahead == '\t' || lookahead == '\r' || - lookahead == ' ') SKIP(5); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(69); + lookahead == ' ') SKIP(2); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(98); + if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(159); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_') ADVANCE(160); + END_STATE(); + case 3: + if (lookahead == '"') ADVANCE(109); + if (lookahead != 0) ADVANCE(3); 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 == '$' || - lookahead == '=') ADVANCE(24); + if (lookahead == '#') ADVANCE(71); + if (lookahead == '$') ADVANCE(18); + if (lookahead == '/') ADVANCE(8); + if (lookahead == '0') ADVANCE(84); + if (lookahead == ';') ADVANCE(182); + if (lookahead == '-' || + lookahead == '~') ADVANCE(170); if (lookahead == '\t' || lookahead == '\r' || - lookahead == ' ') SKIP(4); - if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_') ADVANCE(140); - if (('0' <= lookahead && lookahead <= '9') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(139); + lookahead == ' ') SKIP(5); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(86); END_STATE(); case 5: - if (lookahead == '#') ADVANCE(65); - if (lookahead == '/') ADVANCE(10); - if (lookahead == ';') ADVANCE(154); + if (lookahead == '#') ADVANCE(71); + if (lookahead == '$') ADVANCE(19); + if (lookahead == '/') ADVANCE(8); + if (lookahead == '0') ADVANCE(100); + if (lookahead == ';') ADVANCE(182); + if (lookahead == '-' || + lookahead == '~') ADVANCE(170); if (lookahead == '\t' || lookahead == '\r' || lookahead == ' ') SKIP(5); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(102); 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(23); + if (lookahead == '/') ADVANCE(8); + if (lookahead == ';') ADVANCE(182); + if (lookahead == '}') ADVANCE(47); + if (lookahead == '$' || + lookahead == '=') ADVANCE(24); + if (lookahead == '\t' || + lookahead == '\r' || + lookahead == ' ') SKIP(6); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '\\' || + lookahead == '_') ADVANCE(162); + if (('0' <= lookahead && lookahead <= '9') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(161); END_STATE(); case 7: - if (lookahead == '$') ADVANCE(20); - if (lookahead == '0') ADVANCE(82); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(83); + if (lookahead == '\'') ADVANCE(110); + if (lookahead != 0) ADVANCE(7); END_STATE(); case 8: - if (lookahead == '$') ADVANCE(21); - if (lookahead == '0') ADVANCE(67); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(69); + if (lookahead == '*') ADVANCE(10); + if (lookahead == '/') ADVANCE(182); END_STATE(); case 9: - if (lookahead == '\'') ADVANCE(94); - if (lookahead != 0) ADVANCE(9); + if (lookahead == '*') ADVANCE(9); + if (lookahead == '/') ADVANCE(183); + if (lookahead != 0) ADVANCE(10); END_STATE(); case 10: - if (lookahead == '*') ADVANCE(12); - if (lookahead == '/') ADVANCE(154); + if (lookahead == '*') ADVANCE(9); + if (lookahead != 0) ADVANCE(10); END_STATE(); case 11: - if (lookahead == '*') ADVANCE(11); - if (lookahead == '/') ADVANCE(155); - if (lookahead != 0) ADVANCE(12); + if (lookahead == '.') ADVANCE(106); + if (('0' <= lookahead && lookahead <= '9') || + lookahead == '_') ADVANCE(11); END_STATE(); case 12: - if (lookahead == '*') ADVANCE(11); - if (lookahead != 0) ADVANCE(12); + if (lookahead == 'e') ADVANCE(13); END_STATE(); case 13: - if (lookahead == 'e') ADVANCE(14); + if (lookahead == 'l') ADVANCE(62); END_STATE(); case 14: - if (lookahead == 'l') ADVANCE(56); + if (lookahead == 'r') ADVANCE(56); END_STATE(); case 15: - if (lookahead == 'r') ADVANCE(50); + if (lookahead == 't') ADVANCE(14); END_STATE(); case 16: - if (lookahead == 't') ADVANCE(15); + if (lookahead == '0' || + lookahead == '1') ADVANCE(85); END_STATE(); case 17: if (lookahead == '0' || - lookahead == '1') ADVANCE(85); + lookahead == '1') ADVANCE(101); END_STATE(); case 18: - if (lookahead == '0' || - lookahead == '1') ADVANCE(68); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(87); END_STATE(); case 19: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(87); - if (('G' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('g' <= lookahead && lookahead <= 'z')) ADVANCE(144); + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(103); END_STATE(); case 20: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(88); + if (('G' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('g' <= lookahead && lookahead <= 'z')) ADVANCE(164); END_STATE(); case 21: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(70); + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(104); + if (('G' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('g' <= lookahead && lookahead <= 'z')) ADVANCE(164); END_STATE(); case 22: if (lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(146); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 23: if (('0' <= lookahead && lookahead <= '9') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(143); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(163); END_STATE(); case 24: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(144); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(164); END_STATE(); case 25: - if (eof) ADVANCE(30); + if (eof) ADVANCE(37); ADVANCE_MAP( - '\n', 31, - '"', 1, - '#', 65, + '\n', 38, + '!', 64, + '"', 3, + '#', 71, '$', 19, + '%', 66, + '&', 70, + '\'', 7, + '(', 41, + ')', 42, + '*', 61, + '+', 59, + ',', 39, + '-', 46, + '.', 167, + '/', 65, + '0', 92, + ':', 40, + ';', 182, + '<', 174, + '=', 169, + '>', 175, + '[', 58, + '\\', 162, + ']', 60, + '^', 69, + 'b', 150, + 'c', 126, + 'd', 145, + 'l', 111, + 'p', 141, + 'q', 146, + 'r', 119, + 'w', 128, + '{', 45, + '|', 68, + '}', 47, + '~', 170, + ); + if (lookahead == '\t' || + lookahead == '\r' || + lookahead == ' ') SKIP(25); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(95); + if (('A' <= lookahead && lookahead <= '_') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(160); + END_STATE(); + case 26: + if (eof) ADVANCE(37); + ADVANCE_MAP( + '\n', 38, + '!', 64, + '#', 71, + '$', 18, + ',', 39, + '/', 173, + '0', 84, + ';', 182, + '<', 174, + '>', 175, + 'p', 15, + 'r', 12, + ); + if (lookahead == '\t' || + lookahead == '\r' || + lookahead == ' ') SKIP(27); + if (lookahead == '%' || + lookahead == '&' || + ('*' <= lookahead && lookahead <= '-') || + lookahead == '^' || + lookahead == '|') ADVANCE(172); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(86); + END_STATE(); + case 27: + if (eof) ADVANCE(37); + ADVANCE_MAP( + '\n', 38, + '!', 64, + '#', 71, + ',', 39, + '/', 173, + ';', 182, + '<', 174, + '>', 175, + 'p', 15, + 'r', 12, + ); + if (lookahead == '\t' || + lookahead == '\r' || + lookahead == ' ') SKIP(27); + if (lookahead == '%' || + lookahead == '&' || + ('*' <= lookahead && lookahead <= '-') || + lookahead == '^' || + lookahead == '|') ADVANCE(172); + END_STATE(); + case 28: + if (eof) ADVANCE(37); + ADVANCE_MAP( + '\n', 38, + '"', 3, + '#', 71, + '$', 20, '%', 23, - '\'', 9, - '(', 34, - '*', 55, - '-', 7, - '.', 147, - '/', 10, - '0', 79, - ':', 33, - ';', 154, + '\'', 7, + '(', 41, + '*', 61, + '-', 171, + '.', 167, + '/', 8, + '0', 81, + ':', 40, + ';', 182, '=', 24, - '[', 52, - 'b', 133, - 'd', 131, - 'q', 132, - 'w', 111, - '{', 38, + '[', 58, + '\\', 162, + 'b', 149, + 'd', 147, + 'q', 148, + 'w', 127, + '{', 45, + '~', 170, ); if (lookahead == '\t' || lookahead == '\r' || - lookahead == ' ') SKIP(25); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(80); - if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(139); + lookahead == ' ') SKIP(31); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(82); + if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(159); if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_') ADVANCE(140); + lookahead == '_') ADVANCE(160); END_STATE(); - case 26: - if (eof) ADVANCE(30); + case 29: + if (eof) ADVANCE(37); ADVANCE_MAP( - '\n', 31, - '"', 1, - '#', 65, - '$', 19, + '\n', 38, + '"', 3, + '#', 71, + '$', 20, '%', 23, - '\'', 9, - '-', 7, - '.', 147, - '/', 10, - '0', 79, - ':', 33, - ';', 154, + '\'', 7, + '.', 167, + '/', 8, + '0', 73, + ';', 182, '=', 24, + '\\', 162, + '-', 170, + '~', 170, ); if (lookahead == '\t' || lookahead == '\r' || - lookahead == ' ') SKIP(26); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(80); - if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(139); + lookahead == ' ') SKIP(32); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(74); + if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(159); if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_') ADVANCE(140); + lookahead == '_') ADVANCE(160); END_STATE(); - case 27: - if (eof) ADVANCE(30); + case 30: + if (eof) ADVANCE(37); ADVANCE_MAP( - '\n', 31, - '"', 1, - '#', 65, - '$', 19, - '%', 61, - '&', 64, - '\'', 9, - '(', 34, - '*', 55, - '+', 53, - ',', 32, - '-', 40, - '.', 147, - '/', 59, - '0', 71, - ';', 154, + '\n', 38, + '"', 3, + '#', 71, + '$', 20, + '%', 67, + '&', 70, + '\'', 7, + '(', 41, + '*', 61, + '+', 59, + ',', 39, + '-', 46, + '.', 167, + '/', 65, + '0', 73, + ';', 182, '=', 24, - '^', 63, - '|', 62, + '\\', 162, + '^', 69, + '|', 68, + '~', 170, ); if (lookahead == '\t' || lookahead == '\r' || - lookahead == ' ') SKIP(27); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(72); - if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(139); + lookahead == ' ') SKIP(33); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(74); + if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(159); if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_') ADVANCE(140); + lookahead == '_') ADVANCE(160); END_STATE(); - case 28: - if (eof) ADVANCE(30); + case 31: + if (eof) ADVANCE(37); + ADVANCE_MAP( + '\n', 38, + '"', 3, + '#', 71, + '$', 21, + '%', 23, + '\'', 7, + '(', 41, + '*', 61, + '-', 171, + '.', 167, + '/', 8, + '0', 97, + ':', 40, + ';', 182, + '=', 24, + '[', 58, + '\\', 162, + 'b', 149, + 'd', 147, + 'q', 148, + 'w', 127, + '{', 45, + '~', 170, + ); + if (lookahead == '\t' || + lookahead == '\r' || + lookahead == ' ') SKIP(31); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(98); + if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(159); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_') ADVANCE(160); + END_STATE(); + case 32: + if (eof) ADVANCE(37); + ADVANCE_MAP( + '\n', 38, + '"', 3, + '#', 71, + '$', 21, + '%', 23, + '\'', 7, + '.', 167, + '/', 8, + '0', 89, + ';', 182, + '=', 24, + '\\', 162, + '-', 170, + '~', 170, + ); + if (lookahead == '\t' || + lookahead == '\r' || + lookahead == ' ') SKIP(32); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(90); + if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(159); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_') ADVANCE(160); + END_STATE(); + case 33: + if (eof) ADVANCE(37); + ADVANCE_MAP( + '\n', 38, + '"', 3, + '#', 71, + '$', 21, + '%', 67, + '&', 70, + '\'', 7, + '(', 41, + '*', 61, + '+', 59, + ',', 39, + '-', 46, + '.', 167, + '/', 65, + '0', 89, + ';', 182, + '=', 24, + '\\', 162, + '^', 69, + '|', 68, + '~', 170, + ); + if (lookahead == '\t' || + lookahead == '\r' || + lookahead == ' ') SKIP(33); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(90); + if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(159); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_') ADVANCE(160); + END_STATE(); + case 34: + if (eof) ADVANCE(37); 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', 38, + '#', 71, + '%', 66, + '&', 70, + '*', 61, + '+', 59, + ',', 39, + '-', 46, + '.', 167, + '/', 65, + ';', 182, + '=', 169, + '\\', 162, + ']', 60, + '^', 69, + 'c', 126, + 'l', 111, + '|', 68, + '}', 47, ); if (lookahead == '\t' || lookahead == '\r' || - lookahead == ' ') SKIP(28); + lookahead == ' ') SKIP(34); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(160); END_STATE(); - case 29: - if (eof) ADVANCE(30); + case 35: + if (eof) ADVANCE(37); ADVANCE_MAP( - '\n', 31, - '#', 65, - '%', 23, - '(', 34, - '.', 22, - '/', 10, - ';', 154, - '}', 41, + '\n', 38, + '#', 71, + '%', 176, + ')', 42, + ',', 39, + '.', 167, + '/', 173, + ';', 182, + '<', 174, + '>', 175, + '\\', 162, + ']', 60, '$', 24, '=', 24, ); if (lookahead == '\t' || lookahead == '\r' || - lookahead == ' ') SKIP(29); + lookahead == ' ') SKIP(35); + if (lookahead == '!' || + lookahead == '&' || + ('*' <= lookahead && lookahead <= '-') || + lookahead == '^' || + lookahead == '|') ADVANCE(172); if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_') ADVANCE(142); + lookahead == '_') ADVANCE(160); if (('0' <= lookahead && lookahead <= '9') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(141); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(159); END_STATE(); - case 30: + case 36: + if (eof) ADVANCE(37); + ADVANCE_MAP( + '\n', 38, + '#', 71, + '(', 41, + ',', 39, + '.', 22, + '/', 173, + ';', 182, + '<', 174, + '>', 175, + ']', 60, + ); + if (lookahead == '\t' || + lookahead == '\r' || + lookahead == ' ') SKIP(36); + if (lookahead == '!' || + lookahead == '%' || + lookahead == '&' || + ('*' <= lookahead && lookahead <= '-') || + lookahead == '^' || + lookahead == '|') ADVANCE(172); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + ('\\' <= lookahead && lookahead <= '_') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(162); + END_STATE(); + case 37: ACCEPT_TOKEN(ts_builtin_sym_end); END_STATE(); - case 31: + case 38: ACCEPT_TOKEN(anon_sym_LF); END_STATE(); - case 32: + case 39: ACCEPT_TOKEN(anon_sym_COMMA); END_STATE(); - case 33: + case 40: ACCEPT_TOKEN(anon_sym_COLON); END_STATE(); - case 34: + case 41: ACCEPT_TOKEN(anon_sym_LPAREN); END_STATE(); - case 35: + case 42: ACCEPT_TOKEN(anon_sym_RPAREN); END_STATE(); - case 36: + case 43: ACCEPT_TOKEN(anon_sym_label); - if (lookahead == '.') ADVANCE(148); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(160); END_STATE(); - case 37: + case 44: ACCEPT_TOKEN(anon_sym_const); - if (lookahead == '.') ADVANCE(148); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(160); END_STATE(); - case 38: + case 45: ACCEPT_TOKEN(anon_sym_LBRACE); END_STATE(); - case 39: - 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); END_STATE(); - case 41: + case 47: ACCEPT_TOKEN(anon_sym_RBRACE); END_STATE(); - case 42: + case 48: ACCEPT_TOKEN(anon_sym_byte); - if (lookahead == '.') ADVANCE(148); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_') ADVANCE(140); + lookahead == '_') ADVANCE(160); if (('0' <= lookahead && lookahead <= '9') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(139); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(159); END_STATE(); - case 43: + case 49: ACCEPT_TOKEN(anon_sym_byte); - if (lookahead == '.') ADVANCE(148); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(160); END_STATE(); - case 44: + case 50: ACCEPT_TOKEN(anon_sym_word); - if (lookahead == '.') ADVANCE(148); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_') ADVANCE(140); + lookahead == '_') ADVANCE(160); if (('0' <= lookahead && lookahead <= '9') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(139); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(159); END_STATE(); - case 45: + case 51: ACCEPT_TOKEN(anon_sym_word); - if (lookahead == '.') ADVANCE(148); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(160); END_STATE(); - case 46: + case 52: ACCEPT_TOKEN(anon_sym_dword); - if (lookahead == '.') ADVANCE(148); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_') ADVANCE(140); + lookahead == '_') ADVANCE(160); if (('0' <= lookahead && lookahead <= '9') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(139); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(159); END_STATE(); - case 47: + case 53: ACCEPT_TOKEN(anon_sym_dword); - if (lookahead == '.') ADVANCE(148); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(160); END_STATE(); - case 48: + case 54: ACCEPT_TOKEN(anon_sym_qword); - if (lookahead == '.') ADVANCE(148); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_') ADVANCE(140); + lookahead == '_') ADVANCE(160); if (('0' <= lookahead && lookahead <= '9') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(139); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(159); END_STATE(); - case 49: + case 55: ACCEPT_TOKEN(anon_sym_qword); - if (lookahead == '.') ADVANCE(148); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(160); END_STATE(); - case 50: + 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(168); + if (lookahead == '\\') ADVANCE(162); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(160); 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(168); + if (lookahead == '\\') ADVANCE(162); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(160); 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(10); + if (lookahead == '/') ADVANCE(182); 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(163); 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(181); END_STATE(); - case 67: + case 73: + ACCEPT_TOKEN(aux_sym_int_token1); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); + if (lookahead == '_') ADVANCE(79); + if (lookahead == 'b') ADVANCE(153); + if (lookahead == 'x') ADVANCE(155); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(74); + if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(159); + if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(160); + END_STATE(); + case 74: + ACCEPT_TOKEN(aux_sym_int_token1); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); + if (lookahead == '_') ADVANCE(79); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(74); + if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(160); + if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(159); + END_STATE(); + case 75: + ACCEPT_TOKEN(aux_sym_int_token1); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); + if (lookahead == '_') ADVANCE(77); + if (lookahead == '0' || + lookahead == '1') ADVANCE(75); + if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(160); + if (('2' <= lookahead && lookahead <= '9') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(159); + END_STATE(); + case 76: ACCEPT_TOKEN(aux_sym_int_token1); - if (lookahead == 'b') ADVANCE(18); - if (lookahead == 'x') ADVANCE(21); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); + if (lookahead == 'b') ADVANCE(151); + if (lookahead == 'x') ADVANCE(157); if (('0' <= lookahead && lookahead <= '9') || - lookahead == '_') ADVANCE(69); + lookahead == '_') ADVANCE(79); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(160); END_STATE(); - case 68: + case 77: ACCEPT_TOKEN(aux_sym_int_token1); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); if (lookahead == '0' || lookahead == '1' || - lookahead == '_') ADVANCE(68); + lookahead == '_') ADVANCE(77); + if (('2' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(160); END_STATE(); - case 69: + case 78: ACCEPT_TOKEN(aux_sym_int_token1); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); + if (('A' <= lookahead && lookahead <= 'F') || + lookahead == '_') ADVANCE(80); if (('0' <= lookahead && lookahead <= '9') || - lookahead == '_') ADVANCE(69); + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(78); + if (('G' <= lookahead && lookahead <= 'Z')) ADVANCE(160); + if (('g' <= lookahead && lookahead <= 'z')) ADVANCE(159); END_STATE(); - case 70: + case 79: ACCEPT_TOKEN(aux_sym_int_token1); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); + if (('0' <= lookahead && lookahead <= '9') || + lookahead == '_') ADVANCE(79); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(160); + END_STATE(); + case 80: + ACCEPT_TOKEN(aux_sym_int_token1); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(70); + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(80); + if (('G' <= lookahead && lookahead <= 'Z') || + ('g' <= lookahead && lookahead <= 'z')) ADVANCE(160); END_STATE(); - case 71: + case 81: + ACCEPT_TOKEN(aux_sym_int_token1); + if (lookahead == '.') ADVANCE(105); + if (lookahead == '\\') ADVANCE(162); + if (lookahead == '_') ADVANCE(83); + if (lookahead == 'b') ADVANCE(153); + if (lookahead == 'x') ADVANCE(155); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(82); + if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(159); + if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(160); + END_STATE(); + case 82: + ACCEPT_TOKEN(aux_sym_int_token1); + if (lookahead == '.') ADVANCE(105); + if (lookahead == '\\') ADVANCE(162); + if (lookahead == '_') ADVANCE(83); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(82); + if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(160); + if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(159); + END_STATE(); + case 83: + ACCEPT_TOKEN(aux_sym_int_token1); + if (lookahead == '.') ADVANCE(105); + if (lookahead == '\\') ADVANCE(162); + if (('0' <= lookahead && lookahead <= '9') || + lookahead == '_') ADVANCE(83); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(160); + END_STATE(); + case 84: + ACCEPT_TOKEN(aux_sym_int_token1); + if (lookahead == 'b') ADVANCE(16); + if (lookahead == 'x') ADVANCE(18); + if (('0' <= lookahead && lookahead <= '9') || + lookahead == '_') ADVANCE(86); + END_STATE(); + case 85: + ACCEPT_TOKEN(aux_sym_int_token1); + if (lookahead == '0' || + lookahead == '1' || + lookahead == '_') ADVANCE(85); + END_STATE(); + case 86: + ACCEPT_TOKEN(aux_sym_int_token1); + if (('0' <= lookahead && lookahead <= '9') || + lookahead == '_') ADVANCE(86); + END_STATE(); + case 87: + ACCEPT_TOKEN(aux_sym_int_token1); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(87); + END_STATE(); + case 88: + ACCEPT_TOKEN(aux_sym_int_token1); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(88); + if (('G' <= lookahead && lookahead <= 'Z') || + ('g' <= lookahead && lookahead <= 'z')) ADVANCE(164); + END_STATE(); + case 89: 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); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); + if (lookahead == '_') ADVANCE(95); + if (lookahead == 'b') ADVANCE(154); + if (lookahead == 'x') ADVANCE(156); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(90); + if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(159); + if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(160); END_STATE(); - case 72: + case 90: 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); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); + if (lookahead == '_') ADVANCE(95); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(90); + if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(160); + if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(159); END_STATE(); - case 73: + case 91: ACCEPT_TOKEN(aux_sym_int_token2); - if (lookahead == '.') ADVANCE(148); - if (lookahead == '_') ADVANCE(75); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); + if (lookahead == '_') ADVANCE(93); if (lookahead == '0' || - lookahead == '1') ADVANCE(73); - if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(140); + lookahead == '1') ADVANCE(91); + if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(160); if (('2' <= lookahead && lookahead <= '9') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(139); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(159); END_STATE(); - case 74: + case 92: ACCEPT_TOKEN(aux_sym_int_token2); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'b') ADVANCE(135); - if (lookahead == 'x') ADVANCE(138); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); + if (lookahead == 'b') ADVANCE(152); + if (lookahead == 'x') ADVANCE(158); if (('0' <= lookahead && lookahead <= '9') || - lookahead == '_') ADVANCE(77); + lookahead == '_') ADVANCE(95); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(160); END_STATE(); - case 75: + case 93: ACCEPT_TOKEN(aux_sym_int_token2); - if (lookahead == '.') ADVANCE(148); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); if (lookahead == '0' || lookahead == '1' || - lookahead == '_') ADVANCE(75); + lookahead == '_') ADVANCE(93); if (('2' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(160); END_STATE(); - case 76: + case 94: ACCEPT_TOKEN(aux_sym_int_token2); - if (lookahead == '.') ADVANCE(148); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); if (('A' <= lookahead && lookahead <= 'F') || - lookahead == '_') ADVANCE(78); + lookahead == '_') ADVANCE(96); 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 <= 'f')) ADVANCE(94); + if (('G' <= lookahead && lookahead <= 'Z')) ADVANCE(160); + if (('g' <= lookahead && lookahead <= 'z')) ADVANCE(159); END_STATE(); - case 77: + case 95: ACCEPT_TOKEN(aux_sym_int_token2); - if (lookahead == '.') ADVANCE(148); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); if (('0' <= lookahead && lookahead <= '9') || - lookahead == '_') ADVANCE(77); + lookahead == '_') ADVANCE(95); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(160); END_STATE(); - case 78: + case 96: ACCEPT_TOKEN(aux_sym_int_token2); - if (lookahead == '.') ADVANCE(148); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(78); + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(96); if (('G' <= lookahead && lookahead <= 'Z') || - ('g' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('g' <= lookahead && lookahead <= 'z')) ADVANCE(160); END_STATE(); - case 79: + case 97: 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); + if (lookahead == '.') ADVANCE(105); + if (lookahead == '\\') ADVANCE(162); + if (lookahead == '_') ADVANCE(99); + if (lookahead == 'b') ADVANCE(154); + if (lookahead == 'x') ADVANCE(156); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(98); + if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(159); + if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(160); END_STATE(); - case 80: + case 98: 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); + if (lookahead == '.') ADVANCE(105); + if (lookahead == '\\') ADVANCE(162); + if (lookahead == '_') ADVANCE(99); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(98); + if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(160); + if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(159); END_STATE(); - case 81: + case 99: ACCEPT_TOKEN(aux_sym_int_token2); - if (lookahead == '.') ADVANCE(89); + if (lookahead == '.') ADVANCE(105); + if (lookahead == '\\') ADVANCE(162); if (('0' <= lookahead && lookahead <= '9') || - lookahead == '_') ADVANCE(81); + lookahead == '_') ADVANCE(99); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); - 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); - END_STATE(); - case 83: - ACCEPT_TOKEN(aux_sym_int_token2); - if (lookahead == '.') ADVANCE(90); - if (('0' <= lookahead && lookahead <= '9') || - lookahead == '_') ADVANCE(83); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(160); END_STATE(); - case 84: + case 100: ACCEPT_TOKEN(aux_sym_int_token2); if (lookahead == 'b') ADVANCE(17); - if (lookahead == 'x') ADVANCE(20); + if (lookahead == 'x') ADVANCE(19); if (('0' <= lookahead && lookahead <= '9') || - lookahead == '_') ADVANCE(86); + lookahead == '_') ADVANCE(102); END_STATE(); - case 85: + case 101: ACCEPT_TOKEN(aux_sym_int_token2); if (lookahead == '0' || lookahead == '1' || - lookahead == '_') ADVANCE(85); + lookahead == '_') ADVANCE(101); END_STATE(); - case 86: + case 102: ACCEPT_TOKEN(aux_sym_int_token2); if (('0' <= lookahead && lookahead <= '9') || - lookahead == '_') ADVANCE(86); + lookahead == '_') ADVANCE(102); END_STATE(); - case 87: + case 103: 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); + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(103); END_STATE(); - case 88: + case 104: ACCEPT_TOKEN(aux_sym_int_token2); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(88); + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(104); + if (('G' <= lookahead && lookahead <= 'Z') || + ('g' <= lookahead && lookahead <= 'z')) ADVANCE(164); END_STATE(); - case 89: + case 105: ACCEPT_TOKEN(sym_float); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(91); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(107); if (lookahead == '.' || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(148); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(168); END_STATE(); - case 90: + case 106: ACCEPT_TOKEN(sym_float); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(92); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(108); END_STATE(); - case 91: + case 107: ACCEPT_TOKEN(sym_float); if (('0' <= lookahead && lookahead <= '9') || - lookahead == '_') ADVANCE(91); + lookahead == '_') ADVANCE(107); if (lookahead == '.' || ('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(148); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(168); END_STATE(); - case 92: + case 108: ACCEPT_TOKEN(sym_float); if (('0' <= lookahead && lookahead <= '9') || - lookahead == '_') ADVANCE(92); + lookahead == '_') ADVANCE(108); END_STATE(); - case 93: + case 109: ACCEPT_TOKEN(aux_sym_string_token1); END_STATE(); - case 94: + case 110: ACCEPT_TOKEN(aux_sym_string_token2); END_STATE(); - case 95: + case 111: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'a') ADVANCE(96); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); + if (lookahead == 'a') ADVANCE(112); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('b' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('b' <= lookahead && lookahead <= 'z')) ADVANCE(160); END_STATE(); - case 96: + case 112: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'b') ADVANCE(106); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); + if (lookahead == 'b') ADVANCE(122); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(160); END_STATE(); - case 97: + case 113: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'd') ADVANCE(45); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); + if (lookahead == 'd') ADVANCE(51); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(160); END_STATE(); - case 98: + case 114: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'd') ADVANCE(47); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); + if (lookahead == 'd') ADVANCE(53); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(160); END_STATE(); - case 99: + case 115: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'd') ADVANCE(49); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); + if (lookahead == 'd') ADVANCE(55); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(160); END_STATE(); - case 100: + case 116: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'd') ADVANCE(44); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); + if (lookahead == 'd') ADVANCE(50); if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_') ADVANCE(140); + lookahead == '_') ADVANCE(160); if (('0' <= lookahead && lookahead <= '9') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(139); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(159); END_STATE(); - case 101: + case 117: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'd') ADVANCE(46); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); + if (lookahead == 'd') ADVANCE(52); if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_') ADVANCE(140); + lookahead == '_') ADVANCE(160); if (('0' <= lookahead && lookahead <= '9') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(139); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(159); END_STATE(); - case 102: + case 118: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'd') ADVANCE(48); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); + if (lookahead == 'd') ADVANCE(54); if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_') ADVANCE(140); + lookahead == '_') ADVANCE(160); if (('0' <= lookahead && lookahead <= '9') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(139); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(159); END_STATE(); - case 103: + case 119: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'e') ADVANCE(107); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); + if (lookahead == 'e') ADVANCE(123); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(160); END_STATE(); - case 104: + case 120: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'e') ADVANCE(43); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); + if (lookahead == 'e') ADVANCE(49); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(160); END_STATE(); - case 105: + case 121: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'e') ADVANCE(42); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); + if (lookahead == 'e') ADVANCE(48); if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_') ADVANCE(140); + lookahead == '_') ADVANCE(160); if (('0' <= lookahead && lookahead <= '9') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(139); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(159); END_STATE(); - case 106: + case 122: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'e') ADVANCE(108); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); + if (lookahead == 'e') ADVANCE(124); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(160); END_STATE(); - case 107: + case 123: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'l') ADVANCE(57); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); + 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(160); END_STATE(); - case 108: + case 124: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'l') ADVANCE(36); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); + if (lookahead == 'l') ADVANCE(43); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(160); END_STATE(); - case 109: + case 125: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'n') ADVANCE(124); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); + if (lookahead == 'n') ADVANCE(140); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(160); END_STATE(); - case 110: + case 126: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'o') ADVANCE(109); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); + if (lookahead == 'o') ADVANCE(125); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(160); END_STATE(); - case 111: + case 127: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'o') ADVANCE(119); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); + if (lookahead == 'o') ADVANCE(135); if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_') ADVANCE(140); + lookahead == '_') ADVANCE(160); if (('0' <= lookahead && lookahead <= '9') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(139); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(159); END_STATE(); - case 112: + case 128: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'o') ADVANCE(118); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); + 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(160); END_STATE(); - case 113: + case 129: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'o') ADVANCE(120); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); + if (lookahead == 'o') ADVANCE(136); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(160); END_STATE(); - case 114: + case 130: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'o') ADVANCE(122); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); + if (lookahead == 'o') ADVANCE(138); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(160); END_STATE(); - case 115: + case 131: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'o') ADVANCE(121); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); + if (lookahead == 'o') ADVANCE(137); if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_') ADVANCE(140); + lookahead == '_') ADVANCE(160); if (('0' <= lookahead && lookahead <= '9') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(139); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(159); END_STATE(); - case 116: + case 132: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'o') ADVANCE(123); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); + if (lookahead == 'o') ADVANCE(139); if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_') ADVANCE(140); + lookahead == '_') ADVANCE(160); if (('0' <= lookahead && lookahead <= '9') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(139); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(159); END_STATE(); - case 117: + case 133: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'r') ADVANCE(51); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); + if (lookahead == 'r') ADVANCE(57); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(160); END_STATE(); - case 118: + case 134: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'r') ADVANCE(97); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); + if (lookahead == 'r') ADVANCE(113); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(160); END_STATE(); - case 119: + case 135: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'r') ADVANCE(100); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); + if (lookahead == 'r') ADVANCE(116); if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_') ADVANCE(140); + lookahead == '_') ADVANCE(160); if (('0' <= lookahead && lookahead <= '9') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(139); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(159); END_STATE(); - case 120: + case 136: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'r') ADVANCE(98); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); + if (lookahead == 'r') ADVANCE(114); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(160); END_STATE(); - case 121: + case 137: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'r') ADVANCE(101); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); + if (lookahead == 'r') ADVANCE(117); if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_') ADVANCE(140); + lookahead == '_') ADVANCE(160); if (('0' <= lookahead && lookahead <= '9') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(139); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(159); END_STATE(); - case 122: + case 138: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'r') ADVANCE(99); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); + if (lookahead == 'r') ADVANCE(115); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(160); END_STATE(); - case 123: + case 139: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'r') ADVANCE(102); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); + if (lookahead == 'r') ADVANCE(118); if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_') ADVANCE(140); + lookahead == '_') ADVANCE(160); if (('0' <= lookahead && lookahead <= '9') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(139); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(159); END_STATE(); - case 124: + case 140: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 's') ADVANCE(126); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); + if (lookahead == 's') ADVANCE(142); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(160); END_STATE(); - case 125: + case 141: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 't') ADVANCE(117); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); + if (lookahead == 't') ADVANCE(133); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(160); END_STATE(); - case 126: + case 142: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 't') ADVANCE(37); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); + if (lookahead == 't') ADVANCE(44); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(160); END_STATE(); - case 127: + case 143: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 't') ADVANCE(105); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); + if (lookahead == 't') ADVANCE(121); if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_') ADVANCE(140); + lookahead == '_') ADVANCE(160); if (('0' <= lookahead && lookahead <= '9') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(139); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(159); END_STATE(); - case 128: + case 144: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 't') ADVANCE(104); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); + if (lookahead == 't') ADVANCE(120); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(160); END_STATE(); - case 129: + case 145: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'w') ADVANCE(113); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); + if (lookahead == 'w') ADVANCE(129); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(160); END_STATE(); - case 130: + case 146: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'w') ADVANCE(114); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); + 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(160); END_STATE(); - case 131: + case 147: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'w') ADVANCE(115); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); + if (lookahead == 'w') ADVANCE(131); if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_') ADVANCE(140); + lookahead == '_') ADVANCE(160); if (('0' <= lookahead && lookahead <= '9') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(139); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(159); END_STATE(); - case 132: + case 148: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'w') ADVANCE(116); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); + if (lookahead == 'w') ADVANCE(132); if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_') ADVANCE(140); + lookahead == '_') ADVANCE(160); if (('0' <= lookahead && lookahead <= '9') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(139); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(159); END_STATE(); - case 133: + case 149: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'y') ADVANCE(127); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); + if (lookahead == 'y') ADVANCE(143); if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_') ADVANCE(140); + lookahead == '_') ADVANCE(160); if (('0' <= lookahead && lookahead <= '9') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(139); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(159); END_STATE(); - case 134: + case 150: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (lookahead == 'y') ADVANCE(128); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); + if (lookahead == 'y') ADVANCE(144); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(160); END_STATE(); - case 135: + case 151: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); if (lookahead == '0' || - lookahead == '1') ADVANCE(75); + lookahead == '1') ADVANCE(77); if (('2' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(160); END_STATE(); - case 136: + case 152: + ACCEPT_TOKEN(sym_word); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); + if (lookahead == '0' || + lookahead == '1') ADVANCE(93); + if (('2' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(160); + END_STATE(); + case 153: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); if (lookahead == '0' || - lookahead == '1') ADVANCE(73); + lookahead == '1') ADVANCE(75); if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_') ADVANCE(140); + lookahead == '_') ADVANCE(160); if (('2' <= lookahead && lookahead <= '9') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(139); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(159); END_STATE(); - case 137: + case 154: + ACCEPT_TOKEN(sym_word); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); + if (lookahead == '0' || + lookahead == '1') ADVANCE(91); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_') ADVANCE(160); + if (('2' <= lookahead && lookahead <= '9') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(159); + END_STATE(); + case 155: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); - if (('A' <= lookahead && lookahead <= 'F')) ADVANCE(78); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); + if (('A' <= lookahead && lookahead <= 'F')) ADVANCE(80); if (('0' <= lookahead && lookahead <= '9') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(76); - if (('g' <= lookahead && lookahead <= 'z')) ADVANCE(139); + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(78); + if (('g' <= lookahead && lookahead <= 'z')) ADVANCE(159); if (('G' <= lookahead && lookahead <= 'Z') || - lookahead == '_') ADVANCE(140); + lookahead == '_') ADVANCE(160); END_STATE(); - case 138: + case 156: + ACCEPT_TOKEN(sym_word); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); + if (('A' <= lookahead && lookahead <= 'F')) ADVANCE(96); + if (('0' <= lookahead && lookahead <= '9') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(94); + if (('g' <= lookahead && lookahead <= 'z')) ADVANCE(159); + if (('G' <= lookahead && lookahead <= 'Z') || + lookahead == '_') ADVANCE(160); + END_STATE(); + case 157: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(78); + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(80); if (('G' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('g' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('g' <= lookahead && lookahead <= 'z')) ADVANCE(160); END_STATE(); - case 139: + case 158: + ACCEPT_TOKEN(sym_word); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(96); + if (('G' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('g' <= lookahead && lookahead <= 'z')) ADVANCE(160); + END_STATE(); + case 159: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_') ADVANCE(140); + lookahead == '_') ADVANCE(160); if (('0' <= lookahead && lookahead <= '9') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(139); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(159); END_STATE(); - case 140: + case 160: ACCEPT_TOKEN(sym_word); - if (lookahead == '.') ADVANCE(148); + if (lookahead == '.') ADVANCE(168); + if (lookahead == '\\') ADVANCE(162); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(160); END_STATE(); - case 141: + case 161: ACCEPT_TOKEN(sym_word); if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_') ADVANCE(142); + lookahead == '\\' || + lookahead == '_') ADVANCE(162); if (('0' <= lookahead && lookahead <= '9') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(141); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(161); END_STATE(); - case 142: + case 162: ACCEPT_TOKEN(sym_word); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '\\' || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(142); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(162); END_STATE(); - case 143: + case 163: ACCEPT_TOKEN(sym__reg); if (('0' <= lookahead && lookahead <= '9') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(143); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(163); END_STATE(); - case 144: + case 164: ACCEPT_TOKEN(sym_address); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(144); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(164); END_STATE(); - case 145: + case 165: ACCEPT_TOKEN(sym_meta_ident); if (lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(145); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(165); if (lookahead == '.' || ('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z')) ADVANCE(148); + ('A' <= lookahead && lookahead <= 'Z')) ADVANCE(168); END_STATE(); - case 146: + case 166: ACCEPT_TOKEN(sym_meta_ident); if (lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(146); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); - case 147: + case 167: ACCEPT_TOKEN(sym__ident); if (lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(145); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(165); if (lookahead == '.' || ('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z')) ADVANCE(148); + ('A' <= lookahead && lookahead <= 'Z')) ADVANCE(168); END_STATE(); - case 148: + case 168: ACCEPT_TOKEN(sym__ident); if (lookahead == '.' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(148); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(168); END_STATE(); - case 149: + case 169: + ACCEPT_TOKEN(anon_sym_EQ); + END_STATE(); + case 170: + ACCEPT_TOKEN(sym_prefix_operator); + END_STATE(); + case 171: + ACCEPT_TOKEN(sym_prefix_operator); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(11); + END_STATE(); + case 172: + ACCEPT_TOKEN(sym_infix_operator); + END_STATE(); + case 173: + ACCEPT_TOKEN(sym_infix_operator); + if (lookahead == '*') ADVANCE(10); + if (lookahead == '/') ADVANCE(182); + END_STATE(); + case 174: + ACCEPT_TOKEN(sym_infix_operator); + if (lookahead == '<') ADVANCE(172); + END_STATE(); + case 175: + ACCEPT_TOKEN(sym_infix_operator); + if (lookahead == '>') ADVANCE(172); + END_STATE(); + case 176: + ACCEPT_TOKEN(sym_infix_operator); + if (('0' <= lookahead && lookahead <= '9') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(163); + END_STATE(); + case 177: 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); + if (lookahead == '\n') ADVANCE(10); + if (lookahead == '*') ADVANCE(177); + if (lookahead == '/') ADVANCE(181); + if (lookahead != 0) ADVANCE(178); END_STATE(); - case 150: + case 178: ACCEPT_TOKEN(aux_sym_line_comment_token1); - if (lookahead == '\n') ADVANCE(12); - if (lookahead == '*') ADVANCE(149); - if (lookahead != 0) ADVANCE(150); + if (lookahead == '\n') ADVANCE(10); + if (lookahead == '*') ADVANCE(177); + if (lookahead != 0) ADVANCE(178); END_STATE(); - case 151: + case 179: ACCEPT_TOKEN(aux_sym_line_comment_token1); - if (lookahead == '#') ADVANCE(66); - if (lookahead == '/') ADVANCE(152); - if (lookahead == ';') ADVANCE(153); + if (lookahead == '#') ADVANCE(72); + if (lookahead == '/') ADVANCE(180); + if (lookahead == ';') ADVANCE(181); if (lookahead == '\t' || lookahead == '\r' || - lookahead == ' ') ADVANCE(151); + lookahead == ' ') ADVANCE(179); if (lookahead != 0 && lookahead != '\t' && - lookahead != '\n') ADVANCE(153); + lookahead != '\n') ADVANCE(181); END_STATE(); - case 152: + case 180: ACCEPT_TOKEN(aux_sym_line_comment_token1); - if (lookahead == '*') ADVANCE(150); - if (lookahead == '/') ADVANCE(153); + if (lookahead == '*') ADVANCE(178); + if (lookahead == '/') ADVANCE(181); if (lookahead != 0 && - lookahead != '\n') ADVANCE(153); + lookahead != '\n') ADVANCE(181); END_STATE(); - case 153: + case 181: ACCEPT_TOKEN(aux_sym_line_comment_token1); if (lookahead != 0 && - lookahead != '\n') ADVANCE(153); + lookahead != '\n') ADVANCE(181); END_STATE(); - case 154: + case 182: ACCEPT_TOKEN(aux_sym_line_comment_token2); if (lookahead != 0 && - lookahead != '\n') ADVANCE(154); + lookahead != '\n') ADVANCE(182); END_STATE(); - case 155: + case 183: ACCEPT_TOKEN(sym_block_comment); END_STATE(); default: @@ -1911,148 +2517,179 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { } } -static const TSLexMode ts_lex_modes[STATE_COUNT] = { +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}, - [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}, - [66] = {.lex_state = 0}, - [67] = {.lex_state = 29}, - [68] = {.lex_state = 0}, - [69] = {.lex_state = 0}, - [70] = {.lex_state = 0}, - [71] = {.lex_state = 0}, - [72] = {.lex_state = 29}, - [73] = {.lex_state = 29}, - [74] = {.lex_state = 0}, - [75] = {.lex_state = 29}, - [76] = {.lex_state = 28}, - [77] = {.lex_state = 0}, + [1] = {.lex_state = 34}, + [2] = {.lex_state = 28}, + [3] = {.lex_state = 28}, + [4] = {.lex_state = 28}, + [5] = {.lex_state = 28}, + [6] = {.lex_state = 28}, + [7] = {.lex_state = 28}, + [8] = {.lex_state = 28}, + [9] = {.lex_state = 30}, + [10] = {.lex_state = 30}, + [11] = {.lex_state = 30}, + [12] = {.lex_state = 30}, + [13] = {.lex_state = 30}, + [14] = {.lex_state = 30}, + [15] = {.lex_state = 30}, + [16] = {.lex_state = 30}, + [17] = {.lex_state = 30}, + [18] = {.lex_state = 30}, + [19] = {.lex_state = 30}, + [20] = {.lex_state = 30}, + [21] = {.lex_state = 30}, + [22] = {.lex_state = 30}, + [23] = {.lex_state = 30}, + [24] = {.lex_state = 29}, + [25] = {.lex_state = 29}, + [26] = {.lex_state = 29}, + [27] = {.lex_state = 29}, + [28] = {.lex_state = 29}, + [29] = {.lex_state = 29}, + [30] = {.lex_state = 29}, + [31] = {.lex_state = 1}, + [32] = {.lex_state = 29}, + [33] = {.lex_state = 29}, + [34] = {.lex_state = 29}, + [35] = {.lex_state = 29}, + [36] = {.lex_state = 29}, + [37] = {.lex_state = 29}, + [38] = {.lex_state = 34}, + [39] = {.lex_state = 34}, + [40] = {.lex_state = 34}, + [41] = {.lex_state = 34}, + [42] = {.lex_state = 34}, + [43] = {.lex_state = 29}, + [44] = {.lex_state = 35}, + [45] = {.lex_state = 35}, + [46] = {.lex_state = 29}, + [47] = {.lex_state = 35}, + [48] = {.lex_state = 34}, + [49] = {.lex_state = 34}, + [50] = {.lex_state = 34}, + [51] = {.lex_state = 34}, + [52] = {.lex_state = 34}, + [53] = {.lex_state = 34}, + [54] = {.lex_state = 34}, + [55] = {.lex_state = 34}, + [56] = {.lex_state = 34}, + [57] = {.lex_state = 34}, + [58] = {.lex_state = 34}, + [59] = {.lex_state = 35}, + [60] = {.lex_state = 34}, + [61] = {.lex_state = 35}, + [62] = {.lex_state = 34}, + [63] = {.lex_state = 35}, + [64] = {.lex_state = 36}, + [65] = {.lex_state = 36}, + [66] = {.lex_state = 36}, + [67] = {.lex_state = 36}, + [68] = {.lex_state = 6}, + [69] = {.lex_state = 36}, + [70] = {.lex_state = 6}, + [71] = {.lex_state = 36}, + [72] = {.lex_state = 36}, + [73] = {.lex_state = 6}, + [74] = {.lex_state = 26}, + [75] = {.lex_state = 36}, + [76] = {.lex_state = 26}, + [77] = {.lex_state = 36}, [78] = {.lex_state = 0}, - [79] = {.lex_state = 29}, - [80] = {.lex_state = 0}, + [79] = {.lex_state = 0}, + [80] = {.lex_state = 36}, [81] = {.lex_state = 0}, - [82] = {.lex_state = 28}, + [82] = {.lex_state = 4}, [83] = {.lex_state = 0}, - [84] = {.lex_state = 0}, - [85] = {.lex_state = 0}, + [84] = {.lex_state = 34}, + [85] = {.lex_state = 36}, [86] = {.lex_state = 0}, - [87] = {.lex_state = 0}, - [88] = {.lex_state = 0}, + [87] = {.lex_state = 34}, + [88] = {.lex_state = 36}, [89] = {.lex_state = 0}, [90] = {.lex_state = 0}, - [91] = {.lex_state = 0}, + [91] = {.lex_state = 36}, [92] = {.lex_state = 0}, - [93] = {.lex_state = 0}, - [94] = {.lex_state = 0}, - [95] = {.lex_state = 0}, - [96] = {.lex_state = 0}, + [93] = {.lex_state = 36}, + [94] = {.lex_state = 34}, + [95] = {.lex_state = 36}, + [96] = {.lex_state = 36}, [97] = {.lex_state = 0}, - [98] = {.lex_state = 0}, - [99] = {.lex_state = 0}, - [100] = {.lex_state = 0}, - [101] = {.lex_state = 0}, - [102] = {.lex_state = 28}, + [98] = {.lex_state = 36}, + [99] = {.lex_state = 36}, + [100] = {.lex_state = 36}, + [101] = {.lex_state = 6}, + [102] = {.lex_state = 36}, [103] = {.lex_state = 0}, - [104] = {.lex_state = 28}, - [105] = {.lex_state = 2}, - [106] = {.lex_state = 0}, - [107] = {.lex_state = 0}, - [108] = {.lex_state = 0}, - [109] = {.lex_state = 2}, + [104] = {.lex_state = 34}, + [105] = {.lex_state = 6}, + [106] = {.lex_state = 4}, + [107] = {.lex_state = 6}, + [108] = {.lex_state = 4}, + [109] = {.lex_state = 0}, [110] = {.lex_state = 0}, [111] = {.lex_state = 0}, [112] = {.lex_state = 0}, - [113] = {.lex_state = 0}, + [113] = {.lex_state = 6}, [114] = {.lex_state = 0}, - [115] = {.lex_state = 2}, - [116] = {.lex_state = 151}, + [115] = {.lex_state = 0}, + [116] = {.lex_state = 6}, [117] = {.lex_state = 0}, [118] = {.lex_state = 0}, - [119] = {.lex_state = 0}, + [119] = {.lex_state = 34}, [120] = {.lex_state = 0}, [121] = {.lex_state = 0}, [122] = {.lex_state = 0}, [123] = {.lex_state = 0}, - [124] = {.lex_state = 25}, - [125] = {.lex_state = 3}, - [126] = {.lex_state = 2}, - [127] = {.lex_state = 2}, - [128] = {.lex_state = 0}, - [129] = {.lex_state = 0}, - [130] = {.lex_state = 0}, + [124] = {.lex_state = 36}, + [125] = {.lex_state = 0}, + [126] = {.lex_state = 0}, + [127] = {.lex_state = 34}, + [128] = {.lex_state = 36}, + [129] = {.lex_state = 36}, + [130] = {.lex_state = 4}, [131] = {.lex_state = 0}, - [132] = {.lex_state = 29}, - [133] = {.lex_state = 29}, - [134] = {.lex_state = 3}, - [135] = {(TSStateId)(-1)}, - [136] = {(TSStateId)(-1)}, + [132] = {.lex_state = 0}, + [133] = {.lex_state = 0}, + [134] = {.lex_state = 0}, + [135] = {.lex_state = 0}, + [136] = {.lex_state = 0}, + [137] = {.lex_state = 0}, + [138] = {.lex_state = 0}, + [139] = {.lex_state = 0}, + [140] = {.lex_state = 4}, + [141] = {.lex_state = 4}, + [142] = {.lex_state = 0}, + [143] = {.lex_state = 36}, + [144] = {.lex_state = 0}, + [145] = {.lex_state = 0}, + [146] = {.lex_state = 179}, + [147] = {.lex_state = 0}, + [148] = {.lex_state = 0}, + [149] = {.lex_state = 28}, + [150] = {.lex_state = 0}, + [151] = {.lex_state = 26}, + [152] = {.lex_state = 26}, + [153] = {.lex_state = 36}, + [154] = {.lex_state = 26}, + [155] = {.lex_state = 26}, + [156] = {.lex_state = 0}, + [157] = {.lex_state = 0}, + [158] = {.lex_state = 36}, + [159] = {.lex_state = 0}, + [160] = {.lex_state = 0}, + [161] = {.lex_state = 26}, + [162] = {.lex_state = 26}, + [163] = {.lex_state = 26}, + [164] = {.lex_state = 0}, + [165] = {.lex_state = 26}, + [166] = {(TSStateId)(-1),}, + [167] = {(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), @@ -2082,23 +2719,26 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_CARET] = ACTIONS(1), [anon_sym_AMP] = ACTIONS(1), [anon_sym_POUND] = ACTIONS(3), + [aux_sym_int_token1] = ACTIONS(1), [aux_sym_int_token2] = ACTIONS(1), [aux_sym_string_token1] = ACTIONS(1), [aux_sym_string_token2] = ACTIONS(1), [sym_word] = ACTIONS(1), - [sym_address] = ACTIONS(1), [sym_meta_ident] = ACTIONS(1), [sym__ident] = ACTIONS(1), + [anon_sym_EQ] = ACTIONS(1), + [sym_prefix_operator] = ACTIONS(1), + [sym_infix_operator] = ACTIONS(1), [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(145), + [sym__item] = STATE(112), + [sym_meta] = STATE(133), + [sym_label] = STATE(133), + [sym_const] = STATE(133), + [sym_instruction] = STATE(133), [sym_line_comment] = STATE(1), [ts_builtin_sym_end] = ACTIONS(9), [anon_sym_label] = ACTIONS(11), @@ -2110,50 +2750,16 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_line_comment_token2] = ACTIONS(5), [sym_block_comment] = ACTIONS(7), }, - [2] = { - [sym__expr] = STATE(69), - [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_line_comment] = STATE(2), - [aux_sym_instruction_repeat2] = STATE(20), - [ts_builtin_sym_end] = ACTIONS(21), - [anon_sym_LF] = ACTIONS(21), - [anon_sym_COLON] = ACTIONS(23), - [anon_sym_LPAREN] = ACTIONS(25), - [anon_sym_LBRACE] = ACTIONS(27), - [anon_sym_byte] = ACTIONS(29), - [anon_sym_word] = ACTIONS(29), - [anon_sym_dword] = ACTIONS(29), - [anon_sym_qword] = ACTIONS(29), - [anon_sym_LBRACK] = ACTIONS(31), - [anon_sym_STAR] = ACTIONS(33), - [anon_sym_POUND] = ACTIONS(35), - [aux_sym_int_token2] = ACTIONS(37), - [sym_float] = ACTIONS(39), - [aux_sym_string_token1] = ACTIONS(41), - [aux_sym_string_token2] = ACTIONS(41), - [sym_word] = ACTIONS(43), - [sym__reg] = ACTIONS(43), - [sym_address] = ACTIONS(43), - [sym_meta_ident] = ACTIONS(45), - [sym__ident] = ACTIONS(45), - [aux_sym_line_comment_token2] = ACTIONS(5), - [sym_block_comment] = ACTIONS(7), - }, }; static const uint16_t ts_small_parse_table[] = { - [0] = 19, + [0] = 25, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, + ACTIONS(23), 1, + anon_sym_COLON, ACTIONS(25), 1, anon_sym_LPAREN, ACTIONS(27), 1, @@ -2162,30 +2768,104 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, ACTIONS(33), 1, anon_sym_STAR, + ACTIONS(35), 1, + anon_sym_POUND, ACTIONS(39), 1, sym_float, - ACTIONS(49), 1, - anon_sym_POUND, - ACTIONS(51), 1, + ACTIONS(47), 1, + sym_prefix_operator, + STATE(2), 1, + sym_line_comment, + STATE(9), 1, + sym_int, + STATE(16), 1, + sym_reg, + STATE(17), 1, + sym__tc_expr, + STATE(18), 1, + sym_tc_infix, + STATE(24), 1, + aux_sym_instruction_repeat2, + STATE(109), 1, + sym__expr, + ACTIONS(21), 2, + ts_builtin_sym_end, + anon_sym_LF, + ACTIONS(37), 2, + aux_sym_int_token1, aux_sym_int_token2, + ACTIONS(41), 2, + aux_sym_string_token1, + aux_sym_string_token2, + ACTIONS(45), 2, + sym_meta_ident, + sym__ident, + STATE(13), 2, + sym_string, + sym_ident, + STATE(100), 2, + sym_list, + sym_ptr, + ACTIONS(43), 3, + sym_word, + sym__reg, + sym_address, + ACTIONS(29), 4, + anon_sym_byte, + anon_sym_word, + anon_sym_dword, + anon_sym_qword, + [87] = 24, + ACTIONS(5), 1, + aux_sym_line_comment_token2, + ACTIONS(7), 1, + sym_block_comment, + ACTIONS(25), 1, + anon_sym_LPAREN, + ACTIONS(27), 1, + anon_sym_LBRACE, + ACTIONS(31), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_STAR, + ACTIONS(51), 1, + anon_sym_COLON, + ACTIONS(53), 1, + anon_sym_POUND, + ACTIONS(57), 1, + sym_float, + ACTIONS(65), 1, + sym_prefix_operator, STATE(3), 1, sym_line_comment, - STATE(40), 1, + STATE(44), 1, + sym_ident, + STATE(45), 1, sym_reg, - STATE(78), 1, + STATE(64), 1, sym_int, - STATE(91), 1, + STATE(75), 1, + sym_string, + STATE(135), 1, + sym_op_expr, + STATE(153), 1, sym__expr, - ACTIONS(47), 2, + ACTIONS(49), 2, ts_builtin_sym_end, anon_sym_LF, - ACTIONS(53), 2, + ACTIONS(55), 2, + aux_sym_int_token1, + aux_sym_int_token2, + ACTIONS(59), 2, aux_sym_string_token1, aux_sym_string_token2, - ACTIONS(57), 2, + ACTIONS(63), 2, sym_meta_ident, sym__ident, - ACTIONS(55), 3, + STATE(100), 2, + sym_list, + sym_ptr, + ACTIONS(61), 3, sym_word, sym__reg, sym_address, @@ -2194,12 +2874,64 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_word, anon_sym_dword, anon_sym_qword, - STATE(100), 4, + [170] = 23, + ACTIONS(5), 1, + aux_sym_line_comment_token2, + ACTIONS(7), 1, + sym_block_comment, + ACTIONS(25), 1, + anon_sym_LPAREN, + ACTIONS(27), 1, + anon_sym_LBRACE, + ACTIONS(31), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_STAR, + ACTIONS(53), 1, + anon_sym_POUND, + ACTIONS(57), 1, + sym_float, + ACTIONS(65), 1, + sym_prefix_operator, + STATE(4), 1, + sym_line_comment, + STATE(44), 1, + sym_ident, + STATE(45), 1, + sym_reg, + STATE(64), 1, + sym_int, + STATE(75), 1, + sym_string, + STATE(135), 1, + sym_op_expr, + STATE(153), 1, + sym__expr, + ACTIONS(49), 2, + ts_builtin_sym_end, + anon_sym_LF, + ACTIONS(55), 2, + aux_sym_int_token1, + aux_sym_int_token2, + ACTIONS(59), 2, + aux_sym_string_token1, + aux_sym_string_token2, + ACTIONS(63), 2, + sym_meta_ident, + sym__ident, + STATE(100), 2, sym_list, sym_ptr, - sym_string, - sym_ident, - [69] = 19, + ACTIONS(61), 3, + sym_word, + sym__reg, + sym_address, + ACTIONS(29), 4, + anon_sym_byte, + anon_sym_word, + anon_sym_dword, + anon_sym_qword, + [250] = 20, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, @@ -2214,28 +2946,31 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, ACTIONS(39), 1, sym_float, - ACTIONS(49), 1, + ACTIONS(53), 1, anon_sym_POUND, - ACTIONS(51), 1, - aux_sym_int_token2, - STATE(4), 1, + ACTIONS(65), 1, + sym_prefix_operator, + STATE(5), 1, sym_line_comment, - STATE(40), 1, + STATE(45), 1, sym_reg, - STATE(78), 1, + STATE(69), 1, sym_int, - STATE(91), 1, + STATE(121), 1, sym__expr, - ACTIONS(53), 2, + ACTIONS(55), 2, + aux_sym_int_token1, + aux_sym_int_token2, + ACTIONS(59), 2, aux_sym_string_token1, aux_sym_string_token2, - ACTIONS(57), 2, + ACTIONS(63), 2, sym_meta_ident, sym__ident, - ACTIONS(59), 2, + ACTIONS(67), 2, ts_builtin_sym_end, anon_sym_LF, - ACTIONS(55), 3, + ACTIONS(61), 3, sym_word, sym__reg, sym_address, @@ -2249,7 +2984,7 @@ static const uint16_t ts_small_parse_table[] = { sym_ptr, sym_string, sym_ident, - [138] = 18, + [323] = 20, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, @@ -2264,25 +2999,31 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, ACTIONS(39), 1, sym_float, - ACTIONS(49), 1, + ACTIONS(53), 1, anon_sym_POUND, - ACTIONS(51), 1, - aux_sym_int_token2, - STATE(5), 1, + ACTIONS(65), 1, + sym_prefix_operator, + STATE(6), 1, sym_line_comment, - STATE(40), 1, + STATE(45), 1, sym_reg, - STATE(78), 1, + STATE(69), 1, sym_int, - STATE(91), 1, + STATE(121), 1, sym__expr, - ACTIONS(53), 2, + ACTIONS(55), 2, + aux_sym_int_token1, + aux_sym_int_token2, + ACTIONS(59), 2, aux_sym_string_token1, aux_sym_string_token2, - ACTIONS(57), 2, + ACTIONS(63), 2, sym_meta_ident, sym__ident, - ACTIONS(55), 3, + ACTIONS(69), 2, + ts_builtin_sym_end, + anon_sym_LF, + ACTIONS(61), 3, sym_word, sym__reg, sym_address, @@ -2296,51 +3037,124 @@ static const uint16_t ts_small_parse_table[] = { sym_ptr, sym_string, sym_ident, - [203] = 5, + [396] = 20, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - STATE(6), 1, + ACTIONS(25), 1, + anon_sym_LPAREN, + ACTIONS(27), 1, + anon_sym_LBRACE, + ACTIONS(31), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_STAR, + ACTIONS(39), 1, + sym_float, + ACTIONS(53), 1, + anon_sym_POUND, + ACTIONS(65), 1, + sym_prefix_operator, + STATE(7), 1, sym_line_comment, - ACTIONS(63), 9, - anon_sym_DASH, - anon_sym_SLASH, - anon_sym_PERCENT, + STATE(69), 1, + sym_int, + STATE(124), 1, + sym__expr, + STATE(129), 1, + sym_reg, + STATE(139), 1, + sym_op_expr, + ACTIONS(55), 2, + aux_sym_int_token1, aux_sym_int_token2, + ACTIONS(59), 2, + aux_sym_string_token1, + aux_sym_string_token2, + ACTIONS(73), 2, + sym_meta_ident, + sym__ident, + ACTIONS(71), 3, sym_word, sym__reg, sym_address, - sym_meta_ident, - sym__ident, - ACTIONS(61), 12, - ts_builtin_sym_end, - anon_sym_LF, - anon_sym_COMMA, + ACTIONS(29), 4, + anon_sym_byte, + anon_sym_word, + anon_sym_dword, + anon_sym_qword, + STATE(100), 4, + sym_list, + sym_ptr, + sym_string, + sym_ident, + [468] = 19, + ACTIONS(5), 1, + aux_sym_line_comment_token2, + ACTIONS(7), 1, + sym_block_comment, + ACTIONS(25), 1, anon_sym_LPAREN, - anon_sym_PLUS, + ACTIONS(27), 1, + anon_sym_LBRACE, + ACTIONS(31), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, anon_sym_STAR, - anon_sym_PIPE, - anon_sym_CARET, - anon_sym_AMP, + ACTIONS(39), 1, + sym_float, + ACTIONS(53), 1, anon_sym_POUND, + ACTIONS(65), 1, + sym_prefix_operator, + STATE(8), 1, + sym_line_comment, + STATE(45), 1, + sym_reg, + STATE(69), 1, + sym_int, + STATE(121), 1, + sym__expr, + ACTIONS(55), 2, + aux_sym_int_token1, + aux_sym_int_token2, + ACTIONS(59), 2, aux_sym_string_token1, aux_sym_string_token2, - [238] = 8, + ACTIONS(63), 2, + sym_meta_ident, + sym__ident, + ACTIONS(61), 3, + sym_word, + sym__reg, + sym_address, + ACTIONS(29), 4, + anon_sym_byte, + anon_sym_word, + anon_sym_dword, + anon_sym_qword, + STATE(100), 4, + sym_list, + sym_ptr, + sym_string, + sym_ident, + [537] = 8, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(68), 1, + ACTIONS(78), 1, anon_sym_COMMA, - ACTIONS(70), 1, + ACTIONS(80), 1, anon_sym_LPAREN, - STATE(7), 1, + STATE(9), 1, sym_line_comment, - ACTIONS(65), 2, + ACTIONS(75), 2, ts_builtin_sym_end, anon_sym_LF, - ACTIONS(74), 8, + ACTIONS(82), 9, + anon_sym_DASH, anon_sym_PLUS, anon_sym_STAR, anon_sym_PIPE, @@ -2349,38 +3163,41 @@ 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, + ACTIONS(84), 10, anon_sym_SLASH, anon_sym_PERCENT, + aux_sym_int_token1, aux_sym_int_token2, sym_word, sym__reg, sym_address, sym_meta_ident, sym__ident, - [279] = 5, + sym_prefix_operator, + [580] = 5, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - STATE(8), 1, + STATE(10), 1, sym_line_comment, - ACTIONS(78), 9, - anon_sym_DASH, + ACTIONS(88), 10, anon_sym_SLASH, anon_sym_PERCENT, + aux_sym_int_token1, aux_sym_int_token2, sym_word, sym__reg, sym_address, sym_meta_ident, sym__ident, - ACTIONS(76), 12, + sym_prefix_operator, + ACTIONS(86), 13, ts_builtin_sym_end, anon_sym_LF, anon_sym_COMMA, anon_sym_LPAREN, + anon_sym_DASH, anon_sym_PLUS, anon_sym_STAR, anon_sym_PIPE, @@ -2389,27 +3206,30 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_POUND, aux_sym_string_token1, aux_sym_string_token2, - [314] = 5, + [617] = 5, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - STATE(9), 1, + STATE(11), 1, sym_line_comment, - ACTIONS(82), 9, - anon_sym_DASH, + ACTIONS(92), 10, anon_sym_SLASH, anon_sym_PERCENT, + aux_sym_int_token1, aux_sym_int_token2, sym_word, sym__reg, sym_address, sym_meta_ident, sym__ident, - ACTIONS(80), 11, + sym_prefix_operator, + ACTIONS(90), 13, ts_builtin_sym_end, anon_sym_LF, anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_DASH, anon_sym_PLUS, anon_sym_STAR, anon_sym_PIPE, @@ -2418,19 +3238,30 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_POUND, aux_sym_string_token1, aux_sym_string_token2, - [348] = 7, + [654] = 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(12), 1, sym_line_comment, - ACTIONS(65), 2, + ACTIONS(96), 10, + anon_sym_SLASH, + anon_sym_PERCENT, + aux_sym_int_token1, + aux_sym_int_token2, + sym_word, + sym__reg, + sym_address, + sym_meta_ident, + sym__ident, + sym_prefix_operator, + ACTIONS(94), 13, ts_builtin_sym_end, anon_sym_LF, - ACTIONS(74), 8, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_DASH, anon_sym_PLUS, anon_sym_STAR, anon_sym_PIPE, @@ -2439,37 +3270,62 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_POUND, aux_sym_string_token1, aux_sym_string_token2, - ACTIONS(72), 9, + [691] = 7, + ACTIONS(5), 1, + aux_sym_line_comment_token2, + ACTIONS(7), 1, + sym_block_comment, + ACTIONS(78), 1, + anon_sym_COMMA, + STATE(13), 1, + sym_line_comment, + ACTIONS(75), 2, + ts_builtin_sym_end, + anon_sym_LF, + ACTIONS(82), 9, anon_sym_DASH, + 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(84), 10, anon_sym_SLASH, anon_sym_PERCENT, + aux_sym_int_token1, aux_sym_int_token2, sym_word, sym__reg, sym_address, sym_meta_ident, sym__ident, - [386] = 5, + sym_prefix_operator, + [731] = 5, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - STATE(11), 1, + STATE(14), 1, sym_line_comment, - ACTIONS(86), 9, - anon_sym_DASH, + ACTIONS(100), 10, anon_sym_SLASH, anon_sym_PERCENT, + aux_sym_int_token1, aux_sym_int_token2, sym_word, sym__reg, sym_address, sym_meta_ident, sym__ident, - ACTIONS(84), 11, + sym_prefix_operator, + ACTIONS(98), 12, ts_builtin_sym_end, anon_sym_LF, anon_sym_COMMA, + anon_sym_DASH, anon_sym_PLUS, anon_sym_STAR, anon_sym_PIPE, @@ -2478,27 +3334,29 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_POUND, aux_sym_string_token1, aux_sym_string_token2, - [420] = 5, + [767] = 5, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - STATE(12), 1, + STATE(15), 1, sym_line_comment, - ACTIONS(90), 9, - anon_sym_DASH, + ACTIONS(104), 10, anon_sym_SLASH, anon_sym_PERCENT, + aux_sym_int_token1, aux_sym_int_token2, sym_word, sym__reg, sym_address, sym_meta_ident, sym__ident, - ACTIONS(88), 11, + sym_prefix_operator, + ACTIONS(102), 12, ts_builtin_sym_end, anon_sym_LF, anon_sym_COMMA, + anon_sym_DASH, anon_sym_PLUS, anon_sym_STAR, anon_sym_PIPE, @@ -2507,90 +3365,95 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_POUND, aux_sym_string_token1, aux_sym_string_token2, - [454] = 8, + [803] = 5, 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, + STATE(16), 1, sym_line_comment, - ACTIONS(92), 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(94), 9, - anon_sym_DASH, + ACTIONS(108), 10, anon_sym_SLASH, anon_sym_PERCENT, + aux_sym_int_token1, aux_sym_int_token2, sym_word, sym__reg, sym_address, sym_meta_ident, sym__ident, - [493] = 10, + sym_prefix_operator, + ACTIONS(106), 12, + ts_builtin_sym_end, + anon_sym_LF, + anon_sym_COMMA, + anon_sym_DASH, + 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, + [839] = 11, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(96), 1, + ACTIONS(114), 1, + anon_sym_STAR, + ACTIONS(118), 1, anon_sym_PIPE, - ACTIONS(98), 1, + ACTIONS(120), 1, anon_sym_CARET, - ACTIONS(100), 1, + ACTIONS(122), 1, anon_sym_AMP, - ACTIONS(102), 1, - anon_sym_STAR, - STATE(14), 1, + STATE(17), 1, sym_line_comment, - ACTIONS(104), 2, + ACTIONS(112), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(116), 2, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(92), 6, + ACTIONS(110), 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(124), 8, + aux_sym_int_token1, aux_sym_int_token2, sym_word, sym__reg, sym_address, sym_meta_ident, sym__ident, - [536] = 5, + sym_prefix_operator, + [886] = 5, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - STATE(15), 1, + STATE(18), 1, sym_line_comment, - ACTIONS(94), 9, - anon_sym_DASH, + ACTIONS(84), 10, anon_sym_SLASH, anon_sym_PERCENT, + aux_sym_int_token1, aux_sym_int_token2, sym_word, sym__reg, sym_address, sym_meta_ident, sym__ident, - ACTIONS(92), 10, + sym_prefix_operator, + ACTIONS(82), 11, ts_builtin_sym_end, anon_sym_LF, + anon_sym_DASH, anon_sym_PLUS, anon_sym_STAR, anon_sym_PIPE, @@ -2599,111 +3462,119 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_POUND, aux_sym_string_token1, aux_sym_string_token2, - [569] = 7, + [921] = 8, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(98), 1, + ACTIONS(118), 1, + anon_sym_PIPE, + ACTIONS(120), 1, anon_sym_CARET, - ACTIONS(100), 1, + ACTIONS(122), 1, anon_sym_AMP, - STATE(16), 1, + STATE(19), 1, sym_line_comment, - ACTIONS(92), 8, + ACTIONS(126), 8, ts_builtin_sym_end, anon_sym_LF, + anon_sym_DASH, anon_sym_PLUS, anon_sym_STAR, - anon_sym_PIPE, anon_sym_POUND, aux_sym_string_token1, aux_sym_string_token2, - ACTIONS(94), 9, - anon_sym_DASH, + ACTIONS(128), 10, anon_sym_SLASH, anon_sym_PERCENT, + aux_sym_int_token1, aux_sym_int_token2, sym_word, sym__reg, sym_address, sym_meta_ident, sym__ident, - [606] = 5, + sym_prefix_operator, + [962] = 10, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - STATE(17), 1, + ACTIONS(114), 1, + anon_sym_STAR, + ACTIONS(118), 1, + anon_sym_PIPE, + ACTIONS(120), 1, + anon_sym_CARET, + ACTIONS(122), 1, + anon_sym_AMP, + STATE(20), 1, sym_line_comment, - ACTIONS(72), 9, - anon_sym_DASH, + ACTIONS(116), 2, anon_sym_SLASH, anon_sym_PERCENT, - aux_sym_int_token2, - sym_word, - sym__reg, - sym_address, - sym_meta_ident, - sym__ident, - ACTIONS(74), 10, + ACTIONS(126), 7, ts_builtin_sym_end, anon_sym_LF, + anon_sym_DASH, 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, + ACTIONS(128), 8, + aux_sym_int_token1, + aux_sym_int_token2, + sym_word, + sym__reg, + sym_address, + sym_meta_ident, + sym__ident, + sym_prefix_operator, + [1007] = 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(120), 1, anon_sym_CARET, - ACTIONS(100), 1, + ACTIONS(122), 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, + STATE(21), 1, sym_line_comment, - ACTIONS(104), 2, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(106), 5, + ACTIONS(126), 9, ts_builtin_sym_end, anon_sym_LF, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_PIPE, anon_sym_POUND, aux_sym_string_token1, aux_sym_string_token2, - ACTIONS(112), 6, + ACTIONS(128), 10, + anon_sym_SLASH, + anon_sym_PERCENT, + aux_sym_int_token1, aux_sym_int_token2, sym_word, sym__reg, sym_address, sym_meta_ident, sym__ident, - [686] = 6, + sym_prefix_operator, + [1046] = 6, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(100), 1, + ACTIONS(122), 1, anon_sym_AMP, - STATE(19), 1, + STATE(22), 1, sym_line_comment, - ACTIONS(92), 9, + ACTIONS(126), 10, ts_builtin_sym_end, anon_sym_LF, + anon_sym_DASH, anon_sym_PLUS, anon_sym_STAR, anon_sym_PIPE, @@ -2711,260 +3582,272 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_POUND, aux_sym_string_token1, aux_sym_string_token2, - ACTIONS(94), 9, - anon_sym_DASH, + ACTIONS(128), 10, + anon_sym_SLASH, + anon_sym_PERCENT, + aux_sym_int_token1, + aux_sym_int_token2, + sym_word, + sym__reg, + sym_address, + sym_meta_ident, + sym__ident, + sym_prefix_operator, + [1083] = 5, + ACTIONS(5), 1, + aux_sym_line_comment_token2, + ACTIONS(7), 1, + sym_block_comment, + STATE(23), 1, + sym_line_comment, + ACTIONS(128), 10, anon_sym_SLASH, anon_sym_PERCENT, + aux_sym_int_token1, aux_sym_int_token2, sym_word, sym__reg, sym_address, sym_meta_ident, sym__ident, - [721] = 13, + sym_prefix_operator, + ACTIONS(126), 11, + ts_builtin_sym_end, + anon_sym_LF, + anon_sym_DASH, + 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, + [1118] = 14, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, ACTIONS(35), 1, anon_sym_POUND, - ACTIONS(37), 1, - aux_sym_int_token2, - STATE(11), 1, + ACTIONS(132), 1, + sym_prefix_operator, + STATE(16), 1, sym_reg, - STATE(18), 1, + STATE(17), 1, sym__tc_expr, - STATE(20), 1, + STATE(24), 1, sym_line_comment, - STATE(21), 1, + STATE(25), 1, aux_sym_instruction_repeat2, + ACTIONS(37), 2, + aux_sym_int_token1, + aux_sym_int_token2, ACTIONS(41), 2, aux_sym_string_token1, aux_sym_string_token2, ACTIONS(45), 2, sym_meta_ident, sym__ident, - ACTIONS(114), 2, + ACTIONS(130), 2, ts_builtin_sym_end, anon_sym_LF, ACTIONS(43), 3, sym_word, sym__reg, sym_address, - STATE(17), 4, + STATE(18), 4, sym_tc_infix, sym_int, sym_string, sym_ident, - [769] = 12, + [1170] = 13, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(118), 1, + ACTIONS(136), 1, anon_sym_POUND, - ACTIONS(121), 1, - aux_sym_int_token2, - STATE(11), 1, + ACTIONS(151), 1, + sym_prefix_operator, + STATE(16), 1, sym_reg, - STATE(18), 1, + STATE(17), 1, sym__tc_expr, - ACTIONS(116), 2, + ACTIONS(134), 2, ts_builtin_sym_end, anon_sym_LF, - ACTIONS(124), 2, + ACTIONS(139), 2, + aux_sym_int_token1, + aux_sym_int_token2, + ACTIONS(142), 2, aux_sym_string_token1, aux_sym_string_token2, - ACTIONS(130), 2, + ACTIONS(148), 2, sym_meta_ident, sym__ident, - STATE(21), 2, + STATE(25), 2, sym_line_comment, aux_sym_instruction_repeat2, - ACTIONS(127), 3, + ACTIONS(145), 3, sym_word, sym__reg, sym_address, - STATE(17), 4, + STATE(18), 4, sym_tc_infix, sym_int, sym_string, sym_ident, - [815] = 15, + [1220] = 12, 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, - aux_sym_int_token2, - ACTIONS(135), 1, - anon_sym_COLON, - ACTIONS(137), 1, - sym_float, - STATE(22), 1, - sym_line_comment, - STATE(40), 1, + ACTIONS(132), 1, + sym_prefix_operator, + STATE(16), 1, sym_reg, - STATE(65), 1, - sym_string, - STATE(74), 1, - sym_int, - STATE(106), 1, - sym_ident, - ACTIONS(53), 2, + STATE(21), 1, + sym__tc_expr, + STATE(26), 1, + sym_line_comment, + ACTIONS(37), 2, + aux_sym_int_token1, + aux_sym_int_token2, + ACTIONS(41), 2, aux_sym_string_token1, aux_sym_string_token2, - ACTIONS(57), 2, + ACTIONS(45), 2, sym_meta_ident, sym__ident, - ACTIONS(133), 2, - ts_builtin_sym_end, - anon_sym_LF, - ACTIONS(55), 3, + ACTIONS(43), 3, sym_word, sym__reg, sym_address, - [866] = 14, + STATE(18), 4, + sym_tc_infix, + sym_int, + sym_string, + sym_ident, + [1265] = 12, 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, - aux_sym_int_token2, - ACTIONS(137), 1, - sym_float, - STATE(23), 1, - sym_line_comment, - STATE(40), 1, + ACTIONS(132), 1, + sym_prefix_operator, + STATE(16), 1, sym_reg, - STATE(65), 1, - sym_string, - STATE(74), 1, - sym_int, - STATE(106), 1, - sym_ident, - ACTIONS(53), 2, - aux_sym_string_token1, - aux_sym_string_token2, - ACTIONS(57), 2, - sym_meta_ident, - sym__ident, - ACTIONS(133), 2, - ts_builtin_sym_end, - anon_sym_LF, - ACTIONS(55), 3, - sym_word, - sym__reg, - sym_address, - [914] = 11, - ACTIONS(5), 1, - aux_sym_line_comment_token2, - ACTIONS(7), 1, - sym_block_comment, - ACTIONS(49), 1, - anon_sym_POUND, - ACTIONS(51), 1, - aux_sym_int_token2, - STATE(24), 1, - sym_line_comment, - STATE(40), 1, - sym_reg, - STATE(49), 1, + STATE(19), 1, sym__tc_expr, - ACTIONS(53), 2, + STATE(27), 1, + sym_line_comment, + ACTIONS(37), 2, + aux_sym_int_token1, + aux_sym_int_token2, + 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), 3, sym_word, sym__reg, sym_address, - STATE(43), 4, + STATE(18), 4, sym_tc_infix, sym_int, sym_string, sym_ident, - [955] = 11, + [1310] = 12, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(35), 1, + ACTIONS(154), 1, anon_sym_POUND, - ACTIONS(37), 1, - aux_sym_int_token2, - STATE(11), 1, + ACTIONS(164), 1, + sym_prefix_operator, + STATE(28), 1, + sym_line_comment, + STATE(42), 1, sym_reg, - STATE(14), 1, + STATE(55), 1, sym__tc_expr, - STATE(25), 1, - sym_line_comment, - ACTIONS(41), 2, + ACTIONS(156), 2, + aux_sym_int_token1, + aux_sym_int_token2, + ACTIONS(158), 2, aux_sym_string_token1, aux_sym_string_token2, - ACTIONS(45), 2, + ACTIONS(162), 2, sym_meta_ident, sym__ident, - ACTIONS(43), 3, + ACTIONS(160), 3, sym_word, sym__reg, sym_address, - STATE(17), 4, + STATE(51), 4, sym_tc_infix, sym_int, sym_string, sym_ident, - [996] = 11, + [1355] = 12, 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, - aux_sym_int_token2, - STATE(26), 1, - sym_line_comment, - STATE(40), 1, + ACTIONS(132), 1, + sym_prefix_operator, + STATE(16), 1, sym_reg, - STATE(44), 1, + STATE(22), 1, sym__tc_expr, - ACTIONS(53), 2, + STATE(29), 1, + sym_line_comment, + ACTIONS(37), 2, + aux_sym_int_token1, + aux_sym_int_token2, + 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), 3, sym_word, sym__reg, sym_address, - STATE(43), 4, + STATE(18), 4, sym_tc_infix, sym_int, sym_string, sym_ident, - [1037] = 11, + [1400] = 12, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, ACTIONS(35), 1, anon_sym_POUND, - ACTIONS(37), 1, - aux_sym_int_token2, - STATE(11), 1, + ACTIONS(132), 1, + sym_prefix_operator, + STATE(16), 1, sym_reg, - STATE(13), 1, + STATE(23), 1, sym__tc_expr, - STATE(27), 1, + STATE(30), 1, sym_line_comment, + ACTIONS(37), 2, + aux_sym_int_token1, + aux_sym_int_token2, ACTIONS(41), 2, aux_sym_string_token1, aux_sym_string_token2, @@ -2975,237 +3858,258 @@ static const uint16_t ts_small_parse_table[] = { sym_word, sym__reg, sym_address, - STATE(17), 4, + STATE(18), 4, sym_tc_infix, sym_int, sym_string, sym_ident, - [1078] = 11, + [1445] = 13, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(35), 1, + ACTIONS(53), 1, anon_sym_POUND, - ACTIONS(37), 1, - aux_sym_int_token2, - STATE(11), 1, - sym_reg, - STATE(16), 1, - sym__tc_expr, - STATE(28), 1, + ACTIONS(65), 1, + sym_prefix_operator, + ACTIONS(166), 1, + sym_float, + STATE(31), 1, sym_line_comment, - ACTIONS(41), 2, + STATE(45), 1, + sym_reg, + STATE(122), 1, + sym__macro_arg_value, + ACTIONS(55), 2, + aux_sym_int_token1, + aux_sym_int_token2, + ACTIONS(59), 2, aux_sym_string_token1, aux_sym_string_token2, - ACTIONS(45), 2, + ACTIONS(63), 2, sym_meta_ident, sym__ident, - ACTIONS(43), 3, + ACTIONS(61), 3, sym_word, sym__reg, sym_address, - STATE(17), 4, - sym_tc_infix, + STATE(118), 3, sym_int, sym_string, sym_ident, - [1119] = 11, + [1492] = 12, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(35), 1, + ACTIONS(154), 1, anon_sym_POUND, - ACTIONS(37), 1, - aux_sym_int_token2, - STATE(11), 1, + ACTIONS(164), 1, + sym_prefix_operator, + STATE(32), 1, + sym_line_comment, + STATE(42), 1, sym_reg, - STATE(19), 1, + STATE(56), 1, sym__tc_expr, - STATE(29), 1, - sym_line_comment, - ACTIONS(41), 2, + ACTIONS(156), 2, + aux_sym_int_token1, + aux_sym_int_token2, + ACTIONS(158), 2, aux_sym_string_token1, aux_sym_string_token2, - ACTIONS(45), 2, + ACTIONS(162), 2, sym_meta_ident, sym__ident, - ACTIONS(43), 3, + ACTIONS(160), 3, sym_word, sym__reg, sym_address, - STATE(17), 4, + STATE(51), 4, sym_tc_infix, sym_int, sym_string, sym_ident, - [1160] = 11, + [1537] = 12, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(49), 1, + ACTIONS(154), 1, anon_sym_POUND, - ACTIONS(51), 1, - aux_sym_int_token2, - STATE(30), 1, + ACTIONS(164), 1, + sym_prefix_operator, + STATE(33), 1, sym_line_comment, - STATE(40), 1, + STATE(42), 1, sym_reg, - STATE(48), 1, + STATE(53), 1, sym__tc_expr, - ACTIONS(53), 2, + ACTIONS(156), 2, + aux_sym_int_token1, + aux_sym_int_token2, + ACTIONS(158), 2, aux_sym_string_token1, aux_sym_string_token2, - ACTIONS(57), 2, + ACTIONS(162), 2, sym_meta_ident, sym__ident, - ACTIONS(55), 3, + ACTIONS(160), 3, sym_word, sym__reg, sym_address, - STATE(43), 4, + STATE(51), 4, sym_tc_infix, sym_int, sym_string, sym_ident, - [1201] = 11, + [1582] = 12, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(35), 1, + ACTIONS(154), 1, anon_sym_POUND, - ACTIONS(37), 1, - aux_sym_int_token2, - STATE(11), 1, + ACTIONS(164), 1, + sym_prefix_operator, + STATE(34), 1, + sym_line_comment, + STATE(42), 1, sym_reg, - STATE(15), 1, + STATE(52), 1, sym__tc_expr, - STATE(31), 1, - sym_line_comment, - ACTIONS(41), 2, + ACTIONS(156), 2, + aux_sym_int_token1, + aux_sym_int_token2, + ACTIONS(158), 2, aux_sym_string_token1, aux_sym_string_token2, - ACTIONS(45), 2, + ACTIONS(162), 2, sym_meta_ident, sym__ident, - ACTIONS(43), 3, + ACTIONS(160), 3, sym_word, sym__reg, sym_address, - STATE(17), 4, + STATE(51), 4, sym_tc_infix, sym_int, sym_string, sym_ident, - [1242] = 11, + [1627] = 12, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(49), 1, + ACTIONS(154), 1, anon_sym_POUND, - ACTIONS(51), 1, - aux_sym_int_token2, - STATE(32), 1, + ACTIONS(164), 1, + sym_prefix_operator, + STATE(35), 1, sym_line_comment, - STATE(40), 1, + STATE(42), 1, sym_reg, - STATE(46), 1, + STATE(50), 1, sym__tc_expr, - ACTIONS(53), 2, + ACTIONS(156), 2, + aux_sym_int_token1, + aux_sym_int_token2, + ACTIONS(158), 2, aux_sym_string_token1, aux_sym_string_token2, - ACTIONS(57), 2, + ACTIONS(162), 2, sym_meta_ident, sym__ident, - ACTIONS(55), 3, + ACTIONS(160), 3, sym_word, sym__reg, sym_address, - STATE(43), 4, + STATE(51), 4, sym_tc_infix, sym_int, sym_string, sym_ident, - [1283] = 11, + [1672] = 12, 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, - aux_sym_int_token2, - STATE(33), 1, - sym_line_comment, - STATE(40), 1, + ACTIONS(132), 1, + sym_prefix_operator, + STATE(16), 1, sym_reg, - STATE(47), 1, + STATE(20), 1, sym__tc_expr, - ACTIONS(53), 2, + STATE(36), 1, + sym_line_comment, + ACTIONS(37), 2, + aux_sym_int_token1, + aux_sym_int_token2, + 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), 3, sym_word, sym__reg, sym_address, - STATE(43), 4, + STATE(18), 4, sym_tc_infix, sym_int, sym_string, sym_ident, - [1324] = 11, + [1717] = 12, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(49), 1, + ACTIONS(154), 1, anon_sym_POUND, - ACTIONS(51), 1, - aux_sym_int_token2, - STATE(34), 1, + ACTIONS(164), 1, + sym_prefix_operator, + STATE(37), 1, sym_line_comment, - STATE(40), 1, + STATE(42), 1, sym_reg, - STATE(45), 1, + STATE(54), 1, sym__tc_expr, - ACTIONS(53), 2, + ACTIONS(156), 2, + aux_sym_int_token1, + aux_sym_int_token2, + ACTIONS(158), 2, aux_sym_string_token1, aux_sym_string_token2, - ACTIONS(57), 2, + ACTIONS(162), 2, sym_meta_ident, sym__ident, - ACTIONS(55), 3, + ACTIONS(160), 3, sym_word, sym__reg, sym_address, - STATE(43), 4, + STATE(51), 4, sym_tc_infix, sym_int, sym_string, sym_ident, - [1365] = 6, + [1762] = 6, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(82), 1, + ACTIONS(104), 1, anon_sym_SLASH, - STATE(35), 1, + STATE(38), 1, sym_line_comment, - ACTIONS(80), 13, + ACTIONS(102), 13, ts_builtin_sym_end, anon_sym_LF, anon_sym_COMMA, - anon_sym_RPAREN, anon_sym_DASH, anon_sym_RBRACE, anon_sym_PLUS, @@ -3215,31 +4119,8 @@ static const uint16_t ts_small_parse_table[] = { 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, + anon_sym_EQ, + [1793] = 14, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, @@ -3256,22 +4137,22 @@ static const uint16_t ts_small_parse_table[] = { sym_meta_ident, ACTIONS(19), 1, sym__ident, - ACTIONS(139), 1, + ACTIONS(168), 1, ts_builtin_sym_end, - ACTIONS(141), 1, + ACTIONS(170), 1, anon_sym_LF, - STATE(37), 1, + STATE(39), 1, sym_line_comment, - STATE(52), 1, + STATE(60), 1, aux_sym_program_repeat1, - STATE(110), 1, + STATE(132), 1, sym__item, - STATE(114), 4, + STATE(133), 4, sym_meta, sym_label, sym_const, sym_instruction, - [1472] = 14, + [1839] = 14, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, @@ -3288,70 +4169,22 @@ static const uint16_t ts_small_parse_table[] = { sym_meta_ident, ACTIONS(19), 1, sym__ident, - ACTIONS(141), 1, + ACTIONS(170), 1, anon_sym_LF, - ACTIONS(143), 1, + ACTIONS(172), 1, ts_builtin_sym_end, - STATE(38), 1, + STATE(40), 1, sym_line_comment, - STATE(52), 1, + STATE(60), 1, aux_sym_program_repeat1, - STATE(110), 1, + STATE(132), 1, sym__item, - STATE(114), 4, + STATE(133), 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, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(5), 1, - aux_sym_line_comment_token2, - ACTIONS(7), 1, - sym_block_comment, - ACTIONS(86), 1, - anon_sym_SLASH, - STATE(40), 1, - sym_line_comment, - ACTIONS(84), 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, - anon_sym_AMP, - [1578] = 13, + [1885] = 13, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, @@ -3368,31 +4201,31 @@ static const uint16_t ts_small_parse_table[] = { sym_meta_ident, ACTIONS(19), 1, sym__ident, - ACTIONS(141), 1, + ACTIONS(170), 1, anon_sym_LF, STATE(41), 1, sym_line_comment, - STATE(52), 1, + STATE(60), 1, aux_sym_program_repeat1, - STATE(110), 1, + STATE(132), 1, sym__item, - STATE(114), 4, + STATE(133), 4, sym_meta, sym_label, sym_const, sym_instruction, - [1621] = 6, + [1928] = 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(108), 1, anon_sym_SLASH, STATE(42), 1, sym_line_comment, - ACTIONS(88), 10, + ACTIONS(106), 11, ts_builtin_sym_end, anon_sym_LF, anon_sym_COMMA, @@ -3403,18 +4236,143 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE, anon_sym_CARET, anon_sym_AMP, - [1649] = 6, - ACTIONS(3), 1, - anon_sym_POUND, + anon_sym_EQ, + [1957] = 10, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(72), 1, - anon_sym_SLASH, - STATE(43), 1, + ACTIONS(53), 1, + anon_sym_POUND, + ACTIONS(174), 1, + sym_prefix_operator, + STATE(43), 1, + sym_line_comment, + STATE(45), 1, + sym_reg, + ACTIONS(55), 2, + aux_sym_int_token1, + aux_sym_int_token2, + ACTIONS(63), 2, + sym_meta_ident, + sym__ident, + STATE(164), 2, + sym_int, + sym_ident, + ACTIONS(61), 3, + sym_word, + sym__reg, + sym_address, + [1993] = 12, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(5), 1, + aux_sym_line_comment_token2, + ACTIONS(7), 1, + sym_block_comment, + ACTIONS(178), 1, + sym_address, + ACTIONS(180), 1, + sym_infix_operator, + STATE(42), 1, + sym_reg, + STATE(44), 1, + sym_line_comment, + STATE(89), 1, + sym_ident, + STATE(92), 1, + sym__macro_arg, + ACTIONS(160), 2, + sym_word, + sym__reg, + ACTIONS(162), 2, + sym_meta_ident, + sym__ident, + ACTIONS(176), 2, + ts_builtin_sym_end, + anon_sym_LF, + [2033] = 6, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(5), 1, + aux_sym_line_comment_token2, + ACTIONS(7), 1, + sym_block_comment, + STATE(45), 1, + sym_line_comment, + ACTIONS(108), 5, + sym_word, + sym__reg, + sym_meta_ident, + sym__ident, + sym_infix_operator, + ACTIONS(106), 6, + ts_builtin_sym_end, + anon_sym_LF, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_RBRACK, + sym_address, + [2061] = 10, + ACTIONS(5), 1, + aux_sym_line_comment_token2, + ACTIONS(7), 1, + sym_block_comment, + ACTIONS(53), 1, + anon_sym_POUND, + ACTIONS(174), 1, + sym_prefix_operator, + STATE(45), 1, + sym_reg, + STATE(46), 1, + sym_line_comment, + ACTIONS(55), 2, + aux_sym_int_token1, + aux_sym_int_token2, + ACTIONS(63), 2, + sym_meta_ident, + sym__ident, + STATE(148), 2, + sym_int, + sym_ident, + ACTIONS(61), 3, + sym_word, + sym__reg, + sym_address, + [2097] = 6, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(5), 1, + aux_sym_line_comment_token2, + ACTIONS(7), 1, + sym_block_comment, + STATE(47), 1, + sym_line_comment, + ACTIONS(104), 5, + sym_word, + sym__reg, + sym_meta_ident, + sym__ident, + sym_infix_operator, + ACTIONS(102), 6, + ts_builtin_sym_end, + anon_sym_LF, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_RBRACK, + sym_address, + [2125] = 6, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(5), 1, + aux_sym_line_comment_token2, + ACTIONS(7), 1, + sym_block_comment, + ACTIONS(100), 1, + anon_sym_SLASH, + STATE(48), 1, sym_line_comment, - ACTIONS(74), 9, + ACTIONS(98), 9, ts_builtin_sym_end, anon_sym_LF, anon_sym_DASH, @@ -3424,20 +4382,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE, anon_sym_CARET, anon_sym_AMP, - [1676] = 7, + [2152] = 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(96), 1, anon_sym_SLASH, - ACTIONS(145), 1, - anon_sym_AMP, - STATE(44), 1, + STATE(49), 1, sym_line_comment, - ACTIONS(92), 8, + ACTIONS(94), 9, ts_builtin_sym_end, anon_sym_LF, anon_sym_DASH, @@ -3446,22 +4402,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT, anon_sym_PIPE, anon_sym_CARET, - [1705] = 8, + anon_sym_AMP, + [2179] = 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(128), 1, anon_sym_SLASH, - ACTIONS(145), 1, - anon_sym_AMP, - ACTIONS(147), 1, - anon_sym_CARET, - STATE(45), 1, + STATE(50), 1, sym_line_comment, - ACTIONS(92), 7, + ACTIONS(126), 9, ts_builtin_sym_end, anon_sym_LF, anon_sym_DASH, @@ -3469,93 +4422,92 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_PERCENT, anon_sym_PIPE, - [1736] = 11, + anon_sym_CARET, + anon_sym_AMP, + [2206] = 6, 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, + ACTIONS(84), 1, anon_sym_SLASH, - ACTIONS(157), 1, - anon_sym_PIPE, - STATE(46), 1, + STATE(51), 1, sym_line_comment, - ACTIONS(149), 2, + ACTIONS(82), 9, 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_PIPE, + anon_sym_CARET, + anon_sym_AMP, + [2233] = 9, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(94), 1, + ACTIONS(128), 1, anon_sym_SLASH, - ACTIONS(145), 1, - anon_sym_AMP, - ACTIONS(147), 1, - anon_sym_CARET, - ACTIONS(157), 1, + ACTIONS(182), 1, anon_sym_PIPE, - STATE(47), 1, + ACTIONS(184), 1, + anon_sym_CARET, + ACTIONS(186), 1, + anon_sym_AMP, + STATE(52), 1, sym_line_comment, - ACTIONS(92), 6, + ACTIONS(126), 6, ts_builtin_sym_end, anon_sym_LF, anon_sym_DASH, anon_sym_PLUS, anon_sym_STAR, anon_sym_PERCENT, - [1806] = 10, + [2266] = 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, + ACTIONS(182), 1, + anon_sym_PIPE, + ACTIONS(184), 1, anon_sym_CARET, - ACTIONS(155), 1, + ACTIONS(186), 1, + anon_sym_AMP, + ACTIONS(190), 1, anon_sym_SLASH, - ACTIONS(157), 1, - anon_sym_PIPE, - STATE(48), 1, + STATE(53), 1, sym_line_comment, - ACTIONS(153), 2, + ACTIONS(188), 2, anon_sym_STAR, anon_sym_PERCENT, - ACTIONS(92), 4, + ACTIONS(126), 4, ts_builtin_sym_end, anon_sym_LF, anon_sym_DASH, anon_sym_PLUS, - [1841] = 6, + [2301] = 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(128), 1, anon_sym_SLASH, - STATE(49), 1, + ACTIONS(186), 1, + anon_sym_AMP, + STATE(54), 1, sym_line_comment, - ACTIONS(92), 9, + ACTIONS(126), 8, ts_builtin_sym_end, anon_sym_LF, anon_sym_DASH, @@ -3564,1523 +4516,2026 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT, anon_sym_PIPE, anon_sym_CARET, - anon_sym_AMP, - [1868] = 9, + [2330] = 11, + 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(51), 1, - aux_sym_int_token2, - STATE(40), 1, - sym_reg, - STATE(50), 1, + ACTIONS(182), 1, + anon_sym_PIPE, + ACTIONS(184), 1, + anon_sym_CARET, + ACTIONS(186), 1, + anon_sym_AMP, + ACTIONS(190), 1, + anon_sym_SLASH, + STATE(55), 1, sym_line_comment, - ACTIONS(57), 2, - sym_meta_ident, - sym__ident, - STATE(122), 2, - sym_int, - sym_ident, - ACTIONS(55), 3, - sym_word, - sym__reg, - sym_address, - [1900] = 9, + ACTIONS(188), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(192), 2, + ts_builtin_sym_end, + anon_sym_LF, + ACTIONS(194), 2, + anon_sym_DASH, + anon_sym_PLUS, + [2367] = 8, + 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(51), 1, - aux_sym_int_token2, - STATE(40), 1, - sym_reg, - STATE(51), 1, + ACTIONS(128), 1, + anon_sym_SLASH, + ACTIONS(184), 1, + anon_sym_CARET, + ACTIONS(186), 1, + anon_sym_AMP, + STATE(56), 1, sym_line_comment, - ACTIONS(57), 2, - sym_meta_ident, - sym__ident, - STATE(117), 2, - sym_int, - sym_ident, - ACTIONS(55), 3, - sym_word, - sym__reg, - sym_address, - [1932] = 7, + ACTIONS(126), 7, + ts_builtin_sym_end, + anon_sym_LF, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE, + [2398] = 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(92), 1, + anon_sym_SLASH, + STATE(57), 1, + sym_line_comment, + ACTIONS(90), 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, + [2425] = 6, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - STATE(53), 1, + ACTIONS(88), 1, + anon_sym_SLASH, + STATE(58), 1, sym_line_comment, - ACTIONS(166), 2, + ACTIONS(86), 9, 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, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + [2452] = 10, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(170), 1, + ACTIONS(178), 1, sym_address, - STATE(40), 1, + STATE(42), 1, sym_reg, - STATE(54), 1, + STATE(59), 1, sym_line_comment, - STATE(128), 1, + STATE(89), 1, sym_ident, - ACTIONS(55), 2, + STATE(120), 1, + sym__macro_arg, + ACTIONS(160), 2, sym_word, sym__reg, - ACTIONS(57), 2, + ACTIONS(162), 2, sym_meta_ident, sym__ident, - [2013] = 9, + [2485] = 7, 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, - sym_reg, - STATE(55), 1, + ACTIONS(196), 1, + ts_builtin_sym_end, + ACTIONS(198), 1, + anon_sym_LF, + STATE(60), 2, + sym_line_comment, + aux_sym_program_repeat1, + ACTIONS(201), 5, + anon_sym_label, + anon_sym_const, + sym_word, + sym_meta_ident, + sym__ident, + [2512] = 9, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(5), 1, + aux_sym_line_comment_token2, + ACTIONS(7), 1, + sym_block_comment, + ACTIONS(203), 1, + sym_address, + STATE(45), 1, + sym_reg, + STATE(61), 1, + sym_line_comment, + STATE(142), 1, + sym_ident, + ACTIONS(61), 2, + sym_word, + sym__reg, + ACTIONS(63), 2, + sym_meta_ident, + sym__ident, + [2542] = 6, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(5), 1, + aux_sym_line_comment_token2, + ACTIONS(7), 1, + sym_block_comment, + STATE(62), 1, + sym_line_comment, + ACTIONS(205), 2, + ts_builtin_sym_end, + anon_sym_LF, + ACTIONS(207), 5, + anon_sym_label, + anon_sym_const, + sym_word, + sym_meta_ident, + sym__ident, + [2566] = 9, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(5), 1, + aux_sym_line_comment_token2, + ACTIONS(7), 1, + sym_block_comment, + ACTIONS(203), 1, + sym_address, + STATE(45), 1, + sym_reg, + STATE(63), 1, + sym_line_comment, + STATE(144), 1, + sym_ident, + ACTIONS(61), 2, + sym_word, + sym__reg, + ACTIONS(63), 2, + sym_meta_ident, + sym__ident, + [2596] = 9, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(5), 1, + aux_sym_line_comment_token2, + ACTIONS(7), 1, + sym_block_comment, + ACTIONS(80), 1, + anon_sym_LPAREN, + ACTIONS(180), 1, + sym_infix_operator, + ACTIONS(209), 1, + anon_sym_COMMA, + STATE(64), 1, + sym_line_comment, + STATE(83), 1, + aux_sym_meta_repeat2, + ACTIONS(176), 2, + ts_builtin_sym_end, + anon_sym_LF, + [2625] = 6, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(5), 1, + aux_sym_line_comment_token2, + ACTIONS(7), 1, + sym_block_comment, + ACTIONS(96), 1, + sym_infix_operator, + STATE(65), 1, + sym_line_comment, + ACTIONS(94), 5, + ts_builtin_sym_end, + anon_sym_LF, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RBRACK, + [2648] = 6, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(5), 1, + aux_sym_line_comment_token2, + ACTIONS(7), 1, + sym_block_comment, + ACTIONS(88), 1, + sym_infix_operator, + STATE(66), 1, + sym_line_comment, + ACTIONS(86), 5, + ts_builtin_sym_end, + anon_sym_LF, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RBRACK, + [2671] = 6, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(5), 1, + aux_sym_line_comment_token2, + ACTIONS(7), 1, + sym_block_comment, + ACTIONS(92), 1, + sym_infix_operator, + STATE(67), 1, + sym_line_comment, + ACTIONS(90), 5, + ts_builtin_sym_end, + anon_sym_LF, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RBRACK, + [2694] = 8, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(5), 1, + aux_sym_line_comment_token2, + ACTIONS(7), 1, + sym_block_comment, + ACTIONS(160), 1, + sym__reg, + ACTIONS(211), 1, + anon_sym_RBRACE, + STATE(68), 1, + sym_line_comment, + STATE(84), 1, + sym_reg, + ACTIONS(178), 2, + sym_word, + sym_address, + [2720] = 7, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(5), 1, + aux_sym_line_comment_token2, + ACTIONS(7), 1, + sym_block_comment, + ACTIONS(80), 1, + anon_sym_LPAREN, + ACTIONS(180), 1, + sym_infix_operator, + STATE(69), 1, + sym_line_comment, + ACTIONS(78), 3, + ts_builtin_sym_end, + anon_sym_LF, + anon_sym_COMMA, + [2744] = 8, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(5), 1, + aux_sym_line_comment_token2, + ACTIONS(7), 1, + sym_block_comment, + ACTIONS(160), 1, + sym__reg, + ACTIONS(213), 1, + anon_sym_RBRACE, + STATE(70), 1, + sym_line_comment, + STATE(127), 1, + sym_reg, + ACTIONS(178), 2, + sym_word, + sym_address, + [2770] = 8, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(5), 1, + aux_sym_line_comment_token2, + ACTIONS(7), 1, + sym_block_comment, + ACTIONS(180), 1, + sym_infix_operator, + ACTIONS(215), 1, + anon_sym_COMMA, + STATE(71), 1, + sym_line_comment, + STATE(114), 1, + aux_sym_meta_repeat3, + ACTIONS(176), 2, + ts_builtin_sym_end, + anon_sym_LF, + [2796] = 8, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(5), 1, + aux_sym_line_comment_token2, + ACTIONS(7), 1, + sym_block_comment, + ACTIONS(219), 1, + anon_sym_LPAREN, + ACTIONS(221), 1, + sym_meta_ident, + STATE(72), 1, + sym_line_comment, + STATE(136), 1, + sym_meta, + ACTIONS(217), 2, + ts_builtin_sym_end, + anon_sym_LF, + [2822] = 8, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(5), 1, + aux_sym_line_comment_token2, + ACTIONS(7), 1, + sym_block_comment, + ACTIONS(160), 1, + sym__reg, + ACTIONS(223), 1, + anon_sym_RBRACE, + STATE(73), 1, + sym_line_comment, + STATE(127), 1, + sym_reg, + ACTIONS(178), 2, + sym_word, + sym_address, + [2848] = 7, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(5), 1, + aux_sym_line_comment_token2, + ACTIONS(7), 1, + sym_block_comment, + ACTIONS(227), 1, + anon_sym_BANG, + ACTIONS(229), 1, + sym_infix_operator, + STATE(74), 1, + sym_line_comment, + ACTIONS(225), 3, + ts_builtin_sym_end, + anon_sym_LF, + anon_sym_COMMA, + [2872] = 8, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(5), 1, + aux_sym_line_comment_token2, + ACTIONS(7), 1, + sym_block_comment, + ACTIONS(180), 1, + sym_infix_operator, + ACTIONS(231), 1, + anon_sym_COMMA, + STATE(75), 1, + sym_line_comment, + STATE(86), 1, + aux_sym_meta_repeat4, + ACTIONS(176), 2, + ts_builtin_sym_end, + anon_sym_LF, + [2898] = 7, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(5), 1, + aux_sym_line_comment_token2, + ACTIONS(7), 1, + sym_block_comment, + ACTIONS(235), 1, + anon_sym_BANG, + ACTIONS(237), 1, + sym_infix_operator, + STATE(76), 1, + sym_line_comment, + ACTIONS(233), 3, + ts_builtin_sym_end, + anon_sym_LF, + anon_sym_COMMA, + [2922] = 8, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(5), 1, + aux_sym_line_comment_token2, + ACTIONS(7), 1, + sym_block_comment, + ACTIONS(221), 1, + sym_meta_ident, + ACTIONS(241), 1, + anon_sym_LPAREN, + STATE(77), 1, + sym_line_comment, + STATE(138), 1, + sym_meta, + ACTIONS(239), 2, + ts_builtin_sym_end, + anon_sym_LF, + [2948] = 7, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(5), 1, + aux_sym_line_comment_token2, + ACTIONS(7), 1, + sym_block_comment, + ACTIONS(245), 1, + anon_sym_COMMA, + STATE(78), 1, + sym_line_comment, + STATE(90), 1, + aux_sym_meta_repeat1, + ACTIONS(243), 2, + ts_builtin_sym_end, + anon_sym_LF, + [2971] = 6, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(5), 1, + aux_sym_line_comment_token2, + ACTIONS(7), 1, + sym_block_comment, + ACTIONS(249), 1, + anon_sym_COMMA, + ACTIONS(247), 2, + ts_builtin_sym_end, + anon_sym_LF, + STATE(79), 2, + sym_line_comment, + aux_sym_meta_repeat2, + [2992] = 6, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(5), 1, + aux_sym_line_comment_token2, + ACTIONS(7), 1, + sym_block_comment, + ACTIONS(254), 1, + sym_infix_operator, + STATE(80), 1, + sym_line_comment, + ACTIONS(252), 3, + ts_builtin_sym_end, + anon_sym_LF, + anon_sym_COMMA, + [3013] = 6, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(5), 1, + aux_sym_line_comment_token2, + ACTIONS(7), 1, + sym_block_comment, + ACTIONS(258), 1, + anon_sym_COMMA, + ACTIONS(256), 2, + ts_builtin_sym_end, + anon_sym_LF, + STATE(81), 2, + sym_line_comment, + aux_sym_meta_repeat4, + [3034] = 8, + ACTIONS(5), 1, + aux_sym_line_comment_token2, + ACTIONS(7), 1, + sym_block_comment, + ACTIONS(53), 1, + anon_sym_POUND, + ACTIONS(55), 1, + aux_sym_int_token2, + ACTIONS(174), 1, + sym_prefix_operator, + ACTIONS(261), 1, + aux_sym_int_token1, + STATE(82), 1, + sym_line_comment, + STATE(126), 1, + sym_int, + [3059] = 7, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(5), 1, + aux_sym_line_comment_token2, + ACTIONS(7), 1, + sym_block_comment, + ACTIONS(209), 1, + anon_sym_COMMA, + STATE(79), 1, + aux_sym_meta_repeat2, + STATE(83), 1, sym_line_comment, - STATE(129), 1, - sym_ident, - ACTIONS(55), 2, - sym_word, - sym__reg, - ACTIONS(57), 2, - sym_meta_ident, - sym__ident, - [2043] = 8, + ACTIONS(263), 2, + ts_builtin_sym_end, + anon_sym_LF, + [3082] = 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(172), 1, + ACTIONS(265), 1, + anon_sym_COMMA, + ACTIONS(267), 1, + anon_sym_DASH, + ACTIONS(269), 1, anon_sym_RBRACE, - STATE(56), 1, + STATE(84), 1, sym_line_comment, - STATE(82), 1, - sym_reg, - ACTIONS(170), 2, - sym_word, - sym_address, - [2069] = 8, + STATE(104), 1, + aux_sym_list_repeat1, + [3107] = 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(174), 1, - anon_sym_RBRACE, - STATE(57), 1, + ACTIONS(273), 1, + sym_infix_operator, + STATE(85), 1, sym_line_comment, - STATE(104), 1, - sym_reg, - ACTIONS(170), 2, - sym_word, - sym_address, - [2095] = 8, + ACTIONS(271), 3, + ts_builtin_sym_end, + anon_sym_LF, + anon_sym_COMMA, + [3128] = 7, 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, - STATE(58), 1, + ACTIONS(231), 1, + anon_sym_COMMA, + STATE(81), 1, + aux_sym_meta_repeat4, + STATE(86), 1, sym_line_comment, - STATE(108), 1, - sym_meta, - ACTIONS(176), 2, + ACTIONS(263), 2, ts_builtin_sym_end, anon_sym_LF, - [2121] = 8, + [3151] = 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(182), 1, + ACTIONS(278), 1, anon_sym_RBRACE, - STATE(59), 1, + ACTIONS(275), 2, + anon_sym_COMMA, + anon_sym_DASH, + STATE(87), 2, sym_line_comment, - STATE(104), 1, - sym_reg, - ACTIONS(170), 2, - sym_word, - sym_address, - [2147] = 8, + aux_sym_list_repeat1, + [3172] = 6, 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, - STATE(60), 1, + ACTIONS(282), 1, + sym_infix_operator, + STATE(88), 1, sym_line_comment, - STATE(111), 1, - sym_meta, - ACTIONS(184), 2, + ACTIONS(280), 3, ts_builtin_sym_end, anon_sym_LF, - [2173] = 7, + anon_sym_COMMA, + [3193] = 6, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(188), 1, + ACTIONS(286), 1, + anon_sym_EQ, + STATE(89), 1, + sym_line_comment, + ACTIONS(284), 3, ts_builtin_sym_end, - ACTIONS(190), 1, anon_sym_LF, - STATE(41), 1, - aux_sym_program_repeat1, - STATE(61), 2, - sym_line_comment, - aux_sym_program_repeat2, - [2196] = 8, + anon_sym_COMMA, + [3214] = 6, 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, + ACTIONS(290), 1, anon_sym_COMMA, - ACTIONS(195), 1, - anon_sym_DASH, - STATE(62), 1, + ACTIONS(288), 2, + ts_builtin_sym_end, + anon_sym_LF, + STATE(90), 2, sym_line_comment, - STATE(63), 1, - aux_sym_list_repeat1, - [2221] = 6, + aux_sym_meta_repeat1, + [3235] = 6, 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(295), 1, + sym_infix_operator, + STATE(91), 1, sym_line_comment, - aux_sym_list_repeat1, - [2242] = 7, + ACTIONS(293), 3, + ts_builtin_sym_end, + anon_sym_LF, + anon_sym_COMMA, + [3256] = 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(245), 1, anon_sym_COMMA, - STATE(64), 1, + STATE(78), 1, + aux_sym_meta_repeat1, + STATE(92), 1, sym_line_comment, - STATE(86), 1, - aux_sym_meta_repeat2, - ACTIONS(202), 2, + ACTIONS(263), 2, ts_builtin_sym_end, anon_sym_LF, - [2265] = 7, + [3279] = 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, - STATE(65), 1, + ACTIONS(237), 1, + sym_infix_operator, + STATE(93), 1, sym_line_comment, - STATE(68), 1, - aux_sym_meta_repeat3, - ACTIONS(206), 2, + ACTIONS(233), 3, ts_builtin_sym_end, anon_sym_LF, - [2288] = 7, + anon_sym_COMMA, + [3300] = 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(297), 1, anon_sym_COMMA, - STATE(66), 1, + ACTIONS(301), 1, + anon_sym_RBRACK, + STATE(94), 1, sym_line_comment, - STATE(87), 1, - aux_sym_meta_repeat1, - ACTIONS(202), 2, + ACTIONS(299), 2, + anon_sym_DASH, + anon_sym_PLUS, + [3323] = 6, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(5), 1, + aux_sym_line_comment_token2, + ACTIONS(7), 1, + sym_block_comment, + ACTIONS(305), 1, + sym_infix_operator, + STATE(95), 1, + sym_line_comment, + ACTIONS(303), 3, ts_builtin_sym_end, anon_sym_LF, - [2311] = 7, + anon_sym_COMMA, + [3344] = 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(67), 1, + ACTIONS(309), 1, + sym_infix_operator, + STATE(96), 1, sym_line_comment, - STATE(121), 1, - sym_reg, - ACTIONS(170), 2, - sym_word, - sym_address, - [2334] = 7, + ACTIONS(307), 3, + ts_builtin_sym_end, + anon_sym_LF, + anon_sym_COMMA, + [3365] = 7, 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, - STATE(68), 1, - sym_line_comment, - STATE(84), 1, - aux_sym_meta_repeat3, - ACTIONS(202), 2, + ACTIONS(311), 1, ts_builtin_sym_end, + ACTIONS(313), 1, anon_sym_LF, - [2357] = 7, + STATE(41), 1, + aux_sym_program_repeat1, + STATE(97), 2, + sym_line_comment, + aux_sym_program_repeat2, + [3388] = 6, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(212), 1, - anon_sym_COMMA, - STATE(69), 1, + ACTIONS(100), 1, + sym_infix_operator, + STATE(98), 1, sym_line_comment, - STATE(71), 1, - aux_sym_instruction_repeat1, - ACTIONS(114), 2, + ACTIONS(98), 3, ts_builtin_sym_end, anon_sym_LF, - [2380] = 7, + anon_sym_COMMA, + [3409] = 6, 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, - STATE(64), 1, - aux_sym_meta_repeat2, - STATE(70), 1, + ACTIONS(229), 1, + sym_infix_operator, + STATE(99), 1, sym_line_comment, - ACTIONS(206), 2, + ACTIONS(225), 3, ts_builtin_sym_end, anon_sym_LF, - [2403] = 7, + anon_sym_COMMA, + [3430] = 6, 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, - STATE(71), 1, + ACTIONS(180), 1, + sym_infix_operator, + STATE(100), 1, sym_line_comment, - STATE(80), 1, - aux_sym_instruction_repeat1, - ACTIONS(47), 2, + ACTIONS(78), 3, ts_builtin_sym_end, anon_sym_LF, - [2426] = 7, + anon_sym_COMMA, + [3451] = 7, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(55), 1, + ACTIONS(160), 1, sym__reg, - STATE(72), 1, + STATE(101), 1, sym_line_comment, - STATE(120), 1, + STATE(127), 1, sym_reg, - ACTIONS(170), 2, + ACTIONS(178), 2, sym_word, sym_address, - [2449] = 7, + [3474] = 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(318), 1, + sym_infix_operator, + STATE(102), 1, sym_line_comment, - STATE(104), 1, - sym_reg, - ACTIONS(170), 2, - sym_word, - sym_address, - [2472] = 7, + ACTIONS(316), 3, + ts_builtin_sym_end, + anon_sym_LF, + anon_sym_COMMA, + [3495] = 8, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(5), 1, + aux_sym_line_comment_token2, + ACTIONS(7), 1, + sym_block_comment, + ACTIONS(170), 1, + anon_sym_LF, + ACTIONS(172), 1, + ts_builtin_sym_end, + STATE(39), 1, + aux_sym_program_repeat1, + STATE(97), 1, + aux_sym_program_repeat2, + STATE(103), 1, + sym_line_comment, + [3520] = 8, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(210), 1, + ACTIONS(213), 1, + anon_sym_RBRACE, + ACTIONS(267), 1, + anon_sym_DASH, + ACTIONS(320), 1, anon_sym_COMMA, - STATE(66), 1, - aux_sym_meta_repeat1, - STATE(74), 1, + STATE(87), 1, + aux_sym_list_repeat1, + STATE(104), 1, sym_line_comment, - ACTIONS(206), 2, - ts_builtin_sym_end, - anon_sym_LF, - [2495] = 7, + [3545] = 7, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(55), 1, + ACTIONS(160), 1, sym__reg, - STATE(75), 1, + STATE(105), 1, sym_line_comment, - STATE(102), 1, + STATE(119), 1, sym_reg, - ACTIONS(170), 2, + ACTIONS(178), 2, sym_word, sym_address, - [2518] = 7, - ACTIONS(3), 1, - anon_sym_POUND, + [3568] = 8, 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, - STATE(76), 1, + ACTIONS(53), 1, + anon_sym_POUND, + ACTIONS(55), 1, + aux_sym_int_token2, + ACTIONS(174), 1, + sym_prefix_operator, + ACTIONS(261), 1, + aux_sym_int_token1, + STATE(106), 1, sym_line_comment, - ACTIONS(218), 2, - anon_sym_DASH, - anon_sym_PLUS, - [2541] = 6, + STATE(159), 1, + sym_int, + [3593] = 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, - STATE(77), 1, + ACTIONS(61), 1, + sym__reg, + STATE(107), 1, sym_line_comment, - ACTIONS(222), 3, - ts_builtin_sym_end, - anon_sym_LF, - anon_sym_COMMA, - [2562] = 6, + STATE(160), 1, + sym_reg, + ACTIONS(203), 2, + sym_word, + sym_address, + [3616] = 8, + ACTIONS(5), 1, + aux_sym_line_comment_token2, + ACTIONS(7), 1, + sym_block_comment, + ACTIONS(53), 1, + anon_sym_POUND, + ACTIONS(55), 1, + aux_sym_int_token2, + ACTIONS(174), 1, + sym_prefix_operator, + ACTIONS(261), 1, + aux_sym_int_token1, + STATE(108), 1, + sym_line_comment, + STATE(164), 1, + sym_int, + [3641] = 7, 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, - STATE(78), 1, + ACTIONS(322), 1, + anon_sym_COMMA, + STATE(109), 1, sym_line_comment, - ACTIONS(68), 3, + STATE(110), 1, + aux_sym_instruction_repeat1, + ACTIONS(130), 2, ts_builtin_sym_end, anon_sym_LF, - anon_sym_COMMA, - [2583] = 7, + [3664] = 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, - STATE(79), 1, + ACTIONS(324), 1, + anon_sym_COMMA, + STATE(110), 1, sym_line_comment, - ACTIONS(170), 2, - sym_word, - sym_address, - [2606] = 6, + STATE(111), 1, + aux_sym_instruction_repeat1, + ACTIONS(67), 2, + ts_builtin_sym_end, + anon_sym_LF, + [3687] = 6, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(228), 1, + ACTIONS(328), 1, anon_sym_COMMA, - ACTIONS(226), 2, + ACTIONS(326), 2, ts_builtin_sym_end, anon_sym_LF, - STATE(80), 2, + STATE(111), 2, sym_line_comment, aux_sym_instruction_repeat1, - [2627] = 8, + [3708] = 8, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(141), 1, + ACTIONS(170), 1, anon_sym_LF, - ACTIONS(231), 1, + ACTIONS(331), 1, ts_builtin_sym_end, - STATE(37), 1, + STATE(40), 1, aux_sym_program_repeat1, - STATE(81), 1, - sym_line_comment, - STATE(85), 1, + STATE(103), 1, aux_sym_program_repeat2, - [2652] = 8, + STATE(112), 1, + sym_line_comment, + [3733] = 7, 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, - STATE(82), 1, + ACTIONS(61), 1, + sym__reg, + STATE(113), 1, sym_line_comment, - [2677] = 6, + STATE(156), 1, + sym_reg, + ACTIONS(203), 2, + sym_word, + sym_address, + [3756] = 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, - STATE(83), 1, + ACTIONS(215), 1, + anon_sym_COMMA, + STATE(114), 1, sym_line_comment, - ACTIONS(237), 3, + STATE(115), 1, + aux_sym_meta_repeat3, + ACTIONS(263), 2, ts_builtin_sym_end, anon_sym_LF, - anon_sym_COMMA, - [2698] = 6, + [3779] = 6, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(243), 1, + ACTIONS(335), 1, anon_sym_COMMA, - ACTIONS(241), 2, + ACTIONS(333), 2, ts_builtin_sym_end, anon_sym_LF, - STATE(84), 2, + STATE(115), 2, sym_line_comment, aux_sym_meta_repeat3, - [2719] = 8, + [3800] = 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, - STATE(85), 1, + ACTIONS(160), 1, + sym__reg, + STATE(94), 1, + sym_reg, + STATE(116), 1, sym_line_comment, - [2744] = 6, + ACTIONS(178), 2, + sym_word, + sym_address, + [3823] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(248), 1, - anon_sym_COMMA, - ACTIONS(246), 2, + STATE(117), 1, + sym_line_comment, + ACTIONS(256), 3, ts_builtin_sym_end, anon_sym_LF, - STATE(86), 2, - sym_line_comment, - aux_sym_meta_repeat2, - [2765] = 6, + anon_sym_COMMA, + [3841] = 5, 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(251), 2, + STATE(118), 1, + sym_line_comment, + ACTIONS(338), 3, ts_builtin_sym_end, anon_sym_LF, - STATE(87), 2, - sym_line_comment, - aux_sym_meta_repeat1, - [2786] = 6, + anon_sym_COMMA, + [3859] = 6, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - STATE(88), 1, + ACTIONS(342), 1, + anon_sym_RBRACK, + STATE(119), 1, sym_line_comment, - STATE(99), 1, - sym_string, - ACTIONS(53), 2, - aux_sym_string_token1, - aux_sym_string_token2, - [2806] = 5, + ACTIONS(340), 2, + anon_sym_DASH, + anon_sym_PLUS, + [3879] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - STATE(89), 1, + STATE(120), 1, sym_line_comment, - ACTIONS(256), 3, + ACTIONS(288), 3, ts_builtin_sym_end, anon_sym_LF, anon_sym_COMMA, - [2824] = 5, + [3897] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - STATE(90), 1, + STATE(121), 1, sym_line_comment, - ACTIONS(258), 3, + ACTIONS(326), 3, ts_builtin_sym_end, anon_sym_LF, anon_sym_COMMA, - [2842] = 5, + [3915] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - STATE(91), 1, + STATE(122), 1, sym_line_comment, - ACTIONS(226), 3, + ACTIONS(344), 3, ts_builtin_sym_end, anon_sym_LF, anon_sym_COMMA, - [2860] = 5, + [3933] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - STATE(92), 1, + STATE(123), 1, sym_line_comment, - ACTIONS(222), 3, + ACTIONS(333), 3, ts_builtin_sym_end, anon_sym_LF, anon_sym_COMMA, - [2878] = 5, + [3951] = 6, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - STATE(93), 1, + ACTIONS(348), 1, + sym_infix_operator, + STATE(124), 1, sym_line_comment, - ACTIONS(237), 3, + ACTIONS(346), 2, ts_builtin_sym_end, anon_sym_LF, - anon_sym_COMMA, - [2896] = 5, + [3971] = 6, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - STATE(94), 1, + STATE(117), 1, + sym_string, + STATE(125), 1, sym_line_comment, - ACTIONS(260), 3, - ts_builtin_sym_end, - anon_sym_LF, - anon_sym_COMMA, - [2914] = 5, + ACTIONS(59), 2, + aux_sym_string_token1, + aux_sym_string_token2, + [3991] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - STATE(95), 1, + STATE(126), 1, sym_line_comment, - ACTIONS(246), 3, + ACTIONS(247), 3, ts_builtin_sym_end, anon_sym_LF, anon_sym_COMMA, - [2932] = 5, + [4009] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - STATE(96), 1, + STATE(127), 1, sym_line_comment, - ACTIONS(262), 3, - ts_builtin_sym_end, - anon_sym_LF, + ACTIONS(278), 3, anon_sym_COMMA, - [2950] = 5, + anon_sym_DASH, + anon_sym_RBRACE, + [4027] = 6, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - STATE(97), 1, + ACTIONS(104), 1, + sym_infix_operator, + STATE(128), 1, sym_line_comment, - ACTIONS(251), 3, + ACTIONS(102), 2, ts_builtin_sym_end, anon_sym_LF, - anon_sym_COMMA, - [2968] = 5, + [4047] = 6, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - STATE(98), 1, + ACTIONS(108), 1, + sym_infix_operator, + STATE(129), 1, sym_line_comment, - ACTIONS(264), 3, + ACTIONS(106), 2, ts_builtin_sym_end, anon_sym_LF, - anon_sym_COMMA, - [2986] = 5, + [4067] = 6, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - STATE(99), 1, + ACTIONS(350), 1, + aux_sym_int_token1, + ACTIONS(352), 1, + sym_prefix_operator, + STATE(130), 1, sym_line_comment, - ACTIONS(241), 3, - ts_builtin_sym_end, - anon_sym_LF, - anon_sym_COMMA, - [3004] = 5, + [4086] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - STATE(100), 1, + STATE(131), 1, sym_line_comment, - ACTIONS(68), 3, + ACTIONS(354), 2, ts_builtin_sym_end, anon_sym_LF, - anon_sym_COMMA, - [3022] = 5, + [4103] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - STATE(101), 1, + STATE(132), 1, sym_line_comment, - ACTIONS(266), 3, + ACTIONS(311), 2, ts_builtin_sym_end, anon_sym_LF, - anon_sym_COMMA, - [3040] = 6, + [4120] = 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, + STATE(133), 1, sym_line_comment, - ACTIONS(268), 2, - anon_sym_DASH, - anon_sym_PLUS, - [3060] = 5, + ACTIONS(356), 2, + ts_builtin_sym_end, + anon_sym_LF, + [4137] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - STATE(103), 1, + STATE(134), 1, sym_line_comment, - ACTIONS(272), 3, + ACTIONS(358), 2, ts_builtin_sym_end, anon_sym_LF, - anon_sym_COMMA, - [3078] = 5, + [4154] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - STATE(104), 1, + STATE(135), 1, sym_line_comment, - ACTIONS(200), 3, - anon_sym_COMMA, - anon_sym_DASH, - anon_sym_RBRACE, - [3096] = 6, + ACTIONS(176), 2, + ts_builtin_sym_end, + anon_sym_LF, + [4171] = 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, + STATE(136), 1, sym_line_comment, - [3115] = 5, + ACTIONS(360), 2, + ts_builtin_sym_end, + anon_sym_LF, + [4188] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - STATE(106), 1, + STATE(137), 1, sym_line_comment, - ACTIONS(206), 2, + ACTIONS(362), 2, ts_builtin_sym_end, anon_sym_LF, - [3132] = 5, + [4205] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - STATE(107), 1, + STATE(138), 1, sym_line_comment, - ACTIONS(276), 2, + ACTIONS(364), 2, ts_builtin_sym_end, anon_sym_LF, - [3149] = 5, + [4222] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - STATE(108), 1, + STATE(139), 1, sym_line_comment, - ACTIONS(278), 2, + ACTIONS(346), 2, ts_builtin_sym_end, anon_sym_LF, - [3166] = 6, + [4239] = 6, + 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, + ACTIONS(366), 1, + aux_sym_int_token1, + ACTIONS(368), 1, + sym_prefix_operator, + STATE(140), 1, sym_line_comment, - STATE(123), 1, - sym_int, - [3185] = 5, + [4258] = 6, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - STATE(110), 1, + ACTIONS(370), 1, + aux_sym_int_token1, + ACTIONS(372), 1, + sym_prefix_operator, + STATE(141), 1, sym_line_comment, - ACTIONS(188), 2, - ts_builtin_sym_end, - anon_sym_LF, - [3202] = 5, + [4277] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - STATE(111), 1, + ACTIONS(374), 1, + anon_sym_RPAREN, + STATE(142), 1, sym_line_comment, - ACTIONS(280), 2, - ts_builtin_sym_end, - anon_sym_LF, - [3219] = 5, + [4293] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - STATE(112), 1, + ACTIONS(376), 1, + sym_word, + STATE(143), 1, sym_line_comment, - ACTIONS(282), 2, - ts_builtin_sym_end, - anon_sym_LF, - [3236] = 5, + [4309] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - STATE(113), 1, + ACTIONS(378), 1, + anon_sym_RPAREN, + STATE(144), 1, sym_line_comment, - ACTIONS(284), 2, - ts_builtin_sym_end, - anon_sym_LF, - [3253] = 5, + [4325] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - STATE(114), 1, - sym_line_comment, - ACTIONS(286), 2, + ACTIONS(380), 1, ts_builtin_sym_end, - anon_sym_LF, - [3270] = 6, - ACTIONS(5), 1, + STATE(145), 1, + sym_line_comment, + [4341] = 5, + ACTIONS(382), 1, + anon_sym_POUND, + ACTIONS(384), 1, + aux_sym_line_comment_token1, + ACTIONS(386), 1, aux_sym_line_comment_token2, - ACTIONS(7), 1, + ACTIONS(388), 1, sym_block_comment, - ACTIONS(49), 1, - anon_sym_POUND, - ACTIONS(274), 1, - aux_sym_int_token2, - STATE(115), 1, + STATE(146), 1, sym_line_comment, - STATE(122), 1, - sym_int, - [3289] = 5, - ACTIONS(288), 1, + [4357] = 5, + ACTIONS(3), 1, anon_sym_POUND, - ACTIONS(290), 1, - aux_sym_line_comment_token1, - ACTIONS(292), 1, + ACTIONS(5), 1, aux_sym_line_comment_token2, - ACTIONS(294), 1, + ACTIONS(7), 1, sym_block_comment, - STATE(116), 1, + ACTIONS(23), 1, + anon_sym_COLON, + STATE(147), 1, sym_line_comment, - [3305] = 5, + [4373] = 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(390), 1, anon_sym_RBRACK, - STATE(117), 1, + STATE(148), 1, sym_line_comment, - [3321] = 5, + [4389] = 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, - STATE(118), 1, + ACTIONS(392), 1, + sym_float, + STATE(149), 1, sym_line_comment, - [3337] = 5, + [4405] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(300), 1, + ACTIONS(394), 1, anon_sym_LBRACK, - STATE(119), 1, + STATE(150), 1, sym_line_comment, - [3353] = 5, + [4421] = 5, 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_RPAREN, - STATE(120), 1, + ACTIONS(396), 1, + anon_sym_rel, + STATE(151), 1, sym_line_comment, - [3369] = 5, + [4437] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(302), 1, - anon_sym_RPAREN, - STATE(121), 1, + ACTIONS(398), 1, + aux_sym_int_token1, + STATE(152), 1, sym_line_comment, - [3385] = 5, + [4453] = 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(122), 1, + ACTIONS(348), 1, + sym_infix_operator, + STATE(153), 1, sym_line_comment, - [3401] = 5, + [4469] = 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, - STATE(123), 1, + ACTIONS(400), 1, + aux_sym_int_token1, + STATE(154), 1, sym_line_comment, - [3417] = 5, + [4485] = 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, - STATE(124), 1, + ACTIONS(402), 1, + anon_sym_ptr, + STATE(155), 1, sym_line_comment, - [3433] = 5, + [4501] = 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, - STATE(125), 1, + ACTIONS(404), 1, + anon_sym_RPAREN, + STATE(156), 1, sym_line_comment, - [3449] = 5, + [4517] = 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, - STATE(126), 1, + ACTIONS(406), 1, + anon_sym_LBRACK, + STATE(157), 1, sym_line_comment, - [3465] = 5, + [4533] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(312), 1, - anon_sym_ptr, - STATE(127), 1, + ACTIONS(408), 1, + sym_word, + STATE(158), 1, sym_line_comment, - [3481] = 5, + [4549] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(314), 1, - anon_sym_RPAREN, - STATE(128), 1, + ACTIONS(410), 1, + anon_sym_RBRACK, + STATE(159), 1, sym_line_comment, - [3497] = 5, + [4565] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(316), 1, + ACTIONS(227), 1, anon_sym_RPAREN, - STATE(129), 1, + STATE(160), 1, sym_line_comment, - [3513] = 5, + [4581] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(5), 1, aux_sym_line_comment_token2, ACTIONS(7), 1, sym_block_comment, - ACTIONS(318), 1, - ts_builtin_sym_end, - STATE(130), 1, + ACTIONS(366), 1, + aux_sym_int_token1, + STATE(161), 1, sym_line_comment, - [3529] = 5, + [4597] = 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, - STATE(131), 1, + ACTIONS(370), 1, + aux_sym_int_token1, + STATE(162), 1, sym_line_comment, - [3545] = 5, + [4613] = 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, - STATE(132), 1, + ACTIONS(412), 1, + aux_sym_int_token1, + STATE(163), 1, sym_line_comment, - [3561] = 5, + [4629] = 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, - STATE(133), 1, + ACTIONS(342), 1, + anon_sym_RBRACK, + STATE(164), 1, sym_line_comment, - [3577] = 5, + [4645] = 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(350), 1, aux_sym_int_token1, - STATE(134), 1, + STATE(165), 1, sym_line_comment, - [3593] = 1, - ACTIONS(326), 1, + [4661] = 1, + ACTIONS(414), 1, ts_builtin_sym_end, - [3597] = 1, - ACTIONS(328), 1, + [4665] = 1, + ACTIONS(416), 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(2)] = 0, + [SMALL_STATE(3)] = 87, + [SMALL_STATE(4)] = 170, + [SMALL_STATE(5)] = 250, + [SMALL_STATE(6)] = 323, + [SMALL_STATE(7)] = 396, + [SMALL_STATE(8)] = 468, + [SMALL_STATE(9)] = 537, + [SMALL_STATE(10)] = 580, + [SMALL_STATE(11)] = 617, + [SMALL_STATE(12)] = 654, + [SMALL_STATE(13)] = 691, + [SMALL_STATE(14)] = 731, + [SMALL_STATE(15)] = 767, + [SMALL_STATE(16)] = 803, + [SMALL_STATE(17)] = 839, + [SMALL_STATE(18)] = 886, + [SMALL_STATE(19)] = 921, + [SMALL_STATE(20)] = 962, + [SMALL_STATE(21)] = 1007, + [SMALL_STATE(22)] = 1046, + [SMALL_STATE(23)] = 1083, + [SMALL_STATE(24)] = 1118, + [SMALL_STATE(25)] = 1170, + [SMALL_STATE(26)] = 1220, + [SMALL_STATE(27)] = 1265, + [SMALL_STATE(28)] = 1310, + [SMALL_STATE(29)] = 1355, + [SMALL_STATE(30)] = 1400, + [SMALL_STATE(31)] = 1445, + [SMALL_STATE(32)] = 1492, + [SMALL_STATE(33)] = 1537, + [SMALL_STATE(34)] = 1582, + [SMALL_STATE(35)] = 1627, + [SMALL_STATE(36)] = 1672, + [SMALL_STATE(37)] = 1717, + [SMALL_STATE(38)] = 1762, + [SMALL_STATE(39)] = 1793, + [SMALL_STATE(40)] = 1839, + [SMALL_STATE(41)] = 1885, + [SMALL_STATE(42)] = 1928, + [SMALL_STATE(43)] = 1957, + [SMALL_STATE(44)] = 1993, + [SMALL_STATE(45)] = 2033, + [SMALL_STATE(46)] = 2061, + [SMALL_STATE(47)] = 2097, + [SMALL_STATE(48)] = 2125, + [SMALL_STATE(49)] = 2152, + [SMALL_STATE(50)] = 2179, + [SMALL_STATE(51)] = 2206, + [SMALL_STATE(52)] = 2233, + [SMALL_STATE(53)] = 2266, + [SMALL_STATE(54)] = 2301, + [SMALL_STATE(55)] = 2330, + [SMALL_STATE(56)] = 2367, + [SMALL_STATE(57)] = 2398, + [SMALL_STATE(58)] = 2425, + [SMALL_STATE(59)] = 2452, + [SMALL_STATE(60)] = 2485, + [SMALL_STATE(61)] = 2512, + [SMALL_STATE(62)] = 2542, + [SMALL_STATE(63)] = 2566, + [SMALL_STATE(64)] = 2596, + [SMALL_STATE(65)] = 2625, + [SMALL_STATE(66)] = 2648, + [SMALL_STATE(67)] = 2671, + [SMALL_STATE(68)] = 2694, + [SMALL_STATE(69)] = 2720, + [SMALL_STATE(70)] = 2744, + [SMALL_STATE(71)] = 2770, + [SMALL_STATE(72)] = 2796, + [SMALL_STATE(73)] = 2822, + [SMALL_STATE(74)] = 2848, + [SMALL_STATE(75)] = 2872, + [SMALL_STATE(76)] = 2898, + [SMALL_STATE(77)] = 2922, + [SMALL_STATE(78)] = 2948, + [SMALL_STATE(79)] = 2971, + [SMALL_STATE(80)] = 2992, + [SMALL_STATE(81)] = 3013, + [SMALL_STATE(82)] = 3034, + [SMALL_STATE(83)] = 3059, + [SMALL_STATE(84)] = 3082, + [SMALL_STATE(85)] = 3107, + [SMALL_STATE(86)] = 3128, + [SMALL_STATE(87)] = 3151, + [SMALL_STATE(88)] = 3172, + [SMALL_STATE(89)] = 3193, + [SMALL_STATE(90)] = 3214, + [SMALL_STATE(91)] = 3235, + [SMALL_STATE(92)] = 3256, + [SMALL_STATE(93)] = 3279, + [SMALL_STATE(94)] = 3300, + [SMALL_STATE(95)] = 3323, + [SMALL_STATE(96)] = 3344, + [SMALL_STATE(97)] = 3365, + [SMALL_STATE(98)] = 3388, + [SMALL_STATE(99)] = 3409, + [SMALL_STATE(100)] = 3430, + [SMALL_STATE(101)] = 3451, + [SMALL_STATE(102)] = 3474, + [SMALL_STATE(103)] = 3495, + [SMALL_STATE(104)] = 3520, + [SMALL_STATE(105)] = 3545, + [SMALL_STATE(106)] = 3568, + [SMALL_STATE(107)] = 3593, + [SMALL_STATE(108)] = 3616, + [SMALL_STATE(109)] = 3641, + [SMALL_STATE(110)] = 3664, + [SMALL_STATE(111)] = 3687, + [SMALL_STATE(112)] = 3708, + [SMALL_STATE(113)] = 3733, + [SMALL_STATE(114)] = 3756, + [SMALL_STATE(115)] = 3779, + [SMALL_STATE(116)] = 3800, + [SMALL_STATE(117)] = 3823, + [SMALL_STATE(118)] = 3841, + [SMALL_STATE(119)] = 3859, + [SMALL_STATE(120)] = 3879, + [SMALL_STATE(121)] = 3897, + [SMALL_STATE(122)] = 3915, + [SMALL_STATE(123)] = 3933, + [SMALL_STATE(124)] = 3951, + [SMALL_STATE(125)] = 3971, + [SMALL_STATE(126)] = 3991, + [SMALL_STATE(127)] = 4009, + [SMALL_STATE(128)] = 4027, + [SMALL_STATE(129)] = 4047, + [SMALL_STATE(130)] = 4067, + [SMALL_STATE(131)] = 4086, + [SMALL_STATE(132)] = 4103, + [SMALL_STATE(133)] = 4120, + [SMALL_STATE(134)] = 4137, + [SMALL_STATE(135)] = 4154, + [SMALL_STATE(136)] = 4171, + [SMALL_STATE(137)] = 4188, + [SMALL_STATE(138)] = 4205, + [SMALL_STATE(139)] = 4222, + [SMALL_STATE(140)] = 4239, + [SMALL_STATE(141)] = 4258, + [SMALL_STATE(142)] = 4277, + [SMALL_STATE(143)] = 4293, + [SMALL_STATE(144)] = 4309, + [SMALL_STATE(145)] = 4325, + [SMALL_STATE(146)] = 4341, + [SMALL_STATE(147)] = 4357, + [SMALL_STATE(148)] = 4373, + [SMALL_STATE(149)] = 4389, + [SMALL_STATE(150)] = 4405, + [SMALL_STATE(151)] = 4421, + [SMALL_STATE(152)] = 4437, + [SMALL_STATE(153)] = 4453, + [SMALL_STATE(154)] = 4469, + [SMALL_STATE(155)] = 4485, + [SMALL_STATE(156)] = 4501, + [SMALL_STATE(157)] = 4517, + [SMALL_STATE(158)] = 4533, + [SMALL_STATE(159)] = 4549, + [SMALL_STATE(160)] = 4565, + [SMALL_STATE(161)] = 4581, + [SMALL_STATE(162)] = 4597, + [SMALL_STATE(163)] = 4613, + [SMALL_STATE(164)] = 4629, + [SMALL_STATE(165)] = 4645, + [SMALL_STATE(166)] = 4661, + [SMALL_STATE(167)] = 4665, }; 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(146), + [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(166), [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(158), + [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(143), [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(3), + [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(147), [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), - [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), + [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), + [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), + [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), + [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(155), + [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116), + [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151), + [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), + [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(11), [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), - [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), - [53] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), - [55] = {.entry = {.count = 1, .reusable = false}}, SHIFT(35), - [57] = {.entry = {.count = 1, .reusable = false}}, SHIFT(40), - [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), - [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), - [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), - [139] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_program, 2, 0, 0), - [141] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), - [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), - [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), - [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), - [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), - [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), - [328] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_line_comment, 1, 0, 0), + [41] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), + [43] = {.entry = {.count = 1, .reusable = false}}, SHIFT(15), + [45] = {.entry = {.count = 1, .reusable = false}}, SHIFT(16), + [47] = {.entry = {.count = 1, .reusable = false}}, SHIFT(161), + [49] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_meta, 1, 0, 1), + [51] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), + [53] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141), + [55] = {.entry = {.count = 1, .reusable = false}}, SHIFT(67), + [57] = {.entry = {.count = 1, .reusable = false}}, SHIFT(71), + [59] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), + [61] = {.entry = {.count = 1, .reusable = false}}, SHIFT(47), + [63] = {.entry = {.count = 1, .reusable = false}}, SHIFT(45), + [65] = {.entry = {.count = 1, .reusable = false}}, SHIFT(162), + [67] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_instruction, 3, 0, 1), + [69] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_instruction, 4, 0, 1), + [71] = {.entry = {.count = 1, .reusable = false}}, SHIFT(128), + [73] = {.entry = {.count = 1, .reusable = false}}, SHIFT(129), + [75] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__expr, 1, 0, 0), REDUCE(sym__tc_expr, 1, 0, 0), + [78] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expr, 1, 0, 0), + [80] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), + [82] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__tc_expr, 1, 0, 0), + [84] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__tc_expr, 1, 0, 0), + [86] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_int, 2, 0, 0), + [88] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_int, 2, 0, 0), + [90] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_int, 1, 0, 0), + [92] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_int, 1, 0, 0), + [94] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_int, 3, 0, 0), + [96] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_int, 3, 0, 0), + [98] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string, 1, 0, 0), + [100] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string, 1, 0, 0), + [102] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_reg, 1, 0, 0), + [104] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_reg, 1, 0, 0), + [106] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ident, 1, 0, 0), + [108] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ident, 1, 0, 0), + [110] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_instruction_repeat2, 1, 0, 0), + [112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), + [114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), + [116] = {.entry = {.count = 1, .reusable = false}}, SHIFT(27), + [118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), + [120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), + [122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), + [124] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_instruction_repeat2, 1, 0, 0), + [126] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tc_infix, 3, 0, 5), + [128] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tc_infix, 3, 0, 5), + [130] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_instruction, 2, 0, 1), + [132] = {.entry = {.count = 1, .reusable = true}}, SHIFT(161), + [134] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_instruction_repeat2, 2, 0, 0), + [136] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_instruction_repeat2, 2, 0, 0), SHIFT_REPEAT(140), + [139] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_instruction_repeat2, 2, 0, 0), SHIFT_REPEAT(11), + [142] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_instruction_repeat2, 2, 0, 0), SHIFT_REPEAT(14), + [145] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_instruction_repeat2, 2, 0, 0), SHIFT_REPEAT(15), + [148] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_instruction_repeat2, 2, 0, 0), SHIFT_REPEAT(16), + [151] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_instruction_repeat2, 2, 0, 0), SHIFT_REPEAT(161), + [154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), + [156] = {.entry = {.count = 1, .reusable = false}}, SHIFT(57), + [158] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), + [160] = {.entry = {.count = 1, .reusable = false}}, SHIFT(38), + [162] = {.entry = {.count = 1, .reusable = false}}, SHIFT(42), + [164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165), + [166] = {.entry = {.count = 1, .reusable = false}}, SHIFT(118), + [168] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_program, 3, 0, 0), + [170] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), + [172] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_program, 2, 0, 0), + [174] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), + [176] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_meta, 2, 0, 1), + [178] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), + [180] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expr, 1, 0, 0), + [182] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), + [184] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), + [186] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), + [188] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), + [190] = {.entry = {.count = 1, .reusable = false}}, SHIFT(34), + [192] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_const, 3, 0, 4), + [194] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), + [196] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), + [198] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(62), + [201] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), + [203] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), + [205] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 1, 0, 0), + [207] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_program_repeat1, 1, 0, 0), + [209] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), + [211] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), + [213] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), + [215] = {.entry = {.count = 1, .reusable = true}}, SHIFT(149), + [217] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_label, 2, 0, 0), + [219] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), + [221] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), + [223] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), + [225] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ptr, 3, 0, 0), + [227] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), + [229] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ptr, 3, 0, 0), + [231] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), + [233] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ptr, 5, 0, 0), + [235] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), + [237] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ptr, 5, 0, 0), + [239] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_label, 2, 0, 3), + [241] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), + [243] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_meta, 4, 0, 1), + [245] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), + [247] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_meta_repeat2, 2, 0, 0), + [249] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_meta_repeat2, 2, 0, 0), SHIFT_REPEAT(82), + [252] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 2, 0, 0), + [254] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list, 2, 0, 0), + [256] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_meta_repeat4, 2, 0, 0), + [258] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_meta_repeat4, 2, 0, 0), SHIFT_REPEAT(125), + [261] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), + [263] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_meta, 3, 0, 1), + [265] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), + [267] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), + [269] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), + [271] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 4, 0, 0), + [273] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list, 4, 0, 0), + [275] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2, 0, 0), SHIFT_REPEAT(101), + [278] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2, 0, 0), + [280] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ptr, 4, 0, 0), + [282] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ptr, 4, 0, 0), + [284] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__macro_arg, 1, 0, 0), + [286] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), + [288] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_meta_repeat1, 2, 0, 0), + [290] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_meta_repeat1, 2, 0, 0), SHIFT_REPEAT(59), + [293] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 5, 0, 0), + [295] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list, 5, 0, 0), + [297] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), + [299] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), + [301] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), + [303] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ptr, 6, 0, 0), + [305] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ptr, 6, 0, 0), + [307] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ptr, 7, 0, 0), + [309] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ptr, 7, 0, 0), + [311] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2, 0, 0), + [313] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2, 0, 0), SHIFT_REPEAT(62), + [316] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 3, 0, 0), + [318] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list, 3, 0, 0), + [320] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), + [322] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), + [324] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), + [326] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_instruction_repeat1, 2, 0, 0), + [328] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_instruction_repeat1, 2, 0, 0), SHIFT_REPEAT(8), + [331] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_program, 1, 0, 0), + [333] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_meta_repeat3, 2, 0, 0), + [335] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_meta_repeat3, 2, 0, 0), SHIFT_REPEAT(149), + [338] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__macro_arg_value, 1, 0, 0), + [340] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), + [342] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), + [344] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__macro_arg, 3, 0, 0), + [346] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_op_expr, 3, 0, 5), + [348] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7), + [350] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), + [352] = {.entry = {.count = 1, .reusable = true}}, SHIFT(154), + [354] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_label, 5, 0, 0), + [356] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__item, 1, 0, 0), + [358] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_label, 2, 0, 2), + [360] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_label, 3, 0, 0), + [362] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_label, 5, 0, 3), + [364] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_label, 3, 0, 3), + [366] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), + [368] = {.entry = {.count = 1, .reusable = true}}, SHIFT(152), + [370] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), + [372] = {.entry = {.count = 1, .reusable = true}}, SHIFT(163), + [374] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131), + [376] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), + [378] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), + [380] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [382] = {.entry = {.count = 1, .reusable = false}}, SHIFT(146), + [384] = {.entry = {.count = 1, .reusable = false}}, SHIFT(167), + [386] = {.entry = {.count = 1, .reusable = false}}, SHIFT(166), + [388] = {.entry = {.count = 1, .reusable = false}}, SHIFT_EXTRA(), + [390] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), + [392] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), + [394] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), + [396] = {.entry = {.count = 1, .reusable = true}}, SHIFT(157), + [398] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), + [400] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), + [402] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150), + [404] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), + [406] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), + [408] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), + [410] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), + [412] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), + [414] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_line_comment, 1, 0, 0), + [416] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_line_comment, 2, 0, 0), }; #ifdef __cplusplus @@ -5096,7 +6551,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 +6559,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 +6574,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/instr_and_reg.test b/test/corpus/instr_and_reg.test index aeb8f16c..ca9bcfb8 100644 --- a/test/corpus/instr_and_reg.test +++ b/test/corpus/instr_and_reg.test @@ -36,7 +36,8 @@ movzbl -1(%rbp), %eax (instruction kind: (word) (ptr - (int) + (int + (prefix_operator)) (reg)) (ident (reg)))) @@ -82,7 +83,8 @@ stp w0, w1, [sp, #-16]! (ptr (reg (word)) - (int)))) + (int + (prefix_operator))))) ========== diff --git a/test/corpus/labels_directives.test b/test/corpus/labels_directives.test index 3e33887c..75164483 100644 --- a/test/corpus/labels_directives.test +++ b/test/corpus/labels_directives.test @@ -91,3 +91,236 @@ length: .word 8 (meta_ident) (int)))) +========== +Label and Operator -- prefix operator negative +========== +.quad -2 +--- +(program + (meta + (meta_ident) + (int + (prefix_operator)))) +========== +Label and Operator -- prefix operator tilde +========== +.quad ~2 +--- +(program + (meta + (meta_ident) + (int + (prefix_operator)))) +========== +Label and Operator -- Multiplication +========== +.quad 1*2 +--- +(program + (meta + (meta_ident) + (op_expr + (int) + (infix_operator) + (int)))) +========== +Label and Operator -- Division +========== +.quad 1/2 +--- +(program + (meta + (meta_ident) + (op_expr + (int) + (infix_operator) + (int)))) +========== +Label and Operator -- Remainder +========== +.quad 1%2 +--- +(program + (meta + (meta_ident) + (op_expr + (int) + (infix_operator) + (int)))) +========== +Label and Operator -- Shift Left Simple +========== +.quad 1<2 +--- +(program + (meta + (meta_ident) + (op_expr + (int) + (infix_operator) + (int)))) +========== +Label and Operator -- Shift Left Double +========== +.quad 1<<2 +--- +(program + (meta + (meta_ident) + (op_expr + (int) + (infix_operator) + (int)))) +========== +Label and Operator -- Shift Right Simple +========== +.quad 1>2 +--- +(program + (meta + (meta_ident) + (op_expr + (int) + (infix_operator) + (int)))) +========== +Label and Operator -- Shift Right Double +========== +.quad 1>>2 +--- +(program + (meta + (meta_ident) + (op_expr + (int) + (infix_operator) + (int)))) +========== +Label and Operator -- Bitwise Inclusive Or +========== +.quad 1|2 +--- +(program + (meta + (meta_ident) + (op_expr + (int) + (infix_operator) + (int)))) +========== +Label and Operator -- Bitwise And +========== +.quad 1&2 +--- +(program + (meta + (meta_ident) + (op_expr + (int) + (infix_operator) + (int)))) +========== +Label and Operator -- Bitwise Exclusive Or +========== +.quad 1^2 +--- +(program + (meta + (meta_ident) + (op_expr + (int) + (infix_operator) + (int)))) +========== +Label and Operator -- Bitwise Or Not +========== +.quad 1!2 +--- +(program + (meta + (meta_ident) + (op_expr + (int) + (infix_operator) + (int)))) +========== +Label and Operator -- Addition +========== +.quad 1+2 +--- +(program + (meta + (meta_ident) + (op_expr + (int) + (infix_operator) + (int)))) +========== +Label and Operator -- Subtraction +========== +.quad 1-2 +--- +(program + (meta + (meta_ident) + (op_expr + (int) + (infix_operator) + (int)))) +========== +Label and Operator -- Addition with negative +========== +.quad 1+-2 +--- +(program + (meta + (meta_ident) + (op_expr + (int) + (infix_operator) + (int + (prefix_operator))))) +========== +Label and Operator -- Addition with multiple operands +========== +.quad 1+1+1 +--- +(program + (meta + (meta_ident) + (op_expr + (int) + (infix_operator) + (op_expr + (int) + (infix_operator) + (int))))) +========== +Label and Operator -- Addition with multiple operands and prefix operator +========== +.quad 1+1+-1 +--- +(program + (meta + (meta_ident) + (op_expr + (int) + (infix_operator) + (op_expr + (int) + (infix_operator) + (int + (prefix_operator)))))) +========== +Label and Operator -- Addition with multiple operands and prefix operator +========== +.quad 1--1 +--- +(program + (meta + (meta_ident) + (op_expr + (int) + (infix_operator) + (int + (prefix_operator))))) diff --git a/test/corpus/macro.test b/test/corpus/macro.test new file mode 100644 index 00000000..e9821d21 --- /dev/null +++ b/test/corpus/macro.test @@ -0,0 +1,116 @@ +========== +Macro -- use macro Parameters +========== +mov rax, \parm +--- +(program + (instruction + (word) + (ident + (reg + (word))) + (ident + (reg + (word))))) +========== +Macro -- simple macro +========== +.macro foo r +mov \r, 0 +.endm +--- +(program + (meta + (meta_ident) + (ident + (reg + (word))) + (ident + (reg + (word)))) + (instruction + (word) + (ident + (reg + (word))) + (int)) + (meta + (meta_ident))) +========== +Macro -- simple macro multi args +========== +.macro foo r, v +mov \r, \v +.endm +--- +(program + (meta + (meta_ident) + (ident + (reg + (word))) + (ident + (reg + (word))) + (ident + (reg + (word)))) + (instruction + (word) + (ident + (reg + (word))) + (ident + (reg + (word)))) + (meta + (meta_ident))) +========== +Macro -- example macro of gas doc +========== +.macro sum from=0, to=5 +.long \from +.if \to-\from +sum "(\from+1)",\to +.endif +.endm +--- +(program + (meta + (meta_ident) + (ident + (reg + (word))) + (ident + (reg + (word))) + (int) + (ident + (reg + (word))) + (int)) + (meta + (meta_ident) + (ident + (reg + (word)))) + (meta + (meta_ident) + (op_expr + (ident + (reg + (word))) + (infix_operator) + (ident + (reg + (word))))) + (instruction + (word) + (string) + (ident + (reg + (word)))) + (meta + (meta_ident)) + (meta + (meta_ident)))