#include #if defined(__GNUC__) || defined(__clang__) #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wmissing-field-initializers" #endif #define LANGUAGE_VERSION 13 #define STATE_COUNT 72 #define LARGE_STATE_COUNT 2 #define SYMBOL_COUNT 51 #define ALIAS_COUNT 0 #define TOKEN_COUNT 33 #define EXTERNAL_TOKEN_COUNT 0 #define FIELD_COUNT 16 #define MAX_ALIAS_SEQUENCE_LENGTH 7 #define PRODUCTION_ID_COUNT 17 enum { sym_identifier = 1, sym_nil_literal = 2, sym_integer_literal = 3, anon_sym_DQUOTE = 4, aux_sym_string_literal_token1 = 5, sym_escape_sequence = 6, anon_sym_DOT = 7, anon_sym_LBRACK = 8, anon_sym_RBRACK = 9, anon_sym_LPAREN = 10, anon_sym_COMMA = 11, anon_sym_RPAREN = 12, anon_sym_DASH = 13, anon_sym_STAR = 14, anon_sym_SLASH = 15, anon_sym_PLUS = 16, anon_sym_GT_EQ = 17, anon_sym_LT_EQ = 18, anon_sym_EQ = 19, anon_sym_LT_GT = 20, anon_sym_LT = 21, anon_sym_GT = 22, anon_sym_AMP = 23, anon_sym_PIPE = 24, anon_sym_SEMI = 25, anon_sym_of = 26, anon_sym_LBRACE = 27, anon_sym_RBRACE = 28, anon_sym_COLON_EQ = 29, anon_sym_if = 30, anon_sym_then = 31, anon_sym_else = 32, sym_source_file = 33, sym__expr = 34, sym_string_literal = 35, sym__lvalue = 36, sym_record_value = 37, sym_array_value = 38, sym_function_call = 39, sym_unary_expression = 40, sym_binary_expression = 41, sym_sequence_expression = 42, sym_array_expression = 43, sym_record_expression = 44, sym_assignment_expression = 45, sym_if_expression = 46, aux_sym_string_literal_repeat1 = 47, aux_sym_function_call_repeat1 = 48, aux_sym_sequence_expression_repeat1 = 49, aux_sym_record_expression_repeat1 = 50, }; static const char * const ts_symbol_names[] = { [ts_builtin_sym_end] = "end", [sym_identifier] = "identifier", [sym_nil_literal] = "nil_literal", [sym_integer_literal] = "integer_literal", [anon_sym_DQUOTE] = "\"", [aux_sym_string_literal_token1] = "string_literal_token1", [sym_escape_sequence] = "escape_sequence", [anon_sym_DOT] = ".", [anon_sym_LBRACK] = "[", [anon_sym_RBRACK] = "]", [anon_sym_LPAREN] = "(", [anon_sym_COMMA] = ",", [anon_sym_RPAREN] = ")", [anon_sym_DASH] = "operator", [anon_sym_STAR] = "operator", [anon_sym_SLASH] = "operator", [anon_sym_PLUS] = "operator", [anon_sym_GT_EQ] = "operator", [anon_sym_LT_EQ] = "operator", [anon_sym_EQ] = "=", [anon_sym_LT_GT] = "operator", [anon_sym_LT] = "operator", [anon_sym_GT] = "operator", [anon_sym_AMP] = "operator", [anon_sym_PIPE] = "operator", [anon_sym_SEMI] = ";", [anon_sym_of] = "of", [anon_sym_LBRACE] = "{", [anon_sym_RBRACE] = "}", [anon_sym_COLON_EQ] = ":=", [anon_sym_if] = "if", [anon_sym_then] = "then", [anon_sym_else] = "else", [sym_source_file] = "source_file", [sym__expr] = "_expr", [sym_string_literal] = "string_literal", [sym__lvalue] = "_lvalue", [sym_record_value] = "record_value", [sym_array_value] = "array_value", [sym_function_call] = "function_call", [sym_unary_expression] = "unary_expression", [sym_binary_expression] = "binary_expression", [sym_sequence_expression] = "sequence_expression", [sym_array_expression] = "array_expression", [sym_record_expression] = "record_expression", [sym_assignment_expression] = "assignment_expression", [sym_if_expression] = "if_expression", [aux_sym_string_literal_repeat1] = "string_literal_repeat1", [aux_sym_function_call_repeat1] = "function_call_repeat1", [aux_sym_sequence_expression_repeat1] = "sequence_expression_repeat1", [aux_sym_record_expression_repeat1] = "record_expression_repeat1", }; static const TSSymbol ts_symbol_map[] = { [ts_builtin_sym_end] = ts_builtin_sym_end, [sym_identifier] = sym_identifier, [sym_nil_literal] = sym_nil_literal, [sym_integer_literal] = sym_integer_literal, [anon_sym_DQUOTE] = anon_sym_DQUOTE, [aux_sym_string_literal_token1] = aux_sym_string_literal_token1, [sym_escape_sequence] = sym_escape_sequence, [anon_sym_DOT] = anon_sym_DOT, [anon_sym_LBRACK] = anon_sym_LBRACK, [anon_sym_RBRACK] = anon_sym_RBRACK, [anon_sym_LPAREN] = anon_sym_LPAREN, [anon_sym_COMMA] = anon_sym_COMMA, [anon_sym_RPAREN] = anon_sym_RPAREN, [anon_sym_DASH] = anon_sym_DASH, [anon_sym_STAR] = anon_sym_DASH, [anon_sym_SLASH] = anon_sym_DASH, [anon_sym_PLUS] = anon_sym_DASH, [anon_sym_GT_EQ] = anon_sym_DASH, [anon_sym_LT_EQ] = anon_sym_DASH, [anon_sym_EQ] = anon_sym_EQ, [anon_sym_LT_GT] = anon_sym_DASH, [anon_sym_LT] = anon_sym_DASH, [anon_sym_GT] = anon_sym_DASH, [anon_sym_AMP] = anon_sym_DASH, [anon_sym_PIPE] = anon_sym_DASH, [anon_sym_SEMI] = anon_sym_SEMI, [anon_sym_of] = anon_sym_of, [anon_sym_LBRACE] = anon_sym_LBRACE, [anon_sym_RBRACE] = anon_sym_RBRACE, [anon_sym_COLON_EQ] = anon_sym_COLON_EQ, [anon_sym_if] = anon_sym_if, [anon_sym_then] = anon_sym_then, [anon_sym_else] = anon_sym_else, [sym_source_file] = sym_source_file, [sym__expr] = sym__expr, [sym_string_literal] = sym_string_literal, [sym__lvalue] = sym__lvalue, [sym_record_value] = sym_record_value, [sym_array_value] = sym_array_value, [sym_function_call] = sym_function_call, [sym_unary_expression] = sym_unary_expression, [sym_binary_expression] = sym_binary_expression, [sym_sequence_expression] = sym_sequence_expression, [sym_array_expression] = sym_array_expression, [sym_record_expression] = sym_record_expression, [sym_assignment_expression] = sym_assignment_expression, [sym_if_expression] = sym_if_expression, [aux_sym_string_literal_repeat1] = aux_sym_string_literal_repeat1, [aux_sym_function_call_repeat1] = aux_sym_function_call_repeat1, [aux_sym_sequence_expression_repeat1] = aux_sym_sequence_expression_repeat1, [aux_sym_record_expression_repeat1] = aux_sym_record_expression_repeat1, }; static const TSSymbolMetadata ts_symbol_metadata[] = { [ts_builtin_sym_end] = { .visible = false, .named = true, }, [sym_identifier] = { .visible = true, .named = true, }, [sym_nil_literal] = { .visible = true, .named = true, }, [sym_integer_literal] = { .visible = true, .named = true, }, [anon_sym_DQUOTE] = { .visible = true, .named = false, }, [aux_sym_string_literal_token1] = { .visible = false, .named = false, }, [sym_escape_sequence] = { .visible = true, .named = true, }, [anon_sym_DOT] = { .visible = true, .named = false, }, [anon_sym_LBRACK] = { .visible = true, .named = false, }, [anon_sym_RBRACK] = { .visible = true, .named = false, }, [anon_sym_LPAREN] = { .visible = true, .named = false, }, [anon_sym_COMMA] = { .visible = true, .named = false, }, [anon_sym_RPAREN] = { .visible = true, .named = false, }, [anon_sym_DASH] = { .visible = true, .named = true, }, [anon_sym_STAR] = { .visible = true, .named = true, }, [anon_sym_SLASH] = { .visible = true, .named = true, }, [anon_sym_PLUS] = { .visible = true, .named = true, }, [anon_sym_GT_EQ] = { .visible = true, .named = true, }, [anon_sym_LT_EQ] = { .visible = true, .named = true, }, [anon_sym_EQ] = { .visible = true, .named = false, }, [anon_sym_LT_GT] = { .visible = true, .named = true, }, [anon_sym_LT] = { .visible = true, .named = true, }, [anon_sym_GT] = { .visible = true, .named = true, }, [anon_sym_AMP] = { .visible = true, .named = true, }, [anon_sym_PIPE] = { .visible = true, .named = true, }, [anon_sym_SEMI] = { .visible = true, .named = false, }, [anon_sym_of] = { .visible = true, .named = false, }, [anon_sym_LBRACE] = { .visible = true, .named = false, }, [anon_sym_RBRACE] = { .visible = true, .named = false, }, [anon_sym_COLON_EQ] = { .visible = true, .named = false, }, [anon_sym_if] = { .visible = true, .named = false, }, [anon_sym_then] = { .visible = true, .named = false, }, [anon_sym_else] = { .visible = true, .named = false, }, [sym_source_file] = { .visible = true, .named = true, }, [sym__expr] = { .visible = false, .named = true, }, [sym_string_literal] = { .visible = true, .named = true, }, [sym__lvalue] = { .visible = false, .named = true, }, [sym_record_value] = { .visible = true, .named = true, }, [sym_array_value] = { .visible = true, .named = true, }, [sym_function_call] = { .visible = true, .named = true, }, [sym_unary_expression] = { .visible = true, .named = true, }, [sym_binary_expression] = { .visible = true, .named = true, }, [sym_sequence_expression] = { .visible = true, .named = true, }, [sym_array_expression] = { .visible = true, .named = true, }, [sym_record_expression] = { .visible = true, .named = true, }, [sym_assignment_expression] = { .visible = true, .named = true, }, [sym_if_expression] = { .visible = true, .named = true, }, [aux_sym_string_literal_repeat1] = { .visible = false, .named = false, }, [aux_sym_function_call_repeat1] = { .visible = false, .named = false, }, [aux_sym_sequence_expression_repeat1] = { .visible = false, .named = false, }, [aux_sym_record_expression_repeat1] = { .visible = false, .named = false, }, }; enum { field_alternative = 1, field_arguments = 2, field_array = 3, field_condition = 4, field_consequence = 5, field_expression = 6, field_field = 7, field_function = 8, field_index = 9, field_init = 10, field_left = 11, field_operator = 12, field_record = 13, field_right = 14, field_size = 15, field_type = 16, }; static const char * const ts_field_names[] = { [0] = NULL, [field_alternative] = "alternative", [field_arguments] = "arguments", [field_array] = "array", [field_condition] = "condition", [field_consequence] = "consequence", [field_expression] = "expression", [field_field] = "field", [field_function] = "function", [field_index] = "index", [field_init] = "init", [field_left] = "left", [field_operator] = "operator", [field_record] = "record", [field_right] = "right", [field_size] = "size", [field_type] = "type", }; static const TSFieldMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { [1] = {.index = 0, .length = 2}, [2] = {.index = 2, .length = 1}, [3] = {.index = 3, .length = 1}, [4] = {.index = 4, .length = 3}, [5] = {.index = 7, .length = 2}, [6] = {.index = 9, .length = 2}, [7] = {.index = 11, .length = 2}, [8] = {.index = 13, .length = 2}, [9] = {.index = 15, .length = 2}, [10] = {.index = 17, .length = 3}, [11] = {.index = 20, .length = 3}, [12] = {.index = 23, .length = 3}, [13] = {.index = 26, .length = 3}, [14] = {.index = 29, .length = 5}, [15] = {.index = 34, .length = 4}, [16] = {.index = 38, .length = 2}, }; static const TSFieldMapEntry ts_field_map_entries[] = { [0] = {field_expression, 1}, {field_operator, 0}, [2] = {field_function, 0}, [3] = {field_type, 0}, [4] = {field_left, 0}, {field_operator, 1}, {field_right, 2}, [7] = {field_field, 2}, {field_record, 0}, [9] = {field_left, 0}, {field_right, 2}, [11] = {field_arguments, 2}, {field_function, 0}, [13] = {field_condition, 1}, {field_consequence, 3}, [15] = {field_array, 0}, {field_index, 2}, [17] = {field_arguments, 2}, {field_arguments, 3}, {field_function, 0}, [20] = {field_init, 5}, {field_size, 2}, {field_type, 0}, [23] = {field_field, 2}, {field_init, 4}, {field_type, 0}, [26] = {field_alternative, 5}, {field_condition, 1}, {field_consequence, 3}, [29] = {field_field, 2}, {field_field, 5, .inherited = true}, {field_init, 4}, {field_init, 5, .inherited = true}, {field_type, 0}, [34] = {field_field, 0, .inherited = true}, {field_field, 1, .inherited = true}, {field_init, 0, .inherited = true}, {field_init, 1, .inherited = true}, [38] = {field_field, 1}, {field_init, 3}, }; static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE_LENGTH] = { [0] = {0}, [4] = { [1] = anon_sym_DASH, }, }; static const uint16_t ts_non_terminal_alias_map[] = { 0, }; static bool ts_lex(TSLexer *lexer, TSStateId state) { START_LEXER(); eof = lexer->eof(lexer); switch (state) { case 0: if (eof) ADVANCE(10); if (lookahead == '"') ADVANCE(12); if (lookahead == '&') ADVANCE(33); if (lookahead == '(') ADVANCE(20); if (lookahead == ')') ADVANCE(22); if (lookahead == '*') ADVANCE(24); if (lookahead == '+') ADVANCE(26); if (lookahead == ',') ADVANCE(21); if (lookahead == '-') ADVANCE(23); if (lookahead == '.') ADVANCE(17); if (lookahead == '/') ADVANCE(25); if (lookahead == ':') ADVANCE(2); if (lookahead == ';') ADVANCE(35); if (lookahead == '<') ADVANCE(31); if (lookahead == '=') ADVANCE(29); if (lookahead == '>') ADVANCE(32); if (lookahead == '[') ADVANCE(18); if (lookahead == '\\') ADVANCE(5); if (lookahead == ']') ADVANCE(19); if (lookahead == '{') ADVANCE(36); if (lookahead == '|') ADVANCE(34); if (lookahead == '}') ADVANCE(37); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(8) if (('0' <= lookahead && lookahead <= '9')) ADVANCE(11); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(15); END_STATE(); case 1: if (lookahead == '"') ADVANCE(12); if (lookahead == '\\') ADVANCE(5); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') ADVANCE(13); if (lookahead != 0) ADVANCE(14); END_STATE(); case 2: if (lookahead == '=') ADVANCE(38); END_STATE(); case 3: if (('0' <= lookahead && lookahead <= '7')) ADVANCE(16); END_STATE(); case 4: if (('0' <= lookahead && lookahead <= '7')) ADVANCE(3); END_STATE(); case 5: if (lookahead == '"' || lookahead == '\\' || lookahead == 'a' || lookahead == 'b' || lookahead == 'f' || lookahead == 'n' || lookahead == 'r' || lookahead == 't' || lookahead == 'v') ADVANCE(16); if (lookahead == 'x') ADVANCE(7); if (('0' <= lookahead && lookahead <= '3')) ADVANCE(4); END_STATE(); case 6: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(16); END_STATE(); case 7: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(6); END_STATE(); case 8: if (eof) ADVANCE(10); if (lookahead == '"') ADVANCE(12); if (lookahead == '&') ADVANCE(33); if (lookahead == '(') ADVANCE(20); if (lookahead == ')') ADVANCE(22); if (lookahead == '*') ADVANCE(24); if (lookahead == '+') ADVANCE(26); if (lookahead == ',') ADVANCE(21); if (lookahead == '-') ADVANCE(23); if (lookahead == '.') ADVANCE(17); if (lookahead == '/') ADVANCE(25); if (lookahead == ':') ADVANCE(2); if (lookahead == ';') ADVANCE(35); if (lookahead == '<') ADVANCE(31); if (lookahead == '=') ADVANCE(29); if (lookahead == '>') ADVANCE(32); if (lookahead == '[') ADVANCE(18); if (lookahead == ']') ADVANCE(19); if (lookahead == '{') ADVANCE(36); if (lookahead == '|') ADVANCE(34); if (lookahead == '}') ADVANCE(37); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(8) if (('0' <= lookahead && lookahead <= '9')) ADVANCE(11); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(15); END_STATE(); case 9: if (eof) ADVANCE(10); if (lookahead == '&') ADVANCE(33); if (lookahead == '(') ADVANCE(20); if (lookahead == ')') ADVANCE(22); if (lookahead == '*') ADVANCE(24); if (lookahead == '+') ADVANCE(26); if (lookahead == ',') ADVANCE(21); if (lookahead == '-') ADVANCE(23); if (lookahead == '.') ADVANCE(17); if (lookahead == '/') ADVANCE(25); if (lookahead == ':') ADVANCE(2); if (lookahead == ';') ADVANCE(35); if (lookahead == '<') ADVANCE(31); if (lookahead == '=') ADVANCE(29); if (lookahead == '>') ADVANCE(32); if (lookahead == '[') ADVANCE(18); if (lookahead == ']') ADVANCE(19); if (lookahead == '{') ADVANCE(36); if (lookahead == '|') ADVANCE(34); if (lookahead == '}') ADVANCE(37); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(9) if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(15); END_STATE(); case 10: ACCEPT_TOKEN(ts_builtin_sym_end); END_STATE(); case 11: ACCEPT_TOKEN(sym_integer_literal); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(11); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(15); END_STATE(); case 12: ACCEPT_TOKEN(anon_sym_DQUOTE); END_STATE(); case 13: ACCEPT_TOKEN(aux_sym_string_literal_token1); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') ADVANCE(13); if (lookahead != 0 && lookahead != '"' && lookahead != '\\') ADVANCE(14); END_STATE(); case 14: ACCEPT_TOKEN(aux_sym_string_literal_token1); if (lookahead != 0 && lookahead != '"' && lookahead != '\\') ADVANCE(14); END_STATE(); case 15: ACCEPT_TOKEN(sym_identifier); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(15); END_STATE(); case 16: ACCEPT_TOKEN(sym_escape_sequence); END_STATE(); case 17: ACCEPT_TOKEN(anon_sym_DOT); END_STATE(); case 18: ACCEPT_TOKEN(anon_sym_LBRACK); END_STATE(); case 19: ACCEPT_TOKEN(anon_sym_RBRACK); END_STATE(); case 20: ACCEPT_TOKEN(anon_sym_LPAREN); END_STATE(); case 21: ACCEPT_TOKEN(anon_sym_COMMA); END_STATE(); case 22: ACCEPT_TOKEN(anon_sym_RPAREN); END_STATE(); case 23: ACCEPT_TOKEN(anon_sym_DASH); END_STATE(); case 24: ACCEPT_TOKEN(anon_sym_STAR); END_STATE(); case 25: ACCEPT_TOKEN(anon_sym_SLASH); END_STATE(); case 26: ACCEPT_TOKEN(anon_sym_PLUS); END_STATE(); case 27: ACCEPT_TOKEN(anon_sym_GT_EQ); END_STATE(); case 28: ACCEPT_TOKEN(anon_sym_LT_EQ); END_STATE(); case 29: ACCEPT_TOKEN(anon_sym_EQ); END_STATE(); case 30: ACCEPT_TOKEN(anon_sym_LT_GT); END_STATE(); case 31: ACCEPT_TOKEN(anon_sym_LT); if (lookahead == '=') ADVANCE(28); if (lookahead == '>') ADVANCE(30); END_STATE(); case 32: ACCEPT_TOKEN(anon_sym_GT); if (lookahead == '=') ADVANCE(27); END_STATE(); case 33: ACCEPT_TOKEN(anon_sym_AMP); END_STATE(); case 34: ACCEPT_TOKEN(anon_sym_PIPE); END_STATE(); case 35: ACCEPT_TOKEN(anon_sym_SEMI); END_STATE(); case 36: ACCEPT_TOKEN(anon_sym_LBRACE); END_STATE(); case 37: ACCEPT_TOKEN(anon_sym_RBRACE); END_STATE(); case 38: ACCEPT_TOKEN(anon_sym_COLON_EQ); END_STATE(); default: return false; } } static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) { START_LEXER(); eof = lexer->eof(lexer); switch (state) { case 0: if (lookahead == 'e') ADVANCE(1); if (lookahead == 'i') ADVANCE(2); if (lookahead == 'n') ADVANCE(3); if (lookahead == 'o') ADVANCE(4); if (lookahead == 't') ADVANCE(5); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(0) END_STATE(); case 1: if (lookahead == 'l') ADVANCE(6); END_STATE(); case 2: if (lookahead == 'f') ADVANCE(7); END_STATE(); case 3: if (lookahead == 'i') ADVANCE(8); END_STATE(); case 4: if (lookahead == 'f') ADVANCE(9); END_STATE(); case 5: if (lookahead == 'h') ADVANCE(10); END_STATE(); case 6: if (lookahead == 's') ADVANCE(11); END_STATE(); case 7: ACCEPT_TOKEN(anon_sym_if); END_STATE(); case 8: if (lookahead == 'l') ADVANCE(12); END_STATE(); case 9: ACCEPT_TOKEN(anon_sym_of); END_STATE(); case 10: if (lookahead == 'e') ADVANCE(13); END_STATE(); case 11: if (lookahead == 'e') ADVANCE(14); END_STATE(); case 12: ACCEPT_TOKEN(sym_nil_literal); END_STATE(); case 13: if (lookahead == 'n') ADVANCE(15); END_STATE(); case 14: ACCEPT_TOKEN(anon_sym_else); END_STATE(); case 15: ACCEPT_TOKEN(anon_sym_then); END_STATE(); default: return false; } } static const TSLexMode ts_lex_modes[STATE_COUNT] = { [0] = {.lex_state = 0}, [1] = {.lex_state = 0}, [2] = {.lex_state = 9}, [3] = {.lex_state = 9}, [4] = {.lex_state = 9}, [5] = {.lex_state = 9}, [6] = {.lex_state = 0}, [7] = {.lex_state = 0}, [8] = {.lex_state = 0}, [9] = {.lex_state = 0}, [10] = {.lex_state = 0}, [11] = {.lex_state = 9}, [12] = {.lex_state = 9}, [13] = {.lex_state = 0}, [14] = {.lex_state = 9}, [15] = {.lex_state = 9}, [16] = {.lex_state = 9}, [17] = {.lex_state = 9}, [18] = {.lex_state = 9}, [19] = {.lex_state = 0}, [20] = {.lex_state = 0}, [21] = {.lex_state = 0}, [22] = {.lex_state = 0}, [23] = {.lex_state = 0}, [24] = {.lex_state = 9}, [25] = {.lex_state = 0}, [26] = {.lex_state = 0}, [27] = {.lex_state = 9}, [28] = {.lex_state = 9}, [29] = {.lex_state = 0}, [30] = {.lex_state = 9}, [31] = {.lex_state = 9}, [32] = {.lex_state = 0}, [33] = {.lex_state = 9}, [34] = {.lex_state = 9}, [35] = {.lex_state = 0}, [36] = {.lex_state = 9}, [37] = {.lex_state = 9}, [38] = {.lex_state = 0}, [39] = {.lex_state = 9}, [40] = {.lex_state = 9}, [41] = {.lex_state = 9}, [42] = {.lex_state = 9}, [43] = {.lex_state = 0}, [44] = {.lex_state = 0}, [45] = {.lex_state = 9}, [46] = {.lex_state = 0}, [47] = {.lex_state = 0}, [48] = {.lex_state = 0}, [49] = {.lex_state = 0}, [50] = {.lex_state = 0}, [51] = {.lex_state = 0}, [52] = {.lex_state = 0}, [53] = {.lex_state = 0}, [54] = {.lex_state = 9}, [55] = {.lex_state = 0}, [56] = {.lex_state = 1}, [57] = {.lex_state = 1}, [58] = {.lex_state = 1}, [59] = {.lex_state = 0}, [60] = {.lex_state = 0}, [61] = {.lex_state = 0}, [62] = {.lex_state = 0}, [63] = {.lex_state = 0}, [64] = {.lex_state = 0}, [65] = {.lex_state = 9}, [66] = {.lex_state = 0}, [67] = {.lex_state = 9}, [68] = {.lex_state = 0}, [69] = {.lex_state = 9}, [70] = {.lex_state = 9}, [71] = {.lex_state = 0}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [0] = { [ts_builtin_sym_end] = ACTIONS(1), [sym_identifier] = ACTIONS(1), [sym_nil_literal] = ACTIONS(1), [sym_integer_literal] = ACTIONS(1), [anon_sym_DQUOTE] = ACTIONS(1), [sym_escape_sequence] = ACTIONS(1), [anon_sym_DOT] = ACTIONS(1), [anon_sym_LBRACK] = ACTIONS(1), [anon_sym_RBRACK] = ACTIONS(1), [anon_sym_LPAREN] = ACTIONS(1), [anon_sym_COMMA] = ACTIONS(1), [anon_sym_RPAREN] = ACTIONS(1), [anon_sym_DASH] = ACTIONS(1), [anon_sym_STAR] = ACTIONS(1), [anon_sym_SLASH] = ACTIONS(1), [anon_sym_PLUS] = ACTIONS(1), [anon_sym_GT_EQ] = ACTIONS(1), [anon_sym_LT_EQ] = ACTIONS(1), [anon_sym_EQ] = ACTIONS(1), [anon_sym_LT_GT] = ACTIONS(1), [anon_sym_LT] = ACTIONS(1), [anon_sym_GT] = ACTIONS(1), [anon_sym_AMP] = ACTIONS(1), [anon_sym_PIPE] = ACTIONS(1), [anon_sym_SEMI] = ACTIONS(1), [anon_sym_of] = ACTIONS(1), [anon_sym_LBRACE] = ACTIONS(1), [anon_sym_RBRACE] = ACTIONS(1), [anon_sym_COLON_EQ] = ACTIONS(1), [anon_sym_if] = ACTIONS(1), [anon_sym_then] = ACTIONS(1), [anon_sym_else] = ACTIONS(1), }, [1] = { [sym_source_file] = STATE(68), [sym__expr] = STATE(53), [sym_string_literal] = STATE(53), [sym__lvalue] = STATE(5), [sym_record_value] = STATE(5), [sym_array_value] = STATE(5), [sym_function_call] = STATE(53), [sym_unary_expression] = STATE(53), [sym_binary_expression] = STATE(53), [sym_sequence_expression] = STATE(53), [sym_array_expression] = STATE(53), [sym_record_expression] = STATE(53), [sym_assignment_expression] = STATE(53), [sym_if_expression] = STATE(53), [sym_identifier] = ACTIONS(3), [sym_nil_literal] = ACTIONS(5), [sym_integer_literal] = ACTIONS(5), [anon_sym_DQUOTE] = ACTIONS(7), [anon_sym_LPAREN] = ACTIONS(9), [anon_sym_DASH] = ACTIONS(11), [anon_sym_if] = ACTIONS(13), }, }; static const uint16_t ts_small_parse_table[] = { [0] = 5, ACTIONS(17), 1, anon_sym_LBRACK, ACTIONS(20), 1, anon_sym_LPAREN, ACTIONS(24), 1, anon_sym_LBRACE, ACTIONS(22), 2, anon_sym_LT, anon_sym_GT, ACTIONS(15), 20, ts_builtin_sym_end, anon_sym_DOT, anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_PLUS, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, anon_sym_AMP, anon_sym_PIPE, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COLON_EQ, anon_sym_then, anon_sym_else, [36] = 2, ACTIONS(28), 2, anon_sym_LT, anon_sym_GT, ACTIONS(26), 21, ts_builtin_sym_end, anon_sym_DOT, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_PLUS, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, anon_sym_AMP, anon_sym_PIPE, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COLON_EQ, anon_sym_then, anon_sym_else, [64] = 2, ACTIONS(32), 2, anon_sym_LT, anon_sym_GT, ACTIONS(30), 21, ts_builtin_sym_end, anon_sym_DOT, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_PLUS, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, anon_sym_AMP, anon_sym_PIPE, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COLON_EQ, anon_sym_then, anon_sym_else, [92] = 5, ACTIONS(36), 1, anon_sym_DOT, ACTIONS(38), 1, anon_sym_LBRACK, ACTIONS(42), 1, anon_sym_COLON_EQ, ACTIONS(40), 2, anon_sym_LT, anon_sym_GT, ACTIONS(34), 18, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_PLUS, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, anon_sym_AMP, anon_sym_PIPE, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_then, anon_sym_else, [126] = 9, ACTIONS(3), 1, sym_identifier, ACTIONS(7), 1, anon_sym_DQUOTE, ACTIONS(9), 1, anon_sym_LPAREN, ACTIONS(11), 1, anon_sym_DASH, ACTIONS(13), 1, anon_sym_if, ACTIONS(46), 1, anon_sym_RPAREN, ACTIONS(44), 2, sym_nil_literal, sym_integer_literal, STATE(5), 3, sym__lvalue, sym_record_value, sym_array_value, STATE(47), 10, sym__expr, sym_string_literal, sym_function_call, sym_unary_expression, sym_binary_expression, sym_sequence_expression, sym_array_expression, sym_record_expression, sym_assignment_expression, sym_if_expression, [166] = 9, ACTIONS(3), 1, sym_identifier, ACTIONS(7), 1, anon_sym_DQUOTE, ACTIONS(9), 1, anon_sym_LPAREN, ACTIONS(11), 1, anon_sym_DASH, ACTIONS(13), 1, anon_sym_if, ACTIONS(50), 1, anon_sym_RPAREN, ACTIONS(48), 2, sym_nil_literal, sym_integer_literal, STATE(5), 3, sym__lvalue, sym_record_value, sym_array_value, STATE(46), 10, sym__expr, sym_string_literal, sym_function_call, sym_unary_expression, sym_binary_expression, sym_sequence_expression, sym_array_expression, sym_record_expression, sym_assignment_expression, sym_if_expression, [206] = 8, ACTIONS(3), 1, sym_identifier, ACTIONS(7), 1, anon_sym_DQUOTE, ACTIONS(9), 1, anon_sym_LPAREN, ACTIONS(11), 1, anon_sym_DASH, ACTIONS(13), 1, anon_sym_if, ACTIONS(52), 2, sym_nil_literal, sym_integer_literal, STATE(5), 3, sym__lvalue, sym_record_value, sym_array_value, STATE(36), 10, sym__expr, sym_string_literal, sym_function_call, sym_unary_expression, sym_binary_expression, sym_sequence_expression, sym_array_expression, sym_record_expression, sym_assignment_expression, sym_if_expression, [243] = 8, ACTIONS(3), 1, sym_identifier, ACTIONS(7), 1, anon_sym_DQUOTE, ACTIONS(9), 1, anon_sym_LPAREN, ACTIONS(11), 1, anon_sym_DASH, ACTIONS(13), 1, anon_sym_if, ACTIONS(54), 2, sym_nil_literal, sym_integer_literal, STATE(5), 3, sym__lvalue, sym_record_value, sym_array_value, STATE(17), 10, sym__expr, sym_string_literal, sym_function_call, sym_unary_expression, sym_binary_expression, sym_sequence_expression, sym_array_expression, sym_record_expression, sym_assignment_expression, sym_if_expression, [280] = 8, ACTIONS(3), 1, sym_identifier, ACTIONS(7), 1, anon_sym_DQUOTE, ACTIONS(9), 1, anon_sym_LPAREN, ACTIONS(11), 1, anon_sym_DASH, ACTIONS(13), 1, anon_sym_if, ACTIONS(56), 2, sym_nil_literal, sym_integer_literal, STATE(5), 3, sym__lvalue, sym_record_value, sym_array_value, STATE(49), 10, sym__expr, sym_string_literal, sym_function_call, sym_unary_expression, sym_binary_expression, sym_sequence_expression, sym_array_expression, sym_record_expression, sym_assignment_expression, sym_if_expression, [317] = 2, ACTIONS(60), 2, anon_sym_LT, anon_sym_GT, ACTIONS(58), 18, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_PLUS, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, anon_sym_AMP, anon_sym_PIPE, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_then, anon_sym_else, [342] = 2, ACTIONS(64), 2, anon_sym_LT, anon_sym_GT, ACTIONS(62), 18, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_PLUS, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, anon_sym_AMP, anon_sym_PIPE, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_then, anon_sym_else, [367] = 8, ACTIONS(3), 1, sym_identifier, ACTIONS(7), 1, anon_sym_DQUOTE, ACTIONS(9), 1, anon_sym_LPAREN, ACTIONS(11), 1, anon_sym_DASH, ACTIONS(13), 1, anon_sym_if, ACTIONS(66), 2, sym_nil_literal, sym_integer_literal, STATE(5), 3, sym__lvalue, sym_record_value, sym_array_value, STATE(55), 10, sym__expr, sym_string_literal, sym_function_call, sym_unary_expression, sym_binary_expression, sym_sequence_expression, sym_array_expression, sym_record_expression, sym_assignment_expression, sym_if_expression, [404] = 4, ACTIONS(70), 2, anon_sym_DASH, anon_sym_PLUS, ACTIONS(72), 2, anon_sym_STAR, anon_sym_SLASH, ACTIONS(74), 2, anon_sym_LT, anon_sym_GT, ACTIONS(68), 14, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, anon_sym_AMP, anon_sym_PIPE, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_then, anon_sym_else, [433] = 2, ACTIONS(78), 2, anon_sym_LT, anon_sym_GT, ACTIONS(76), 18, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_PLUS, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, anon_sym_AMP, anon_sym_PIPE, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_then, anon_sym_else, [458] = 3, ACTIONS(72), 2, anon_sym_STAR, anon_sym_SLASH, ACTIONS(74), 2, anon_sym_LT, anon_sym_GT, ACTIONS(68), 16, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_DASH, anon_sym_PLUS, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, anon_sym_AMP, anon_sym_PIPE, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_then, anon_sym_else, [485] = 7, ACTIONS(86), 1, anon_sym_AMP, ACTIONS(88), 1, anon_sym_PIPE, ACTIONS(70), 2, anon_sym_DASH, anon_sym_PLUS, ACTIONS(72), 2, anon_sym_STAR, anon_sym_SLASH, ACTIONS(84), 2, anon_sym_LT, anon_sym_GT, ACTIONS(82), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, ACTIONS(80), 8, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_then, anon_sym_else, [520] = 7, ACTIONS(86), 1, anon_sym_AMP, ACTIONS(88), 1, anon_sym_PIPE, ACTIONS(70), 2, anon_sym_DASH, anon_sym_PLUS, ACTIONS(72), 2, anon_sym_STAR, anon_sym_SLASH, ACTIONS(84), 2, anon_sym_LT, anon_sym_GT, ACTIONS(82), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, ACTIONS(90), 8, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_then, anon_sym_else, [555] = 8, ACTIONS(3), 1, sym_identifier, ACTIONS(7), 1, anon_sym_DQUOTE, ACTIONS(9), 1, anon_sym_LPAREN, ACTIONS(11), 1, anon_sym_DASH, ACTIONS(13), 1, anon_sym_if, ACTIONS(92), 2, sym_nil_literal, sym_integer_literal, STATE(5), 3, sym__lvalue, sym_record_value, sym_array_value, STATE(16), 10, sym__expr, sym_string_literal, sym_function_call, sym_unary_expression, sym_binary_expression, sym_sequence_expression, sym_array_expression, sym_record_expression, sym_assignment_expression, sym_if_expression, [592] = 8, ACTIONS(3), 1, sym_identifier, ACTIONS(7), 1, anon_sym_DQUOTE, ACTIONS(9), 1, anon_sym_LPAREN, ACTIONS(11), 1, anon_sym_DASH, ACTIONS(13), 1, anon_sym_if, ACTIONS(94), 2, sym_nil_literal, sym_integer_literal, STATE(5), 3, sym__lvalue, sym_record_value, sym_array_value, STATE(34), 10, sym__expr, sym_string_literal, sym_function_call, sym_unary_expression, sym_binary_expression, sym_sequence_expression, sym_array_expression, sym_record_expression, sym_assignment_expression, sym_if_expression, [629] = 8, ACTIONS(3), 1, sym_identifier, ACTIONS(7), 1, anon_sym_DQUOTE, ACTIONS(9), 1, anon_sym_LPAREN, ACTIONS(11), 1, anon_sym_DASH, ACTIONS(13), 1, anon_sym_if, ACTIONS(96), 2, sym_nil_literal, sym_integer_literal, STATE(5), 3, sym__lvalue, sym_record_value, sym_array_value, STATE(14), 10, sym__expr, sym_string_literal, sym_function_call, sym_unary_expression, sym_binary_expression, sym_sequence_expression, sym_array_expression, sym_record_expression, sym_assignment_expression, sym_if_expression, [666] = 8, ACTIONS(3), 1, sym_identifier, ACTIONS(7), 1, anon_sym_DQUOTE, ACTIONS(9), 1, anon_sym_LPAREN, ACTIONS(11), 1, anon_sym_DASH, ACTIONS(13), 1, anon_sym_if, ACTIONS(98), 2, sym_nil_literal, sym_integer_literal, STATE(5), 3, sym__lvalue, sym_record_value, sym_array_value, STATE(41), 10, sym__expr, sym_string_literal, sym_function_call, sym_unary_expression, sym_binary_expression, sym_sequence_expression, sym_array_expression, sym_record_expression, sym_assignment_expression, sym_if_expression, [703] = 8, ACTIONS(3), 1, sym_identifier, ACTIONS(7), 1, anon_sym_DQUOTE, ACTIONS(9), 1, anon_sym_LPAREN, ACTIONS(11), 1, anon_sym_DASH, ACTIONS(13), 1, anon_sym_if, ACTIONS(100), 2, sym_nil_literal, sym_integer_literal, STATE(5), 3, sym__lvalue, sym_record_value, sym_array_value, STATE(42), 10, sym__expr, sym_string_literal, sym_function_call, sym_unary_expression, sym_binary_expression, sym_sequence_expression, sym_array_expression, sym_record_expression, sym_assignment_expression, sym_if_expression, [740] = 2, ACTIONS(104), 2, anon_sym_LT, anon_sym_GT, ACTIONS(102), 18, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_PLUS, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, anon_sym_AMP, anon_sym_PIPE, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_then, anon_sym_else, [765] = 8, ACTIONS(3), 1, sym_identifier, ACTIONS(7), 1, anon_sym_DQUOTE, ACTIONS(9), 1, anon_sym_LPAREN, ACTIONS(11), 1, anon_sym_DASH, ACTIONS(13), 1, anon_sym_if, ACTIONS(106), 2, sym_nil_literal, sym_integer_literal, STATE(5), 3, sym__lvalue, sym_record_value, sym_array_value, STATE(52), 10, sym__expr, sym_string_literal, sym_function_call, sym_unary_expression, sym_binary_expression, sym_sequence_expression, sym_array_expression, sym_record_expression, sym_assignment_expression, sym_if_expression, [802] = 8, ACTIONS(3), 1, sym_identifier, ACTIONS(7), 1, anon_sym_DQUOTE, ACTIONS(9), 1, anon_sym_LPAREN, ACTIONS(11), 1, anon_sym_DASH, ACTIONS(13), 1, anon_sym_if, ACTIONS(108), 2, sym_nil_literal, sym_integer_literal, STATE(5), 3, sym__lvalue, sym_record_value, sym_array_value, STATE(45), 10, sym__expr, sym_string_literal, sym_function_call, sym_unary_expression, sym_binary_expression, sym_sequence_expression, sym_array_expression, sym_record_expression, sym_assignment_expression, sym_if_expression, [839] = 2, ACTIONS(112), 2, anon_sym_LT, anon_sym_GT, ACTIONS(110), 18, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_PLUS, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, anon_sym_AMP, anon_sym_PIPE, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_then, anon_sym_else, [864] = 7, ACTIONS(86), 1, anon_sym_AMP, ACTIONS(88), 1, anon_sym_PIPE, ACTIONS(70), 2, anon_sym_DASH, anon_sym_PLUS, ACTIONS(72), 2, anon_sym_STAR, anon_sym_SLASH, ACTIONS(84), 2, anon_sym_LT, anon_sym_GT, ACTIONS(82), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, ACTIONS(114), 8, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_then, anon_sym_else, [899] = 8, ACTIONS(3), 1, sym_identifier, ACTIONS(7), 1, anon_sym_DQUOTE, ACTIONS(9), 1, anon_sym_LPAREN, ACTIONS(11), 1, anon_sym_DASH, ACTIONS(13), 1, anon_sym_if, ACTIONS(116), 2, sym_nil_literal, sym_integer_literal, STATE(5), 3, sym__lvalue, sym_record_value, sym_array_value, STATE(18), 10, sym__expr, sym_string_literal, sym_function_call, sym_unary_expression, sym_binary_expression, sym_sequence_expression, sym_array_expression, sym_record_expression, sym_assignment_expression, sym_if_expression, [936] = 2, ACTIONS(120), 2, anon_sym_LT, anon_sym_GT, ACTIONS(118), 18, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_PLUS, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, anon_sym_AMP, anon_sym_PIPE, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_then, anon_sym_else, [961] = 2, ACTIONS(124), 2, anon_sym_LT, anon_sym_GT, ACTIONS(122), 18, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_PLUS, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, anon_sym_AMP, anon_sym_PIPE, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_then, anon_sym_else, [986] = 8, ACTIONS(3), 1, sym_identifier, ACTIONS(7), 1, anon_sym_DQUOTE, ACTIONS(9), 1, anon_sym_LPAREN, ACTIONS(11), 1, anon_sym_DASH, ACTIONS(13), 1, anon_sym_if, ACTIONS(126), 2, sym_nil_literal, sym_integer_literal, STATE(5), 3, sym__lvalue, sym_record_value, sym_array_value, STATE(28), 10, sym__expr, sym_string_literal, sym_function_call, sym_unary_expression, sym_binary_expression, sym_sequence_expression, sym_array_expression, sym_record_expression, sym_assignment_expression, sym_if_expression, [1023] = 2, ACTIONS(130), 2, anon_sym_LT, anon_sym_GT, ACTIONS(128), 18, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_PLUS, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, anon_sym_AMP, anon_sym_PIPE, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_then, anon_sym_else, [1048] = 2, ACTIONS(74), 2, anon_sym_LT, anon_sym_GT, ACTIONS(68), 18, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_PLUS, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, anon_sym_AMP, anon_sym_PIPE, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_then, anon_sym_else, [1073] = 8, ACTIONS(3), 1, sym_identifier, ACTIONS(7), 1, anon_sym_DQUOTE, ACTIONS(9), 1, anon_sym_LPAREN, ACTIONS(11), 1, anon_sym_DASH, ACTIONS(13), 1, anon_sym_if, ACTIONS(132), 2, sym_nil_literal, sym_integer_literal, STATE(5), 3, sym__lvalue, sym_record_value, sym_array_value, STATE(51), 10, sym__expr, sym_string_literal, sym_function_call, sym_unary_expression, sym_binary_expression, sym_sequence_expression, sym_array_expression, sym_record_expression, sym_assignment_expression, sym_if_expression, [1110] = 8, ACTIONS(86), 1, anon_sym_AMP, ACTIONS(88), 1, anon_sym_PIPE, ACTIONS(136), 1, anon_sym_else, ACTIONS(70), 2, anon_sym_DASH, anon_sym_PLUS, ACTIONS(72), 2, anon_sym_STAR, anon_sym_SLASH, ACTIONS(84), 2, anon_sym_LT, anon_sym_GT, ACTIONS(82), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, ACTIONS(134), 7, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_then, [1147] = 2, ACTIONS(140), 2, anon_sym_LT, anon_sym_GT, ACTIONS(138), 18, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_PLUS, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, anon_sym_AMP, anon_sym_PIPE, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_then, anon_sym_else, [1172] = 8, ACTIONS(3), 1, sym_identifier, ACTIONS(7), 1, anon_sym_DQUOTE, ACTIONS(9), 1, anon_sym_LPAREN, ACTIONS(11), 1, anon_sym_DASH, ACTIONS(13), 1, anon_sym_if, ACTIONS(142), 2, sym_nil_literal, sym_integer_literal, STATE(5), 3, sym__lvalue, sym_record_value, sym_array_value, STATE(48), 10, sym__expr, sym_string_literal, sym_function_call, sym_unary_expression, sym_binary_expression, sym_sequence_expression, sym_array_expression, sym_record_expression, sym_assignment_expression, sym_if_expression, [1209] = 2, ACTIONS(146), 2, anon_sym_LT, anon_sym_GT, ACTIONS(144), 18, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_PLUS, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, anon_sym_AMP, anon_sym_PIPE, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_then, anon_sym_else, [1234] = 2, ACTIONS(150), 2, anon_sym_LT, anon_sym_GT, ACTIONS(148), 18, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_PLUS, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, anon_sym_AMP, anon_sym_PIPE, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_then, anon_sym_else, [1259] = 5, ACTIONS(70), 2, anon_sym_DASH, anon_sym_PLUS, ACTIONS(72), 2, anon_sym_STAR, anon_sym_SLASH, ACTIONS(84), 2, anon_sym_LT, anon_sym_GT, ACTIONS(82), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, ACTIONS(68), 10, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_AMP, anon_sym_PIPE, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_then, anon_sym_else, [1290] = 6, ACTIONS(86), 1, anon_sym_AMP, ACTIONS(70), 2, anon_sym_DASH, anon_sym_PLUS, ACTIONS(72), 2, anon_sym_STAR, anon_sym_SLASH, ACTIONS(84), 2, anon_sym_LT, anon_sym_GT, ACTIONS(82), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, ACTIONS(68), 9, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_then, anon_sym_else, [1323] = 8, ACTIONS(3), 1, sym_identifier, ACTIONS(7), 1, anon_sym_DQUOTE, ACTIONS(9), 1, anon_sym_LPAREN, ACTIONS(11), 1, anon_sym_DASH, ACTIONS(13), 1, anon_sym_if, ACTIONS(152), 2, sym_nil_literal, sym_integer_literal, STATE(5), 3, sym__lvalue, sym_record_value, sym_array_value, STATE(54), 10, sym__expr, sym_string_literal, sym_function_call, sym_unary_expression, sym_binary_expression, sym_sequence_expression, sym_array_expression, sym_record_expression, sym_assignment_expression, sym_if_expression, [1360] = 8, ACTIONS(3), 1, sym_identifier, ACTIONS(7), 1, anon_sym_DQUOTE, ACTIONS(9), 1, anon_sym_LPAREN, ACTIONS(11), 1, anon_sym_DASH, ACTIONS(13), 1, anon_sym_if, ACTIONS(154), 2, sym_nil_literal, sym_integer_literal, STATE(5), 3, sym__lvalue, sym_record_value, sym_array_value, STATE(50), 10, sym__expr, sym_string_literal, sym_function_call, sym_unary_expression, sym_binary_expression, sym_sequence_expression, sym_array_expression, sym_record_expression, sym_assignment_expression, sym_if_expression, [1397] = 2, ACTIONS(158), 2, anon_sym_LT, anon_sym_GT, ACTIONS(156), 18, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_PLUS, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, anon_sym_AMP, anon_sym_PIPE, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_then, anon_sym_else, [1422] = 9, ACTIONS(86), 1, anon_sym_AMP, ACTIONS(88), 1, anon_sym_PIPE, ACTIONS(160), 1, anon_sym_RPAREN, ACTIONS(162), 1, anon_sym_SEMI, STATE(61), 1, aux_sym_sequence_expression_repeat1, ACTIONS(70), 2, anon_sym_DASH, anon_sym_PLUS, ACTIONS(72), 2, anon_sym_STAR, anon_sym_SLASH, ACTIONS(84), 2, anon_sym_LT, anon_sym_GT, ACTIONS(82), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, [1456] = 9, ACTIONS(86), 1, anon_sym_AMP, ACTIONS(88), 1, anon_sym_PIPE, ACTIONS(164), 1, anon_sym_COMMA, ACTIONS(166), 1, anon_sym_RPAREN, STATE(64), 1, aux_sym_function_call_repeat1, ACTIONS(70), 2, anon_sym_DASH, anon_sym_PLUS, ACTIONS(72), 2, anon_sym_STAR, anon_sym_SLASH, ACTIONS(84), 2, anon_sym_LT, anon_sym_GT, ACTIONS(82), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, [1490] = 9, ACTIONS(86), 1, anon_sym_AMP, ACTIONS(88), 1, anon_sym_PIPE, ACTIONS(168), 1, anon_sym_COMMA, ACTIONS(170), 1, anon_sym_RBRACE, STATE(60), 1, aux_sym_record_expression_repeat1, ACTIONS(70), 2, anon_sym_DASH, anon_sym_PLUS, ACTIONS(72), 2, anon_sym_STAR, anon_sym_SLASH, ACTIONS(84), 2, anon_sym_LT, anon_sym_GT, ACTIONS(82), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, [1524] = 7, ACTIONS(86), 1, anon_sym_AMP, ACTIONS(88), 1, anon_sym_PIPE, ACTIONS(70), 2, anon_sym_DASH, anon_sym_PLUS, ACTIONS(72), 2, anon_sym_STAR, anon_sym_SLASH, ACTIONS(84), 2, anon_sym_LT, anon_sym_GT, ACTIONS(172), 2, anon_sym_COMMA, anon_sym_RBRACE, ACTIONS(82), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, [1553] = 7, ACTIONS(86), 1, anon_sym_AMP, ACTIONS(88), 1, anon_sym_PIPE, ACTIONS(70), 2, anon_sym_DASH, anon_sym_PLUS, ACTIONS(72), 2, anon_sym_STAR, anon_sym_SLASH, ACTIONS(84), 2, anon_sym_LT, anon_sym_GT, ACTIONS(174), 2, anon_sym_COMMA, anon_sym_RPAREN, ACTIONS(82), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, [1582] = 7, ACTIONS(86), 1, anon_sym_AMP, ACTIONS(88), 1, anon_sym_PIPE, ACTIONS(70), 2, anon_sym_DASH, anon_sym_PLUS, ACTIONS(72), 2, anon_sym_STAR, anon_sym_SLASH, ACTIONS(84), 2, anon_sym_LT, anon_sym_GT, ACTIONS(176), 2, anon_sym_RPAREN, anon_sym_SEMI, ACTIONS(82), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, [1611] = 7, ACTIONS(86), 1, anon_sym_AMP, ACTIONS(88), 1, anon_sym_PIPE, ACTIONS(178), 1, anon_sym_RBRACK, ACTIONS(70), 2, anon_sym_DASH, anon_sym_PLUS, ACTIONS(72), 2, anon_sym_STAR, anon_sym_SLASH, ACTIONS(84), 2, anon_sym_LT, anon_sym_GT, ACTIONS(82), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, [1639] = 7, ACTIONS(86), 1, anon_sym_AMP, ACTIONS(88), 1, anon_sym_PIPE, ACTIONS(180), 1, ts_builtin_sym_end, ACTIONS(70), 2, anon_sym_DASH, anon_sym_PLUS, ACTIONS(72), 2, anon_sym_STAR, anon_sym_SLASH, ACTIONS(84), 2, anon_sym_LT, anon_sym_GT, ACTIONS(82), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, [1667] = 7, ACTIONS(86), 1, anon_sym_AMP, ACTIONS(88), 1, anon_sym_PIPE, ACTIONS(182), 1, anon_sym_then, ACTIONS(70), 2, anon_sym_DASH, anon_sym_PLUS, ACTIONS(72), 2, anon_sym_STAR, anon_sym_SLASH, ACTIONS(84), 2, anon_sym_LT, anon_sym_GT, ACTIONS(82), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, [1695] = 7, ACTIONS(86), 1, anon_sym_AMP, ACTIONS(88), 1, anon_sym_PIPE, ACTIONS(184), 1, anon_sym_RBRACK, ACTIONS(70), 2, anon_sym_DASH, anon_sym_PLUS, ACTIONS(72), 2, anon_sym_STAR, anon_sym_SLASH, ACTIONS(84), 2, anon_sym_LT, anon_sym_GT, ACTIONS(82), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, [1723] = 3, ACTIONS(186), 1, anon_sym_DQUOTE, STATE(58), 1, aux_sym_string_literal_repeat1, ACTIONS(188), 2, aux_sym_string_literal_token1, sym_escape_sequence, [1734] = 3, ACTIONS(190), 1, anon_sym_DQUOTE, STATE(57), 1, aux_sym_string_literal_repeat1, ACTIONS(192), 2, aux_sym_string_literal_token1, sym_escape_sequence, [1745] = 3, ACTIONS(195), 1, anon_sym_DQUOTE, STATE(57), 1, aux_sym_string_literal_repeat1, ACTIONS(197), 2, aux_sym_string_literal_token1, sym_escape_sequence, [1756] = 3, ACTIONS(174), 1, anon_sym_RPAREN, ACTIONS(199), 1, anon_sym_COMMA, STATE(59), 1, aux_sym_function_call_repeat1, [1766] = 3, ACTIONS(168), 1, anon_sym_COMMA, ACTIONS(202), 1, anon_sym_RBRACE, STATE(63), 1, aux_sym_record_expression_repeat1, [1776] = 3, ACTIONS(162), 1, anon_sym_SEMI, ACTIONS(204), 1, anon_sym_RPAREN, STATE(62), 1, aux_sym_sequence_expression_repeat1, [1786] = 3, ACTIONS(176), 1, anon_sym_RPAREN, ACTIONS(206), 1, anon_sym_SEMI, STATE(62), 1, aux_sym_sequence_expression_repeat1, [1796] = 3, ACTIONS(209), 1, anon_sym_COMMA, ACTIONS(212), 1, anon_sym_RBRACE, STATE(63), 1, aux_sym_record_expression_repeat1, [1806] = 3, ACTIONS(164), 1, anon_sym_COMMA, ACTIONS(214), 1, anon_sym_RPAREN, STATE(59), 1, aux_sym_function_call_repeat1, [1816] = 2, ACTIONS(216), 1, sym_identifier, ACTIONS(218), 1, anon_sym_RBRACE, [1823] = 1, ACTIONS(220), 1, anon_sym_EQ, [1827] = 1, ACTIONS(222), 1, anon_sym_of, [1831] = 1, ACTIONS(224), 1, ts_builtin_sym_end, [1835] = 1, ACTIONS(226), 1, sym_identifier, [1839] = 1, ACTIONS(228), 1, sym_identifier, [1843] = 1, ACTIONS(230), 1, anon_sym_EQ, }; static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(2)] = 0, [SMALL_STATE(3)] = 36, [SMALL_STATE(4)] = 64, [SMALL_STATE(5)] = 92, [SMALL_STATE(6)] = 126, [SMALL_STATE(7)] = 166, [SMALL_STATE(8)] = 206, [SMALL_STATE(9)] = 243, [SMALL_STATE(10)] = 280, [SMALL_STATE(11)] = 317, [SMALL_STATE(12)] = 342, [SMALL_STATE(13)] = 367, [SMALL_STATE(14)] = 404, [SMALL_STATE(15)] = 433, [SMALL_STATE(16)] = 458, [SMALL_STATE(17)] = 485, [SMALL_STATE(18)] = 520, [SMALL_STATE(19)] = 555, [SMALL_STATE(20)] = 592, [SMALL_STATE(21)] = 629, [SMALL_STATE(22)] = 666, [SMALL_STATE(23)] = 703, [SMALL_STATE(24)] = 740, [SMALL_STATE(25)] = 765, [SMALL_STATE(26)] = 802, [SMALL_STATE(27)] = 839, [SMALL_STATE(28)] = 864, [SMALL_STATE(29)] = 899, [SMALL_STATE(30)] = 936, [SMALL_STATE(31)] = 961, [SMALL_STATE(32)] = 986, [SMALL_STATE(33)] = 1023, [SMALL_STATE(34)] = 1048, [SMALL_STATE(35)] = 1073, [SMALL_STATE(36)] = 1110, [SMALL_STATE(37)] = 1147, [SMALL_STATE(38)] = 1172, [SMALL_STATE(39)] = 1209, [SMALL_STATE(40)] = 1234, [SMALL_STATE(41)] = 1259, [SMALL_STATE(42)] = 1290, [SMALL_STATE(43)] = 1323, [SMALL_STATE(44)] = 1360, [SMALL_STATE(45)] = 1397, [SMALL_STATE(46)] = 1422, [SMALL_STATE(47)] = 1456, [SMALL_STATE(48)] = 1490, [SMALL_STATE(49)] = 1524, [SMALL_STATE(50)] = 1553, [SMALL_STATE(51)] = 1582, [SMALL_STATE(52)] = 1611, [SMALL_STATE(53)] = 1639, [SMALL_STATE(54)] = 1667, [SMALL_STATE(55)] = 1695, [SMALL_STATE(56)] = 1723, [SMALL_STATE(57)] = 1734, [SMALL_STATE(58)] = 1745, [SMALL_STATE(59)] = 1756, [SMALL_STATE(60)] = 1766, [SMALL_STATE(61)] = 1776, [SMALL_STATE(62)] = 1786, [SMALL_STATE(63)] = 1796, [SMALL_STATE(64)] = 1806, [SMALL_STATE(65)] = 1816, [SMALL_STATE(66)] = 1823, [SMALL_STATE(67)] = 1827, [SMALL_STATE(68)] = 1831, [SMALL_STATE(69)] = 1835, [SMALL_STATE(70)] = 1839, [SMALL_STATE(71)] = 1843, }; static const TSParseActionEntry ts_parse_actions[] = { [0] = {.entry = {.count = 0, .reusable = false}}, [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(), [3] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2), [5] = {.entry = {.count = 1, .reusable = false}}, SHIFT(53), [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(43), [15] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__lvalue, 1), [17] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__lvalue, 1), SHIFT(13), [20] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), [22] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__lvalue, 1), [24] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), [26] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_value, 4, .production_id = 9), [28] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_value, 4, .production_id = 9), [30] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_value, 3, .production_id = 5), [32] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_value, 3, .production_id = 5), [34] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expr, 1), [36] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), [38] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), [40] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expr, 1), [42] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), [44] = {.entry = {.count = 1, .reusable = false}}, SHIFT(47), [46] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), [48] = {.entry = {.count = 1, .reusable = false}}, SHIFT(46), [50] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), [52] = {.entry = {.count = 1, .reusable = false}}, SHIFT(36), [54] = {.entry = {.count = 1, .reusable = false}}, SHIFT(17), [56] = {.entry = {.count = 1, .reusable = false}}, SHIFT(49), [58] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 2), [60] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 2), [62] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_expression, 7, .production_id = 14), [64] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_expression, 7, .production_id = 14), [66] = {.entry = {.count = 1, .reusable = false}}, SHIFT(55), [68] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, .production_id = 4), [70] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), [72] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), [74] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 3, .production_id = 4), [76] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sequence_expression, 2), [78] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sequence_expression, 2), [80] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_expression, 2, .production_id = 1), [82] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), [84] = {.entry = {.count = 1, .reusable = false}}, SHIFT(21), [86] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), [88] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), [90] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_expression, 6, .production_id = 13), [92] = {.entry = {.count = 1, .reusable = false}}, SHIFT(16), [94] = {.entry = {.count = 1, .reusable = false}}, SHIFT(34), [96] = {.entry = {.count = 1, .reusable = false}}, SHIFT(14), [98] = {.entry = {.count = 1, .reusable = false}}, SHIFT(41), [100] = {.entry = {.count = 1, .reusable = false}}, SHIFT(42), [102] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_expression, 6, .production_id = 12), [104] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_expression, 6, .production_id = 12), [106] = {.entry = {.count = 1, .reusable = false}}, SHIFT(52), [108] = {.entry = {.count = 1, .reusable = false}}, SHIFT(45), [110] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 3), [112] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 3), [114] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_expression, 6, .production_id = 11), [116] = {.entry = {.count = 1, .reusable = false}}, SHIFT(18), [118] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 3, .production_id = 2), [120] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 3, .production_id = 2), [122] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 5, .production_id = 10), [124] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 5, .production_id = 10), [126] = {.entry = {.count = 1, .reusable = false}}, SHIFT(28), [128] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_expression, 3, .production_id = 3), [130] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_expression, 3, .production_id = 3), [132] = {.entry = {.count = 1, .reusable = false}}, SHIFT(51), [134] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_expression, 4, .production_id = 8), [136] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), [138] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sequence_expression, 4), [140] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sequence_expression, 4), [142] = {.entry = {.count = 1, .reusable = false}}, SHIFT(48), [144] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sequence_expression, 3), [146] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sequence_expression, 3), [148] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 4, .production_id = 7), [150] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 4, .production_id = 7), [152] = {.entry = {.count = 1, .reusable = false}}, SHIFT(54), [154] = {.entry = {.count = 1, .reusable = false}}, SHIFT(50), [156] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment_expression, 3, .production_id = 6), [158] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment_expression, 3, .production_id = 6), [160] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), [162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), [164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), [166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), [168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), [170] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), [172] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_expression_repeat1, 4, .production_id = 16), [174] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_call_repeat1, 2), [176] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_sequence_expression_repeat1, 2), [178] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), [180] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1), [182] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), [184] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), [186] = {.entry = {.count = 1, .reusable = false}}, SHIFT(11), [188] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), [190] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat1, 2), [192] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_literal_repeat1, 2), SHIFT_REPEAT(57), [195] = {.entry = {.count = 1, .reusable = false}}, SHIFT(27), [197] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), [199] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_call_repeat1, 2), SHIFT_REPEAT(44), [202] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), [204] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), [206] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_sequence_expression_repeat1, 2), SHIFT_REPEAT(35), [209] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_record_expression_repeat1, 2, .production_id = 15), SHIFT_REPEAT(69), [212] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_expression_repeat1, 2, .production_id = 15), [214] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), [216] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), [218] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), [220] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), [222] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), [224] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), [226] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), [228] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), [230] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), }; #ifdef __cplusplus extern "C" { #endif #ifdef _WIN32 #define extern __declspec(dllexport) #endif extern const TSLanguage *tree_sitter_tiger(void) { static const TSLanguage language = { .version = LANGUAGE_VERSION, .symbol_count = SYMBOL_COUNT, .alias_count = ALIAS_COUNT, .token_count = TOKEN_COUNT, .external_token_count = EXTERNAL_TOKEN_COUNT, .state_count = STATE_COUNT, .large_state_count = LARGE_STATE_COUNT, .production_id_count = PRODUCTION_ID_COUNT, .field_count = FIELD_COUNT, .max_alias_sequence_length = MAX_ALIAS_SEQUENCE_LENGTH, .parse_table = &ts_parse_table[0][0], .small_parse_table = ts_small_parse_table, .small_parse_table_map = ts_small_parse_table_map, .parse_actions = ts_parse_actions, .symbol_names = ts_symbol_names, .field_names = ts_field_names, .field_map_slices = ts_field_map_slices, .field_map_entries = ts_field_map_entries, .symbol_metadata = ts_symbol_metadata, .public_symbol_map = ts_symbol_map, .alias_map = ts_non_terminal_alias_map, .alias_sequences = &ts_alias_sequences[0][0], .lex_modes = ts_lex_modes, .lex_fn = ts_lex, .keyword_lex_fn = ts_lex_keywords, .keyword_capture_token = sym_identifier, }; return &language; } #ifdef __cplusplus } #endif