/* Automatically @generated by tree-sitter */

#include "tree_sitter/parser.h"

#if defined(__GNUC__) || defined(__clang__)
#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
#endif

#define LANGUAGE_VERSION 15
#define STATE_COUNT 165
#define LARGE_STATE_COUNT 70
#define SYMBOL_COUNT 91
#define ALIAS_COUNT 0
#define TOKEN_COUNT 46
#define EXTERNAL_TOKEN_COUNT 0
#define FIELD_COUNT 7
#define MAX_ALIAS_SEQUENCE_LENGTH 5
#define MAX_RESERVED_WORD_SET_SIZE 0
#define PRODUCTION_ID_COUNT 6
#define SUPERTYPE_COUNT 0

enum ts_symbol_identifiers {
  sym__word = 1,
  anon_sym_SEMI = 2,
  anon_sym_let = 3,
  anon_sym_EQ = 4,
  anon_sym_PLUS_PLUS = 5,
  anon_sym_DASH_DASH = 6,
  anon_sym_PLUS = 7,
  anon_sym_DASH = 8,
  anon_sym_TILDE = 9,
  anon_sym_BANG = 10,
  anon_sym_STAR = 11,
  anon_sym_SLASH = 12,
  anon_sym_sdiv = 13,
  anon_sym_mod = 14,
  anon_sym_PERCENT = 15,
  anon_sym_smod = 16,
  anon_sym_STAR_STAR = 17,
  anon_sym_log = 18,
  anon_sym_LT_LT = 19,
  anon_sym_GT_GT = 20,
  anon_sym_sar = 21,
  anon_sym_LT_LT_LT = 22,
  anon_sym_GT_GT_GT = 23,
  anon_sym_AMP = 24,
  anon_sym_CARET = 25,
  anon_sym_PIPE = 26,
  anon_sym_LT = 27,
  anon_sym_LT_EQ = 28,
  anon_sym_GT = 29,
  anon_sym_GT_EQ = 30,
  anon_sym_EQ_EQ = 31,
  anon_sym_BANG_EQ = 32,
  anon_sym_QMARK = 33,
  anon_sym_COLON = 34,
  anon_sym_LPAREN = 35,
  anon_sym_COMMA = 36,
  anon_sym_RPAREN = 37,
  sym_number_value = 38,
  sym_number_suffix = 39,
  sym_number_unit = 40,
  sym_number_legacy_suffix = 41,
  sym_number_legacy_hex = 42,
  sym_address_width = 43,
  sym_string_bytes = 44,
  sym_special_variable = 45,
  sym_expression = 46,
  sym__expression = 47,
  sym_let_assignment = 48,
  sym_assignment = 49,
  sym__incdec_operand = 50,
  sym_increment = 51,
  sym_decrement = 52,
  sym_unary_plus = 53,
  sym_unary_minus = 54,
  sym_logical_negation = 55,
  sym_logical_not = 56,
  sym_sum = 57,
  sym_subtraction = 58,
  sym_product = 59,
  sym_division = 60,
  sym_signed_division = 61,
  sym_modulo = 62,
  sym_signed_modulo = 63,
  sym_exponent = 64,
  sym_logarithm = 65,
  sym_logical_shl = 66,
  sym_logical_shr = 67,
  sym_arith_shr = 68,
  sym_logical_rol = 69,
  sym_logical_ror = 70,
  sym_logical_and = 71,
  sym_logical_xor = 72,
  sym_logical_or = 73,
  sym_less_than = 74,
  sym_less_equal = 75,
  sym_greater_than = 76,
  sym_greater_equal = 77,
  sym_equal = 78,
  sym_not_equal = 79,
  sym_conditional = 80,
  sym_function = 81,
  sym_argument_list = 82,
  sym_argument = 83,
  sym_parenthesized_expression = 84,
  sym_number = 85,
  sym_address_typed = 86,
  sym_variable = 87,
  sym_function_name = 88,
  aux_sym_expression_repeat1 = 89,
  aux_sym_argument_list_repeat1 = 90,
};

static const char * const ts_symbol_names[] = {
  [ts_builtin_sym_end] = "end",
  [sym__word] = "_word",
  [anon_sym_SEMI] = ";",
  [anon_sym_let] = "let",
  [anon_sym_EQ] = "=",
  [anon_sym_PLUS_PLUS] = "++",
  [anon_sym_DASH_DASH] = "--",
  [anon_sym_PLUS] = "+",
  [anon_sym_DASH] = "-",
  [anon_sym_TILDE] = "~",
  [anon_sym_BANG] = "!",
  [anon_sym_STAR] = "*",
  [anon_sym_SLASH] = "/",
  [anon_sym_sdiv] = "sdiv",
  [anon_sym_mod] = "mod",
  [anon_sym_PERCENT] = "%",
  [anon_sym_smod] = "smod",
  [anon_sym_STAR_STAR] = "**",
  [anon_sym_log] = "log",
  [anon_sym_LT_LT] = "<<",
  [anon_sym_GT_GT] = ">>",
  [anon_sym_sar] = "sar",
  [anon_sym_LT_LT_LT] = "<<<",
  [anon_sym_GT_GT_GT] = ">>>",
  [anon_sym_AMP] = "&",
  [anon_sym_CARET] = "^",
  [anon_sym_PIPE] = "|",
  [anon_sym_LT] = "<",
  [anon_sym_LT_EQ] = "<=",
  [anon_sym_GT] = ">",
  [anon_sym_GT_EQ] = ">=",
  [anon_sym_EQ_EQ] = "==",
  [anon_sym_BANG_EQ] = "!=",
  [anon_sym_QMARK] = "\?",
  [anon_sym_COLON] = ":",
  [anon_sym_LPAREN] = "(",
  [anon_sym_COMMA] = ",",
  [anon_sym_RPAREN] = ")",
  [sym_number_value] = "number_value",
  [sym_number_suffix] = "number_suffix",
  [sym_number_unit] = "number_unit",
  [sym_number_legacy_suffix] = "number_legacy_suffix",
  [sym_number_legacy_hex] = "number_legacy_hex",
  [sym_address_width] = "address_width",
  [sym_string_bytes] = "string_bytes",
  [sym_special_variable] = "special_variable",
  [sym_expression] = "expression",
  [sym__expression] = "_expression",
  [sym_let_assignment] = "let_assignment",
  [sym_assignment] = "assignment",
  [sym__incdec_operand] = "_incdec_operand",
  [sym_increment] = "increment",
  [sym_decrement] = "decrement",
  [sym_unary_plus] = "unary_plus",
  [sym_unary_minus] = "unary_minus",
  [sym_logical_negation] = "logical_negation",
  [sym_logical_not] = "logical_not",
  [sym_sum] = "sum",
  [sym_subtraction] = "subtraction",
  [sym_product] = "product",
  [sym_division] = "division",
  [sym_signed_division] = "signed_division",
  [sym_modulo] = "modulo",
  [sym_signed_modulo] = "signed_modulo",
  [sym_exponent] = "exponent",
  [sym_logarithm] = "logarithm",
  [sym_logical_shl] = "logical_shl",
  [sym_logical_shr] = "logical_shr",
  [sym_arith_shr] = "arith_shr",
  [sym_logical_rol] = "logical_rol",
  [sym_logical_ror] = "logical_ror",
  [sym_logical_and] = "logical_and",
  [sym_logical_xor] = "logical_xor",
  [sym_logical_or] = "logical_or",
  [sym_less_than] = "less_than",
  [sym_less_equal] = "less_equal",
  [sym_greater_than] = "greater_than",
  [sym_greater_equal] = "greater_equal",
  [sym_equal] = "equal",
  [sym_not_equal] = "not_equal",
  [sym_conditional] = "conditional",
  [sym_function] = "function",
  [sym_argument_list] = "argument_list",
  [sym_argument] = "argument",
  [sym_parenthesized_expression] = "parenthesized_expression",
  [sym_number] = "number",
  [sym_address_typed] = "address_typed",
  [sym_variable] = "variable",
  [sym_function_name] = "function_name",
  [aux_sym_expression_repeat1] = "expression_repeat1",
  [aux_sym_argument_list_repeat1] = "argument_list_repeat1",
};

static const TSSymbol ts_symbol_map[] = {
  [ts_builtin_sym_end] = ts_builtin_sym_end,
  [sym__word] = sym__word,
  [anon_sym_SEMI] = anon_sym_SEMI,
  [anon_sym_let] = anon_sym_let,
  [anon_sym_EQ] = anon_sym_EQ,
  [anon_sym_PLUS_PLUS] = anon_sym_PLUS_PLUS,
  [anon_sym_DASH_DASH] = anon_sym_DASH_DASH,
  [anon_sym_PLUS] = anon_sym_PLUS,
  [anon_sym_DASH] = anon_sym_DASH,
  [anon_sym_TILDE] = anon_sym_TILDE,
  [anon_sym_BANG] = anon_sym_BANG,
  [anon_sym_STAR] = anon_sym_STAR,
  [anon_sym_SLASH] = anon_sym_SLASH,
  [anon_sym_sdiv] = anon_sym_sdiv,
  [anon_sym_mod] = anon_sym_mod,
  [anon_sym_PERCENT] = anon_sym_PERCENT,
  [anon_sym_smod] = anon_sym_smod,
  [anon_sym_STAR_STAR] = anon_sym_STAR_STAR,
  [anon_sym_log] = anon_sym_log,
  [anon_sym_LT_LT] = anon_sym_LT_LT,
  [anon_sym_GT_GT] = anon_sym_GT_GT,
  [anon_sym_sar] = anon_sym_sar,
  [anon_sym_LT_LT_LT] = anon_sym_LT_LT_LT,
  [anon_sym_GT_GT_GT] = anon_sym_GT_GT_GT,
  [anon_sym_AMP] = anon_sym_AMP,
  [anon_sym_CARET] = anon_sym_CARET,
  [anon_sym_PIPE] = anon_sym_PIPE,
  [anon_sym_LT] = anon_sym_LT,
  [anon_sym_LT_EQ] = anon_sym_LT_EQ,
  [anon_sym_GT] = anon_sym_GT,
  [anon_sym_GT_EQ] = anon_sym_GT_EQ,
  [anon_sym_EQ_EQ] = anon_sym_EQ_EQ,
  [anon_sym_BANG_EQ] = anon_sym_BANG_EQ,
  [anon_sym_QMARK] = anon_sym_QMARK,
  [anon_sym_COLON] = anon_sym_COLON,
  [anon_sym_LPAREN] = anon_sym_LPAREN,
  [anon_sym_COMMA] = anon_sym_COMMA,
  [anon_sym_RPAREN] = anon_sym_RPAREN,
  [sym_number_value] = sym_number_value,
  [sym_number_suffix] = sym_number_suffix,
  [sym_number_unit] = sym_number_unit,
  [sym_number_legacy_suffix] = sym_number_legacy_suffix,
  [sym_number_legacy_hex] = sym_number_legacy_hex,
  [sym_address_width] = sym_address_width,
  [sym_string_bytes] = sym_string_bytes,
  [sym_special_variable] = sym_special_variable,
  [sym_expression] = sym_expression,
  [sym__expression] = sym__expression,
  [sym_let_assignment] = sym_let_assignment,
  [sym_assignment] = sym_assignment,
  [sym__incdec_operand] = sym__incdec_operand,
  [sym_increment] = sym_increment,
  [sym_decrement] = sym_decrement,
  [sym_unary_plus] = sym_unary_plus,
  [sym_unary_minus] = sym_unary_minus,
  [sym_logical_negation] = sym_logical_negation,
  [sym_logical_not] = sym_logical_not,
  [sym_sum] = sym_sum,
  [sym_subtraction] = sym_subtraction,
  [sym_product] = sym_product,
  [sym_division] = sym_division,
  [sym_signed_division] = sym_signed_division,
  [sym_modulo] = sym_modulo,
  [sym_signed_modulo] = sym_signed_modulo,
  [sym_exponent] = sym_exponent,
  [sym_logarithm] = sym_logarithm,
  [sym_logical_shl] = sym_logical_shl,
  [sym_logical_shr] = sym_logical_shr,
  [sym_arith_shr] = sym_arith_shr,
  [sym_logical_rol] = sym_logical_rol,
  [sym_logical_ror] = sym_logical_ror,
  [sym_logical_and] = sym_logical_and,
  [sym_logical_xor] = sym_logical_xor,
  [sym_logical_or] = sym_logical_or,
  [sym_less_than] = sym_less_than,
  [sym_less_equal] = sym_less_equal,
  [sym_greater_than] = sym_greater_than,
  [sym_greater_equal] = sym_greater_equal,
  [sym_equal] = sym_equal,
  [sym_not_equal] = sym_not_equal,
  [sym_conditional] = sym_conditional,
  [sym_function] = sym_function,
  [sym_argument_list] = sym_argument_list,
  [sym_argument] = sym_argument,
  [sym_parenthesized_expression] = sym_parenthesized_expression,
  [sym_number] = sym_number,
  [sym_address_typed] = sym_address_typed,
  [sym_variable] = sym_variable,
  [sym_function_name] = sym_function_name,
  [aux_sym_expression_repeat1] = aux_sym_expression_repeat1,
  [aux_sym_argument_list_repeat1] = aux_sym_argument_list_repeat1,
};

static const TSSymbolMetadata ts_symbol_metadata[] = {
  [ts_builtin_sym_end] = {
    .visible = false,
    .named = true,
  },
  [sym__word] = {
    .visible = false,
    .named = true,
  },
  [anon_sym_SEMI] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_let] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_PLUS_PLUS] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_DASH_DASH] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_PLUS] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_DASH] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_TILDE] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_BANG] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_STAR] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_SLASH] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_sdiv] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_mod] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_PERCENT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_smod] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_STAR_STAR] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_log] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_LT_LT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_GT_GT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_sar] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_LT_LT_LT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_GT_GT_GT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_AMP] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_CARET] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_PIPE] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_LT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_LT_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_GT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_GT_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_EQ_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_BANG_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_QMARK] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_COLON] = {
    .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,
  },
  [sym_number_value] = {
    .visible = true,
    .named = true,
  },
  [sym_number_suffix] = {
    .visible = true,
    .named = true,
  },
  [sym_number_unit] = {
    .visible = true,
    .named = true,
  },
  [sym_number_legacy_suffix] = {
    .visible = true,
    .named = true,
  },
  [sym_number_legacy_hex] = {
    .visible = true,
    .named = true,
  },
  [sym_address_width] = {
    .visible = true,
    .named = true,
  },
  [sym_string_bytes] = {
    .visible = true,
    .named = true,
  },
  [sym_special_variable] = {
    .visible = true,
    .named = true,
  },
  [sym_expression] = {
    .visible = true,
    .named = true,
  },
  [sym__expression] = {
    .visible = false,
    .named = true,
  },
  [sym_let_assignment] = {
    .visible = true,
    .named = true,
  },
  [sym_assignment] = {
    .visible = true,
    .named = true,
  },
  [sym__incdec_operand] = {
    .visible = false,
    .named = true,
  },
  [sym_increment] = {
    .visible = true,
    .named = true,
  },
  [sym_decrement] = {
    .visible = true,
    .named = true,
  },
  [sym_unary_plus] = {
    .visible = true,
    .named = true,
  },
  [sym_unary_minus] = {
    .visible = true,
    .named = true,
  },
  [sym_logical_negation] = {
    .visible = true,
    .named = true,
  },
  [sym_logical_not] = {
    .visible = true,
    .named = true,
  },
  [sym_sum] = {
    .visible = true,
    .named = true,
  },
  [sym_subtraction] = {
    .visible = true,
    .named = true,
  },
  [sym_product] = {
    .visible = true,
    .named = true,
  },
  [sym_division] = {
    .visible = true,
    .named = true,
  },
  [sym_signed_division] = {
    .visible = true,
    .named = true,
  },
  [sym_modulo] = {
    .visible = true,
    .named = true,
  },
  [sym_signed_modulo] = {
    .visible = true,
    .named = true,
  },
  [sym_exponent] = {
    .visible = true,
    .named = true,
  },
  [sym_logarithm] = {
    .visible = true,
    .named = true,
  },
  [sym_logical_shl] = {
    .visible = true,
    .named = true,
  },
  [sym_logical_shr] = {
    .visible = true,
    .named = true,
  },
  [sym_arith_shr] = {
    .visible = true,
    .named = true,
  },
  [sym_logical_rol] = {
    .visible = true,
    .named = true,
  },
  [sym_logical_ror] = {
    .visible = true,
    .named = true,
  },
  [sym_logical_and] = {
    .visible = true,
    .named = true,
  },
  [sym_logical_xor] = {
    .visible = true,
    .named = true,
  },
  [sym_logical_or] = {
    .visible = true,
    .named = true,
  },
  [sym_less_than] = {
    .visible = true,
    .named = true,
  },
  [sym_less_equal] = {
    .visible = true,
    .named = true,
  },
  [sym_greater_than] = {
    .visible = true,
    .named = true,
  },
  [sym_greater_equal] = {
    .visible = true,
    .named = true,
  },
  [sym_equal] = {
    .visible = true,
    .named = true,
  },
  [sym_not_equal] = {
    .visible = true,
    .named = true,
  },
  [sym_conditional] = {
    .visible = true,
    .named = true,
  },
  [sym_function] = {
    .visible = true,
    .named = true,
  },
  [sym_argument_list] = {
    .visible = true,
    .named = true,
  },
  [sym_argument] = {
    .visible = true,
    .named = true,
  },
  [sym_parenthesized_expression] = {
    .visible = true,
    .named = true,
  },
  [sym_number] = {
    .visible = true,
    .named = true,
  },
  [sym_address_typed] = {
    .visible = true,
    .named = true,
  },
  [sym_variable] = {
    .visible = true,
    .named = true,
  },
  [sym_function_name] = {
    .visible = true,
    .named = true,
  },
  [aux_sym_expression_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_argument_list_repeat1] = {
    .visible = false,
    .named = false,
  },
};

enum ts_field_identifiers {
  field_alternative = 1,
  field_base = 2,
  field_condition = 3,
  field_consequence = 4,
  field_exponent = 5,
  field_left = 6,
  field_right = 7,
};

static const char * const ts_field_names[] = {
  [0] = NULL,
  [field_alternative] = "alternative",
  [field_base] = "base",
  [field_condition] = "condition",
  [field_consequence] = "consequence",
  [field_exponent] = "exponent",
  [field_left] = "left",
  [field_right] = "right",
};

static const TSMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = {
  [1] = {.index = 0, .length = 1},
  [2] = {.index = 1, .length = 2},
  [3] = {.index = 3, .length = 2},
  [4] = {.index = 5, .length = 2},
  [5] = {.index = 7, .length = 3},
};

static const TSFieldMapEntry ts_field_map_entries[] = {
  [0] =
    {field_right, 1},
  [1] =
    {field_left, 0},
    {field_right, 2},
  [3] =
    {field_base, 0},
    {field_exponent, 2},
  [5] =
    {field_left, 1},
    {field_right, 3},
  [7] =
    {field_alternative, 4},
    {field_condition, 0},
    {field_consequence, 2},
};

static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE_LENGTH] = {
  [0] = {0},
};

static const uint16_t ts_non_terminal_alias_map[] = {
  0,
};

static const TSStateId ts_primary_state_ids[STATE_COUNT] = {
  [0] = 0,
  [1] = 1,
  [2] = 2,
  [3] = 3,
  [4] = 4,
  [5] = 5,
  [6] = 6,
  [7] = 7,
  [8] = 8,
  [9] = 9,
  [10] = 10,
  [11] = 11,
  [12] = 12,
  [13] = 13,
  [14] = 14,
  [15] = 15,
  [16] = 16,
  [17] = 17,
  [18] = 18,
  [19] = 19,
  [20] = 20,
  [21] = 21,
  [22] = 22,
  [23] = 23,
  [24] = 24,
  [25] = 25,
  [26] = 26,
  [27] = 27,
  [28] = 28,
  [29] = 29,
  [30] = 30,
  [31] = 31,
  [32] = 32,
  [33] = 33,
  [34] = 34,
  [35] = 35,
  [36] = 36,
  [37] = 37,
  [38] = 38,
  [39] = 8,
  [40] = 9,
  [41] = 6,
  [42] = 11,
  [43] = 12,
  [44] = 13,
  [45] = 14,
  [46] = 15,
  [47] = 16,
  [48] = 17,
  [49] = 18,
  [50] = 19,
  [51] = 20,
  [52] = 21,
  [53] = 22,
  [54] = 23,
  [55] = 24,
  [56] = 25,
  [57] = 26,
  [58] = 27,
  [59] = 28,
  [60] = 29,
  [61] = 30,
  [62] = 32,
  [63] = 34,
  [64] = 37,
  [65] = 7,
  [66] = 33,
  [67] = 35,
  [68] = 31,
  [69] = 10,
  [70] = 70,
  [71] = 71,
  [72] = 72,
  [73] = 73,
  [74] = 74,
  [75] = 75,
  [76] = 76,
  [77] = 77,
  [78] = 78,
  [79] = 79,
  [80] = 80,
  [81] = 81,
  [82] = 82,
  [83] = 83,
  [84] = 84,
  [85] = 85,
  [86] = 86,
  [87] = 87,
  [88] = 88,
  [89] = 89,
  [90] = 90,
  [91] = 91,
  [92] = 92,
  [93] = 93,
  [94] = 94,
  [95] = 95,
  [96] = 70,
  [97] = 97,
  [98] = 98,
  [99] = 99,
  [100] = 100,
  [101] = 101,
  [102] = 102,
  [103] = 103,
  [104] = 104,
  [105] = 105,
  [106] = 106,
  [107] = 107,
  [108] = 108,
  [109] = 109,
  [110] = 110,
  [111] = 111,
  [112] = 112,
  [113] = 113,
  [114] = 114,
  [115] = 115,
  [116] = 116,
  [117] = 84,
  [118] = 89,
  [119] = 119,
  [120] = 120,
  [121] = 102,
  [122] = 103,
  [123] = 104,
  [124] = 105,
  [125] = 106,
  [126] = 107,
  [127] = 109,
  [128] = 110,
  [129] = 111,
  [130] = 112,
  [131] = 101,
  [132] = 113,
  [133] = 91,
  [134] = 108,
  [135] = 100,
  [136] = 90,
  [137] = 87,
  [138] = 88,
  [139] = 93,
  [140] = 95,
  [141] = 97,
  [142] = 98,
  [143] = 94,
  [144] = 99,
  [145] = 92,
  [146] = 120,
  [147] = 147,
  [148] = 147,
  [149] = 149,
  [150] = 149,
  [151] = 151,
  [152] = 152,
  [153] = 153,
  [154] = 154,
  [155] = 155,
  [156] = 156,
  [157] = 157,
  [158] = 157,
  [159] = 159,
  [160] = 160,
  [161] = 161,
  [162] = 162,
  [163] = 163,
  [164] = 161,
};

static bool ts_lex(TSLexer *lexer, TSStateId state) {
  START_LEXER();
  eof = lexer->eof(lexer);
  switch (state) {
    case 0:
      if (eof) ADVANCE(41);
      ADVANCE_MAP(
        '!', 52,
        '"', 1,
        '$', 2,
        '%', 59,
        '&', 71,
        '(', 83,
        ')', 85,
        '*', 53,
        '+', 47,
        ',', 84,
        '-', 49,
        '.', 152,
        '/', 54,
        '0', 90,
        '1', 87,
        '3', 86,
        '6', 88,
        '8', 93,
        ':', 82,
        ';', 42,
        '<', 74,
        '=', 43,
        '>', 76,
        '?', 81,
        'E', 142,
        'G', 117,
        'K', 117,
        'M', 117,
        'P', 142,
        'T', 142,
        '^', 72,
        'b', 119,
        'f', 103,
        'l', 108,
        'm', 120,
        's', 134,
        '|', 73,
        '~', 50,
        'F', 110,
        'L', 110,
        'U', 110,
        'u', 110,
        '2', 93,
        '4', 93,
        '5', 93,
        '7', 93,
        '9', 93,
        'H', 122,
        'g', 122,
        'h', 122,
        'k', 122,
        'o', 122,
        't', 122,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(0);
      if (lookahead > '?' &&
          (lookahead < '[' || '^' < lookahead) &&
          (lookahead < '{' || 0x9f < lookahead)) ADVANCE(153);
      END_STATE();
    case 1:
      if (lookahead == '"') ADVANCE(126);
      if (lookahead == '\\') ADVANCE(38);
      if (lookahead != 0 &&
          lookahead != '\n') ADVANCE(1);
      END_STATE();
    case 2:
      ADVANCE_MAP(
        '$', 128,
        'C', 24,
        'D', 132,
        'F', 133,
        'J', 14,
        'M', 129,
        'S', 130,
        'a', 23,
        'f', 131,
        'B', 127,
        'O', 127,
        'P', 127,
        'b', 127,
        'c', 127,
        'e', 127,
        'j', 127,
        'l', 127,
        'm', 127,
        'o', 127,
        'p', 127,
        'r', 127,
        's', 127,
        'v', 127,
        'w', 127,
      );
      END_STATE();
    case 3:
      if (lookahead == '1') ADVANCE(8);
      if (lookahead == '3') ADVANCE(7);
      if (lookahead == '6') ADVANCE(9);
      END_STATE();
    case 4:
      if (lookahead == '1') ADVANCE(8);
      if (lookahead == '3') ADVANCE(7);
      if (lookahead == '6') ADVANCE(9);
      if (lookahead == '8') ADVANCE(124);
      END_STATE();
    case 5:
      ADVANCE_MAP(
        '1', 8,
        '3', 7,
        '6', 9,
        '8', 124,
        'b', 19,
        'f', 3,
        'l', 19,
        's', 4,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(5);
      END_STATE();
    case 6:
      if (lookahead == '1') ADVANCE(8);
      if (lookahead == '3') ADVANCE(7);
      if (lookahead == '6') ADVANCE(9);
      if (lookahead == '8') ADVANCE(124);
      if (lookahead == 'f') ADVANCE(3);
      if (lookahead == 's') ADVANCE(4);
      END_STATE();
    case 7:
      if (lookahead == '2') ADVANCE(124);
      END_STATE();
    case 8:
      if (lookahead == '2') ADVANCE(10);
      if (lookahead == '6') ADVANCE(124);
      END_STATE();
    case 9:
      if (lookahead == '4') ADVANCE(124);
      END_STATE();
    case 10:
      if (lookahead == '8') ADVANCE(124);
      END_STATE();
    case 11:
      if (lookahead == '=') ADVANCE(79);
      END_STATE();
    case 12:
      if (lookahead == 'B') ADVANCE(114);
      END_STATE();
    case 13:
      if (lookahead == 'B') ADVANCE(114);
      if (lookahead == 'i') ADVANCE(12);
      END_STATE();
    case 14:
      if (lookahead == 'a') ADVANCE(127);
      END_STATE();
    case 15:
      if (lookahead == 'a') ADVANCE(27);
      END_STATE();
    case 16:
      if (lookahead == 'a') ADVANCE(26);
      if (lookahead == 'd') ADVANCE(21);
      if (lookahead == 'm') ADVANCE(25);
      END_STATE();
    case 17:
      if (lookahead == 'd') ADVANCE(57);
      END_STATE();
    case 18:
      if (lookahead == 'd') ADVANCE(60);
      END_STATE();
    case 19:
      if (lookahead == 'e') ADVANCE(6);
      END_STATE();
    case 20:
      if (lookahead == 'g') ADVANCE(63);
      END_STATE();
    case 21:
      if (lookahead == 'i') ADVANCE(28);
      END_STATE();
    case 22:
      if (lookahead == 'i') ADVANCE(15);
      END_STATE();
    case 23:
      if (lookahead == 'l') ADVANCE(22);
      END_STATE();
    case 24:
      if (lookahead == 'n') ADVANCE(127);
      END_STATE();
    case 25:
      if (lookahead == 'o') ADVANCE(18);
      END_STATE();
    case 26:
      if (lookahead == 'r') ADVANCE(67);
      END_STATE();
    case 27:
      if (lookahead == 's') ADVANCE(127);
      END_STATE();
    case 28:
      if (lookahead == 'v') ADVANCE(55);
      END_STATE();
    case 29:
      if (lookahead == '+' ||
          lookahead == '-') ADVANCE(37);
      if (lookahead == 'H' ||
          lookahead == 'h') ADVANCE(123);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(99);
      if (('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(99);
      END_STATE();
    case 30:
      if (lookahead == '+' ||
          lookahead == '-') ADVANCE(37);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(101);
      END_STATE();
    case 31:
      if (lookahead == 'H' ||
          lookahead == 'h') ADVANCE(123);
      if (lookahead == '0' ||
          lookahead == '1') ADVANCE(92);
      if (('2' <= lookahead && lookahead <= '9')) ADVANCE(32);
      if (('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(32);
      END_STATE();
    case 32:
      if (lookahead == 'H' ||
          lookahead == 'h') ADVANCE(123);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(32);
      if (('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(32);
      END_STATE();
    case 33:
      if (('0' <= lookahead && lookahead <= '2')) ADVANCE(95);
      END_STATE();
    case 34:
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(34);
      if (lookahead > '-' &&
          (lookahead < '/' || '>' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          (lookahead < '{' || 0x9f < lookahead)) ADVANCE(153);
      END_STATE();
    case 35:
      if (('0' <= lookahead && lookahead <= '7')) ADVANCE(96);
      END_STATE();
    case 36:
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(94);
      END_STATE();
    case 37:
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(101);
      END_STATE();
    case 38:
      if (lookahead != 0 &&
          lookahead != '\n') ADVANCE(1);
      END_STATE();
    case 39:
      if (eof) ADVANCE(41);
      ADVANCE_MAP(
        '!', 51,
        '"', 1,
        '$', 2,
        '(', 83,
        ')', 85,
        '+', 47,
        '-', 49,
        '.', 152,
        '0', 90,
        '~', 50,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(39);
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(93);
      if (lookahead > '>' &&
          (lookahead < '[' || '^' < lookahead) &&
          (lookahead < '{' || 0x9f < lookahead)) ADVANCE(153);
      END_STATE();
    case 40:
      if (eof) ADVANCE(41);
      ADVANCE_MAP(
        '!', 11,
        '%', 59,
        '&', 71,
        '(', 83,
        ')', 85,
        '*', 53,
        '+', 46,
        ',', 84,
        '-', 48,
        '/', 54,
        ':', 82,
        ';', 42,
        '<', 74,
        '=', 43,
        '>', 76,
        '?', 80,
        'E', 13,
        'G', 118,
        'K', 118,
        'M', 118,
        'P', 13,
        'T', 13,
        '^', 72,
        'l', 109,
        'm', 121,
        's', 16,
        '|', 73,
        'F', 111,
        'L', 111,
        'U', 111,
        'f', 111,
        'u', 111,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(40);
      if (lookahead == 'H' ||
          lookahead == 'b' ||
          lookahead == 'g' ||
          lookahead == 'h' ||
          lookahead == 'k' ||
          lookahead == 'o' ||
          lookahead == 't') ADVANCE(116);
      END_STATE();
    case 41:
      ACCEPT_TOKEN(ts_builtin_sym_end);
      END_STATE();
    case 42:
      ACCEPT_TOKEN(anon_sym_SEMI);
      END_STATE();
    case 43:
      ACCEPT_TOKEN(anon_sym_EQ);
      if (lookahead == '=') ADVANCE(78);
      END_STATE();
    case 44:
      ACCEPT_TOKEN(anon_sym_PLUS_PLUS);
      END_STATE();
    case 45:
      ACCEPT_TOKEN(anon_sym_DASH_DASH);
      END_STATE();
    case 46:
      ACCEPT_TOKEN(anon_sym_PLUS);
      END_STATE();
    case 47:
      ACCEPT_TOKEN(anon_sym_PLUS);
      if (lookahead == '+') ADVANCE(44);
      END_STATE();
    case 48:
      ACCEPT_TOKEN(anon_sym_DASH);
      END_STATE();
    case 49:
      ACCEPT_TOKEN(anon_sym_DASH);
      if (lookahead == '-') ADVANCE(45);
      END_STATE();
    case 50:
      ACCEPT_TOKEN(anon_sym_TILDE);
      END_STATE();
    case 51:
      ACCEPT_TOKEN(anon_sym_BANG);
      END_STATE();
    case 52:
      ACCEPT_TOKEN(anon_sym_BANG);
      if (lookahead == '=') ADVANCE(79);
      END_STATE();
    case 53:
      ACCEPT_TOKEN(anon_sym_STAR);
      if (lookahead == '*') ADVANCE(62);
      END_STATE();
    case 54:
      ACCEPT_TOKEN(anon_sym_SLASH);
      END_STATE();
    case 55:
      ACCEPT_TOKEN(anon_sym_sdiv);
      END_STATE();
    case 56:
      ACCEPT_TOKEN(anon_sym_sdiv);
      if (lookahead > '#' &&
          (lookahead < '%' || '-' < lookahead) &&
          lookahead != '/' &&
          (lookahead < ':' || '>' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          (lookahead < '{' || 0x9f < lookahead)) ADVANCE(153);
      END_STATE();
    case 57:
      ACCEPT_TOKEN(anon_sym_mod);
      END_STATE();
    case 58:
      ACCEPT_TOKEN(anon_sym_mod);
      if (lookahead > '#' &&
          (lookahead < '%' || '-' < lookahead) &&
          lookahead != '/' &&
          (lookahead < ':' || '>' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          (lookahead < '{' || 0x9f < lookahead)) ADVANCE(153);
      END_STATE();
    case 59:
      ACCEPT_TOKEN(anon_sym_PERCENT);
      END_STATE();
    case 60:
      ACCEPT_TOKEN(anon_sym_smod);
      END_STATE();
    case 61:
      ACCEPT_TOKEN(anon_sym_smod);
      if (lookahead > '#' &&
          (lookahead < '%' || '-' < lookahead) &&
          lookahead != '/' &&
          (lookahead < ':' || '>' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          (lookahead < '{' || 0x9f < lookahead)) ADVANCE(153);
      END_STATE();
    case 62:
      ACCEPT_TOKEN(anon_sym_STAR_STAR);
      END_STATE();
    case 63:
      ACCEPT_TOKEN(anon_sym_log);
      END_STATE();
    case 64:
      ACCEPT_TOKEN(anon_sym_log);
      if (lookahead > '#' &&
          (lookahead < '%' || '-' < lookahead) &&
          lookahead != '/' &&
          (lookahead < ':' || '>' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          (lookahead < '{' || 0x9f < lookahead)) ADVANCE(153);
      END_STATE();
    case 65:
      ACCEPT_TOKEN(anon_sym_LT_LT);
      if (lookahead == '<') ADVANCE(69);
      END_STATE();
    case 66:
      ACCEPT_TOKEN(anon_sym_GT_GT);
      if (lookahead == '>') ADVANCE(70);
      END_STATE();
    case 67:
      ACCEPT_TOKEN(anon_sym_sar);
      END_STATE();
    case 68:
      ACCEPT_TOKEN(anon_sym_sar);
      if (lookahead > '#' &&
          (lookahead < '%' || '-' < lookahead) &&
          lookahead != '/' &&
          (lookahead < ':' || '>' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          (lookahead < '{' || 0x9f < lookahead)) ADVANCE(153);
      END_STATE();
    case 69:
      ACCEPT_TOKEN(anon_sym_LT_LT_LT);
      END_STATE();
    case 70:
      ACCEPT_TOKEN(anon_sym_GT_GT_GT);
      END_STATE();
    case 71:
      ACCEPT_TOKEN(anon_sym_AMP);
      END_STATE();
    case 72:
      ACCEPT_TOKEN(anon_sym_CARET);
      END_STATE();
    case 73:
      ACCEPT_TOKEN(anon_sym_PIPE);
      END_STATE();
    case 74:
      ACCEPT_TOKEN(anon_sym_LT);
      if (lookahead == '<') ADVANCE(65);
      if (lookahead == '=') ADVANCE(75);
      END_STATE();
    case 75:
      ACCEPT_TOKEN(anon_sym_LT_EQ);
      END_STATE();
    case 76:
      ACCEPT_TOKEN(anon_sym_GT);
      if (lookahead == '=') ADVANCE(77);
      if (lookahead == '>') ADVANCE(66);
      END_STATE();
    case 77:
      ACCEPT_TOKEN(anon_sym_GT_EQ);
      END_STATE();
    case 78:
      ACCEPT_TOKEN(anon_sym_EQ_EQ);
      END_STATE();
    case 79:
      ACCEPT_TOKEN(anon_sym_BANG_EQ);
      END_STATE();
    case 80:
      ACCEPT_TOKEN(anon_sym_QMARK);
      END_STATE();
    case 81:
      ACCEPT_TOKEN(anon_sym_QMARK);
      if (lookahead > '#' &&
          (lookahead < '%' || '-' < lookahead) &&
          lookahead != '/' &&
          (lookahead < ':' || '>' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          (lookahead < '{' || 0x9f < lookahead)) ADVANCE(153);
      END_STATE();
    case 82:
      ACCEPT_TOKEN(anon_sym_COLON);
      END_STATE();
    case 83:
      ACCEPT_TOKEN(anon_sym_LPAREN);
      END_STATE();
    case 84:
      ACCEPT_TOKEN(anon_sym_COMMA);
      END_STATE();
    case 85:
      ACCEPT_TOKEN(anon_sym_RPAREN);
      END_STATE();
    case 86:
      ACCEPT_TOKEN(sym_number_value);
      if (lookahead == '.') ADVANCE(98);
      if (lookahead == '2') ADVANCE(93);
      if (lookahead == 'E' ||
          lookahead == 'e') ADVANCE(29);
      if (lookahead == 'P' ||
          lookahead == 'p') ADVANCE(30);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(93);
      if (('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(32);
      END_STATE();
    case 87:
      ACCEPT_TOKEN(sym_number_value);
      if (lookahead == '.') ADVANCE(98);
      if (lookahead == '2') ADVANCE(89);
      if (lookahead == '6') ADVANCE(93);
      if (lookahead == 'E' ||
          lookahead == 'e') ADVANCE(29);
      if (lookahead == 'P' ||
          lookahead == 'p') ADVANCE(30);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(93);
      if (('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(32);
      END_STATE();
    case 88:
      ACCEPT_TOKEN(sym_number_value);
      if (lookahead == '.') ADVANCE(98);
      if (lookahead == '4') ADVANCE(93);
      if (lookahead == 'E' ||
          lookahead == 'e') ADVANCE(29);
      if (lookahead == 'P' ||
          lookahead == 'p') ADVANCE(30);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(93);
      if (('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(32);
      END_STATE();
    case 89:
      ACCEPT_TOKEN(sym_number_value);
      if (lookahead == '.') ADVANCE(98);
      if (lookahead == '8') ADVANCE(93);
      if (lookahead == 'E' ||
          lookahead == 'e') ADVANCE(29);
      if (lookahead == 'P' ||
          lookahead == 'p') ADVANCE(30);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(93);
      if (('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(32);
      END_STATE();
    case 90:
      ACCEPT_TOKEN(sym_number_value);
      ADVANCE_MAP(
        '.', 98,
        'b', 31,
        'o', 35,
        't', 33,
        'x', 36,
        'E', 29,
        'e', 29,
        'P', 30,
        'p', 30,
      );
      if (('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(32);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(93);
      END_STATE();
    case 91:
      ACCEPT_TOKEN(sym_number_value);
      if (lookahead == '.') ADVANCE(98);
      if (lookahead == '+' ||
          lookahead == '-') ADVANCE(37);
      if (lookahead == 'E' ||
          lookahead == 'e') ADVANCE(91);
      if (lookahead == 'P' ||
          lookahead == 'p') ADVANCE(30);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(94);
      END_STATE();
    case 92:
      ACCEPT_TOKEN(sym_number_value);
      ADVANCE_MAP(
        '.', 98,
        'E', 29,
        'e', 29,
        'H', 123,
        'h', 123,
        'P', 30,
        'p', 30,
        '0', 92,
        '1', 92,
      );
      if (('2' <= lookahead && lookahead <= '9')) ADVANCE(32);
      if (('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(32);
      END_STATE();
    case 93:
      ACCEPT_TOKEN(sym_number_value);
      if (lookahead == '.') ADVANCE(98);
      if (lookahead == 'E' ||
          lookahead == 'e') ADVANCE(29);
      if (lookahead == 'P' ||
          lookahead == 'p') ADVANCE(30);
      if (('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(32);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(93);
      END_STATE();
    case 94:
      ACCEPT_TOKEN(sym_number_value);
      if (lookahead == '.') ADVANCE(98);
      if (lookahead == 'E' ||
          lookahead == 'e') ADVANCE(91);
      if (lookahead == 'P' ||
          lookahead == 'p') ADVANCE(30);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(94);
      END_STATE();
    case 95:
      ACCEPT_TOKEN(sym_number_value);
      if (lookahead == '.') ADVANCE(98);
      if (('0' <= lookahead && lookahead <= '2')) ADVANCE(95);
      if (lookahead == 'E' ||
          lookahead == 'P' ||
          lookahead == 'e' ||
          lookahead == 'p') ADVANCE(30);
      END_STATE();
    case 96:
      ACCEPT_TOKEN(sym_number_value);
      if (lookahead == '.') ADVANCE(98);
      if (lookahead == 'E' ||
          lookahead == 'P' ||
          lookahead == 'e' ||
          lookahead == 'p') ADVANCE(30);
      if (('0' <= lookahead && lookahead <= '7')) ADVANCE(96);
      END_STATE();
    case 97:
      ACCEPT_TOKEN(sym_number_value);
      if (lookahead == '+' ||
          lookahead == '-') ADVANCE(37);
      if (lookahead == 'E' ||
          lookahead == 'e') ADVANCE(97);
      if (lookahead == 'P' ||
          lookahead == 'p') ADVANCE(30);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(98);
      END_STATE();
    case 98:
      ACCEPT_TOKEN(sym_number_value);
      if (lookahead == 'E' ||
          lookahead == 'e') ADVANCE(97);
      if (lookahead == 'P' ||
          lookahead == 'p') ADVANCE(30);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(98);
      END_STATE();
    case 99:
      ACCEPT_TOKEN(sym_number_value);
      if (lookahead == 'H' ||
          lookahead == 'h') ADVANCE(123);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(99);
      if (('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(99);
      END_STATE();
    case 100:
      ACCEPT_TOKEN(sym_number_value);
      if (lookahead == 'E' ||
          lookahead == 'P' ||
          lookahead == 'e' ||
          lookahead == 'p') ADVANCE(151);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(100);
      if (lookahead > '#' &&
          (lookahead < '%' || '-' < lookahead) &&
          (lookahead < '/' || '>' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          (lookahead < '{' || 0x9f < lookahead)) ADVANCE(153);
      END_STATE();
    case 101:
      ACCEPT_TOKEN(sym_number_value);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(101);
      END_STATE();
    case 102:
      ACCEPT_TOKEN(sym_number_value);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(102);
      if (lookahead > '#' &&
          (lookahead < '%' || '-' < lookahead) &&
          (lookahead < '/' || '>' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          (lookahead < '{' || 0x9f < lookahead)) ADVANCE(153);
      END_STATE();
    case 103:
      ACCEPT_TOKEN(sym_number_suffix);
      ADVANCE_MAP(
        '1', 105,
        '3', 104,
        '6', 106,
        'F', 110,
        'L', 110,
        'U', 110,
        'f', 110,
        'l', 110,
        'u', 110,
      );
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(112);
      if (lookahead > '#' &&
          (lookahead < '%' || '-' < lookahead) &&
          (lookahead < '/' || '>' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          (lookahead < '{' || 0x9f < lookahead)) ADVANCE(153);
      END_STATE();
    case 104:
      ACCEPT_TOKEN(sym_number_suffix);
      if (lookahead == '2') ADVANCE(112);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(112);
      if (lookahead > '#' &&
          (lookahead < '%' || '-' < lookahead) &&
          (lookahead < '/' || '>' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          (lookahead < '{' || 0x9f < lookahead)) ADVANCE(153);
      END_STATE();
    case 105:
      ACCEPT_TOKEN(sym_number_suffix);
      if (lookahead == '2') ADVANCE(107);
      if (lookahead == '6') ADVANCE(112);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(112);
      if (lookahead > '#' &&
          (lookahead < '%' || '-' < lookahead) &&
          (lookahead < '/' || '>' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          (lookahead < '{' || 0x9f < lookahead)) ADVANCE(153);
      END_STATE();
    case 106:
      ACCEPT_TOKEN(sym_number_suffix);
      if (lookahead == '4') ADVANCE(112);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(112);
      if (lookahead > '#' &&
          (lookahead < '%' || '-' < lookahead) &&
          (lookahead < '/' || '>' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          (lookahead < '{' || 0x9f < lookahead)) ADVANCE(153);
      END_STATE();
    case 107:
      ACCEPT_TOKEN(sym_number_suffix);
      if (lookahead == '8') ADVANCE(112);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(112);
      if (lookahead > '#' &&
          (lookahead < '%' || '-' < lookahead) &&
          (lookahead < '/' || '>' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          (lookahead < '{' || 0x9f < lookahead)) ADVANCE(153);
      END_STATE();
    case 108:
      ACCEPT_TOKEN(sym_number_suffix);
      ADVANCE_MAP(
        'e', 135,
        'o', 146,
        'F', 110,
        'L', 110,
        'U', 110,
        'f', 110,
        'l', 110,
        'u', 110,
      );
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(112);
      if (lookahead > '#' &&
          (lookahead < '%' || '-' < lookahead) &&
          (lookahead < '/' || '>' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          (lookahead < '{' || 0x9f < lookahead)) ADVANCE(153);
      END_STATE();
    case 109:
      ACCEPT_TOKEN(sym_number_suffix);
      if (lookahead == 'o') ADVANCE(20);
      if (lookahead == 'F' ||
          lookahead == 'L' ||
          lookahead == 'U' ||
          lookahead == 'f' ||
          lookahead == 'l' ||
          lookahead == 'u') ADVANCE(111);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(113);
      END_STATE();
    case 110:
      ACCEPT_TOKEN(sym_number_suffix);
      if (lookahead == 'F' ||
          lookahead == 'L' ||
          lookahead == 'U' ||
          lookahead == 'f' ||
          lookahead == 'l' ||
          lookahead == 'u') ADVANCE(110);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(112);
      if (lookahead > '#' &&
          (lookahead < '%' || '-' < lookahead) &&
          (lookahead < '/' || '>' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          (lookahead < '{' || 0x9f < lookahead)) ADVANCE(153);
      END_STATE();
    case 111:
      ACCEPT_TOKEN(sym_number_suffix);
      if (lookahead == 'F' ||
          lookahead == 'L' ||
          lookahead == 'U' ||
          lookahead == 'f' ||
          lookahead == 'l' ||
          lookahead == 'u') ADVANCE(111);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(113);
      END_STATE();
    case 112:
      ACCEPT_TOKEN(sym_number_suffix);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(112);
      if (lookahead > '#' &&
          (lookahead < '%' || '-' < lookahead) &&
          (lookahead < '/' || '>' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          (lookahead < '{' || 0x9f < lookahead)) ADVANCE(153);
      END_STATE();
    case 113:
      ACCEPT_TOKEN(sym_number_suffix);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(113);
      END_STATE();
    case 114:
      ACCEPT_TOKEN(sym_number_unit);
      END_STATE();
    case 115:
      ACCEPT_TOKEN(sym_number_unit);
      if (lookahead > '#' &&
          (lookahead < '%' || '-' < lookahead) &&
          lookahead != '/' &&
          (lookahead < ':' || '>' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          (lookahead < '{' || 0x9f < lookahead)) ADVANCE(153);
      END_STATE();
    case 116:
      ACCEPT_TOKEN(sym_number_legacy_suffix);
      END_STATE();
    case 117:
      ACCEPT_TOKEN(sym_number_legacy_suffix);
      if (lookahead == 'B') ADVANCE(115);
      if (lookahead == 'i') ADVANCE(143);
      if (lookahead > '#' &&
          (lookahead < '%' || '-' < lookahead) &&
          lookahead != '/' &&
          (lookahead < ':' || '>' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          (lookahead < '{' || 0x9f < lookahead)) ADVANCE(153);
      END_STATE();
    case 118:
      ACCEPT_TOKEN(sym_number_legacy_suffix);
      if (lookahead == 'B') ADVANCE(114);
      if (lookahead == 'i') ADVANCE(12);
      END_STATE();
    case 119:
      ACCEPT_TOKEN(sym_number_legacy_suffix);
      if (lookahead == 'e') ADVANCE(135);
      if (lookahead > '#' &&
          (lookahead < '%' || '-' < lookahead) &&
          lookahead != '/' &&
          (lookahead < ':' || '>' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          (lookahead < '{' || 0x9f < lookahead)) ADVANCE(153);
      END_STATE();
    case 120:
      ACCEPT_TOKEN(sym_number_legacy_suffix);
      if (lookahead == 'o') ADVANCE(144);
      if (lookahead > '#' &&
          (lookahead < '%' || '-' < lookahead) &&
          lookahead != '/' &&
          (lookahead < ':' || '>' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          (lookahead < '{' || 0x9f < lookahead)) ADVANCE(153);
      END_STATE();
    case 121:
      ACCEPT_TOKEN(sym_number_legacy_suffix);
      if (lookahead == 'o') ADVANCE(17);
      END_STATE();
    case 122:
      ACCEPT_TOKEN(sym_number_legacy_suffix);
      if (lookahead > '#' &&
          (lookahead < '%' || '-' < lookahead) &&
          lookahead != '/' &&
          (lookahead < ':' || '>' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          (lookahead < '{' || 0x9f < lookahead)) ADVANCE(153);
      END_STATE();
    case 123:
      ACCEPT_TOKEN(sym_number_legacy_hex);
      END_STATE();
    case 124:
      ACCEPT_TOKEN(sym_address_width);
      END_STATE();
    case 125:
      ACCEPT_TOKEN(sym_address_width);
      if (lookahead > '#' &&
          (lookahead < '%' || '-' < lookahead) &&
          lookahead != '/' &&
          (lookahead < ':' || '>' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          (lookahead < '{' || 0x9f < lookahead)) ADVANCE(153);
      END_STATE();
    case 126:
      ACCEPT_TOKEN(sym_string_bytes);
      END_STATE();
    case 127:
      ACCEPT_TOKEN(sym_special_variable);
      END_STATE();
    case 128:
      ACCEPT_TOKEN(sym_special_variable);
      if (lookahead == '$') ADVANCE(127);
      END_STATE();
    case 129:
      ACCEPT_TOKEN(sym_special_variable);
      if (lookahead == 'M') ADVANCE(127);
      END_STATE();
    case 130:
      ACCEPT_TOKEN(sym_special_variable);
      if (lookahead == 'S') ADVANCE(127);
      END_STATE();
    case 131:
      ACCEPT_TOKEN(sym_special_variable);
      if (lookahead == 'l') ADVANCE(127);
      END_STATE();
    case 132:
      ACCEPT_TOKEN(sym_special_variable);
      if (lookahead == 'B' ||
          lookahead == 'D' ||
          lookahead == 'S') ADVANCE(127);
      END_STATE();
    case 133:
      ACCEPT_TOKEN(sym_special_variable);
      if (lookahead == 'B' ||
          lookahead == 'S' ||
          lookahead == 'b' ||
          lookahead == 'f' ||
          lookahead == 'i' ||
          lookahead == 'j') ADVANCE(127);
      END_STATE();
    case 134:
      ACCEPT_TOKEN(sym__word);
      if (lookahead == '1') ADVANCE(139);
      if (lookahead == '3') ADVANCE(138);
      if (lookahead == '6') ADVANCE(140);
      if (lookahead == '8') ADVANCE(125);
      if (lookahead == 'a') ADVANCE(149);
      if (lookahead == 'd') ADVANCE(147);
      if (lookahead == 'm') ADVANCE(148);
      if (lookahead > '#' &&
          (lookahead < '%' || '-' < lookahead) &&
          lookahead != '/' &&
          (lookahead < ':' || '>' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          (lookahead < '{' || 0x9f < lookahead)) ADVANCE(153);
      END_STATE();
    case 135:
      ACCEPT_TOKEN(sym__word);
      if (lookahead == '1') ADVANCE(139);
      if (lookahead == '3') ADVANCE(138);
      if (lookahead == '6') ADVANCE(140);
      if (lookahead == '8') ADVANCE(125);
      if (lookahead == 'f') ADVANCE(137);
      if (lookahead == 's') ADVANCE(136);
      if (lookahead > '#' &&
          (lookahead < '%' || '-' < lookahead) &&
          lookahead != '/' &&
          (lookahead < ':' || '>' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          (lookahead < '{' || 0x9f < lookahead)) ADVANCE(153);
      END_STATE();
    case 136:
      ACCEPT_TOKEN(sym__word);
      if (lookahead == '1') ADVANCE(139);
      if (lookahead == '3') ADVANCE(138);
      if (lookahead == '6') ADVANCE(140);
      if (lookahead == '8') ADVANCE(125);
      if (lookahead > '#' &&
          (lookahead < '%' || '-' < lookahead) &&
          lookahead != '/' &&
          (lookahead < ':' || '>' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          (lookahead < '{' || 0x9f < lookahead)) ADVANCE(153);
      END_STATE();
    case 137:
      ACCEPT_TOKEN(sym__word);
      if (lookahead == '1') ADVANCE(139);
      if (lookahead == '3') ADVANCE(138);
      if (lookahead == '6') ADVANCE(140);
      if (lookahead > '#' &&
          (lookahead < '%' || '-' < lookahead) &&
          lookahead != '/' &&
          (lookahead < ':' || '>' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          (lookahead < '{' || 0x9f < lookahead)) ADVANCE(153);
      END_STATE();
    case 138:
      ACCEPT_TOKEN(sym__word);
      if (lookahead == '2') ADVANCE(125);
      if (lookahead > '#' &&
          (lookahead < '%' || '-' < lookahead) &&
          lookahead != '/' &&
          (lookahead < ':' || '>' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          (lookahead < '{' || 0x9f < lookahead)) ADVANCE(153);
      END_STATE();
    case 139:
      ACCEPT_TOKEN(sym__word);
      if (lookahead == '2') ADVANCE(141);
      if (lookahead == '6') ADVANCE(125);
      if (lookahead > '#' &&
          (lookahead < '%' || '-' < lookahead) &&
          lookahead != '/' &&
          (lookahead < ':' || '>' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          (lookahead < '{' || 0x9f < lookahead)) ADVANCE(153);
      END_STATE();
    case 140:
      ACCEPT_TOKEN(sym__word);
      if (lookahead == '4') ADVANCE(125);
      if (lookahead > '#' &&
          (lookahead < '%' || '-' < lookahead) &&
          lookahead != '/' &&
          (lookahead < ':' || '>' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          (lookahead < '{' || 0x9f < lookahead)) ADVANCE(153);
      END_STATE();
    case 141:
      ACCEPT_TOKEN(sym__word);
      if (lookahead == '8') ADVANCE(125);
      if (lookahead > '#' &&
          (lookahead < '%' || '-' < lookahead) &&
          lookahead != '/' &&
          (lookahead < ':' || '>' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          (lookahead < '{' || 0x9f < lookahead)) ADVANCE(153);
      END_STATE();
    case 142:
      ACCEPT_TOKEN(sym__word);
      if (lookahead == 'B') ADVANCE(115);
      if (lookahead == 'i') ADVANCE(143);
      if (lookahead > '#' &&
          (lookahead < '%' || '-' < lookahead) &&
          lookahead != '/' &&
          (lookahead < ':' || '>' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          (lookahead < '{' || 0x9f < lookahead)) ADVANCE(153);
      END_STATE();
    case 143:
      ACCEPT_TOKEN(sym__word);
      if (lookahead == 'B') ADVANCE(115);
      if (lookahead > '#' &&
          (lookahead < '%' || '-' < lookahead) &&
          lookahead != '/' &&
          (lookahead < ':' || '>' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          (lookahead < '{' || 0x9f < lookahead)) ADVANCE(153);
      END_STATE();
    case 144:
      ACCEPT_TOKEN(sym__word);
      if (lookahead == 'd') ADVANCE(58);
      if (lookahead > '#' &&
          (lookahead < '%' || '-' < lookahead) &&
          lookahead != '/' &&
          (lookahead < ':' || '>' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          (lookahead < '{' || 0x9f < lookahead)) ADVANCE(153);
      END_STATE();
    case 145:
      ACCEPT_TOKEN(sym__word);
      if (lookahead == 'd') ADVANCE(61);
      if (lookahead > '#' &&
          (lookahead < '%' || '-' < lookahead) &&
          lookahead != '/' &&
          (lookahead < ':' || '>' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          (lookahead < '{' || 0x9f < lookahead)) ADVANCE(153);
      END_STATE();
    case 146:
      ACCEPT_TOKEN(sym__word);
      if (lookahead == 'g') ADVANCE(64);
      if (lookahead > '#' &&
          (lookahead < '%' || '-' < lookahead) &&
          lookahead != '/' &&
          (lookahead < ':' || '>' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          (lookahead < '{' || 0x9f < lookahead)) ADVANCE(153);
      END_STATE();
    case 147:
      ACCEPT_TOKEN(sym__word);
      if (lookahead == 'i') ADVANCE(150);
      if (lookahead > '#' &&
          (lookahead < '%' || '-' < lookahead) &&
          lookahead != '/' &&
          (lookahead < ':' || '>' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          (lookahead < '{' || 0x9f < lookahead)) ADVANCE(153);
      END_STATE();
    case 148:
      ACCEPT_TOKEN(sym__word);
      if (lookahead == 'o') ADVANCE(145);
      if (lookahead > '#' &&
          (lookahead < '%' || '-' < lookahead) &&
          lookahead != '/' &&
          (lookahead < ':' || '>' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          (lookahead < '{' || 0x9f < lookahead)) ADVANCE(153);
      END_STATE();
    case 149:
      ACCEPT_TOKEN(sym__word);
      if (lookahead == 'r') ADVANCE(68);
      if (lookahead > '#' &&
          (lookahead < '%' || '-' < lookahead) &&
          lookahead != '/' &&
          (lookahead < ':' || '>' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          (lookahead < '{' || 0x9f < lookahead)) ADVANCE(153);
      END_STATE();
    case 150:
      ACCEPT_TOKEN(sym__word);
      if (lookahead == 'v') ADVANCE(56);
      if (lookahead > '#' &&
          (lookahead < '%' || '-' < lookahead) &&
          lookahead != '/' &&
          (lookahead < ':' || '>' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          (lookahead < '{' || 0x9f < lookahead)) ADVANCE(153);
      END_STATE();
    case 151:
      ACCEPT_TOKEN(sym__word);
      if (lookahead == '+' ||
          lookahead == '-') ADVANCE(37);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(102);
      if (lookahead > '#' &&
          (lookahead < '%' || '-' < lookahead) &&
          (lookahead < '/' || '>' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          (lookahead < '{' || 0x9f < lookahead)) ADVANCE(153);
      END_STATE();
    case 152:
      ACCEPT_TOKEN(sym__word);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(100);
      if (lookahead > '#' &&
          (lookahead < '%' || '-' < lookahead) &&
          (lookahead < '/' || '>' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          (lookahead < '{' || 0x9f < lookahead)) ADVANCE(153);
      END_STATE();
    case 153:
      ACCEPT_TOKEN(sym__word);
      if (lookahead > '#' &&
          (lookahead < '%' || '-' < lookahead) &&
          lookahead != '/' &&
          (lookahead < ':' || '>' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          (lookahead < '{' || 0x9f < lookahead)) ADVANCE(153);
      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 == 'l') ADVANCE(1);
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(0);
      END_STATE();
    case 1:
      if (lookahead == 'e') ADVANCE(2);
      END_STATE();
    case 2:
      if (lookahead == 't') ADVANCE(3);
      END_STATE();
    case 3:
      ACCEPT_TOKEN(anon_sym_let);
      END_STATE();
    default:
      return false;
  }
}

static const TSLexerMode ts_lex_modes[STATE_COUNT] = {
  [0] = {.lex_state = 0},
  [1] = {.lex_state = 39},
  [2] = {.lex_state = 39},
  [3] = {.lex_state = 39},
  [4] = {.lex_state = 39},
  [5] = {.lex_state = 39},
  [6] = {.lex_state = 39},
  [7] = {.lex_state = 39},
  [8] = {.lex_state = 39},
  [9] = {.lex_state = 39},
  [10] = {.lex_state = 39},
  [11] = {.lex_state = 39},
  [12] = {.lex_state = 39},
  [13] = {.lex_state = 39},
  [14] = {.lex_state = 39},
  [15] = {.lex_state = 39},
  [16] = {.lex_state = 39},
  [17] = {.lex_state = 39},
  [18] = {.lex_state = 39},
  [19] = {.lex_state = 39},
  [20] = {.lex_state = 39},
  [21] = {.lex_state = 39},
  [22] = {.lex_state = 39},
  [23] = {.lex_state = 39},
  [24] = {.lex_state = 39},
  [25] = {.lex_state = 39},
  [26] = {.lex_state = 39},
  [27] = {.lex_state = 39},
  [28] = {.lex_state = 39},
  [29] = {.lex_state = 39},
  [30] = {.lex_state = 39},
  [31] = {.lex_state = 39},
  [32] = {.lex_state = 39},
  [33] = {.lex_state = 39},
  [34] = {.lex_state = 39},
  [35] = {.lex_state = 39},
  [36] = {.lex_state = 39},
  [37] = {.lex_state = 39},
  [38] = {.lex_state = 39},
  [39] = {.lex_state = 39},
  [40] = {.lex_state = 39},
  [41] = {.lex_state = 39},
  [42] = {.lex_state = 39},
  [43] = {.lex_state = 39},
  [44] = {.lex_state = 39},
  [45] = {.lex_state = 39},
  [46] = {.lex_state = 39},
  [47] = {.lex_state = 39},
  [48] = {.lex_state = 39},
  [49] = {.lex_state = 39},
  [50] = {.lex_state = 39},
  [51] = {.lex_state = 39},
  [52] = {.lex_state = 39},
  [53] = {.lex_state = 39},
  [54] = {.lex_state = 39},
  [55] = {.lex_state = 39},
  [56] = {.lex_state = 39},
  [57] = {.lex_state = 39},
  [58] = {.lex_state = 39},
  [59] = {.lex_state = 39},
  [60] = {.lex_state = 39},
  [61] = {.lex_state = 39},
  [62] = {.lex_state = 39},
  [63] = {.lex_state = 39},
  [64] = {.lex_state = 39},
  [65] = {.lex_state = 39},
  [66] = {.lex_state = 39},
  [67] = {.lex_state = 39},
  [68] = {.lex_state = 39},
  [69] = {.lex_state = 39},
  [70] = {.lex_state = 40},
  [71] = {.lex_state = 40},
  [72] = {.lex_state = 40},
  [73] = {.lex_state = 40},
  [74] = {.lex_state = 40},
  [75] = {.lex_state = 40},
  [76] = {.lex_state = 40},
  [77] = {.lex_state = 40},
  [78] = {.lex_state = 40},
  [79] = {.lex_state = 40},
  [80] = {.lex_state = 40},
  [81] = {.lex_state = 40},
  [82] = {.lex_state = 40},
  [83] = {.lex_state = 40},
  [84] = {.lex_state = 40},
  [85] = {.lex_state = 40},
  [86] = {.lex_state = 40},
  [87] = {.lex_state = 40},
  [88] = {.lex_state = 40},
  [89] = {.lex_state = 40},
  [90] = {.lex_state = 40},
  [91] = {.lex_state = 40},
  [92] = {.lex_state = 40},
  [93] = {.lex_state = 40},
  [94] = {.lex_state = 40},
  [95] = {.lex_state = 40},
  [96] = {.lex_state = 40},
  [97] = {.lex_state = 40},
  [98] = {.lex_state = 40},
  [99] = {.lex_state = 40},
  [100] = {.lex_state = 40},
  [101] = {.lex_state = 40},
  [102] = {.lex_state = 40},
  [103] = {.lex_state = 40},
  [104] = {.lex_state = 40},
  [105] = {.lex_state = 40},
  [106] = {.lex_state = 40},
  [107] = {.lex_state = 40},
  [108] = {.lex_state = 40},
  [109] = {.lex_state = 40},
  [110] = {.lex_state = 40},
  [111] = {.lex_state = 40},
  [112] = {.lex_state = 40},
  [113] = {.lex_state = 40},
  [114] = {.lex_state = 40},
  [115] = {.lex_state = 40},
  [116] = {.lex_state = 40},
  [117] = {.lex_state = 40},
  [118] = {.lex_state = 40},
  [119] = {.lex_state = 40},
  [120] = {.lex_state = 40},
  [121] = {.lex_state = 40},
  [122] = {.lex_state = 40},
  [123] = {.lex_state = 40},
  [124] = {.lex_state = 40},
  [125] = {.lex_state = 40},
  [126] = {.lex_state = 40},
  [127] = {.lex_state = 40},
  [128] = {.lex_state = 40},
  [129] = {.lex_state = 40},
  [130] = {.lex_state = 40},
  [131] = {.lex_state = 40},
  [132] = {.lex_state = 40},
  [133] = {.lex_state = 40},
  [134] = {.lex_state = 40},
  [135] = {.lex_state = 40},
  [136] = {.lex_state = 40},
  [137] = {.lex_state = 40},
  [138] = {.lex_state = 40},
  [139] = {.lex_state = 40},
  [140] = {.lex_state = 40},
  [141] = {.lex_state = 40},
  [142] = {.lex_state = 40},
  [143] = {.lex_state = 40},
  [144] = {.lex_state = 40},
  [145] = {.lex_state = 40},
  [146] = {.lex_state = 40},
  [147] = {.lex_state = 39},
  [148] = {.lex_state = 39},
  [149] = {.lex_state = 39},
  [150] = {.lex_state = 39},
  [151] = {.lex_state = 0},
  [152] = {.lex_state = 0},
  [153] = {.lex_state = 0},
  [154] = {.lex_state = 0},
  [155] = {.lex_state = 0},
  [156] = {.lex_state = 0},
  [157] = {.lex_state = 34},
  [158] = {.lex_state = 34},
  [159] = {.lex_state = 0},
  [160] = {.lex_state = 5},
  [161] = {.lex_state = 0},
  [162] = {.lex_state = 0},
  [163] = {.lex_state = 0},
  [164] = {.lex_state = 0},
};

static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
  [STATE(0)] = {
    [ts_builtin_sym_end] = ACTIONS(1),
    [sym__word] = ACTIONS(1),
    [anon_sym_SEMI] = ACTIONS(1),
    [anon_sym_let] = ACTIONS(1),
    [anon_sym_EQ] = ACTIONS(1),
    [anon_sym_PLUS_PLUS] = ACTIONS(1),
    [anon_sym_DASH_DASH] = ACTIONS(1),
    [anon_sym_PLUS] = ACTIONS(1),
    [anon_sym_DASH] = ACTIONS(1),
    [anon_sym_TILDE] = ACTIONS(1),
    [anon_sym_BANG] = ACTIONS(1),
    [anon_sym_STAR] = ACTIONS(1),
    [anon_sym_SLASH] = ACTIONS(1),
    [anon_sym_sdiv] = ACTIONS(1),
    [anon_sym_mod] = ACTIONS(1),
    [anon_sym_PERCENT] = ACTIONS(1),
    [anon_sym_smod] = ACTIONS(1),
    [anon_sym_STAR_STAR] = ACTIONS(1),
    [anon_sym_log] = ACTIONS(1),
    [anon_sym_LT_LT] = ACTIONS(1),
    [anon_sym_GT_GT] = ACTIONS(1),
    [anon_sym_sar] = ACTIONS(1),
    [anon_sym_LT_LT_LT] = ACTIONS(1),
    [anon_sym_GT_GT_GT] = ACTIONS(1),
    [anon_sym_AMP] = ACTIONS(1),
    [anon_sym_CARET] = ACTIONS(1),
    [anon_sym_PIPE] = ACTIONS(1),
    [anon_sym_LT] = ACTIONS(1),
    [anon_sym_LT_EQ] = ACTIONS(1),
    [anon_sym_GT] = ACTIONS(1),
    [anon_sym_GT_EQ] = ACTIONS(1),
    [anon_sym_EQ_EQ] = ACTIONS(1),
    [anon_sym_BANG_EQ] = ACTIONS(1),
    [anon_sym_QMARK] = ACTIONS(1),
    [anon_sym_COLON] = ACTIONS(1),
    [anon_sym_LPAREN] = ACTIONS(1),
    [anon_sym_COMMA] = ACTIONS(1),
    [anon_sym_RPAREN] = ACTIONS(1),
    [sym_number_value] = ACTIONS(1),
    [sym_number_suffix] = ACTIONS(1),
    [sym_number_unit] = ACTIONS(1),
    [sym_number_legacy_suffix] = ACTIONS(1),
    [sym_number_legacy_hex] = ACTIONS(1),
    [sym_address_width] = ACTIONS(1),
    [sym_string_bytes] = ACTIONS(1),
    [sym_special_variable] = ACTIONS(1),
  },
  [STATE(1)] = {
    [sym_expression] = STATE(162),
    [sym__expression] = STATE(114),
    [sym_let_assignment] = STATE(114),
    [sym_assignment] = STATE(114),
    [sym_increment] = STATE(114),
    [sym_decrement] = STATE(114),
    [sym_unary_plus] = STATE(114),
    [sym_unary_minus] = STATE(114),
    [sym_logical_negation] = STATE(114),
    [sym_logical_not] = STATE(114),
    [sym_sum] = STATE(114),
    [sym_subtraction] = STATE(114),
    [sym_product] = STATE(114),
    [sym_division] = STATE(114),
    [sym_signed_division] = STATE(114),
    [sym_modulo] = STATE(114),
    [sym_signed_modulo] = STATE(114),
    [sym_exponent] = STATE(114),
    [sym_logarithm] = STATE(114),
    [sym_logical_shl] = STATE(114),
    [sym_logical_shr] = STATE(114),
    [sym_arith_shr] = STATE(114),
    [sym_logical_rol] = STATE(114),
    [sym_logical_ror] = STATE(114),
    [sym_logical_and] = STATE(114),
    [sym_logical_xor] = STATE(114),
    [sym_logical_or] = STATE(114),
    [sym_less_than] = STATE(114),
    [sym_less_equal] = STATE(114),
    [sym_greater_than] = STATE(114),
    [sym_greater_equal] = STATE(114),
    [sym_equal] = STATE(114),
    [sym_not_equal] = STATE(114),
    [sym_conditional] = STATE(114),
    [sym_function] = STATE(114),
    [sym_parenthesized_expression] = STATE(114),
    [sym_number] = STATE(114),
    [sym_address_typed] = STATE(114),
    [sym_variable] = STATE(84),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(5),
    [anon_sym_PLUS_PLUS] = ACTIONS(7),
    [anon_sym_DASH_DASH] = ACTIONS(9),
    [anon_sym_PLUS] = ACTIONS(11),
    [anon_sym_DASH] = ACTIONS(13),
    [anon_sym_TILDE] = ACTIONS(15),
    [anon_sym_BANG] = ACTIONS(17),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(21),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(25),
    [sym_special_variable] = ACTIONS(25),
  },
  [STATE(2)] = {
    [sym__expression] = STATE(115),
    [sym_let_assignment] = STATE(115),
    [sym_assignment] = STATE(115),
    [sym_increment] = STATE(115),
    [sym_decrement] = STATE(115),
    [sym_unary_plus] = STATE(115),
    [sym_unary_minus] = STATE(115),
    [sym_logical_negation] = STATE(115),
    [sym_logical_not] = STATE(115),
    [sym_sum] = STATE(115),
    [sym_subtraction] = STATE(115),
    [sym_product] = STATE(115),
    [sym_division] = STATE(115),
    [sym_signed_division] = STATE(115),
    [sym_modulo] = STATE(115),
    [sym_signed_modulo] = STATE(115),
    [sym_exponent] = STATE(115),
    [sym_logarithm] = STATE(115),
    [sym_logical_shl] = STATE(115),
    [sym_logical_shr] = STATE(115),
    [sym_arith_shr] = STATE(115),
    [sym_logical_rol] = STATE(115),
    [sym_logical_ror] = STATE(115),
    [sym_logical_and] = STATE(115),
    [sym_logical_xor] = STATE(115),
    [sym_logical_or] = STATE(115),
    [sym_less_than] = STATE(115),
    [sym_less_equal] = STATE(115),
    [sym_greater_than] = STATE(115),
    [sym_greater_equal] = STATE(115),
    [sym_equal] = STATE(115),
    [sym_not_equal] = STATE(115),
    [sym_conditional] = STATE(115),
    [sym_function] = STATE(115),
    [sym_argument] = STATE(152),
    [sym_parenthesized_expression] = STATE(115),
    [sym_number] = STATE(115),
    [sym_address_typed] = STATE(115),
    [sym_variable] = STATE(84),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(5),
    [anon_sym_PLUS_PLUS] = ACTIONS(7),
    [anon_sym_DASH_DASH] = ACTIONS(9),
    [anon_sym_PLUS] = ACTIONS(11),
    [anon_sym_DASH] = ACTIONS(13),
    [anon_sym_TILDE] = ACTIONS(15),
    [anon_sym_BANG] = ACTIONS(17),
    [anon_sym_LPAREN] = ACTIONS(19),
    [anon_sym_RPAREN] = ACTIONS(27),
    [sym_number_value] = ACTIONS(21),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(29),
    [sym_special_variable] = ACTIONS(29),
  },
  [STATE(3)] = {
    [sym__expression] = STATE(116),
    [sym_let_assignment] = STATE(116),
    [sym_assignment] = STATE(116),
    [sym_increment] = STATE(116),
    [sym_decrement] = STATE(116),
    [sym_unary_plus] = STATE(116),
    [sym_unary_minus] = STATE(116),
    [sym_logical_negation] = STATE(116),
    [sym_logical_not] = STATE(116),
    [sym_sum] = STATE(116),
    [sym_subtraction] = STATE(116),
    [sym_product] = STATE(116),
    [sym_division] = STATE(116),
    [sym_signed_division] = STATE(116),
    [sym_modulo] = STATE(116),
    [sym_signed_modulo] = STATE(116),
    [sym_exponent] = STATE(116),
    [sym_logarithm] = STATE(116),
    [sym_logical_shl] = STATE(116),
    [sym_logical_shr] = STATE(116),
    [sym_arith_shr] = STATE(116),
    [sym_logical_rol] = STATE(116),
    [sym_logical_ror] = STATE(116),
    [sym_logical_and] = STATE(116),
    [sym_logical_xor] = STATE(116),
    [sym_logical_or] = STATE(116),
    [sym_less_than] = STATE(116),
    [sym_less_equal] = STATE(116),
    [sym_greater_than] = STATE(116),
    [sym_greater_equal] = STATE(116),
    [sym_equal] = STATE(116),
    [sym_not_equal] = STATE(116),
    [sym_conditional] = STATE(116),
    [sym_function] = STATE(116),
    [sym_parenthesized_expression] = STATE(116),
    [sym_number] = STATE(116),
    [sym_address_typed] = STATE(116),
    [sym_variable] = STATE(84),
    [sym_function_name] = STATE(156),
    [ts_builtin_sym_end] = ACTIONS(31),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(5),
    [anon_sym_PLUS_PLUS] = ACTIONS(7),
    [anon_sym_DASH_DASH] = ACTIONS(9),
    [anon_sym_PLUS] = ACTIONS(11),
    [anon_sym_DASH] = ACTIONS(13),
    [anon_sym_TILDE] = ACTIONS(15),
    [anon_sym_BANG] = ACTIONS(17),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(21),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(33),
    [sym_special_variable] = ACTIONS(33),
  },
  [STATE(4)] = {
    [sym__expression] = STATE(116),
    [sym_let_assignment] = STATE(116),
    [sym_assignment] = STATE(116),
    [sym_increment] = STATE(116),
    [sym_decrement] = STATE(116),
    [sym_unary_plus] = STATE(116),
    [sym_unary_minus] = STATE(116),
    [sym_logical_negation] = STATE(116),
    [sym_logical_not] = STATE(116),
    [sym_sum] = STATE(116),
    [sym_subtraction] = STATE(116),
    [sym_product] = STATE(116),
    [sym_division] = STATE(116),
    [sym_signed_division] = STATE(116),
    [sym_modulo] = STATE(116),
    [sym_signed_modulo] = STATE(116),
    [sym_exponent] = STATE(116),
    [sym_logarithm] = STATE(116),
    [sym_logical_shl] = STATE(116),
    [sym_logical_shr] = STATE(116),
    [sym_arith_shr] = STATE(116),
    [sym_logical_rol] = STATE(116),
    [sym_logical_ror] = STATE(116),
    [sym_logical_and] = STATE(116),
    [sym_logical_xor] = STATE(116),
    [sym_logical_or] = STATE(116),
    [sym_less_than] = STATE(116),
    [sym_less_equal] = STATE(116),
    [sym_greater_than] = STATE(116),
    [sym_greater_equal] = STATE(116),
    [sym_equal] = STATE(116),
    [sym_not_equal] = STATE(116),
    [sym_conditional] = STATE(116),
    [sym_function] = STATE(116),
    [sym_parenthesized_expression] = STATE(116),
    [sym_number] = STATE(116),
    [sym_address_typed] = STATE(116),
    [sym_variable] = STATE(84),
    [sym_function_name] = STATE(156),
    [ts_builtin_sym_end] = ACTIONS(35),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(5),
    [anon_sym_PLUS_PLUS] = ACTIONS(7),
    [anon_sym_DASH_DASH] = ACTIONS(9),
    [anon_sym_PLUS] = ACTIONS(11),
    [anon_sym_DASH] = ACTIONS(13),
    [anon_sym_TILDE] = ACTIONS(15),
    [anon_sym_BANG] = ACTIONS(17),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(21),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(33),
    [sym_special_variable] = ACTIONS(33),
  },
  [STATE(5)] = {
    [sym__expression] = STATE(115),
    [sym_let_assignment] = STATE(115),
    [sym_assignment] = STATE(115),
    [sym_increment] = STATE(115),
    [sym_decrement] = STATE(115),
    [sym_unary_plus] = STATE(115),
    [sym_unary_minus] = STATE(115),
    [sym_logical_negation] = STATE(115),
    [sym_logical_not] = STATE(115),
    [sym_sum] = STATE(115),
    [sym_subtraction] = STATE(115),
    [sym_product] = STATE(115),
    [sym_division] = STATE(115),
    [sym_signed_division] = STATE(115),
    [sym_modulo] = STATE(115),
    [sym_signed_modulo] = STATE(115),
    [sym_exponent] = STATE(115),
    [sym_logarithm] = STATE(115),
    [sym_logical_shl] = STATE(115),
    [sym_logical_shr] = STATE(115),
    [sym_arith_shr] = STATE(115),
    [sym_logical_rol] = STATE(115),
    [sym_logical_ror] = STATE(115),
    [sym_logical_and] = STATE(115),
    [sym_logical_xor] = STATE(115),
    [sym_logical_or] = STATE(115),
    [sym_less_than] = STATE(115),
    [sym_less_equal] = STATE(115),
    [sym_greater_than] = STATE(115),
    [sym_greater_equal] = STATE(115),
    [sym_equal] = STATE(115),
    [sym_not_equal] = STATE(115),
    [sym_conditional] = STATE(115),
    [sym_function] = STATE(115),
    [sym_argument] = STATE(159),
    [sym_parenthesized_expression] = STATE(115),
    [sym_number] = STATE(115),
    [sym_address_typed] = STATE(115),
    [sym_variable] = STATE(84),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(5),
    [anon_sym_PLUS_PLUS] = ACTIONS(7),
    [anon_sym_DASH_DASH] = ACTIONS(9),
    [anon_sym_PLUS] = ACTIONS(11),
    [anon_sym_DASH] = ACTIONS(13),
    [anon_sym_TILDE] = ACTIONS(15),
    [anon_sym_BANG] = ACTIONS(17),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(21),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(29),
    [sym_special_variable] = ACTIONS(29),
  },
  [STATE(6)] = {
    [sym__expression] = STATE(76),
    [sym_let_assignment] = STATE(76),
    [sym_assignment] = STATE(76),
    [sym_increment] = STATE(76),
    [sym_decrement] = STATE(76),
    [sym_unary_plus] = STATE(76),
    [sym_unary_minus] = STATE(76),
    [sym_logical_negation] = STATE(76),
    [sym_logical_not] = STATE(76),
    [sym_sum] = STATE(76),
    [sym_subtraction] = STATE(76),
    [sym_product] = STATE(76),
    [sym_division] = STATE(76),
    [sym_signed_division] = STATE(76),
    [sym_modulo] = STATE(76),
    [sym_signed_modulo] = STATE(76),
    [sym_exponent] = STATE(76),
    [sym_logarithm] = STATE(76),
    [sym_logical_shl] = STATE(76),
    [sym_logical_shr] = STATE(76),
    [sym_arith_shr] = STATE(76),
    [sym_logical_rol] = STATE(76),
    [sym_logical_ror] = STATE(76),
    [sym_logical_and] = STATE(76),
    [sym_logical_xor] = STATE(76),
    [sym_logical_or] = STATE(76),
    [sym_less_than] = STATE(76),
    [sym_less_equal] = STATE(76),
    [sym_greater_than] = STATE(76),
    [sym_greater_equal] = STATE(76),
    [sym_equal] = STATE(76),
    [sym_not_equal] = STATE(76),
    [sym_conditional] = STATE(76),
    [sym_function] = STATE(76),
    [sym_parenthesized_expression] = STATE(76),
    [sym_number] = STATE(76),
    [sym_address_typed] = STATE(76),
    [sym_variable] = STATE(117),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(37),
    [anon_sym_PLUS_PLUS] = ACTIONS(39),
    [anon_sym_DASH_DASH] = ACTIONS(41),
    [anon_sym_PLUS] = ACTIONS(43),
    [anon_sym_DASH] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(47),
    [anon_sym_BANG] = ACTIONS(49),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(51),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(53),
    [sym_special_variable] = ACTIONS(53),
  },
  [STATE(7)] = {
    [sym__expression] = STATE(77),
    [sym_let_assignment] = STATE(77),
    [sym_assignment] = STATE(77),
    [sym_increment] = STATE(77),
    [sym_decrement] = STATE(77),
    [sym_unary_plus] = STATE(77),
    [sym_unary_minus] = STATE(77),
    [sym_logical_negation] = STATE(77),
    [sym_logical_not] = STATE(77),
    [sym_sum] = STATE(77),
    [sym_subtraction] = STATE(77),
    [sym_product] = STATE(77),
    [sym_division] = STATE(77),
    [sym_signed_division] = STATE(77),
    [sym_modulo] = STATE(77),
    [sym_signed_modulo] = STATE(77),
    [sym_exponent] = STATE(77),
    [sym_logarithm] = STATE(77),
    [sym_logical_shl] = STATE(77),
    [sym_logical_shr] = STATE(77),
    [sym_arith_shr] = STATE(77),
    [sym_logical_rol] = STATE(77),
    [sym_logical_ror] = STATE(77),
    [sym_logical_and] = STATE(77),
    [sym_logical_xor] = STATE(77),
    [sym_logical_or] = STATE(77),
    [sym_less_than] = STATE(77),
    [sym_less_equal] = STATE(77),
    [sym_greater_than] = STATE(77),
    [sym_greater_equal] = STATE(77),
    [sym_equal] = STATE(77),
    [sym_not_equal] = STATE(77),
    [sym_conditional] = STATE(77),
    [sym_function] = STATE(77),
    [sym_parenthesized_expression] = STATE(77),
    [sym_number] = STATE(77),
    [sym_address_typed] = STATE(77),
    [sym_variable] = STATE(84),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(5),
    [anon_sym_PLUS_PLUS] = ACTIONS(7),
    [anon_sym_DASH_DASH] = ACTIONS(9),
    [anon_sym_PLUS] = ACTIONS(11),
    [anon_sym_DASH] = ACTIONS(13),
    [anon_sym_TILDE] = ACTIONS(15),
    [anon_sym_BANG] = ACTIONS(17),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(21),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(55),
    [sym_special_variable] = ACTIONS(55),
  },
  [STATE(8)] = {
    [sym__expression] = STATE(102),
    [sym_let_assignment] = STATE(102),
    [sym_assignment] = STATE(102),
    [sym_increment] = STATE(102),
    [sym_decrement] = STATE(102),
    [sym_unary_plus] = STATE(102),
    [sym_unary_minus] = STATE(102),
    [sym_logical_negation] = STATE(102),
    [sym_logical_not] = STATE(102),
    [sym_sum] = STATE(102),
    [sym_subtraction] = STATE(102),
    [sym_product] = STATE(102),
    [sym_division] = STATE(102),
    [sym_signed_division] = STATE(102),
    [sym_modulo] = STATE(102),
    [sym_signed_modulo] = STATE(102),
    [sym_exponent] = STATE(102),
    [sym_logarithm] = STATE(102),
    [sym_logical_shl] = STATE(102),
    [sym_logical_shr] = STATE(102),
    [sym_arith_shr] = STATE(102),
    [sym_logical_rol] = STATE(102),
    [sym_logical_ror] = STATE(102),
    [sym_logical_and] = STATE(102),
    [sym_logical_xor] = STATE(102),
    [sym_logical_or] = STATE(102),
    [sym_less_than] = STATE(102),
    [sym_less_equal] = STATE(102),
    [sym_greater_than] = STATE(102),
    [sym_greater_equal] = STATE(102),
    [sym_equal] = STATE(102),
    [sym_not_equal] = STATE(102),
    [sym_conditional] = STATE(102),
    [sym_function] = STATE(102),
    [sym_parenthesized_expression] = STATE(102),
    [sym_number] = STATE(102),
    [sym_address_typed] = STATE(102),
    [sym_variable] = STATE(84),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(5),
    [anon_sym_PLUS_PLUS] = ACTIONS(7),
    [anon_sym_DASH_DASH] = ACTIONS(9),
    [anon_sym_PLUS] = ACTIONS(11),
    [anon_sym_DASH] = ACTIONS(13),
    [anon_sym_TILDE] = ACTIONS(15),
    [anon_sym_BANG] = ACTIONS(17),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(21),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(57),
    [sym_special_variable] = ACTIONS(57),
  },
  [STATE(9)] = {
    [sym__expression] = STATE(103),
    [sym_let_assignment] = STATE(103),
    [sym_assignment] = STATE(103),
    [sym_increment] = STATE(103),
    [sym_decrement] = STATE(103),
    [sym_unary_plus] = STATE(103),
    [sym_unary_minus] = STATE(103),
    [sym_logical_negation] = STATE(103),
    [sym_logical_not] = STATE(103),
    [sym_sum] = STATE(103),
    [sym_subtraction] = STATE(103),
    [sym_product] = STATE(103),
    [sym_division] = STATE(103),
    [sym_signed_division] = STATE(103),
    [sym_modulo] = STATE(103),
    [sym_signed_modulo] = STATE(103),
    [sym_exponent] = STATE(103),
    [sym_logarithm] = STATE(103),
    [sym_logical_shl] = STATE(103),
    [sym_logical_shr] = STATE(103),
    [sym_arith_shr] = STATE(103),
    [sym_logical_rol] = STATE(103),
    [sym_logical_ror] = STATE(103),
    [sym_logical_and] = STATE(103),
    [sym_logical_xor] = STATE(103),
    [sym_logical_or] = STATE(103),
    [sym_less_than] = STATE(103),
    [sym_less_equal] = STATE(103),
    [sym_greater_than] = STATE(103),
    [sym_greater_equal] = STATE(103),
    [sym_equal] = STATE(103),
    [sym_not_equal] = STATE(103),
    [sym_conditional] = STATE(103),
    [sym_function] = STATE(103),
    [sym_parenthesized_expression] = STATE(103),
    [sym_number] = STATE(103),
    [sym_address_typed] = STATE(103),
    [sym_variable] = STATE(84),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(5),
    [anon_sym_PLUS_PLUS] = ACTIONS(7),
    [anon_sym_DASH_DASH] = ACTIONS(9),
    [anon_sym_PLUS] = ACTIONS(11),
    [anon_sym_DASH] = ACTIONS(13),
    [anon_sym_TILDE] = ACTIONS(15),
    [anon_sym_BANG] = ACTIONS(17),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(21),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(59),
    [sym_special_variable] = ACTIONS(59),
  },
  [STATE(10)] = {
    [sym__expression] = STATE(104),
    [sym_let_assignment] = STATE(104),
    [sym_assignment] = STATE(104),
    [sym_increment] = STATE(104),
    [sym_decrement] = STATE(104),
    [sym_unary_plus] = STATE(104),
    [sym_unary_minus] = STATE(104),
    [sym_logical_negation] = STATE(104),
    [sym_logical_not] = STATE(104),
    [sym_sum] = STATE(104),
    [sym_subtraction] = STATE(104),
    [sym_product] = STATE(104),
    [sym_division] = STATE(104),
    [sym_signed_division] = STATE(104),
    [sym_modulo] = STATE(104),
    [sym_signed_modulo] = STATE(104),
    [sym_exponent] = STATE(104),
    [sym_logarithm] = STATE(104),
    [sym_logical_shl] = STATE(104),
    [sym_logical_shr] = STATE(104),
    [sym_arith_shr] = STATE(104),
    [sym_logical_rol] = STATE(104),
    [sym_logical_ror] = STATE(104),
    [sym_logical_and] = STATE(104),
    [sym_logical_xor] = STATE(104),
    [sym_logical_or] = STATE(104),
    [sym_less_than] = STATE(104),
    [sym_less_equal] = STATE(104),
    [sym_greater_than] = STATE(104),
    [sym_greater_equal] = STATE(104),
    [sym_equal] = STATE(104),
    [sym_not_equal] = STATE(104),
    [sym_conditional] = STATE(104),
    [sym_function] = STATE(104),
    [sym_parenthesized_expression] = STATE(104),
    [sym_number] = STATE(104),
    [sym_address_typed] = STATE(104),
    [sym_variable] = STATE(84),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(5),
    [anon_sym_PLUS_PLUS] = ACTIONS(7),
    [anon_sym_DASH_DASH] = ACTIONS(9),
    [anon_sym_PLUS] = ACTIONS(11),
    [anon_sym_DASH] = ACTIONS(13),
    [anon_sym_TILDE] = ACTIONS(15),
    [anon_sym_BANG] = ACTIONS(17),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(21),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(61),
    [sym_special_variable] = ACTIONS(61),
  },
  [STATE(11)] = {
    [sym__expression] = STATE(105),
    [sym_let_assignment] = STATE(105),
    [sym_assignment] = STATE(105),
    [sym_increment] = STATE(105),
    [sym_decrement] = STATE(105),
    [sym_unary_plus] = STATE(105),
    [sym_unary_minus] = STATE(105),
    [sym_logical_negation] = STATE(105),
    [sym_logical_not] = STATE(105),
    [sym_sum] = STATE(105),
    [sym_subtraction] = STATE(105),
    [sym_product] = STATE(105),
    [sym_division] = STATE(105),
    [sym_signed_division] = STATE(105),
    [sym_modulo] = STATE(105),
    [sym_signed_modulo] = STATE(105),
    [sym_exponent] = STATE(105),
    [sym_logarithm] = STATE(105),
    [sym_logical_shl] = STATE(105),
    [sym_logical_shr] = STATE(105),
    [sym_arith_shr] = STATE(105),
    [sym_logical_rol] = STATE(105),
    [sym_logical_ror] = STATE(105),
    [sym_logical_and] = STATE(105),
    [sym_logical_xor] = STATE(105),
    [sym_logical_or] = STATE(105),
    [sym_less_than] = STATE(105),
    [sym_less_equal] = STATE(105),
    [sym_greater_than] = STATE(105),
    [sym_greater_equal] = STATE(105),
    [sym_equal] = STATE(105),
    [sym_not_equal] = STATE(105),
    [sym_conditional] = STATE(105),
    [sym_function] = STATE(105),
    [sym_parenthesized_expression] = STATE(105),
    [sym_number] = STATE(105),
    [sym_address_typed] = STATE(105),
    [sym_variable] = STATE(84),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(5),
    [anon_sym_PLUS_PLUS] = ACTIONS(7),
    [anon_sym_DASH_DASH] = ACTIONS(9),
    [anon_sym_PLUS] = ACTIONS(11),
    [anon_sym_DASH] = ACTIONS(13),
    [anon_sym_TILDE] = ACTIONS(15),
    [anon_sym_BANG] = ACTIONS(17),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(21),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(63),
    [sym_special_variable] = ACTIONS(63),
  },
  [STATE(12)] = {
    [sym__expression] = STATE(106),
    [sym_let_assignment] = STATE(106),
    [sym_assignment] = STATE(106),
    [sym_increment] = STATE(106),
    [sym_decrement] = STATE(106),
    [sym_unary_plus] = STATE(106),
    [sym_unary_minus] = STATE(106),
    [sym_logical_negation] = STATE(106),
    [sym_logical_not] = STATE(106),
    [sym_sum] = STATE(106),
    [sym_subtraction] = STATE(106),
    [sym_product] = STATE(106),
    [sym_division] = STATE(106),
    [sym_signed_division] = STATE(106),
    [sym_modulo] = STATE(106),
    [sym_signed_modulo] = STATE(106),
    [sym_exponent] = STATE(106),
    [sym_logarithm] = STATE(106),
    [sym_logical_shl] = STATE(106),
    [sym_logical_shr] = STATE(106),
    [sym_arith_shr] = STATE(106),
    [sym_logical_rol] = STATE(106),
    [sym_logical_ror] = STATE(106),
    [sym_logical_and] = STATE(106),
    [sym_logical_xor] = STATE(106),
    [sym_logical_or] = STATE(106),
    [sym_less_than] = STATE(106),
    [sym_less_equal] = STATE(106),
    [sym_greater_than] = STATE(106),
    [sym_greater_equal] = STATE(106),
    [sym_equal] = STATE(106),
    [sym_not_equal] = STATE(106),
    [sym_conditional] = STATE(106),
    [sym_function] = STATE(106),
    [sym_parenthesized_expression] = STATE(106),
    [sym_number] = STATE(106),
    [sym_address_typed] = STATE(106),
    [sym_variable] = STATE(84),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(5),
    [anon_sym_PLUS_PLUS] = ACTIONS(7),
    [anon_sym_DASH_DASH] = ACTIONS(9),
    [anon_sym_PLUS] = ACTIONS(11),
    [anon_sym_DASH] = ACTIONS(13),
    [anon_sym_TILDE] = ACTIONS(15),
    [anon_sym_BANG] = ACTIONS(17),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(21),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(65),
    [sym_special_variable] = ACTIONS(65),
  },
  [STATE(13)] = {
    [sym__expression] = STATE(107),
    [sym_let_assignment] = STATE(107),
    [sym_assignment] = STATE(107),
    [sym_increment] = STATE(107),
    [sym_decrement] = STATE(107),
    [sym_unary_plus] = STATE(107),
    [sym_unary_minus] = STATE(107),
    [sym_logical_negation] = STATE(107),
    [sym_logical_not] = STATE(107),
    [sym_sum] = STATE(107),
    [sym_subtraction] = STATE(107),
    [sym_product] = STATE(107),
    [sym_division] = STATE(107),
    [sym_signed_division] = STATE(107),
    [sym_modulo] = STATE(107),
    [sym_signed_modulo] = STATE(107),
    [sym_exponent] = STATE(107),
    [sym_logarithm] = STATE(107),
    [sym_logical_shl] = STATE(107),
    [sym_logical_shr] = STATE(107),
    [sym_arith_shr] = STATE(107),
    [sym_logical_rol] = STATE(107),
    [sym_logical_ror] = STATE(107),
    [sym_logical_and] = STATE(107),
    [sym_logical_xor] = STATE(107),
    [sym_logical_or] = STATE(107),
    [sym_less_than] = STATE(107),
    [sym_less_equal] = STATE(107),
    [sym_greater_than] = STATE(107),
    [sym_greater_equal] = STATE(107),
    [sym_equal] = STATE(107),
    [sym_not_equal] = STATE(107),
    [sym_conditional] = STATE(107),
    [sym_function] = STATE(107),
    [sym_parenthesized_expression] = STATE(107),
    [sym_number] = STATE(107),
    [sym_address_typed] = STATE(107),
    [sym_variable] = STATE(84),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(5),
    [anon_sym_PLUS_PLUS] = ACTIONS(7),
    [anon_sym_DASH_DASH] = ACTIONS(9),
    [anon_sym_PLUS] = ACTIONS(11),
    [anon_sym_DASH] = ACTIONS(13),
    [anon_sym_TILDE] = ACTIONS(15),
    [anon_sym_BANG] = ACTIONS(17),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(21),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(67),
    [sym_special_variable] = ACTIONS(67),
  },
  [STATE(14)] = {
    [sym__expression] = STATE(109),
    [sym_let_assignment] = STATE(109),
    [sym_assignment] = STATE(109),
    [sym_increment] = STATE(109),
    [sym_decrement] = STATE(109),
    [sym_unary_plus] = STATE(109),
    [sym_unary_minus] = STATE(109),
    [sym_logical_negation] = STATE(109),
    [sym_logical_not] = STATE(109),
    [sym_sum] = STATE(109),
    [sym_subtraction] = STATE(109),
    [sym_product] = STATE(109),
    [sym_division] = STATE(109),
    [sym_signed_division] = STATE(109),
    [sym_modulo] = STATE(109),
    [sym_signed_modulo] = STATE(109),
    [sym_exponent] = STATE(109),
    [sym_logarithm] = STATE(109),
    [sym_logical_shl] = STATE(109),
    [sym_logical_shr] = STATE(109),
    [sym_arith_shr] = STATE(109),
    [sym_logical_rol] = STATE(109),
    [sym_logical_ror] = STATE(109),
    [sym_logical_and] = STATE(109),
    [sym_logical_xor] = STATE(109),
    [sym_logical_or] = STATE(109),
    [sym_less_than] = STATE(109),
    [sym_less_equal] = STATE(109),
    [sym_greater_than] = STATE(109),
    [sym_greater_equal] = STATE(109),
    [sym_equal] = STATE(109),
    [sym_not_equal] = STATE(109),
    [sym_conditional] = STATE(109),
    [sym_function] = STATE(109),
    [sym_parenthesized_expression] = STATE(109),
    [sym_number] = STATE(109),
    [sym_address_typed] = STATE(109),
    [sym_variable] = STATE(84),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(5),
    [anon_sym_PLUS_PLUS] = ACTIONS(7),
    [anon_sym_DASH_DASH] = ACTIONS(9),
    [anon_sym_PLUS] = ACTIONS(11),
    [anon_sym_DASH] = ACTIONS(13),
    [anon_sym_TILDE] = ACTIONS(15),
    [anon_sym_BANG] = ACTIONS(17),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(21),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(69),
    [sym_special_variable] = ACTIONS(69),
  },
  [STATE(15)] = {
    [sym__expression] = STATE(110),
    [sym_let_assignment] = STATE(110),
    [sym_assignment] = STATE(110),
    [sym_increment] = STATE(110),
    [sym_decrement] = STATE(110),
    [sym_unary_plus] = STATE(110),
    [sym_unary_minus] = STATE(110),
    [sym_logical_negation] = STATE(110),
    [sym_logical_not] = STATE(110),
    [sym_sum] = STATE(110),
    [sym_subtraction] = STATE(110),
    [sym_product] = STATE(110),
    [sym_division] = STATE(110),
    [sym_signed_division] = STATE(110),
    [sym_modulo] = STATE(110),
    [sym_signed_modulo] = STATE(110),
    [sym_exponent] = STATE(110),
    [sym_logarithm] = STATE(110),
    [sym_logical_shl] = STATE(110),
    [sym_logical_shr] = STATE(110),
    [sym_arith_shr] = STATE(110),
    [sym_logical_rol] = STATE(110),
    [sym_logical_ror] = STATE(110),
    [sym_logical_and] = STATE(110),
    [sym_logical_xor] = STATE(110),
    [sym_logical_or] = STATE(110),
    [sym_less_than] = STATE(110),
    [sym_less_equal] = STATE(110),
    [sym_greater_than] = STATE(110),
    [sym_greater_equal] = STATE(110),
    [sym_equal] = STATE(110),
    [sym_not_equal] = STATE(110),
    [sym_conditional] = STATE(110),
    [sym_function] = STATE(110),
    [sym_parenthesized_expression] = STATE(110),
    [sym_number] = STATE(110),
    [sym_address_typed] = STATE(110),
    [sym_variable] = STATE(84),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(5),
    [anon_sym_PLUS_PLUS] = ACTIONS(7),
    [anon_sym_DASH_DASH] = ACTIONS(9),
    [anon_sym_PLUS] = ACTIONS(11),
    [anon_sym_DASH] = ACTIONS(13),
    [anon_sym_TILDE] = ACTIONS(15),
    [anon_sym_BANG] = ACTIONS(17),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(21),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(71),
    [sym_special_variable] = ACTIONS(71),
  },
  [STATE(16)] = {
    [sym__expression] = STATE(111),
    [sym_let_assignment] = STATE(111),
    [sym_assignment] = STATE(111),
    [sym_increment] = STATE(111),
    [sym_decrement] = STATE(111),
    [sym_unary_plus] = STATE(111),
    [sym_unary_minus] = STATE(111),
    [sym_logical_negation] = STATE(111),
    [sym_logical_not] = STATE(111),
    [sym_sum] = STATE(111),
    [sym_subtraction] = STATE(111),
    [sym_product] = STATE(111),
    [sym_division] = STATE(111),
    [sym_signed_division] = STATE(111),
    [sym_modulo] = STATE(111),
    [sym_signed_modulo] = STATE(111),
    [sym_exponent] = STATE(111),
    [sym_logarithm] = STATE(111),
    [sym_logical_shl] = STATE(111),
    [sym_logical_shr] = STATE(111),
    [sym_arith_shr] = STATE(111),
    [sym_logical_rol] = STATE(111),
    [sym_logical_ror] = STATE(111),
    [sym_logical_and] = STATE(111),
    [sym_logical_xor] = STATE(111),
    [sym_logical_or] = STATE(111),
    [sym_less_than] = STATE(111),
    [sym_less_equal] = STATE(111),
    [sym_greater_than] = STATE(111),
    [sym_greater_equal] = STATE(111),
    [sym_equal] = STATE(111),
    [sym_not_equal] = STATE(111),
    [sym_conditional] = STATE(111),
    [sym_function] = STATE(111),
    [sym_parenthesized_expression] = STATE(111),
    [sym_number] = STATE(111),
    [sym_address_typed] = STATE(111),
    [sym_variable] = STATE(84),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(5),
    [anon_sym_PLUS_PLUS] = ACTIONS(7),
    [anon_sym_DASH_DASH] = ACTIONS(9),
    [anon_sym_PLUS] = ACTIONS(11),
    [anon_sym_DASH] = ACTIONS(13),
    [anon_sym_TILDE] = ACTIONS(15),
    [anon_sym_BANG] = ACTIONS(17),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(21),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(73),
    [sym_special_variable] = ACTIONS(73),
  },
  [STATE(17)] = {
    [sym__expression] = STATE(112),
    [sym_let_assignment] = STATE(112),
    [sym_assignment] = STATE(112),
    [sym_increment] = STATE(112),
    [sym_decrement] = STATE(112),
    [sym_unary_plus] = STATE(112),
    [sym_unary_minus] = STATE(112),
    [sym_logical_negation] = STATE(112),
    [sym_logical_not] = STATE(112),
    [sym_sum] = STATE(112),
    [sym_subtraction] = STATE(112),
    [sym_product] = STATE(112),
    [sym_division] = STATE(112),
    [sym_signed_division] = STATE(112),
    [sym_modulo] = STATE(112),
    [sym_signed_modulo] = STATE(112),
    [sym_exponent] = STATE(112),
    [sym_logarithm] = STATE(112),
    [sym_logical_shl] = STATE(112),
    [sym_logical_shr] = STATE(112),
    [sym_arith_shr] = STATE(112),
    [sym_logical_rol] = STATE(112),
    [sym_logical_ror] = STATE(112),
    [sym_logical_and] = STATE(112),
    [sym_logical_xor] = STATE(112),
    [sym_logical_or] = STATE(112),
    [sym_less_than] = STATE(112),
    [sym_less_equal] = STATE(112),
    [sym_greater_than] = STATE(112),
    [sym_greater_equal] = STATE(112),
    [sym_equal] = STATE(112),
    [sym_not_equal] = STATE(112),
    [sym_conditional] = STATE(112),
    [sym_function] = STATE(112),
    [sym_parenthesized_expression] = STATE(112),
    [sym_number] = STATE(112),
    [sym_address_typed] = STATE(112),
    [sym_variable] = STATE(84),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(5),
    [anon_sym_PLUS_PLUS] = ACTIONS(7),
    [anon_sym_DASH_DASH] = ACTIONS(9),
    [anon_sym_PLUS] = ACTIONS(11),
    [anon_sym_DASH] = ACTIONS(13),
    [anon_sym_TILDE] = ACTIONS(15),
    [anon_sym_BANG] = ACTIONS(17),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(21),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(75),
    [sym_special_variable] = ACTIONS(75),
  },
  [STATE(18)] = {
    [sym__expression] = STATE(101),
    [sym_let_assignment] = STATE(101),
    [sym_assignment] = STATE(101),
    [sym_increment] = STATE(101),
    [sym_decrement] = STATE(101),
    [sym_unary_plus] = STATE(101),
    [sym_unary_minus] = STATE(101),
    [sym_logical_negation] = STATE(101),
    [sym_logical_not] = STATE(101),
    [sym_sum] = STATE(101),
    [sym_subtraction] = STATE(101),
    [sym_product] = STATE(101),
    [sym_division] = STATE(101),
    [sym_signed_division] = STATE(101),
    [sym_modulo] = STATE(101),
    [sym_signed_modulo] = STATE(101),
    [sym_exponent] = STATE(101),
    [sym_logarithm] = STATE(101),
    [sym_logical_shl] = STATE(101),
    [sym_logical_shr] = STATE(101),
    [sym_arith_shr] = STATE(101),
    [sym_logical_rol] = STATE(101),
    [sym_logical_ror] = STATE(101),
    [sym_logical_and] = STATE(101),
    [sym_logical_xor] = STATE(101),
    [sym_logical_or] = STATE(101),
    [sym_less_than] = STATE(101),
    [sym_less_equal] = STATE(101),
    [sym_greater_than] = STATE(101),
    [sym_greater_equal] = STATE(101),
    [sym_equal] = STATE(101),
    [sym_not_equal] = STATE(101),
    [sym_conditional] = STATE(101),
    [sym_function] = STATE(101),
    [sym_parenthesized_expression] = STATE(101),
    [sym_number] = STATE(101),
    [sym_address_typed] = STATE(101),
    [sym_variable] = STATE(84),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(5),
    [anon_sym_PLUS_PLUS] = ACTIONS(7),
    [anon_sym_DASH_DASH] = ACTIONS(9),
    [anon_sym_PLUS] = ACTIONS(11),
    [anon_sym_DASH] = ACTIONS(13),
    [anon_sym_TILDE] = ACTIONS(15),
    [anon_sym_BANG] = ACTIONS(17),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(21),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(77),
    [sym_special_variable] = ACTIONS(77),
  },
  [STATE(19)] = {
    [sym__expression] = STATE(113),
    [sym_let_assignment] = STATE(113),
    [sym_assignment] = STATE(113),
    [sym_increment] = STATE(113),
    [sym_decrement] = STATE(113),
    [sym_unary_plus] = STATE(113),
    [sym_unary_minus] = STATE(113),
    [sym_logical_negation] = STATE(113),
    [sym_logical_not] = STATE(113),
    [sym_sum] = STATE(113),
    [sym_subtraction] = STATE(113),
    [sym_product] = STATE(113),
    [sym_division] = STATE(113),
    [sym_signed_division] = STATE(113),
    [sym_modulo] = STATE(113),
    [sym_signed_modulo] = STATE(113),
    [sym_exponent] = STATE(113),
    [sym_logarithm] = STATE(113),
    [sym_logical_shl] = STATE(113),
    [sym_logical_shr] = STATE(113),
    [sym_arith_shr] = STATE(113),
    [sym_logical_rol] = STATE(113),
    [sym_logical_ror] = STATE(113),
    [sym_logical_and] = STATE(113),
    [sym_logical_xor] = STATE(113),
    [sym_logical_or] = STATE(113),
    [sym_less_than] = STATE(113),
    [sym_less_equal] = STATE(113),
    [sym_greater_than] = STATE(113),
    [sym_greater_equal] = STATE(113),
    [sym_equal] = STATE(113),
    [sym_not_equal] = STATE(113),
    [sym_conditional] = STATE(113),
    [sym_function] = STATE(113),
    [sym_parenthesized_expression] = STATE(113),
    [sym_number] = STATE(113),
    [sym_address_typed] = STATE(113),
    [sym_variable] = STATE(84),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(5),
    [anon_sym_PLUS_PLUS] = ACTIONS(7),
    [anon_sym_DASH_DASH] = ACTIONS(9),
    [anon_sym_PLUS] = ACTIONS(11),
    [anon_sym_DASH] = ACTIONS(13),
    [anon_sym_TILDE] = ACTIONS(15),
    [anon_sym_BANG] = ACTIONS(17),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(21),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(79),
    [sym_special_variable] = ACTIONS(79),
  },
  [STATE(20)] = {
    [sym__expression] = STATE(91),
    [sym_let_assignment] = STATE(91),
    [sym_assignment] = STATE(91),
    [sym_increment] = STATE(91),
    [sym_decrement] = STATE(91),
    [sym_unary_plus] = STATE(91),
    [sym_unary_minus] = STATE(91),
    [sym_logical_negation] = STATE(91),
    [sym_logical_not] = STATE(91),
    [sym_sum] = STATE(91),
    [sym_subtraction] = STATE(91),
    [sym_product] = STATE(91),
    [sym_division] = STATE(91),
    [sym_signed_division] = STATE(91),
    [sym_modulo] = STATE(91),
    [sym_signed_modulo] = STATE(91),
    [sym_exponent] = STATE(91),
    [sym_logarithm] = STATE(91),
    [sym_logical_shl] = STATE(91),
    [sym_logical_shr] = STATE(91),
    [sym_arith_shr] = STATE(91),
    [sym_logical_rol] = STATE(91),
    [sym_logical_ror] = STATE(91),
    [sym_logical_and] = STATE(91),
    [sym_logical_xor] = STATE(91),
    [sym_logical_or] = STATE(91),
    [sym_less_than] = STATE(91),
    [sym_less_equal] = STATE(91),
    [sym_greater_than] = STATE(91),
    [sym_greater_equal] = STATE(91),
    [sym_equal] = STATE(91),
    [sym_not_equal] = STATE(91),
    [sym_conditional] = STATE(91),
    [sym_function] = STATE(91),
    [sym_parenthesized_expression] = STATE(91),
    [sym_number] = STATE(91),
    [sym_address_typed] = STATE(91),
    [sym_variable] = STATE(84),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(5),
    [anon_sym_PLUS_PLUS] = ACTIONS(7),
    [anon_sym_DASH_DASH] = ACTIONS(9),
    [anon_sym_PLUS] = ACTIONS(11),
    [anon_sym_DASH] = ACTIONS(13),
    [anon_sym_TILDE] = ACTIONS(15),
    [anon_sym_BANG] = ACTIONS(17),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(21),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(81),
    [sym_special_variable] = ACTIONS(81),
  },
  [STATE(21)] = {
    [sym__expression] = STATE(108),
    [sym_let_assignment] = STATE(108),
    [sym_assignment] = STATE(108),
    [sym_increment] = STATE(108),
    [sym_decrement] = STATE(108),
    [sym_unary_plus] = STATE(108),
    [sym_unary_minus] = STATE(108),
    [sym_logical_negation] = STATE(108),
    [sym_logical_not] = STATE(108),
    [sym_sum] = STATE(108),
    [sym_subtraction] = STATE(108),
    [sym_product] = STATE(108),
    [sym_division] = STATE(108),
    [sym_signed_division] = STATE(108),
    [sym_modulo] = STATE(108),
    [sym_signed_modulo] = STATE(108),
    [sym_exponent] = STATE(108),
    [sym_logarithm] = STATE(108),
    [sym_logical_shl] = STATE(108),
    [sym_logical_shr] = STATE(108),
    [sym_arith_shr] = STATE(108),
    [sym_logical_rol] = STATE(108),
    [sym_logical_ror] = STATE(108),
    [sym_logical_and] = STATE(108),
    [sym_logical_xor] = STATE(108),
    [sym_logical_or] = STATE(108),
    [sym_less_than] = STATE(108),
    [sym_less_equal] = STATE(108),
    [sym_greater_than] = STATE(108),
    [sym_greater_equal] = STATE(108),
    [sym_equal] = STATE(108),
    [sym_not_equal] = STATE(108),
    [sym_conditional] = STATE(108),
    [sym_function] = STATE(108),
    [sym_parenthesized_expression] = STATE(108),
    [sym_number] = STATE(108),
    [sym_address_typed] = STATE(108),
    [sym_variable] = STATE(84),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(5),
    [anon_sym_PLUS_PLUS] = ACTIONS(7),
    [anon_sym_DASH_DASH] = ACTIONS(9),
    [anon_sym_PLUS] = ACTIONS(11),
    [anon_sym_DASH] = ACTIONS(13),
    [anon_sym_TILDE] = ACTIONS(15),
    [anon_sym_BANG] = ACTIONS(17),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(21),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(83),
    [sym_special_variable] = ACTIONS(83),
  },
  [STATE(22)] = {
    [sym__expression] = STATE(100),
    [sym_let_assignment] = STATE(100),
    [sym_assignment] = STATE(100),
    [sym_increment] = STATE(100),
    [sym_decrement] = STATE(100),
    [sym_unary_plus] = STATE(100),
    [sym_unary_minus] = STATE(100),
    [sym_logical_negation] = STATE(100),
    [sym_logical_not] = STATE(100),
    [sym_sum] = STATE(100),
    [sym_subtraction] = STATE(100),
    [sym_product] = STATE(100),
    [sym_division] = STATE(100),
    [sym_signed_division] = STATE(100),
    [sym_modulo] = STATE(100),
    [sym_signed_modulo] = STATE(100),
    [sym_exponent] = STATE(100),
    [sym_logarithm] = STATE(100),
    [sym_logical_shl] = STATE(100),
    [sym_logical_shr] = STATE(100),
    [sym_arith_shr] = STATE(100),
    [sym_logical_rol] = STATE(100),
    [sym_logical_ror] = STATE(100),
    [sym_logical_and] = STATE(100),
    [sym_logical_xor] = STATE(100),
    [sym_logical_or] = STATE(100),
    [sym_less_than] = STATE(100),
    [sym_less_equal] = STATE(100),
    [sym_greater_than] = STATE(100),
    [sym_greater_equal] = STATE(100),
    [sym_equal] = STATE(100),
    [sym_not_equal] = STATE(100),
    [sym_conditional] = STATE(100),
    [sym_function] = STATE(100),
    [sym_parenthesized_expression] = STATE(100),
    [sym_number] = STATE(100),
    [sym_address_typed] = STATE(100),
    [sym_variable] = STATE(84),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(5),
    [anon_sym_PLUS_PLUS] = ACTIONS(7),
    [anon_sym_DASH_DASH] = ACTIONS(9),
    [anon_sym_PLUS] = ACTIONS(11),
    [anon_sym_DASH] = ACTIONS(13),
    [anon_sym_TILDE] = ACTIONS(15),
    [anon_sym_BANG] = ACTIONS(17),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(21),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(85),
    [sym_special_variable] = ACTIONS(85),
  },
  [STATE(23)] = {
    [sym__expression] = STATE(90),
    [sym_let_assignment] = STATE(90),
    [sym_assignment] = STATE(90),
    [sym_increment] = STATE(90),
    [sym_decrement] = STATE(90),
    [sym_unary_plus] = STATE(90),
    [sym_unary_minus] = STATE(90),
    [sym_logical_negation] = STATE(90),
    [sym_logical_not] = STATE(90),
    [sym_sum] = STATE(90),
    [sym_subtraction] = STATE(90),
    [sym_product] = STATE(90),
    [sym_division] = STATE(90),
    [sym_signed_division] = STATE(90),
    [sym_modulo] = STATE(90),
    [sym_signed_modulo] = STATE(90),
    [sym_exponent] = STATE(90),
    [sym_logarithm] = STATE(90),
    [sym_logical_shl] = STATE(90),
    [sym_logical_shr] = STATE(90),
    [sym_arith_shr] = STATE(90),
    [sym_logical_rol] = STATE(90),
    [sym_logical_ror] = STATE(90),
    [sym_logical_and] = STATE(90),
    [sym_logical_xor] = STATE(90),
    [sym_logical_or] = STATE(90),
    [sym_less_than] = STATE(90),
    [sym_less_equal] = STATE(90),
    [sym_greater_than] = STATE(90),
    [sym_greater_equal] = STATE(90),
    [sym_equal] = STATE(90),
    [sym_not_equal] = STATE(90),
    [sym_conditional] = STATE(90),
    [sym_function] = STATE(90),
    [sym_parenthesized_expression] = STATE(90),
    [sym_number] = STATE(90),
    [sym_address_typed] = STATE(90),
    [sym_variable] = STATE(84),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(5),
    [anon_sym_PLUS_PLUS] = ACTIONS(7),
    [anon_sym_DASH_DASH] = ACTIONS(9),
    [anon_sym_PLUS] = ACTIONS(11),
    [anon_sym_DASH] = ACTIONS(13),
    [anon_sym_TILDE] = ACTIONS(15),
    [anon_sym_BANG] = ACTIONS(17),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(21),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(87),
    [sym_special_variable] = ACTIONS(87),
  },
  [STATE(24)] = {
    [sym__expression] = STATE(87),
    [sym_let_assignment] = STATE(87),
    [sym_assignment] = STATE(87),
    [sym_increment] = STATE(87),
    [sym_decrement] = STATE(87),
    [sym_unary_plus] = STATE(87),
    [sym_unary_minus] = STATE(87),
    [sym_logical_negation] = STATE(87),
    [sym_logical_not] = STATE(87),
    [sym_sum] = STATE(87),
    [sym_subtraction] = STATE(87),
    [sym_product] = STATE(87),
    [sym_division] = STATE(87),
    [sym_signed_division] = STATE(87),
    [sym_modulo] = STATE(87),
    [sym_signed_modulo] = STATE(87),
    [sym_exponent] = STATE(87),
    [sym_logarithm] = STATE(87),
    [sym_logical_shl] = STATE(87),
    [sym_logical_shr] = STATE(87),
    [sym_arith_shr] = STATE(87),
    [sym_logical_rol] = STATE(87),
    [sym_logical_ror] = STATE(87),
    [sym_logical_and] = STATE(87),
    [sym_logical_xor] = STATE(87),
    [sym_logical_or] = STATE(87),
    [sym_less_than] = STATE(87),
    [sym_less_equal] = STATE(87),
    [sym_greater_than] = STATE(87),
    [sym_greater_equal] = STATE(87),
    [sym_equal] = STATE(87),
    [sym_not_equal] = STATE(87),
    [sym_conditional] = STATE(87),
    [sym_function] = STATE(87),
    [sym_parenthesized_expression] = STATE(87),
    [sym_number] = STATE(87),
    [sym_address_typed] = STATE(87),
    [sym_variable] = STATE(84),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(5),
    [anon_sym_PLUS_PLUS] = ACTIONS(7),
    [anon_sym_DASH_DASH] = ACTIONS(9),
    [anon_sym_PLUS] = ACTIONS(11),
    [anon_sym_DASH] = ACTIONS(13),
    [anon_sym_TILDE] = ACTIONS(15),
    [anon_sym_BANG] = ACTIONS(17),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(21),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(89),
    [sym_special_variable] = ACTIONS(89),
  },
  [STATE(25)] = {
    [sym__expression] = STATE(88),
    [sym_let_assignment] = STATE(88),
    [sym_assignment] = STATE(88),
    [sym_increment] = STATE(88),
    [sym_decrement] = STATE(88),
    [sym_unary_plus] = STATE(88),
    [sym_unary_minus] = STATE(88),
    [sym_logical_negation] = STATE(88),
    [sym_logical_not] = STATE(88),
    [sym_sum] = STATE(88),
    [sym_subtraction] = STATE(88),
    [sym_product] = STATE(88),
    [sym_division] = STATE(88),
    [sym_signed_division] = STATE(88),
    [sym_modulo] = STATE(88),
    [sym_signed_modulo] = STATE(88),
    [sym_exponent] = STATE(88),
    [sym_logarithm] = STATE(88),
    [sym_logical_shl] = STATE(88),
    [sym_logical_shr] = STATE(88),
    [sym_arith_shr] = STATE(88),
    [sym_logical_rol] = STATE(88),
    [sym_logical_ror] = STATE(88),
    [sym_logical_and] = STATE(88),
    [sym_logical_xor] = STATE(88),
    [sym_logical_or] = STATE(88),
    [sym_less_than] = STATE(88),
    [sym_less_equal] = STATE(88),
    [sym_greater_than] = STATE(88),
    [sym_greater_equal] = STATE(88),
    [sym_equal] = STATE(88),
    [sym_not_equal] = STATE(88),
    [sym_conditional] = STATE(88),
    [sym_function] = STATE(88),
    [sym_parenthesized_expression] = STATE(88),
    [sym_number] = STATE(88),
    [sym_address_typed] = STATE(88),
    [sym_variable] = STATE(84),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(5),
    [anon_sym_PLUS_PLUS] = ACTIONS(7),
    [anon_sym_DASH_DASH] = ACTIONS(9),
    [anon_sym_PLUS] = ACTIONS(11),
    [anon_sym_DASH] = ACTIONS(13),
    [anon_sym_TILDE] = ACTIONS(15),
    [anon_sym_BANG] = ACTIONS(17),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(21),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(91),
    [sym_special_variable] = ACTIONS(91),
  },
  [STATE(26)] = {
    [sym__expression] = STATE(93),
    [sym_let_assignment] = STATE(93),
    [sym_assignment] = STATE(93),
    [sym_increment] = STATE(93),
    [sym_decrement] = STATE(93),
    [sym_unary_plus] = STATE(93),
    [sym_unary_minus] = STATE(93),
    [sym_logical_negation] = STATE(93),
    [sym_logical_not] = STATE(93),
    [sym_sum] = STATE(93),
    [sym_subtraction] = STATE(93),
    [sym_product] = STATE(93),
    [sym_division] = STATE(93),
    [sym_signed_division] = STATE(93),
    [sym_modulo] = STATE(93),
    [sym_signed_modulo] = STATE(93),
    [sym_exponent] = STATE(93),
    [sym_logarithm] = STATE(93),
    [sym_logical_shl] = STATE(93),
    [sym_logical_shr] = STATE(93),
    [sym_arith_shr] = STATE(93),
    [sym_logical_rol] = STATE(93),
    [sym_logical_ror] = STATE(93),
    [sym_logical_and] = STATE(93),
    [sym_logical_xor] = STATE(93),
    [sym_logical_or] = STATE(93),
    [sym_less_than] = STATE(93),
    [sym_less_equal] = STATE(93),
    [sym_greater_than] = STATE(93),
    [sym_greater_equal] = STATE(93),
    [sym_equal] = STATE(93),
    [sym_not_equal] = STATE(93),
    [sym_conditional] = STATE(93),
    [sym_function] = STATE(93),
    [sym_parenthesized_expression] = STATE(93),
    [sym_number] = STATE(93),
    [sym_address_typed] = STATE(93),
    [sym_variable] = STATE(84),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(5),
    [anon_sym_PLUS_PLUS] = ACTIONS(7),
    [anon_sym_DASH_DASH] = ACTIONS(9),
    [anon_sym_PLUS] = ACTIONS(11),
    [anon_sym_DASH] = ACTIONS(13),
    [anon_sym_TILDE] = ACTIONS(15),
    [anon_sym_BANG] = ACTIONS(17),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(21),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(93),
    [sym_special_variable] = ACTIONS(93),
  },
  [STATE(27)] = {
    [sym__expression] = STATE(95),
    [sym_let_assignment] = STATE(95),
    [sym_assignment] = STATE(95),
    [sym_increment] = STATE(95),
    [sym_decrement] = STATE(95),
    [sym_unary_plus] = STATE(95),
    [sym_unary_minus] = STATE(95),
    [sym_logical_negation] = STATE(95),
    [sym_logical_not] = STATE(95),
    [sym_sum] = STATE(95),
    [sym_subtraction] = STATE(95),
    [sym_product] = STATE(95),
    [sym_division] = STATE(95),
    [sym_signed_division] = STATE(95),
    [sym_modulo] = STATE(95),
    [sym_signed_modulo] = STATE(95),
    [sym_exponent] = STATE(95),
    [sym_logarithm] = STATE(95),
    [sym_logical_shl] = STATE(95),
    [sym_logical_shr] = STATE(95),
    [sym_arith_shr] = STATE(95),
    [sym_logical_rol] = STATE(95),
    [sym_logical_ror] = STATE(95),
    [sym_logical_and] = STATE(95),
    [sym_logical_xor] = STATE(95),
    [sym_logical_or] = STATE(95),
    [sym_less_than] = STATE(95),
    [sym_less_equal] = STATE(95),
    [sym_greater_than] = STATE(95),
    [sym_greater_equal] = STATE(95),
    [sym_equal] = STATE(95),
    [sym_not_equal] = STATE(95),
    [sym_conditional] = STATE(95),
    [sym_function] = STATE(95),
    [sym_parenthesized_expression] = STATE(95),
    [sym_number] = STATE(95),
    [sym_address_typed] = STATE(95),
    [sym_variable] = STATE(84),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(5),
    [anon_sym_PLUS_PLUS] = ACTIONS(7),
    [anon_sym_DASH_DASH] = ACTIONS(9),
    [anon_sym_PLUS] = ACTIONS(11),
    [anon_sym_DASH] = ACTIONS(13),
    [anon_sym_TILDE] = ACTIONS(15),
    [anon_sym_BANG] = ACTIONS(17),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(21),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(95),
    [sym_special_variable] = ACTIONS(95),
  },
  [STATE(28)] = {
    [sym__expression] = STATE(97),
    [sym_let_assignment] = STATE(97),
    [sym_assignment] = STATE(97),
    [sym_increment] = STATE(97),
    [sym_decrement] = STATE(97),
    [sym_unary_plus] = STATE(97),
    [sym_unary_minus] = STATE(97),
    [sym_logical_negation] = STATE(97),
    [sym_logical_not] = STATE(97),
    [sym_sum] = STATE(97),
    [sym_subtraction] = STATE(97),
    [sym_product] = STATE(97),
    [sym_division] = STATE(97),
    [sym_signed_division] = STATE(97),
    [sym_modulo] = STATE(97),
    [sym_signed_modulo] = STATE(97),
    [sym_exponent] = STATE(97),
    [sym_logarithm] = STATE(97),
    [sym_logical_shl] = STATE(97),
    [sym_logical_shr] = STATE(97),
    [sym_arith_shr] = STATE(97),
    [sym_logical_rol] = STATE(97),
    [sym_logical_ror] = STATE(97),
    [sym_logical_and] = STATE(97),
    [sym_logical_xor] = STATE(97),
    [sym_logical_or] = STATE(97),
    [sym_less_than] = STATE(97),
    [sym_less_equal] = STATE(97),
    [sym_greater_than] = STATE(97),
    [sym_greater_equal] = STATE(97),
    [sym_equal] = STATE(97),
    [sym_not_equal] = STATE(97),
    [sym_conditional] = STATE(97),
    [sym_function] = STATE(97),
    [sym_parenthesized_expression] = STATE(97),
    [sym_number] = STATE(97),
    [sym_address_typed] = STATE(97),
    [sym_variable] = STATE(84),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(5),
    [anon_sym_PLUS_PLUS] = ACTIONS(7),
    [anon_sym_DASH_DASH] = ACTIONS(9),
    [anon_sym_PLUS] = ACTIONS(11),
    [anon_sym_DASH] = ACTIONS(13),
    [anon_sym_TILDE] = ACTIONS(15),
    [anon_sym_BANG] = ACTIONS(17),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(21),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(97),
    [sym_special_variable] = ACTIONS(97),
  },
  [STATE(29)] = {
    [sym__expression] = STATE(98),
    [sym_let_assignment] = STATE(98),
    [sym_assignment] = STATE(98),
    [sym_increment] = STATE(98),
    [sym_decrement] = STATE(98),
    [sym_unary_plus] = STATE(98),
    [sym_unary_minus] = STATE(98),
    [sym_logical_negation] = STATE(98),
    [sym_logical_not] = STATE(98),
    [sym_sum] = STATE(98),
    [sym_subtraction] = STATE(98),
    [sym_product] = STATE(98),
    [sym_division] = STATE(98),
    [sym_signed_division] = STATE(98),
    [sym_modulo] = STATE(98),
    [sym_signed_modulo] = STATE(98),
    [sym_exponent] = STATE(98),
    [sym_logarithm] = STATE(98),
    [sym_logical_shl] = STATE(98),
    [sym_logical_shr] = STATE(98),
    [sym_arith_shr] = STATE(98),
    [sym_logical_rol] = STATE(98),
    [sym_logical_ror] = STATE(98),
    [sym_logical_and] = STATE(98),
    [sym_logical_xor] = STATE(98),
    [sym_logical_or] = STATE(98),
    [sym_less_than] = STATE(98),
    [sym_less_equal] = STATE(98),
    [sym_greater_than] = STATE(98),
    [sym_greater_equal] = STATE(98),
    [sym_equal] = STATE(98),
    [sym_not_equal] = STATE(98),
    [sym_conditional] = STATE(98),
    [sym_function] = STATE(98),
    [sym_parenthesized_expression] = STATE(98),
    [sym_number] = STATE(98),
    [sym_address_typed] = STATE(98),
    [sym_variable] = STATE(84),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(5),
    [anon_sym_PLUS_PLUS] = ACTIONS(7),
    [anon_sym_DASH_DASH] = ACTIONS(9),
    [anon_sym_PLUS] = ACTIONS(11),
    [anon_sym_DASH] = ACTIONS(13),
    [anon_sym_TILDE] = ACTIONS(15),
    [anon_sym_BANG] = ACTIONS(17),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(21),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(99),
    [sym_special_variable] = ACTIONS(99),
  },
  [STATE(30)] = {
    [sym__expression] = STATE(94),
    [sym_let_assignment] = STATE(94),
    [sym_assignment] = STATE(94),
    [sym_increment] = STATE(94),
    [sym_decrement] = STATE(94),
    [sym_unary_plus] = STATE(94),
    [sym_unary_minus] = STATE(94),
    [sym_logical_negation] = STATE(94),
    [sym_logical_not] = STATE(94),
    [sym_sum] = STATE(94),
    [sym_subtraction] = STATE(94),
    [sym_product] = STATE(94),
    [sym_division] = STATE(94),
    [sym_signed_division] = STATE(94),
    [sym_modulo] = STATE(94),
    [sym_signed_modulo] = STATE(94),
    [sym_exponent] = STATE(94),
    [sym_logarithm] = STATE(94),
    [sym_logical_shl] = STATE(94),
    [sym_logical_shr] = STATE(94),
    [sym_arith_shr] = STATE(94),
    [sym_logical_rol] = STATE(94),
    [sym_logical_ror] = STATE(94),
    [sym_logical_and] = STATE(94),
    [sym_logical_xor] = STATE(94),
    [sym_logical_or] = STATE(94),
    [sym_less_than] = STATE(94),
    [sym_less_equal] = STATE(94),
    [sym_greater_than] = STATE(94),
    [sym_greater_equal] = STATE(94),
    [sym_equal] = STATE(94),
    [sym_not_equal] = STATE(94),
    [sym_conditional] = STATE(94),
    [sym_function] = STATE(94),
    [sym_parenthesized_expression] = STATE(94),
    [sym_number] = STATE(94),
    [sym_address_typed] = STATE(94),
    [sym_variable] = STATE(84),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(5),
    [anon_sym_PLUS_PLUS] = ACTIONS(7),
    [anon_sym_DASH_DASH] = ACTIONS(9),
    [anon_sym_PLUS] = ACTIONS(11),
    [anon_sym_DASH] = ACTIONS(13),
    [anon_sym_TILDE] = ACTIONS(15),
    [anon_sym_BANG] = ACTIONS(17),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(21),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(101),
    [sym_special_variable] = ACTIONS(101),
  },
  [STATE(31)] = {
    [sym__expression] = STATE(120),
    [sym_let_assignment] = STATE(120),
    [sym_assignment] = STATE(120),
    [sym_increment] = STATE(120),
    [sym_decrement] = STATE(120),
    [sym_unary_plus] = STATE(120),
    [sym_unary_minus] = STATE(120),
    [sym_logical_negation] = STATE(120),
    [sym_logical_not] = STATE(120),
    [sym_sum] = STATE(120),
    [sym_subtraction] = STATE(120),
    [sym_product] = STATE(120),
    [sym_division] = STATE(120),
    [sym_signed_division] = STATE(120),
    [sym_modulo] = STATE(120),
    [sym_signed_modulo] = STATE(120),
    [sym_exponent] = STATE(120),
    [sym_logarithm] = STATE(120),
    [sym_logical_shl] = STATE(120),
    [sym_logical_shr] = STATE(120),
    [sym_arith_shr] = STATE(120),
    [sym_logical_rol] = STATE(120),
    [sym_logical_ror] = STATE(120),
    [sym_logical_and] = STATE(120),
    [sym_logical_xor] = STATE(120),
    [sym_logical_or] = STATE(120),
    [sym_less_than] = STATE(120),
    [sym_less_equal] = STATE(120),
    [sym_greater_than] = STATE(120),
    [sym_greater_equal] = STATE(120),
    [sym_equal] = STATE(120),
    [sym_not_equal] = STATE(120),
    [sym_conditional] = STATE(120),
    [sym_function] = STATE(120),
    [sym_parenthesized_expression] = STATE(120),
    [sym_number] = STATE(120),
    [sym_address_typed] = STATE(120),
    [sym_variable] = STATE(117),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(37),
    [anon_sym_PLUS_PLUS] = ACTIONS(39),
    [anon_sym_DASH_DASH] = ACTIONS(41),
    [anon_sym_PLUS] = ACTIONS(43),
    [anon_sym_DASH] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(47),
    [anon_sym_BANG] = ACTIONS(49),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(51),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(103),
    [sym_special_variable] = ACTIONS(103),
  },
  [STATE(32)] = {
    [sym__expression] = STATE(99),
    [sym_let_assignment] = STATE(99),
    [sym_assignment] = STATE(99),
    [sym_increment] = STATE(99),
    [sym_decrement] = STATE(99),
    [sym_unary_plus] = STATE(99),
    [sym_unary_minus] = STATE(99),
    [sym_logical_negation] = STATE(99),
    [sym_logical_not] = STATE(99),
    [sym_sum] = STATE(99),
    [sym_subtraction] = STATE(99),
    [sym_product] = STATE(99),
    [sym_division] = STATE(99),
    [sym_signed_division] = STATE(99),
    [sym_modulo] = STATE(99),
    [sym_signed_modulo] = STATE(99),
    [sym_exponent] = STATE(99),
    [sym_logarithm] = STATE(99),
    [sym_logical_shl] = STATE(99),
    [sym_logical_shr] = STATE(99),
    [sym_arith_shr] = STATE(99),
    [sym_logical_rol] = STATE(99),
    [sym_logical_ror] = STATE(99),
    [sym_logical_and] = STATE(99),
    [sym_logical_xor] = STATE(99),
    [sym_logical_or] = STATE(99),
    [sym_less_than] = STATE(99),
    [sym_less_equal] = STATE(99),
    [sym_greater_than] = STATE(99),
    [sym_greater_equal] = STATE(99),
    [sym_equal] = STATE(99),
    [sym_not_equal] = STATE(99),
    [sym_conditional] = STATE(99),
    [sym_function] = STATE(99),
    [sym_parenthesized_expression] = STATE(99),
    [sym_number] = STATE(99),
    [sym_address_typed] = STATE(99),
    [sym_variable] = STATE(84),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(5),
    [anon_sym_PLUS_PLUS] = ACTIONS(7),
    [anon_sym_DASH_DASH] = ACTIONS(9),
    [anon_sym_PLUS] = ACTIONS(11),
    [anon_sym_DASH] = ACTIONS(13),
    [anon_sym_TILDE] = ACTIONS(15),
    [anon_sym_BANG] = ACTIONS(17),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(21),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(105),
    [sym_special_variable] = ACTIONS(105),
  },
  [STATE(33)] = {
    [sym__expression] = STATE(80),
    [sym_let_assignment] = STATE(80),
    [sym_assignment] = STATE(80),
    [sym_increment] = STATE(80),
    [sym_decrement] = STATE(80),
    [sym_unary_plus] = STATE(80),
    [sym_unary_minus] = STATE(80),
    [sym_logical_negation] = STATE(80),
    [sym_logical_not] = STATE(80),
    [sym_sum] = STATE(80),
    [sym_subtraction] = STATE(80),
    [sym_product] = STATE(80),
    [sym_division] = STATE(80),
    [sym_signed_division] = STATE(80),
    [sym_modulo] = STATE(80),
    [sym_signed_modulo] = STATE(80),
    [sym_exponent] = STATE(80),
    [sym_logarithm] = STATE(80),
    [sym_logical_shl] = STATE(80),
    [sym_logical_shr] = STATE(80),
    [sym_arith_shr] = STATE(80),
    [sym_logical_rol] = STATE(80),
    [sym_logical_ror] = STATE(80),
    [sym_logical_and] = STATE(80),
    [sym_logical_xor] = STATE(80),
    [sym_logical_or] = STATE(80),
    [sym_less_than] = STATE(80),
    [sym_less_equal] = STATE(80),
    [sym_greater_than] = STATE(80),
    [sym_greater_equal] = STATE(80),
    [sym_equal] = STATE(80),
    [sym_not_equal] = STATE(80),
    [sym_conditional] = STATE(80),
    [sym_function] = STATE(80),
    [sym_parenthesized_expression] = STATE(80),
    [sym_number] = STATE(80),
    [sym_address_typed] = STATE(80),
    [sym_variable] = STATE(84),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(5),
    [anon_sym_PLUS_PLUS] = ACTIONS(7),
    [anon_sym_DASH_DASH] = ACTIONS(9),
    [anon_sym_PLUS] = ACTIONS(11),
    [anon_sym_DASH] = ACTIONS(13),
    [anon_sym_TILDE] = ACTIONS(15),
    [anon_sym_BANG] = ACTIONS(17),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(21),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(107),
    [sym_special_variable] = ACTIONS(107),
  },
  [STATE(34)] = {
    [sym__expression] = STATE(89),
    [sym_let_assignment] = STATE(89),
    [sym_assignment] = STATE(89),
    [sym_increment] = STATE(89),
    [sym_decrement] = STATE(89),
    [sym_unary_plus] = STATE(89),
    [sym_unary_minus] = STATE(89),
    [sym_logical_negation] = STATE(89),
    [sym_logical_not] = STATE(89),
    [sym_sum] = STATE(89),
    [sym_subtraction] = STATE(89),
    [sym_product] = STATE(89),
    [sym_division] = STATE(89),
    [sym_signed_division] = STATE(89),
    [sym_modulo] = STATE(89),
    [sym_signed_modulo] = STATE(89),
    [sym_exponent] = STATE(89),
    [sym_logarithm] = STATE(89),
    [sym_logical_shl] = STATE(89),
    [sym_logical_shr] = STATE(89),
    [sym_arith_shr] = STATE(89),
    [sym_logical_rol] = STATE(89),
    [sym_logical_ror] = STATE(89),
    [sym_logical_and] = STATE(89),
    [sym_logical_xor] = STATE(89),
    [sym_logical_or] = STATE(89),
    [sym_less_than] = STATE(89),
    [sym_less_equal] = STATE(89),
    [sym_greater_than] = STATE(89),
    [sym_greater_equal] = STATE(89),
    [sym_equal] = STATE(89),
    [sym_not_equal] = STATE(89),
    [sym_conditional] = STATE(89),
    [sym_function] = STATE(89),
    [sym_parenthesized_expression] = STATE(89),
    [sym_number] = STATE(89),
    [sym_address_typed] = STATE(89),
    [sym_variable] = STATE(84),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(5),
    [anon_sym_PLUS_PLUS] = ACTIONS(7),
    [anon_sym_DASH_DASH] = ACTIONS(9),
    [anon_sym_PLUS] = ACTIONS(11),
    [anon_sym_DASH] = ACTIONS(13),
    [anon_sym_TILDE] = ACTIONS(15),
    [anon_sym_BANG] = ACTIONS(17),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(21),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(109),
    [sym_special_variable] = ACTIONS(109),
  },
  [STATE(35)] = {
    [sym__expression] = STATE(81),
    [sym_let_assignment] = STATE(81),
    [sym_assignment] = STATE(81),
    [sym_increment] = STATE(81),
    [sym_decrement] = STATE(81),
    [sym_unary_plus] = STATE(81),
    [sym_unary_minus] = STATE(81),
    [sym_logical_negation] = STATE(81),
    [sym_logical_not] = STATE(81),
    [sym_sum] = STATE(81),
    [sym_subtraction] = STATE(81),
    [sym_product] = STATE(81),
    [sym_division] = STATE(81),
    [sym_signed_division] = STATE(81),
    [sym_modulo] = STATE(81),
    [sym_signed_modulo] = STATE(81),
    [sym_exponent] = STATE(81),
    [sym_logarithm] = STATE(81),
    [sym_logical_shl] = STATE(81),
    [sym_logical_shr] = STATE(81),
    [sym_arith_shr] = STATE(81),
    [sym_logical_rol] = STATE(81),
    [sym_logical_ror] = STATE(81),
    [sym_logical_and] = STATE(81),
    [sym_logical_xor] = STATE(81),
    [sym_logical_or] = STATE(81),
    [sym_less_than] = STATE(81),
    [sym_less_equal] = STATE(81),
    [sym_greater_than] = STATE(81),
    [sym_greater_equal] = STATE(81),
    [sym_equal] = STATE(81),
    [sym_not_equal] = STATE(81),
    [sym_conditional] = STATE(81),
    [sym_function] = STATE(81),
    [sym_parenthesized_expression] = STATE(81),
    [sym_number] = STATE(81),
    [sym_address_typed] = STATE(81),
    [sym_variable] = STATE(84),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(5),
    [anon_sym_PLUS_PLUS] = ACTIONS(7),
    [anon_sym_DASH_DASH] = ACTIONS(9),
    [anon_sym_PLUS] = ACTIONS(11),
    [anon_sym_DASH] = ACTIONS(13),
    [anon_sym_TILDE] = ACTIONS(15),
    [anon_sym_BANG] = ACTIONS(17),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(21),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(111),
    [sym_special_variable] = ACTIONS(111),
  },
  [STATE(36)] = {
    [sym__expression] = STATE(119),
    [sym_let_assignment] = STATE(119),
    [sym_assignment] = STATE(119),
    [sym_increment] = STATE(119),
    [sym_decrement] = STATE(119),
    [sym_unary_plus] = STATE(119),
    [sym_unary_minus] = STATE(119),
    [sym_logical_negation] = STATE(119),
    [sym_logical_not] = STATE(119),
    [sym_sum] = STATE(119),
    [sym_subtraction] = STATE(119),
    [sym_product] = STATE(119),
    [sym_division] = STATE(119),
    [sym_signed_division] = STATE(119),
    [sym_modulo] = STATE(119),
    [sym_signed_modulo] = STATE(119),
    [sym_exponent] = STATE(119),
    [sym_logarithm] = STATE(119),
    [sym_logical_shl] = STATE(119),
    [sym_logical_shr] = STATE(119),
    [sym_arith_shr] = STATE(119),
    [sym_logical_rol] = STATE(119),
    [sym_logical_ror] = STATE(119),
    [sym_logical_and] = STATE(119),
    [sym_logical_xor] = STATE(119),
    [sym_logical_or] = STATE(119),
    [sym_less_than] = STATE(119),
    [sym_less_equal] = STATE(119),
    [sym_greater_than] = STATE(119),
    [sym_greater_equal] = STATE(119),
    [sym_equal] = STATE(119),
    [sym_not_equal] = STATE(119),
    [sym_conditional] = STATE(119),
    [sym_function] = STATE(119),
    [sym_parenthesized_expression] = STATE(119),
    [sym_number] = STATE(119),
    [sym_address_typed] = STATE(119),
    [sym_variable] = STATE(84),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(5),
    [anon_sym_PLUS_PLUS] = ACTIONS(7),
    [anon_sym_DASH_DASH] = ACTIONS(9),
    [anon_sym_PLUS] = ACTIONS(11),
    [anon_sym_DASH] = ACTIONS(13),
    [anon_sym_TILDE] = ACTIONS(15),
    [anon_sym_BANG] = ACTIONS(17),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(21),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(113),
    [sym_special_variable] = ACTIONS(113),
  },
  [STATE(37)] = {
    [sym__expression] = STATE(92),
    [sym_let_assignment] = STATE(92),
    [sym_assignment] = STATE(92),
    [sym_increment] = STATE(92),
    [sym_decrement] = STATE(92),
    [sym_unary_plus] = STATE(92),
    [sym_unary_minus] = STATE(92),
    [sym_logical_negation] = STATE(92),
    [sym_logical_not] = STATE(92),
    [sym_sum] = STATE(92),
    [sym_subtraction] = STATE(92),
    [sym_product] = STATE(92),
    [sym_division] = STATE(92),
    [sym_signed_division] = STATE(92),
    [sym_modulo] = STATE(92),
    [sym_signed_modulo] = STATE(92),
    [sym_exponent] = STATE(92),
    [sym_logarithm] = STATE(92),
    [sym_logical_shl] = STATE(92),
    [sym_logical_shr] = STATE(92),
    [sym_arith_shr] = STATE(92),
    [sym_logical_rol] = STATE(92),
    [sym_logical_ror] = STATE(92),
    [sym_logical_and] = STATE(92),
    [sym_logical_xor] = STATE(92),
    [sym_logical_or] = STATE(92),
    [sym_less_than] = STATE(92),
    [sym_less_equal] = STATE(92),
    [sym_greater_than] = STATE(92),
    [sym_greater_equal] = STATE(92),
    [sym_equal] = STATE(92),
    [sym_not_equal] = STATE(92),
    [sym_conditional] = STATE(92),
    [sym_function] = STATE(92),
    [sym_parenthesized_expression] = STATE(92),
    [sym_number] = STATE(92),
    [sym_address_typed] = STATE(92),
    [sym_variable] = STATE(84),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(5),
    [anon_sym_PLUS_PLUS] = ACTIONS(7),
    [anon_sym_DASH_DASH] = ACTIONS(9),
    [anon_sym_PLUS] = ACTIONS(11),
    [anon_sym_DASH] = ACTIONS(13),
    [anon_sym_TILDE] = ACTIONS(15),
    [anon_sym_BANG] = ACTIONS(17),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(21),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(115),
    [sym_special_variable] = ACTIONS(115),
  },
  [STATE(38)] = {
    [sym__expression] = STATE(116),
    [sym_let_assignment] = STATE(116),
    [sym_assignment] = STATE(116),
    [sym_increment] = STATE(116),
    [sym_decrement] = STATE(116),
    [sym_unary_plus] = STATE(116),
    [sym_unary_minus] = STATE(116),
    [sym_logical_negation] = STATE(116),
    [sym_logical_not] = STATE(116),
    [sym_sum] = STATE(116),
    [sym_subtraction] = STATE(116),
    [sym_product] = STATE(116),
    [sym_division] = STATE(116),
    [sym_signed_division] = STATE(116),
    [sym_modulo] = STATE(116),
    [sym_signed_modulo] = STATE(116),
    [sym_exponent] = STATE(116),
    [sym_logarithm] = STATE(116),
    [sym_logical_shl] = STATE(116),
    [sym_logical_shr] = STATE(116),
    [sym_arith_shr] = STATE(116),
    [sym_logical_rol] = STATE(116),
    [sym_logical_ror] = STATE(116),
    [sym_logical_and] = STATE(116),
    [sym_logical_xor] = STATE(116),
    [sym_logical_or] = STATE(116),
    [sym_less_than] = STATE(116),
    [sym_less_equal] = STATE(116),
    [sym_greater_than] = STATE(116),
    [sym_greater_equal] = STATE(116),
    [sym_equal] = STATE(116),
    [sym_not_equal] = STATE(116),
    [sym_conditional] = STATE(116),
    [sym_function] = STATE(116),
    [sym_parenthesized_expression] = STATE(116),
    [sym_number] = STATE(116),
    [sym_address_typed] = STATE(116),
    [sym_variable] = STATE(84),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(5),
    [anon_sym_PLUS_PLUS] = ACTIONS(7),
    [anon_sym_DASH_DASH] = ACTIONS(9),
    [anon_sym_PLUS] = ACTIONS(11),
    [anon_sym_DASH] = ACTIONS(13),
    [anon_sym_TILDE] = ACTIONS(15),
    [anon_sym_BANG] = ACTIONS(17),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(21),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(33),
    [sym_special_variable] = ACTIONS(33),
  },
  [STATE(39)] = {
    [sym__expression] = STATE(121),
    [sym_let_assignment] = STATE(121),
    [sym_assignment] = STATE(121),
    [sym_increment] = STATE(121),
    [sym_decrement] = STATE(121),
    [sym_unary_plus] = STATE(121),
    [sym_unary_minus] = STATE(121),
    [sym_logical_negation] = STATE(121),
    [sym_logical_not] = STATE(121),
    [sym_sum] = STATE(121),
    [sym_subtraction] = STATE(121),
    [sym_product] = STATE(121),
    [sym_division] = STATE(121),
    [sym_signed_division] = STATE(121),
    [sym_modulo] = STATE(121),
    [sym_signed_modulo] = STATE(121),
    [sym_exponent] = STATE(121),
    [sym_logarithm] = STATE(121),
    [sym_logical_shl] = STATE(121),
    [sym_logical_shr] = STATE(121),
    [sym_arith_shr] = STATE(121),
    [sym_logical_rol] = STATE(121),
    [sym_logical_ror] = STATE(121),
    [sym_logical_and] = STATE(121),
    [sym_logical_xor] = STATE(121),
    [sym_logical_or] = STATE(121),
    [sym_less_than] = STATE(121),
    [sym_less_equal] = STATE(121),
    [sym_greater_than] = STATE(121),
    [sym_greater_equal] = STATE(121),
    [sym_equal] = STATE(121),
    [sym_not_equal] = STATE(121),
    [sym_conditional] = STATE(121),
    [sym_function] = STATE(121),
    [sym_parenthesized_expression] = STATE(121),
    [sym_number] = STATE(121),
    [sym_address_typed] = STATE(121),
    [sym_variable] = STATE(117),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(37),
    [anon_sym_PLUS_PLUS] = ACTIONS(39),
    [anon_sym_DASH_DASH] = ACTIONS(41),
    [anon_sym_PLUS] = ACTIONS(43),
    [anon_sym_DASH] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(47),
    [anon_sym_BANG] = ACTIONS(49),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(51),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(117),
    [sym_special_variable] = ACTIONS(117),
  },
  [STATE(40)] = {
    [sym__expression] = STATE(122),
    [sym_let_assignment] = STATE(122),
    [sym_assignment] = STATE(122),
    [sym_increment] = STATE(122),
    [sym_decrement] = STATE(122),
    [sym_unary_plus] = STATE(122),
    [sym_unary_minus] = STATE(122),
    [sym_logical_negation] = STATE(122),
    [sym_logical_not] = STATE(122),
    [sym_sum] = STATE(122),
    [sym_subtraction] = STATE(122),
    [sym_product] = STATE(122),
    [sym_division] = STATE(122),
    [sym_signed_division] = STATE(122),
    [sym_modulo] = STATE(122),
    [sym_signed_modulo] = STATE(122),
    [sym_exponent] = STATE(122),
    [sym_logarithm] = STATE(122),
    [sym_logical_shl] = STATE(122),
    [sym_logical_shr] = STATE(122),
    [sym_arith_shr] = STATE(122),
    [sym_logical_rol] = STATE(122),
    [sym_logical_ror] = STATE(122),
    [sym_logical_and] = STATE(122),
    [sym_logical_xor] = STATE(122),
    [sym_logical_or] = STATE(122),
    [sym_less_than] = STATE(122),
    [sym_less_equal] = STATE(122),
    [sym_greater_than] = STATE(122),
    [sym_greater_equal] = STATE(122),
    [sym_equal] = STATE(122),
    [sym_not_equal] = STATE(122),
    [sym_conditional] = STATE(122),
    [sym_function] = STATE(122),
    [sym_parenthesized_expression] = STATE(122),
    [sym_number] = STATE(122),
    [sym_address_typed] = STATE(122),
    [sym_variable] = STATE(117),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(37),
    [anon_sym_PLUS_PLUS] = ACTIONS(39),
    [anon_sym_DASH_DASH] = ACTIONS(41),
    [anon_sym_PLUS] = ACTIONS(43),
    [anon_sym_DASH] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(47),
    [anon_sym_BANG] = ACTIONS(49),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(51),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(119),
    [sym_special_variable] = ACTIONS(119),
  },
  [STATE(41)] = {
    [sym__expression] = STATE(76),
    [sym_let_assignment] = STATE(76),
    [sym_assignment] = STATE(76),
    [sym_increment] = STATE(76),
    [sym_decrement] = STATE(76),
    [sym_unary_plus] = STATE(76),
    [sym_unary_minus] = STATE(76),
    [sym_logical_negation] = STATE(76),
    [sym_logical_not] = STATE(76),
    [sym_sum] = STATE(76),
    [sym_subtraction] = STATE(76),
    [sym_product] = STATE(76),
    [sym_division] = STATE(76),
    [sym_signed_division] = STATE(76),
    [sym_modulo] = STATE(76),
    [sym_signed_modulo] = STATE(76),
    [sym_exponent] = STATE(76),
    [sym_logarithm] = STATE(76),
    [sym_logical_shl] = STATE(76),
    [sym_logical_shr] = STATE(76),
    [sym_arith_shr] = STATE(76),
    [sym_logical_rol] = STATE(76),
    [sym_logical_ror] = STATE(76),
    [sym_logical_and] = STATE(76),
    [sym_logical_xor] = STATE(76),
    [sym_logical_or] = STATE(76),
    [sym_less_than] = STATE(76),
    [sym_less_equal] = STATE(76),
    [sym_greater_than] = STATE(76),
    [sym_greater_equal] = STATE(76),
    [sym_equal] = STATE(76),
    [sym_not_equal] = STATE(76),
    [sym_conditional] = STATE(76),
    [sym_function] = STATE(76),
    [sym_parenthesized_expression] = STATE(76),
    [sym_number] = STATE(76),
    [sym_address_typed] = STATE(76),
    [sym_variable] = STATE(84),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(5),
    [anon_sym_PLUS_PLUS] = ACTIONS(7),
    [anon_sym_DASH_DASH] = ACTIONS(9),
    [anon_sym_PLUS] = ACTIONS(11),
    [anon_sym_DASH] = ACTIONS(13),
    [anon_sym_TILDE] = ACTIONS(15),
    [anon_sym_BANG] = ACTIONS(17),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(21),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(53),
    [sym_special_variable] = ACTIONS(53),
  },
  [STATE(42)] = {
    [sym__expression] = STATE(124),
    [sym_let_assignment] = STATE(124),
    [sym_assignment] = STATE(124),
    [sym_increment] = STATE(124),
    [sym_decrement] = STATE(124),
    [sym_unary_plus] = STATE(124),
    [sym_unary_minus] = STATE(124),
    [sym_logical_negation] = STATE(124),
    [sym_logical_not] = STATE(124),
    [sym_sum] = STATE(124),
    [sym_subtraction] = STATE(124),
    [sym_product] = STATE(124),
    [sym_division] = STATE(124),
    [sym_signed_division] = STATE(124),
    [sym_modulo] = STATE(124),
    [sym_signed_modulo] = STATE(124),
    [sym_exponent] = STATE(124),
    [sym_logarithm] = STATE(124),
    [sym_logical_shl] = STATE(124),
    [sym_logical_shr] = STATE(124),
    [sym_arith_shr] = STATE(124),
    [sym_logical_rol] = STATE(124),
    [sym_logical_ror] = STATE(124),
    [sym_logical_and] = STATE(124),
    [sym_logical_xor] = STATE(124),
    [sym_logical_or] = STATE(124),
    [sym_less_than] = STATE(124),
    [sym_less_equal] = STATE(124),
    [sym_greater_than] = STATE(124),
    [sym_greater_equal] = STATE(124),
    [sym_equal] = STATE(124),
    [sym_not_equal] = STATE(124),
    [sym_conditional] = STATE(124),
    [sym_function] = STATE(124),
    [sym_parenthesized_expression] = STATE(124),
    [sym_number] = STATE(124),
    [sym_address_typed] = STATE(124),
    [sym_variable] = STATE(117),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(37),
    [anon_sym_PLUS_PLUS] = ACTIONS(39),
    [anon_sym_DASH_DASH] = ACTIONS(41),
    [anon_sym_PLUS] = ACTIONS(43),
    [anon_sym_DASH] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(47),
    [anon_sym_BANG] = ACTIONS(49),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(51),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(121),
    [sym_special_variable] = ACTIONS(121),
  },
  [STATE(43)] = {
    [sym__expression] = STATE(125),
    [sym_let_assignment] = STATE(125),
    [sym_assignment] = STATE(125),
    [sym_increment] = STATE(125),
    [sym_decrement] = STATE(125),
    [sym_unary_plus] = STATE(125),
    [sym_unary_minus] = STATE(125),
    [sym_logical_negation] = STATE(125),
    [sym_logical_not] = STATE(125),
    [sym_sum] = STATE(125),
    [sym_subtraction] = STATE(125),
    [sym_product] = STATE(125),
    [sym_division] = STATE(125),
    [sym_signed_division] = STATE(125),
    [sym_modulo] = STATE(125),
    [sym_signed_modulo] = STATE(125),
    [sym_exponent] = STATE(125),
    [sym_logarithm] = STATE(125),
    [sym_logical_shl] = STATE(125),
    [sym_logical_shr] = STATE(125),
    [sym_arith_shr] = STATE(125),
    [sym_logical_rol] = STATE(125),
    [sym_logical_ror] = STATE(125),
    [sym_logical_and] = STATE(125),
    [sym_logical_xor] = STATE(125),
    [sym_logical_or] = STATE(125),
    [sym_less_than] = STATE(125),
    [sym_less_equal] = STATE(125),
    [sym_greater_than] = STATE(125),
    [sym_greater_equal] = STATE(125),
    [sym_equal] = STATE(125),
    [sym_not_equal] = STATE(125),
    [sym_conditional] = STATE(125),
    [sym_function] = STATE(125),
    [sym_parenthesized_expression] = STATE(125),
    [sym_number] = STATE(125),
    [sym_address_typed] = STATE(125),
    [sym_variable] = STATE(117),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(37),
    [anon_sym_PLUS_PLUS] = ACTIONS(39),
    [anon_sym_DASH_DASH] = ACTIONS(41),
    [anon_sym_PLUS] = ACTIONS(43),
    [anon_sym_DASH] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(47),
    [anon_sym_BANG] = ACTIONS(49),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(51),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(123),
    [sym_special_variable] = ACTIONS(123),
  },
  [STATE(44)] = {
    [sym__expression] = STATE(126),
    [sym_let_assignment] = STATE(126),
    [sym_assignment] = STATE(126),
    [sym_increment] = STATE(126),
    [sym_decrement] = STATE(126),
    [sym_unary_plus] = STATE(126),
    [sym_unary_minus] = STATE(126),
    [sym_logical_negation] = STATE(126),
    [sym_logical_not] = STATE(126),
    [sym_sum] = STATE(126),
    [sym_subtraction] = STATE(126),
    [sym_product] = STATE(126),
    [sym_division] = STATE(126),
    [sym_signed_division] = STATE(126),
    [sym_modulo] = STATE(126),
    [sym_signed_modulo] = STATE(126),
    [sym_exponent] = STATE(126),
    [sym_logarithm] = STATE(126),
    [sym_logical_shl] = STATE(126),
    [sym_logical_shr] = STATE(126),
    [sym_arith_shr] = STATE(126),
    [sym_logical_rol] = STATE(126),
    [sym_logical_ror] = STATE(126),
    [sym_logical_and] = STATE(126),
    [sym_logical_xor] = STATE(126),
    [sym_logical_or] = STATE(126),
    [sym_less_than] = STATE(126),
    [sym_less_equal] = STATE(126),
    [sym_greater_than] = STATE(126),
    [sym_greater_equal] = STATE(126),
    [sym_equal] = STATE(126),
    [sym_not_equal] = STATE(126),
    [sym_conditional] = STATE(126),
    [sym_function] = STATE(126),
    [sym_parenthesized_expression] = STATE(126),
    [sym_number] = STATE(126),
    [sym_address_typed] = STATE(126),
    [sym_variable] = STATE(117),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(37),
    [anon_sym_PLUS_PLUS] = ACTIONS(39),
    [anon_sym_DASH_DASH] = ACTIONS(41),
    [anon_sym_PLUS] = ACTIONS(43),
    [anon_sym_DASH] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(47),
    [anon_sym_BANG] = ACTIONS(49),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(51),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(125),
    [sym_special_variable] = ACTIONS(125),
  },
  [STATE(45)] = {
    [sym__expression] = STATE(127),
    [sym_let_assignment] = STATE(127),
    [sym_assignment] = STATE(127),
    [sym_increment] = STATE(127),
    [sym_decrement] = STATE(127),
    [sym_unary_plus] = STATE(127),
    [sym_unary_minus] = STATE(127),
    [sym_logical_negation] = STATE(127),
    [sym_logical_not] = STATE(127),
    [sym_sum] = STATE(127),
    [sym_subtraction] = STATE(127),
    [sym_product] = STATE(127),
    [sym_division] = STATE(127),
    [sym_signed_division] = STATE(127),
    [sym_modulo] = STATE(127),
    [sym_signed_modulo] = STATE(127),
    [sym_exponent] = STATE(127),
    [sym_logarithm] = STATE(127),
    [sym_logical_shl] = STATE(127),
    [sym_logical_shr] = STATE(127),
    [sym_arith_shr] = STATE(127),
    [sym_logical_rol] = STATE(127),
    [sym_logical_ror] = STATE(127),
    [sym_logical_and] = STATE(127),
    [sym_logical_xor] = STATE(127),
    [sym_logical_or] = STATE(127),
    [sym_less_than] = STATE(127),
    [sym_less_equal] = STATE(127),
    [sym_greater_than] = STATE(127),
    [sym_greater_equal] = STATE(127),
    [sym_equal] = STATE(127),
    [sym_not_equal] = STATE(127),
    [sym_conditional] = STATE(127),
    [sym_function] = STATE(127),
    [sym_parenthesized_expression] = STATE(127),
    [sym_number] = STATE(127),
    [sym_address_typed] = STATE(127),
    [sym_variable] = STATE(117),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(37),
    [anon_sym_PLUS_PLUS] = ACTIONS(39),
    [anon_sym_DASH_DASH] = ACTIONS(41),
    [anon_sym_PLUS] = ACTIONS(43),
    [anon_sym_DASH] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(47),
    [anon_sym_BANG] = ACTIONS(49),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(51),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(127),
    [sym_special_variable] = ACTIONS(127),
  },
  [STATE(46)] = {
    [sym__expression] = STATE(128),
    [sym_let_assignment] = STATE(128),
    [sym_assignment] = STATE(128),
    [sym_increment] = STATE(128),
    [sym_decrement] = STATE(128),
    [sym_unary_plus] = STATE(128),
    [sym_unary_minus] = STATE(128),
    [sym_logical_negation] = STATE(128),
    [sym_logical_not] = STATE(128),
    [sym_sum] = STATE(128),
    [sym_subtraction] = STATE(128),
    [sym_product] = STATE(128),
    [sym_division] = STATE(128),
    [sym_signed_division] = STATE(128),
    [sym_modulo] = STATE(128),
    [sym_signed_modulo] = STATE(128),
    [sym_exponent] = STATE(128),
    [sym_logarithm] = STATE(128),
    [sym_logical_shl] = STATE(128),
    [sym_logical_shr] = STATE(128),
    [sym_arith_shr] = STATE(128),
    [sym_logical_rol] = STATE(128),
    [sym_logical_ror] = STATE(128),
    [sym_logical_and] = STATE(128),
    [sym_logical_xor] = STATE(128),
    [sym_logical_or] = STATE(128),
    [sym_less_than] = STATE(128),
    [sym_less_equal] = STATE(128),
    [sym_greater_than] = STATE(128),
    [sym_greater_equal] = STATE(128),
    [sym_equal] = STATE(128),
    [sym_not_equal] = STATE(128),
    [sym_conditional] = STATE(128),
    [sym_function] = STATE(128),
    [sym_parenthesized_expression] = STATE(128),
    [sym_number] = STATE(128),
    [sym_address_typed] = STATE(128),
    [sym_variable] = STATE(117),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(37),
    [anon_sym_PLUS_PLUS] = ACTIONS(39),
    [anon_sym_DASH_DASH] = ACTIONS(41),
    [anon_sym_PLUS] = ACTIONS(43),
    [anon_sym_DASH] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(47),
    [anon_sym_BANG] = ACTIONS(49),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(51),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(129),
    [sym_special_variable] = ACTIONS(129),
  },
  [STATE(47)] = {
    [sym__expression] = STATE(129),
    [sym_let_assignment] = STATE(129),
    [sym_assignment] = STATE(129),
    [sym_increment] = STATE(129),
    [sym_decrement] = STATE(129),
    [sym_unary_plus] = STATE(129),
    [sym_unary_minus] = STATE(129),
    [sym_logical_negation] = STATE(129),
    [sym_logical_not] = STATE(129),
    [sym_sum] = STATE(129),
    [sym_subtraction] = STATE(129),
    [sym_product] = STATE(129),
    [sym_division] = STATE(129),
    [sym_signed_division] = STATE(129),
    [sym_modulo] = STATE(129),
    [sym_signed_modulo] = STATE(129),
    [sym_exponent] = STATE(129),
    [sym_logarithm] = STATE(129),
    [sym_logical_shl] = STATE(129),
    [sym_logical_shr] = STATE(129),
    [sym_arith_shr] = STATE(129),
    [sym_logical_rol] = STATE(129),
    [sym_logical_ror] = STATE(129),
    [sym_logical_and] = STATE(129),
    [sym_logical_xor] = STATE(129),
    [sym_logical_or] = STATE(129),
    [sym_less_than] = STATE(129),
    [sym_less_equal] = STATE(129),
    [sym_greater_than] = STATE(129),
    [sym_greater_equal] = STATE(129),
    [sym_equal] = STATE(129),
    [sym_not_equal] = STATE(129),
    [sym_conditional] = STATE(129),
    [sym_function] = STATE(129),
    [sym_parenthesized_expression] = STATE(129),
    [sym_number] = STATE(129),
    [sym_address_typed] = STATE(129),
    [sym_variable] = STATE(117),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(37),
    [anon_sym_PLUS_PLUS] = ACTIONS(39),
    [anon_sym_DASH_DASH] = ACTIONS(41),
    [anon_sym_PLUS] = ACTIONS(43),
    [anon_sym_DASH] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(47),
    [anon_sym_BANG] = ACTIONS(49),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(51),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(131),
    [sym_special_variable] = ACTIONS(131),
  },
  [STATE(48)] = {
    [sym__expression] = STATE(130),
    [sym_let_assignment] = STATE(130),
    [sym_assignment] = STATE(130),
    [sym_increment] = STATE(130),
    [sym_decrement] = STATE(130),
    [sym_unary_plus] = STATE(130),
    [sym_unary_minus] = STATE(130),
    [sym_logical_negation] = STATE(130),
    [sym_logical_not] = STATE(130),
    [sym_sum] = STATE(130),
    [sym_subtraction] = STATE(130),
    [sym_product] = STATE(130),
    [sym_division] = STATE(130),
    [sym_signed_division] = STATE(130),
    [sym_modulo] = STATE(130),
    [sym_signed_modulo] = STATE(130),
    [sym_exponent] = STATE(130),
    [sym_logarithm] = STATE(130),
    [sym_logical_shl] = STATE(130),
    [sym_logical_shr] = STATE(130),
    [sym_arith_shr] = STATE(130),
    [sym_logical_rol] = STATE(130),
    [sym_logical_ror] = STATE(130),
    [sym_logical_and] = STATE(130),
    [sym_logical_xor] = STATE(130),
    [sym_logical_or] = STATE(130),
    [sym_less_than] = STATE(130),
    [sym_less_equal] = STATE(130),
    [sym_greater_than] = STATE(130),
    [sym_greater_equal] = STATE(130),
    [sym_equal] = STATE(130),
    [sym_not_equal] = STATE(130),
    [sym_conditional] = STATE(130),
    [sym_function] = STATE(130),
    [sym_parenthesized_expression] = STATE(130),
    [sym_number] = STATE(130),
    [sym_address_typed] = STATE(130),
    [sym_variable] = STATE(117),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(37),
    [anon_sym_PLUS_PLUS] = ACTIONS(39),
    [anon_sym_DASH_DASH] = ACTIONS(41),
    [anon_sym_PLUS] = ACTIONS(43),
    [anon_sym_DASH] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(47),
    [anon_sym_BANG] = ACTIONS(49),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(51),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(133),
    [sym_special_variable] = ACTIONS(133),
  },
  [STATE(49)] = {
    [sym__expression] = STATE(131),
    [sym_let_assignment] = STATE(131),
    [sym_assignment] = STATE(131),
    [sym_increment] = STATE(131),
    [sym_decrement] = STATE(131),
    [sym_unary_plus] = STATE(131),
    [sym_unary_minus] = STATE(131),
    [sym_logical_negation] = STATE(131),
    [sym_logical_not] = STATE(131),
    [sym_sum] = STATE(131),
    [sym_subtraction] = STATE(131),
    [sym_product] = STATE(131),
    [sym_division] = STATE(131),
    [sym_signed_division] = STATE(131),
    [sym_modulo] = STATE(131),
    [sym_signed_modulo] = STATE(131),
    [sym_exponent] = STATE(131),
    [sym_logarithm] = STATE(131),
    [sym_logical_shl] = STATE(131),
    [sym_logical_shr] = STATE(131),
    [sym_arith_shr] = STATE(131),
    [sym_logical_rol] = STATE(131),
    [sym_logical_ror] = STATE(131),
    [sym_logical_and] = STATE(131),
    [sym_logical_xor] = STATE(131),
    [sym_logical_or] = STATE(131),
    [sym_less_than] = STATE(131),
    [sym_less_equal] = STATE(131),
    [sym_greater_than] = STATE(131),
    [sym_greater_equal] = STATE(131),
    [sym_equal] = STATE(131),
    [sym_not_equal] = STATE(131),
    [sym_conditional] = STATE(131),
    [sym_function] = STATE(131),
    [sym_parenthesized_expression] = STATE(131),
    [sym_number] = STATE(131),
    [sym_address_typed] = STATE(131),
    [sym_variable] = STATE(117),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(37),
    [anon_sym_PLUS_PLUS] = ACTIONS(39),
    [anon_sym_DASH_DASH] = ACTIONS(41),
    [anon_sym_PLUS] = ACTIONS(43),
    [anon_sym_DASH] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(47),
    [anon_sym_BANG] = ACTIONS(49),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(51),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(135),
    [sym_special_variable] = ACTIONS(135),
  },
  [STATE(50)] = {
    [sym__expression] = STATE(132),
    [sym_let_assignment] = STATE(132),
    [sym_assignment] = STATE(132),
    [sym_increment] = STATE(132),
    [sym_decrement] = STATE(132),
    [sym_unary_plus] = STATE(132),
    [sym_unary_minus] = STATE(132),
    [sym_logical_negation] = STATE(132),
    [sym_logical_not] = STATE(132),
    [sym_sum] = STATE(132),
    [sym_subtraction] = STATE(132),
    [sym_product] = STATE(132),
    [sym_division] = STATE(132),
    [sym_signed_division] = STATE(132),
    [sym_modulo] = STATE(132),
    [sym_signed_modulo] = STATE(132),
    [sym_exponent] = STATE(132),
    [sym_logarithm] = STATE(132),
    [sym_logical_shl] = STATE(132),
    [sym_logical_shr] = STATE(132),
    [sym_arith_shr] = STATE(132),
    [sym_logical_rol] = STATE(132),
    [sym_logical_ror] = STATE(132),
    [sym_logical_and] = STATE(132),
    [sym_logical_xor] = STATE(132),
    [sym_logical_or] = STATE(132),
    [sym_less_than] = STATE(132),
    [sym_less_equal] = STATE(132),
    [sym_greater_than] = STATE(132),
    [sym_greater_equal] = STATE(132),
    [sym_equal] = STATE(132),
    [sym_not_equal] = STATE(132),
    [sym_conditional] = STATE(132),
    [sym_function] = STATE(132),
    [sym_parenthesized_expression] = STATE(132),
    [sym_number] = STATE(132),
    [sym_address_typed] = STATE(132),
    [sym_variable] = STATE(117),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(37),
    [anon_sym_PLUS_PLUS] = ACTIONS(39),
    [anon_sym_DASH_DASH] = ACTIONS(41),
    [anon_sym_PLUS] = ACTIONS(43),
    [anon_sym_DASH] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(47),
    [anon_sym_BANG] = ACTIONS(49),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(51),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(137),
    [sym_special_variable] = ACTIONS(137),
  },
  [STATE(51)] = {
    [sym__expression] = STATE(133),
    [sym_let_assignment] = STATE(133),
    [sym_assignment] = STATE(133),
    [sym_increment] = STATE(133),
    [sym_decrement] = STATE(133),
    [sym_unary_plus] = STATE(133),
    [sym_unary_minus] = STATE(133),
    [sym_logical_negation] = STATE(133),
    [sym_logical_not] = STATE(133),
    [sym_sum] = STATE(133),
    [sym_subtraction] = STATE(133),
    [sym_product] = STATE(133),
    [sym_division] = STATE(133),
    [sym_signed_division] = STATE(133),
    [sym_modulo] = STATE(133),
    [sym_signed_modulo] = STATE(133),
    [sym_exponent] = STATE(133),
    [sym_logarithm] = STATE(133),
    [sym_logical_shl] = STATE(133),
    [sym_logical_shr] = STATE(133),
    [sym_arith_shr] = STATE(133),
    [sym_logical_rol] = STATE(133),
    [sym_logical_ror] = STATE(133),
    [sym_logical_and] = STATE(133),
    [sym_logical_xor] = STATE(133),
    [sym_logical_or] = STATE(133),
    [sym_less_than] = STATE(133),
    [sym_less_equal] = STATE(133),
    [sym_greater_than] = STATE(133),
    [sym_greater_equal] = STATE(133),
    [sym_equal] = STATE(133),
    [sym_not_equal] = STATE(133),
    [sym_conditional] = STATE(133),
    [sym_function] = STATE(133),
    [sym_parenthesized_expression] = STATE(133),
    [sym_number] = STATE(133),
    [sym_address_typed] = STATE(133),
    [sym_variable] = STATE(117),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(37),
    [anon_sym_PLUS_PLUS] = ACTIONS(39),
    [anon_sym_DASH_DASH] = ACTIONS(41),
    [anon_sym_PLUS] = ACTIONS(43),
    [anon_sym_DASH] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(47),
    [anon_sym_BANG] = ACTIONS(49),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(51),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(139),
    [sym_special_variable] = ACTIONS(139),
  },
  [STATE(52)] = {
    [sym__expression] = STATE(134),
    [sym_let_assignment] = STATE(134),
    [sym_assignment] = STATE(134),
    [sym_increment] = STATE(134),
    [sym_decrement] = STATE(134),
    [sym_unary_plus] = STATE(134),
    [sym_unary_minus] = STATE(134),
    [sym_logical_negation] = STATE(134),
    [sym_logical_not] = STATE(134),
    [sym_sum] = STATE(134),
    [sym_subtraction] = STATE(134),
    [sym_product] = STATE(134),
    [sym_division] = STATE(134),
    [sym_signed_division] = STATE(134),
    [sym_modulo] = STATE(134),
    [sym_signed_modulo] = STATE(134),
    [sym_exponent] = STATE(134),
    [sym_logarithm] = STATE(134),
    [sym_logical_shl] = STATE(134),
    [sym_logical_shr] = STATE(134),
    [sym_arith_shr] = STATE(134),
    [sym_logical_rol] = STATE(134),
    [sym_logical_ror] = STATE(134),
    [sym_logical_and] = STATE(134),
    [sym_logical_xor] = STATE(134),
    [sym_logical_or] = STATE(134),
    [sym_less_than] = STATE(134),
    [sym_less_equal] = STATE(134),
    [sym_greater_than] = STATE(134),
    [sym_greater_equal] = STATE(134),
    [sym_equal] = STATE(134),
    [sym_not_equal] = STATE(134),
    [sym_conditional] = STATE(134),
    [sym_function] = STATE(134),
    [sym_parenthesized_expression] = STATE(134),
    [sym_number] = STATE(134),
    [sym_address_typed] = STATE(134),
    [sym_variable] = STATE(117),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(37),
    [anon_sym_PLUS_PLUS] = ACTIONS(39),
    [anon_sym_DASH_DASH] = ACTIONS(41),
    [anon_sym_PLUS] = ACTIONS(43),
    [anon_sym_DASH] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(47),
    [anon_sym_BANG] = ACTIONS(49),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(51),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(141),
    [sym_special_variable] = ACTIONS(141),
  },
  [STATE(53)] = {
    [sym__expression] = STATE(135),
    [sym_let_assignment] = STATE(135),
    [sym_assignment] = STATE(135),
    [sym_increment] = STATE(135),
    [sym_decrement] = STATE(135),
    [sym_unary_plus] = STATE(135),
    [sym_unary_minus] = STATE(135),
    [sym_logical_negation] = STATE(135),
    [sym_logical_not] = STATE(135),
    [sym_sum] = STATE(135),
    [sym_subtraction] = STATE(135),
    [sym_product] = STATE(135),
    [sym_division] = STATE(135),
    [sym_signed_division] = STATE(135),
    [sym_modulo] = STATE(135),
    [sym_signed_modulo] = STATE(135),
    [sym_exponent] = STATE(135),
    [sym_logarithm] = STATE(135),
    [sym_logical_shl] = STATE(135),
    [sym_logical_shr] = STATE(135),
    [sym_arith_shr] = STATE(135),
    [sym_logical_rol] = STATE(135),
    [sym_logical_ror] = STATE(135),
    [sym_logical_and] = STATE(135),
    [sym_logical_xor] = STATE(135),
    [sym_logical_or] = STATE(135),
    [sym_less_than] = STATE(135),
    [sym_less_equal] = STATE(135),
    [sym_greater_than] = STATE(135),
    [sym_greater_equal] = STATE(135),
    [sym_equal] = STATE(135),
    [sym_not_equal] = STATE(135),
    [sym_conditional] = STATE(135),
    [sym_function] = STATE(135),
    [sym_parenthesized_expression] = STATE(135),
    [sym_number] = STATE(135),
    [sym_address_typed] = STATE(135),
    [sym_variable] = STATE(117),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(37),
    [anon_sym_PLUS_PLUS] = ACTIONS(39),
    [anon_sym_DASH_DASH] = ACTIONS(41),
    [anon_sym_PLUS] = ACTIONS(43),
    [anon_sym_DASH] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(47),
    [anon_sym_BANG] = ACTIONS(49),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(51),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(143),
    [sym_special_variable] = ACTIONS(143),
  },
  [STATE(54)] = {
    [sym__expression] = STATE(136),
    [sym_let_assignment] = STATE(136),
    [sym_assignment] = STATE(136),
    [sym_increment] = STATE(136),
    [sym_decrement] = STATE(136),
    [sym_unary_plus] = STATE(136),
    [sym_unary_minus] = STATE(136),
    [sym_logical_negation] = STATE(136),
    [sym_logical_not] = STATE(136),
    [sym_sum] = STATE(136),
    [sym_subtraction] = STATE(136),
    [sym_product] = STATE(136),
    [sym_division] = STATE(136),
    [sym_signed_division] = STATE(136),
    [sym_modulo] = STATE(136),
    [sym_signed_modulo] = STATE(136),
    [sym_exponent] = STATE(136),
    [sym_logarithm] = STATE(136),
    [sym_logical_shl] = STATE(136),
    [sym_logical_shr] = STATE(136),
    [sym_arith_shr] = STATE(136),
    [sym_logical_rol] = STATE(136),
    [sym_logical_ror] = STATE(136),
    [sym_logical_and] = STATE(136),
    [sym_logical_xor] = STATE(136),
    [sym_logical_or] = STATE(136),
    [sym_less_than] = STATE(136),
    [sym_less_equal] = STATE(136),
    [sym_greater_than] = STATE(136),
    [sym_greater_equal] = STATE(136),
    [sym_equal] = STATE(136),
    [sym_not_equal] = STATE(136),
    [sym_conditional] = STATE(136),
    [sym_function] = STATE(136),
    [sym_parenthesized_expression] = STATE(136),
    [sym_number] = STATE(136),
    [sym_address_typed] = STATE(136),
    [sym_variable] = STATE(117),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(37),
    [anon_sym_PLUS_PLUS] = ACTIONS(39),
    [anon_sym_DASH_DASH] = ACTIONS(41),
    [anon_sym_PLUS] = ACTIONS(43),
    [anon_sym_DASH] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(47),
    [anon_sym_BANG] = ACTIONS(49),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(51),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(145),
    [sym_special_variable] = ACTIONS(145),
  },
  [STATE(55)] = {
    [sym__expression] = STATE(137),
    [sym_let_assignment] = STATE(137),
    [sym_assignment] = STATE(137),
    [sym_increment] = STATE(137),
    [sym_decrement] = STATE(137),
    [sym_unary_plus] = STATE(137),
    [sym_unary_minus] = STATE(137),
    [sym_logical_negation] = STATE(137),
    [sym_logical_not] = STATE(137),
    [sym_sum] = STATE(137),
    [sym_subtraction] = STATE(137),
    [sym_product] = STATE(137),
    [sym_division] = STATE(137),
    [sym_signed_division] = STATE(137),
    [sym_modulo] = STATE(137),
    [sym_signed_modulo] = STATE(137),
    [sym_exponent] = STATE(137),
    [sym_logarithm] = STATE(137),
    [sym_logical_shl] = STATE(137),
    [sym_logical_shr] = STATE(137),
    [sym_arith_shr] = STATE(137),
    [sym_logical_rol] = STATE(137),
    [sym_logical_ror] = STATE(137),
    [sym_logical_and] = STATE(137),
    [sym_logical_xor] = STATE(137),
    [sym_logical_or] = STATE(137),
    [sym_less_than] = STATE(137),
    [sym_less_equal] = STATE(137),
    [sym_greater_than] = STATE(137),
    [sym_greater_equal] = STATE(137),
    [sym_equal] = STATE(137),
    [sym_not_equal] = STATE(137),
    [sym_conditional] = STATE(137),
    [sym_function] = STATE(137),
    [sym_parenthesized_expression] = STATE(137),
    [sym_number] = STATE(137),
    [sym_address_typed] = STATE(137),
    [sym_variable] = STATE(117),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(37),
    [anon_sym_PLUS_PLUS] = ACTIONS(39),
    [anon_sym_DASH_DASH] = ACTIONS(41),
    [anon_sym_PLUS] = ACTIONS(43),
    [anon_sym_DASH] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(47),
    [anon_sym_BANG] = ACTIONS(49),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(51),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(147),
    [sym_special_variable] = ACTIONS(147),
  },
  [STATE(56)] = {
    [sym__expression] = STATE(138),
    [sym_let_assignment] = STATE(138),
    [sym_assignment] = STATE(138),
    [sym_increment] = STATE(138),
    [sym_decrement] = STATE(138),
    [sym_unary_plus] = STATE(138),
    [sym_unary_minus] = STATE(138),
    [sym_logical_negation] = STATE(138),
    [sym_logical_not] = STATE(138),
    [sym_sum] = STATE(138),
    [sym_subtraction] = STATE(138),
    [sym_product] = STATE(138),
    [sym_division] = STATE(138),
    [sym_signed_division] = STATE(138),
    [sym_modulo] = STATE(138),
    [sym_signed_modulo] = STATE(138),
    [sym_exponent] = STATE(138),
    [sym_logarithm] = STATE(138),
    [sym_logical_shl] = STATE(138),
    [sym_logical_shr] = STATE(138),
    [sym_arith_shr] = STATE(138),
    [sym_logical_rol] = STATE(138),
    [sym_logical_ror] = STATE(138),
    [sym_logical_and] = STATE(138),
    [sym_logical_xor] = STATE(138),
    [sym_logical_or] = STATE(138),
    [sym_less_than] = STATE(138),
    [sym_less_equal] = STATE(138),
    [sym_greater_than] = STATE(138),
    [sym_greater_equal] = STATE(138),
    [sym_equal] = STATE(138),
    [sym_not_equal] = STATE(138),
    [sym_conditional] = STATE(138),
    [sym_function] = STATE(138),
    [sym_parenthesized_expression] = STATE(138),
    [sym_number] = STATE(138),
    [sym_address_typed] = STATE(138),
    [sym_variable] = STATE(117),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(37),
    [anon_sym_PLUS_PLUS] = ACTIONS(39),
    [anon_sym_DASH_DASH] = ACTIONS(41),
    [anon_sym_PLUS] = ACTIONS(43),
    [anon_sym_DASH] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(47),
    [anon_sym_BANG] = ACTIONS(49),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(51),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(149),
    [sym_special_variable] = ACTIONS(149),
  },
  [STATE(57)] = {
    [sym__expression] = STATE(139),
    [sym_let_assignment] = STATE(139),
    [sym_assignment] = STATE(139),
    [sym_increment] = STATE(139),
    [sym_decrement] = STATE(139),
    [sym_unary_plus] = STATE(139),
    [sym_unary_minus] = STATE(139),
    [sym_logical_negation] = STATE(139),
    [sym_logical_not] = STATE(139),
    [sym_sum] = STATE(139),
    [sym_subtraction] = STATE(139),
    [sym_product] = STATE(139),
    [sym_division] = STATE(139),
    [sym_signed_division] = STATE(139),
    [sym_modulo] = STATE(139),
    [sym_signed_modulo] = STATE(139),
    [sym_exponent] = STATE(139),
    [sym_logarithm] = STATE(139),
    [sym_logical_shl] = STATE(139),
    [sym_logical_shr] = STATE(139),
    [sym_arith_shr] = STATE(139),
    [sym_logical_rol] = STATE(139),
    [sym_logical_ror] = STATE(139),
    [sym_logical_and] = STATE(139),
    [sym_logical_xor] = STATE(139),
    [sym_logical_or] = STATE(139),
    [sym_less_than] = STATE(139),
    [sym_less_equal] = STATE(139),
    [sym_greater_than] = STATE(139),
    [sym_greater_equal] = STATE(139),
    [sym_equal] = STATE(139),
    [sym_not_equal] = STATE(139),
    [sym_conditional] = STATE(139),
    [sym_function] = STATE(139),
    [sym_parenthesized_expression] = STATE(139),
    [sym_number] = STATE(139),
    [sym_address_typed] = STATE(139),
    [sym_variable] = STATE(117),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(37),
    [anon_sym_PLUS_PLUS] = ACTIONS(39),
    [anon_sym_DASH_DASH] = ACTIONS(41),
    [anon_sym_PLUS] = ACTIONS(43),
    [anon_sym_DASH] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(47),
    [anon_sym_BANG] = ACTIONS(49),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(51),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(151),
    [sym_special_variable] = ACTIONS(151),
  },
  [STATE(58)] = {
    [sym__expression] = STATE(140),
    [sym_let_assignment] = STATE(140),
    [sym_assignment] = STATE(140),
    [sym_increment] = STATE(140),
    [sym_decrement] = STATE(140),
    [sym_unary_plus] = STATE(140),
    [sym_unary_minus] = STATE(140),
    [sym_logical_negation] = STATE(140),
    [sym_logical_not] = STATE(140),
    [sym_sum] = STATE(140),
    [sym_subtraction] = STATE(140),
    [sym_product] = STATE(140),
    [sym_division] = STATE(140),
    [sym_signed_division] = STATE(140),
    [sym_modulo] = STATE(140),
    [sym_signed_modulo] = STATE(140),
    [sym_exponent] = STATE(140),
    [sym_logarithm] = STATE(140),
    [sym_logical_shl] = STATE(140),
    [sym_logical_shr] = STATE(140),
    [sym_arith_shr] = STATE(140),
    [sym_logical_rol] = STATE(140),
    [sym_logical_ror] = STATE(140),
    [sym_logical_and] = STATE(140),
    [sym_logical_xor] = STATE(140),
    [sym_logical_or] = STATE(140),
    [sym_less_than] = STATE(140),
    [sym_less_equal] = STATE(140),
    [sym_greater_than] = STATE(140),
    [sym_greater_equal] = STATE(140),
    [sym_equal] = STATE(140),
    [sym_not_equal] = STATE(140),
    [sym_conditional] = STATE(140),
    [sym_function] = STATE(140),
    [sym_parenthesized_expression] = STATE(140),
    [sym_number] = STATE(140),
    [sym_address_typed] = STATE(140),
    [sym_variable] = STATE(117),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(37),
    [anon_sym_PLUS_PLUS] = ACTIONS(39),
    [anon_sym_DASH_DASH] = ACTIONS(41),
    [anon_sym_PLUS] = ACTIONS(43),
    [anon_sym_DASH] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(47),
    [anon_sym_BANG] = ACTIONS(49),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(51),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(153),
    [sym_special_variable] = ACTIONS(153),
  },
  [STATE(59)] = {
    [sym__expression] = STATE(141),
    [sym_let_assignment] = STATE(141),
    [sym_assignment] = STATE(141),
    [sym_increment] = STATE(141),
    [sym_decrement] = STATE(141),
    [sym_unary_plus] = STATE(141),
    [sym_unary_minus] = STATE(141),
    [sym_logical_negation] = STATE(141),
    [sym_logical_not] = STATE(141),
    [sym_sum] = STATE(141),
    [sym_subtraction] = STATE(141),
    [sym_product] = STATE(141),
    [sym_division] = STATE(141),
    [sym_signed_division] = STATE(141),
    [sym_modulo] = STATE(141),
    [sym_signed_modulo] = STATE(141),
    [sym_exponent] = STATE(141),
    [sym_logarithm] = STATE(141),
    [sym_logical_shl] = STATE(141),
    [sym_logical_shr] = STATE(141),
    [sym_arith_shr] = STATE(141),
    [sym_logical_rol] = STATE(141),
    [sym_logical_ror] = STATE(141),
    [sym_logical_and] = STATE(141),
    [sym_logical_xor] = STATE(141),
    [sym_logical_or] = STATE(141),
    [sym_less_than] = STATE(141),
    [sym_less_equal] = STATE(141),
    [sym_greater_than] = STATE(141),
    [sym_greater_equal] = STATE(141),
    [sym_equal] = STATE(141),
    [sym_not_equal] = STATE(141),
    [sym_conditional] = STATE(141),
    [sym_function] = STATE(141),
    [sym_parenthesized_expression] = STATE(141),
    [sym_number] = STATE(141),
    [sym_address_typed] = STATE(141),
    [sym_variable] = STATE(117),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(37),
    [anon_sym_PLUS_PLUS] = ACTIONS(39),
    [anon_sym_DASH_DASH] = ACTIONS(41),
    [anon_sym_PLUS] = ACTIONS(43),
    [anon_sym_DASH] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(47),
    [anon_sym_BANG] = ACTIONS(49),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(51),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(155),
    [sym_special_variable] = ACTIONS(155),
  },
  [STATE(60)] = {
    [sym__expression] = STATE(142),
    [sym_let_assignment] = STATE(142),
    [sym_assignment] = STATE(142),
    [sym_increment] = STATE(142),
    [sym_decrement] = STATE(142),
    [sym_unary_plus] = STATE(142),
    [sym_unary_minus] = STATE(142),
    [sym_logical_negation] = STATE(142),
    [sym_logical_not] = STATE(142),
    [sym_sum] = STATE(142),
    [sym_subtraction] = STATE(142),
    [sym_product] = STATE(142),
    [sym_division] = STATE(142),
    [sym_signed_division] = STATE(142),
    [sym_modulo] = STATE(142),
    [sym_signed_modulo] = STATE(142),
    [sym_exponent] = STATE(142),
    [sym_logarithm] = STATE(142),
    [sym_logical_shl] = STATE(142),
    [sym_logical_shr] = STATE(142),
    [sym_arith_shr] = STATE(142),
    [sym_logical_rol] = STATE(142),
    [sym_logical_ror] = STATE(142),
    [sym_logical_and] = STATE(142),
    [sym_logical_xor] = STATE(142),
    [sym_logical_or] = STATE(142),
    [sym_less_than] = STATE(142),
    [sym_less_equal] = STATE(142),
    [sym_greater_than] = STATE(142),
    [sym_greater_equal] = STATE(142),
    [sym_equal] = STATE(142),
    [sym_not_equal] = STATE(142),
    [sym_conditional] = STATE(142),
    [sym_function] = STATE(142),
    [sym_parenthesized_expression] = STATE(142),
    [sym_number] = STATE(142),
    [sym_address_typed] = STATE(142),
    [sym_variable] = STATE(117),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(37),
    [anon_sym_PLUS_PLUS] = ACTIONS(39),
    [anon_sym_DASH_DASH] = ACTIONS(41),
    [anon_sym_PLUS] = ACTIONS(43),
    [anon_sym_DASH] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(47),
    [anon_sym_BANG] = ACTIONS(49),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(51),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(157),
    [sym_special_variable] = ACTIONS(157),
  },
  [STATE(61)] = {
    [sym__expression] = STATE(143),
    [sym_let_assignment] = STATE(143),
    [sym_assignment] = STATE(143),
    [sym_increment] = STATE(143),
    [sym_decrement] = STATE(143),
    [sym_unary_plus] = STATE(143),
    [sym_unary_minus] = STATE(143),
    [sym_logical_negation] = STATE(143),
    [sym_logical_not] = STATE(143),
    [sym_sum] = STATE(143),
    [sym_subtraction] = STATE(143),
    [sym_product] = STATE(143),
    [sym_division] = STATE(143),
    [sym_signed_division] = STATE(143),
    [sym_modulo] = STATE(143),
    [sym_signed_modulo] = STATE(143),
    [sym_exponent] = STATE(143),
    [sym_logarithm] = STATE(143),
    [sym_logical_shl] = STATE(143),
    [sym_logical_shr] = STATE(143),
    [sym_arith_shr] = STATE(143),
    [sym_logical_rol] = STATE(143),
    [sym_logical_ror] = STATE(143),
    [sym_logical_and] = STATE(143),
    [sym_logical_xor] = STATE(143),
    [sym_logical_or] = STATE(143),
    [sym_less_than] = STATE(143),
    [sym_less_equal] = STATE(143),
    [sym_greater_than] = STATE(143),
    [sym_greater_equal] = STATE(143),
    [sym_equal] = STATE(143),
    [sym_not_equal] = STATE(143),
    [sym_conditional] = STATE(143),
    [sym_function] = STATE(143),
    [sym_parenthesized_expression] = STATE(143),
    [sym_number] = STATE(143),
    [sym_address_typed] = STATE(143),
    [sym_variable] = STATE(117),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(37),
    [anon_sym_PLUS_PLUS] = ACTIONS(39),
    [anon_sym_DASH_DASH] = ACTIONS(41),
    [anon_sym_PLUS] = ACTIONS(43),
    [anon_sym_DASH] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(47),
    [anon_sym_BANG] = ACTIONS(49),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(51),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(159),
    [sym_special_variable] = ACTIONS(159),
  },
  [STATE(62)] = {
    [sym__expression] = STATE(144),
    [sym_let_assignment] = STATE(144),
    [sym_assignment] = STATE(144),
    [sym_increment] = STATE(144),
    [sym_decrement] = STATE(144),
    [sym_unary_plus] = STATE(144),
    [sym_unary_minus] = STATE(144),
    [sym_logical_negation] = STATE(144),
    [sym_logical_not] = STATE(144),
    [sym_sum] = STATE(144),
    [sym_subtraction] = STATE(144),
    [sym_product] = STATE(144),
    [sym_division] = STATE(144),
    [sym_signed_division] = STATE(144),
    [sym_modulo] = STATE(144),
    [sym_signed_modulo] = STATE(144),
    [sym_exponent] = STATE(144),
    [sym_logarithm] = STATE(144),
    [sym_logical_shl] = STATE(144),
    [sym_logical_shr] = STATE(144),
    [sym_arith_shr] = STATE(144),
    [sym_logical_rol] = STATE(144),
    [sym_logical_ror] = STATE(144),
    [sym_logical_and] = STATE(144),
    [sym_logical_xor] = STATE(144),
    [sym_logical_or] = STATE(144),
    [sym_less_than] = STATE(144),
    [sym_less_equal] = STATE(144),
    [sym_greater_than] = STATE(144),
    [sym_greater_equal] = STATE(144),
    [sym_equal] = STATE(144),
    [sym_not_equal] = STATE(144),
    [sym_conditional] = STATE(144),
    [sym_function] = STATE(144),
    [sym_parenthesized_expression] = STATE(144),
    [sym_number] = STATE(144),
    [sym_address_typed] = STATE(144),
    [sym_variable] = STATE(117),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(37),
    [anon_sym_PLUS_PLUS] = ACTIONS(39),
    [anon_sym_DASH_DASH] = ACTIONS(41),
    [anon_sym_PLUS] = ACTIONS(43),
    [anon_sym_DASH] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(47),
    [anon_sym_BANG] = ACTIONS(49),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(51),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(161),
    [sym_special_variable] = ACTIONS(161),
  },
  [STATE(63)] = {
    [sym__expression] = STATE(118),
    [sym_let_assignment] = STATE(118),
    [sym_assignment] = STATE(118),
    [sym_increment] = STATE(118),
    [sym_decrement] = STATE(118),
    [sym_unary_plus] = STATE(118),
    [sym_unary_minus] = STATE(118),
    [sym_logical_negation] = STATE(118),
    [sym_logical_not] = STATE(118),
    [sym_sum] = STATE(118),
    [sym_subtraction] = STATE(118),
    [sym_product] = STATE(118),
    [sym_division] = STATE(118),
    [sym_signed_division] = STATE(118),
    [sym_modulo] = STATE(118),
    [sym_signed_modulo] = STATE(118),
    [sym_exponent] = STATE(118),
    [sym_logarithm] = STATE(118),
    [sym_logical_shl] = STATE(118),
    [sym_logical_shr] = STATE(118),
    [sym_arith_shr] = STATE(118),
    [sym_logical_rol] = STATE(118),
    [sym_logical_ror] = STATE(118),
    [sym_logical_and] = STATE(118),
    [sym_logical_xor] = STATE(118),
    [sym_logical_or] = STATE(118),
    [sym_less_than] = STATE(118),
    [sym_less_equal] = STATE(118),
    [sym_greater_than] = STATE(118),
    [sym_greater_equal] = STATE(118),
    [sym_equal] = STATE(118),
    [sym_not_equal] = STATE(118),
    [sym_conditional] = STATE(118),
    [sym_function] = STATE(118),
    [sym_parenthesized_expression] = STATE(118),
    [sym_number] = STATE(118),
    [sym_address_typed] = STATE(118),
    [sym_variable] = STATE(117),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(37),
    [anon_sym_PLUS_PLUS] = ACTIONS(39),
    [anon_sym_DASH_DASH] = ACTIONS(41),
    [anon_sym_PLUS] = ACTIONS(43),
    [anon_sym_DASH] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(47),
    [anon_sym_BANG] = ACTIONS(49),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(51),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(163),
    [sym_special_variable] = ACTIONS(163),
  },
  [STATE(64)] = {
    [sym__expression] = STATE(145),
    [sym_let_assignment] = STATE(145),
    [sym_assignment] = STATE(145),
    [sym_increment] = STATE(145),
    [sym_decrement] = STATE(145),
    [sym_unary_plus] = STATE(145),
    [sym_unary_minus] = STATE(145),
    [sym_logical_negation] = STATE(145),
    [sym_logical_not] = STATE(145),
    [sym_sum] = STATE(145),
    [sym_subtraction] = STATE(145),
    [sym_product] = STATE(145),
    [sym_division] = STATE(145),
    [sym_signed_division] = STATE(145),
    [sym_modulo] = STATE(145),
    [sym_signed_modulo] = STATE(145),
    [sym_exponent] = STATE(145),
    [sym_logarithm] = STATE(145),
    [sym_logical_shl] = STATE(145),
    [sym_logical_shr] = STATE(145),
    [sym_arith_shr] = STATE(145),
    [sym_logical_rol] = STATE(145),
    [sym_logical_ror] = STATE(145),
    [sym_logical_and] = STATE(145),
    [sym_logical_xor] = STATE(145),
    [sym_logical_or] = STATE(145),
    [sym_less_than] = STATE(145),
    [sym_less_equal] = STATE(145),
    [sym_greater_than] = STATE(145),
    [sym_greater_equal] = STATE(145),
    [sym_equal] = STATE(145),
    [sym_not_equal] = STATE(145),
    [sym_conditional] = STATE(145),
    [sym_function] = STATE(145),
    [sym_parenthesized_expression] = STATE(145),
    [sym_number] = STATE(145),
    [sym_address_typed] = STATE(145),
    [sym_variable] = STATE(117),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(37),
    [anon_sym_PLUS_PLUS] = ACTIONS(39),
    [anon_sym_DASH_DASH] = ACTIONS(41),
    [anon_sym_PLUS] = ACTIONS(43),
    [anon_sym_DASH] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(47),
    [anon_sym_BANG] = ACTIONS(49),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(51),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(165),
    [sym_special_variable] = ACTIONS(165),
  },
  [STATE(65)] = {
    [sym__expression] = STATE(77),
    [sym_let_assignment] = STATE(77),
    [sym_assignment] = STATE(77),
    [sym_increment] = STATE(77),
    [sym_decrement] = STATE(77),
    [sym_unary_plus] = STATE(77),
    [sym_unary_minus] = STATE(77),
    [sym_logical_negation] = STATE(77),
    [sym_logical_not] = STATE(77),
    [sym_sum] = STATE(77),
    [sym_subtraction] = STATE(77),
    [sym_product] = STATE(77),
    [sym_division] = STATE(77),
    [sym_signed_division] = STATE(77),
    [sym_modulo] = STATE(77),
    [sym_signed_modulo] = STATE(77),
    [sym_exponent] = STATE(77),
    [sym_logarithm] = STATE(77),
    [sym_logical_shl] = STATE(77),
    [sym_logical_shr] = STATE(77),
    [sym_arith_shr] = STATE(77),
    [sym_logical_rol] = STATE(77),
    [sym_logical_ror] = STATE(77),
    [sym_logical_and] = STATE(77),
    [sym_logical_xor] = STATE(77),
    [sym_logical_or] = STATE(77),
    [sym_less_than] = STATE(77),
    [sym_less_equal] = STATE(77),
    [sym_greater_than] = STATE(77),
    [sym_greater_equal] = STATE(77),
    [sym_equal] = STATE(77),
    [sym_not_equal] = STATE(77),
    [sym_conditional] = STATE(77),
    [sym_function] = STATE(77),
    [sym_parenthesized_expression] = STATE(77),
    [sym_number] = STATE(77),
    [sym_address_typed] = STATE(77),
    [sym_variable] = STATE(117),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(37),
    [anon_sym_PLUS_PLUS] = ACTIONS(39),
    [anon_sym_DASH_DASH] = ACTIONS(41),
    [anon_sym_PLUS] = ACTIONS(43),
    [anon_sym_DASH] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(47),
    [anon_sym_BANG] = ACTIONS(49),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(51),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(55),
    [sym_special_variable] = ACTIONS(55),
  },
  [STATE(66)] = {
    [sym__expression] = STATE(80),
    [sym_let_assignment] = STATE(80),
    [sym_assignment] = STATE(80),
    [sym_increment] = STATE(80),
    [sym_decrement] = STATE(80),
    [sym_unary_plus] = STATE(80),
    [sym_unary_minus] = STATE(80),
    [sym_logical_negation] = STATE(80),
    [sym_logical_not] = STATE(80),
    [sym_sum] = STATE(80),
    [sym_subtraction] = STATE(80),
    [sym_product] = STATE(80),
    [sym_division] = STATE(80),
    [sym_signed_division] = STATE(80),
    [sym_modulo] = STATE(80),
    [sym_signed_modulo] = STATE(80),
    [sym_exponent] = STATE(80),
    [sym_logarithm] = STATE(80),
    [sym_logical_shl] = STATE(80),
    [sym_logical_shr] = STATE(80),
    [sym_arith_shr] = STATE(80),
    [sym_logical_rol] = STATE(80),
    [sym_logical_ror] = STATE(80),
    [sym_logical_and] = STATE(80),
    [sym_logical_xor] = STATE(80),
    [sym_logical_or] = STATE(80),
    [sym_less_than] = STATE(80),
    [sym_less_equal] = STATE(80),
    [sym_greater_than] = STATE(80),
    [sym_greater_equal] = STATE(80),
    [sym_equal] = STATE(80),
    [sym_not_equal] = STATE(80),
    [sym_conditional] = STATE(80),
    [sym_function] = STATE(80),
    [sym_parenthesized_expression] = STATE(80),
    [sym_number] = STATE(80),
    [sym_address_typed] = STATE(80),
    [sym_variable] = STATE(117),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(37),
    [anon_sym_PLUS_PLUS] = ACTIONS(39),
    [anon_sym_DASH_DASH] = ACTIONS(41),
    [anon_sym_PLUS] = ACTIONS(43),
    [anon_sym_DASH] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(47),
    [anon_sym_BANG] = ACTIONS(49),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(51),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(107),
    [sym_special_variable] = ACTIONS(107),
  },
  [STATE(67)] = {
    [sym__expression] = STATE(81),
    [sym_let_assignment] = STATE(81),
    [sym_assignment] = STATE(81),
    [sym_increment] = STATE(81),
    [sym_decrement] = STATE(81),
    [sym_unary_plus] = STATE(81),
    [sym_unary_minus] = STATE(81),
    [sym_logical_negation] = STATE(81),
    [sym_logical_not] = STATE(81),
    [sym_sum] = STATE(81),
    [sym_subtraction] = STATE(81),
    [sym_product] = STATE(81),
    [sym_division] = STATE(81),
    [sym_signed_division] = STATE(81),
    [sym_modulo] = STATE(81),
    [sym_signed_modulo] = STATE(81),
    [sym_exponent] = STATE(81),
    [sym_logarithm] = STATE(81),
    [sym_logical_shl] = STATE(81),
    [sym_logical_shr] = STATE(81),
    [sym_arith_shr] = STATE(81),
    [sym_logical_rol] = STATE(81),
    [sym_logical_ror] = STATE(81),
    [sym_logical_and] = STATE(81),
    [sym_logical_xor] = STATE(81),
    [sym_logical_or] = STATE(81),
    [sym_less_than] = STATE(81),
    [sym_less_equal] = STATE(81),
    [sym_greater_than] = STATE(81),
    [sym_greater_equal] = STATE(81),
    [sym_equal] = STATE(81),
    [sym_not_equal] = STATE(81),
    [sym_conditional] = STATE(81),
    [sym_function] = STATE(81),
    [sym_parenthesized_expression] = STATE(81),
    [sym_number] = STATE(81),
    [sym_address_typed] = STATE(81),
    [sym_variable] = STATE(117),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(37),
    [anon_sym_PLUS_PLUS] = ACTIONS(39),
    [anon_sym_DASH_DASH] = ACTIONS(41),
    [anon_sym_PLUS] = ACTIONS(43),
    [anon_sym_DASH] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(47),
    [anon_sym_BANG] = ACTIONS(49),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(51),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(111),
    [sym_special_variable] = ACTIONS(111),
  },
  [STATE(68)] = {
    [sym__expression] = STATE(146),
    [sym_let_assignment] = STATE(146),
    [sym_assignment] = STATE(146),
    [sym_increment] = STATE(146),
    [sym_decrement] = STATE(146),
    [sym_unary_plus] = STATE(146),
    [sym_unary_minus] = STATE(146),
    [sym_logical_negation] = STATE(146),
    [sym_logical_not] = STATE(146),
    [sym_sum] = STATE(146),
    [sym_subtraction] = STATE(146),
    [sym_product] = STATE(146),
    [sym_division] = STATE(146),
    [sym_signed_division] = STATE(146),
    [sym_modulo] = STATE(146),
    [sym_signed_modulo] = STATE(146),
    [sym_exponent] = STATE(146),
    [sym_logarithm] = STATE(146),
    [sym_logical_shl] = STATE(146),
    [sym_logical_shr] = STATE(146),
    [sym_arith_shr] = STATE(146),
    [sym_logical_rol] = STATE(146),
    [sym_logical_ror] = STATE(146),
    [sym_logical_and] = STATE(146),
    [sym_logical_xor] = STATE(146),
    [sym_logical_or] = STATE(146),
    [sym_less_than] = STATE(146),
    [sym_less_equal] = STATE(146),
    [sym_greater_than] = STATE(146),
    [sym_greater_equal] = STATE(146),
    [sym_equal] = STATE(146),
    [sym_not_equal] = STATE(146),
    [sym_conditional] = STATE(146),
    [sym_function] = STATE(146),
    [sym_parenthesized_expression] = STATE(146),
    [sym_number] = STATE(146),
    [sym_address_typed] = STATE(146),
    [sym_variable] = STATE(117),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(37),
    [anon_sym_PLUS_PLUS] = ACTIONS(39),
    [anon_sym_DASH_DASH] = ACTIONS(41),
    [anon_sym_PLUS] = ACTIONS(43),
    [anon_sym_DASH] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(47),
    [anon_sym_BANG] = ACTIONS(49),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(51),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(167),
    [sym_special_variable] = ACTIONS(167),
  },
  [STATE(69)] = {
    [sym__expression] = STATE(123),
    [sym_let_assignment] = STATE(123),
    [sym_assignment] = STATE(123),
    [sym_increment] = STATE(123),
    [sym_decrement] = STATE(123),
    [sym_unary_plus] = STATE(123),
    [sym_unary_minus] = STATE(123),
    [sym_logical_negation] = STATE(123),
    [sym_logical_not] = STATE(123),
    [sym_sum] = STATE(123),
    [sym_subtraction] = STATE(123),
    [sym_product] = STATE(123),
    [sym_division] = STATE(123),
    [sym_signed_division] = STATE(123),
    [sym_modulo] = STATE(123),
    [sym_signed_modulo] = STATE(123),
    [sym_exponent] = STATE(123),
    [sym_logarithm] = STATE(123),
    [sym_logical_shl] = STATE(123),
    [sym_logical_shr] = STATE(123),
    [sym_arith_shr] = STATE(123),
    [sym_logical_rol] = STATE(123),
    [sym_logical_ror] = STATE(123),
    [sym_logical_and] = STATE(123),
    [sym_logical_xor] = STATE(123),
    [sym_logical_or] = STATE(123),
    [sym_less_than] = STATE(123),
    [sym_less_equal] = STATE(123),
    [sym_greater_than] = STATE(123),
    [sym_greater_equal] = STATE(123),
    [sym_equal] = STATE(123),
    [sym_not_equal] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_function] = STATE(123),
    [sym_parenthesized_expression] = STATE(123),
    [sym_number] = STATE(123),
    [sym_address_typed] = STATE(123),
    [sym_variable] = STATE(117),
    [sym_function_name] = STATE(156),
    [sym__word] = ACTIONS(3),
    [anon_sym_let] = ACTIONS(37),
    [anon_sym_PLUS_PLUS] = ACTIONS(39),
    [anon_sym_DASH_DASH] = ACTIONS(41),
    [anon_sym_PLUS] = ACTIONS(43),
    [anon_sym_DASH] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(47),
    [anon_sym_BANG] = ACTIONS(49),
    [anon_sym_LPAREN] = ACTIONS(19),
    [sym_number_value] = ACTIONS(51),
    [sym_number_legacy_hex] = ACTIONS(23),
    [sym_string_bytes] = ACTIONS(169),
    [sym_special_variable] = ACTIONS(169),
  },
};

static const uint16_t ts_small_parse_table[] = {
  [0] = 5,
    ACTIONS(175), 1,
      anon_sym_COLON,
    ACTIONS(179), 1,
      sym_number_unit,
    ACTIONS(177), 2,
      sym_number_suffix,
      sym_number_legacy_suffix,
    ACTIONS(173), 5,
      anon_sym_STAR,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(171), 24,
      ts_builtin_sym_end,
      anon_sym_SEMI,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_SLASH,
      anon_sym_sdiv,
      anon_sym_mod,
      anon_sym_PERCENT,
      anon_sym_smod,
      anon_sym_STAR_STAR,
      anon_sym_log,
      anon_sym_sar,
      anon_sym_LT_LT_LT,
      anon_sym_GT_GT_GT,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_PIPE,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [44] = 3,
    ACTIONS(185), 1,
      anon_sym_LPAREN,
    ACTIONS(183), 6,
      anon_sym_EQ,
      anon_sym_STAR,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(181), 25,
      ts_builtin_sym_end,
      anon_sym_SEMI,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_SLASH,
      anon_sym_sdiv,
      anon_sym_mod,
      anon_sym_PERCENT,
      anon_sym_smod,
      anon_sym_STAR_STAR,
      anon_sym_log,
      anon_sym_sar,
      anon_sym_LT_LT_LT,
      anon_sym_GT_GT_GT,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_PIPE,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [83] = 2,
    ACTIONS(189), 5,
      anon_sym_STAR,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(187), 25,
      ts_builtin_sym_end,
      anon_sym_SEMI,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_SLASH,
      anon_sym_sdiv,
      anon_sym_mod,
      anon_sym_PERCENT,
      anon_sym_smod,
      anon_sym_STAR_STAR,
      anon_sym_log,
      anon_sym_sar,
      anon_sym_LT_LT_LT,
      anon_sym_GT_GT_GT,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_PIPE,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [118] = 2,
    ACTIONS(193), 5,
      anon_sym_STAR,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(191), 25,
      ts_builtin_sym_end,
      anon_sym_SEMI,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_SLASH,
      anon_sym_sdiv,
      anon_sym_mod,
      anon_sym_PERCENT,
      anon_sym_smod,
      anon_sym_STAR_STAR,
      anon_sym_log,
      anon_sym_sar,
      anon_sym_LT_LT_LT,
      anon_sym_GT_GT_GT,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_PIPE,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [153] = 2,
    ACTIONS(197), 5,
      anon_sym_STAR,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(195), 25,
      ts_builtin_sym_end,
      anon_sym_SEMI,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_SLASH,
      anon_sym_sdiv,
      anon_sym_mod,
      anon_sym_PERCENT,
      anon_sym_smod,
      anon_sym_STAR_STAR,
      anon_sym_log,
      anon_sym_sar,
      anon_sym_LT_LT_LT,
      anon_sym_GT_GT_GT,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_PIPE,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [188] = 2,
    ACTIONS(201), 5,
      anon_sym_STAR,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(199), 25,
      ts_builtin_sym_end,
      anon_sym_SEMI,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_SLASH,
      anon_sym_sdiv,
      anon_sym_mod,
      anon_sym_PERCENT,
      anon_sym_smod,
      anon_sym_STAR_STAR,
      anon_sym_log,
      anon_sym_sar,
      anon_sym_LT_LT_LT,
      anon_sym_GT_GT_GT,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_PIPE,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [223] = 2,
    ACTIONS(205), 5,
      anon_sym_STAR,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(203), 25,
      ts_builtin_sym_end,
      anon_sym_SEMI,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_SLASH,
      anon_sym_sdiv,
      anon_sym_mod,
      anon_sym_PERCENT,
      anon_sym_smod,
      anon_sym_STAR_STAR,
      anon_sym_log,
      anon_sym_sar,
      anon_sym_LT_LT_LT,
      anon_sym_GT_GT_GT,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_PIPE,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [258] = 2,
    ACTIONS(209), 5,
      anon_sym_STAR,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(207), 25,
      ts_builtin_sym_end,
      anon_sym_SEMI,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_SLASH,
      anon_sym_sdiv,
      anon_sym_mod,
      anon_sym_PERCENT,
      anon_sym_smod,
      anon_sym_STAR_STAR,
      anon_sym_log,
      anon_sym_sar,
      anon_sym_LT_LT_LT,
      anon_sym_GT_GT_GT,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_PIPE,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [293] = 2,
    ACTIONS(213), 5,
      anon_sym_STAR,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(211), 25,
      ts_builtin_sym_end,
      anon_sym_SEMI,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_SLASH,
      anon_sym_sdiv,
      anon_sym_mod,
      anon_sym_PERCENT,
      anon_sym_smod,
      anon_sym_STAR_STAR,
      anon_sym_log,
      anon_sym_sar,
      anon_sym_LT_LT_LT,
      anon_sym_GT_GT_GT,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_PIPE,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [328] = 2,
    ACTIONS(217), 5,
      anon_sym_STAR,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(215), 25,
      ts_builtin_sym_end,
      anon_sym_SEMI,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_SLASH,
      anon_sym_sdiv,
      anon_sym_mod,
      anon_sym_PERCENT,
      anon_sym_smod,
      anon_sym_STAR_STAR,
      anon_sym_log,
      anon_sym_sar,
      anon_sym_LT_LT_LT,
      anon_sym_GT_GT_GT,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_PIPE,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [363] = 2,
    ACTIONS(221), 5,
      anon_sym_STAR,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(219), 25,
      ts_builtin_sym_end,
      anon_sym_SEMI,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_SLASH,
      anon_sym_sdiv,
      anon_sym_mod,
      anon_sym_PERCENT,
      anon_sym_smod,
      anon_sym_STAR_STAR,
      anon_sym_log,
      anon_sym_sar,
      anon_sym_LT_LT_LT,
      anon_sym_GT_GT_GT,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_PIPE,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [398] = 2,
    ACTIONS(225), 5,
      anon_sym_STAR,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(223), 25,
      ts_builtin_sym_end,
      anon_sym_SEMI,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_SLASH,
      anon_sym_sdiv,
      anon_sym_mod,
      anon_sym_PERCENT,
      anon_sym_smod,
      anon_sym_STAR_STAR,
      anon_sym_log,
      anon_sym_sar,
      anon_sym_LT_LT_LT,
      anon_sym_GT_GT_GT,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_PIPE,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [433] = 2,
    ACTIONS(229), 5,
      anon_sym_STAR,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(227), 25,
      ts_builtin_sym_end,
      anon_sym_SEMI,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_SLASH,
      anon_sym_sdiv,
      anon_sym_mod,
      anon_sym_PERCENT,
      anon_sym_smod,
      anon_sym_STAR_STAR,
      anon_sym_log,
      anon_sym_sar,
      anon_sym_LT_LT_LT,
      anon_sym_GT_GT_GT,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_PIPE,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [468] = 2,
    ACTIONS(173), 5,
      anon_sym_STAR,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(171), 25,
      ts_builtin_sym_end,
      anon_sym_SEMI,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_SLASH,
      anon_sym_sdiv,
      anon_sym_mod,
      anon_sym_PERCENT,
      anon_sym_smod,
      anon_sym_STAR_STAR,
      anon_sym_log,
      anon_sym_sar,
      anon_sym_LT_LT_LT,
      anon_sym_GT_GT_GT,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_PIPE,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [503] = 3,
    ACTIONS(233), 1,
      anon_sym_EQ,
    ACTIONS(235), 5,
      anon_sym_STAR,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(231), 24,
      ts_builtin_sym_end,
      anon_sym_SEMI,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_SLASH,
      anon_sym_sdiv,
      anon_sym_mod,
      anon_sym_PERCENT,
      anon_sym_smod,
      anon_sym_STAR_STAR,
      anon_sym_log,
      anon_sym_sar,
      anon_sym_LT_LT_LT,
      anon_sym_GT_GT_GT,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_PIPE,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [540] = 2,
    ACTIONS(239), 5,
      anon_sym_STAR,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(237), 25,
      ts_builtin_sym_end,
      anon_sym_SEMI,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_SLASH,
      anon_sym_sdiv,
      anon_sym_mod,
      anon_sym_PERCENT,
      anon_sym_smod,
      anon_sym_STAR_STAR,
      anon_sym_log,
      anon_sym_sar,
      anon_sym_LT_LT_LT,
      anon_sym_GT_GT_GT,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_PIPE,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [575] = 2,
    ACTIONS(243), 5,
      anon_sym_STAR,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(241), 25,
      ts_builtin_sym_end,
      anon_sym_SEMI,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_SLASH,
      anon_sym_sdiv,
      anon_sym_mod,
      anon_sym_PERCENT,
      anon_sym_smod,
      anon_sym_STAR_STAR,
      anon_sym_log,
      anon_sym_sar,
      anon_sym_LT_LT_LT,
      anon_sym_GT_GT_GT,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_PIPE,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [610] = 18,
    ACTIONS(247), 1,
      anon_sym_PLUS,
    ACTIONS(249), 1,
      anon_sym_DASH,
    ACTIONS(251), 1,
      anon_sym_STAR,
    ACTIONS(253), 1,
      anon_sym_SLASH,
    ACTIONS(255), 1,
      anon_sym_sdiv,
    ACTIONS(259), 1,
      anon_sym_smod,
    ACTIONS(261), 1,
      anon_sym_STAR_STAR,
    ACTIONS(263), 1,
      anon_sym_log,
    ACTIONS(265), 1,
      anon_sym_LT_LT,
    ACTIONS(267), 1,
      anon_sym_GT_GT,
    ACTIONS(269), 1,
      anon_sym_sar,
    ACTIONS(271), 1,
      anon_sym_LT_LT_LT,
    ACTIONS(273), 1,
      anon_sym_GT_GT_GT,
    ACTIONS(275), 1,
      anon_sym_AMP,
    ACTIONS(277), 1,
      anon_sym_CARET,
    ACTIONS(257), 2,
      anon_sym_mod,
      anon_sym_PERCENT,
    ACTIONS(279), 2,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(245), 10,
      ts_builtin_sym_end,
      anon_sym_SEMI,
      anon_sym_PIPE,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [676] = 19,
    ACTIONS(247), 1,
      anon_sym_PLUS,
    ACTIONS(249), 1,
      anon_sym_DASH,
    ACTIONS(251), 1,
      anon_sym_STAR,
    ACTIONS(253), 1,
      anon_sym_SLASH,
    ACTIONS(255), 1,
      anon_sym_sdiv,
    ACTIONS(259), 1,
      anon_sym_smod,
    ACTIONS(261), 1,
      anon_sym_STAR_STAR,
    ACTIONS(263), 1,
      anon_sym_log,
    ACTIONS(265), 1,
      anon_sym_LT_LT,
    ACTIONS(267), 1,
      anon_sym_GT_GT,
    ACTIONS(269), 1,
      anon_sym_sar,
    ACTIONS(271), 1,
      anon_sym_LT_LT_LT,
    ACTIONS(273), 1,
      anon_sym_GT_GT_GT,
    ACTIONS(275), 1,
      anon_sym_AMP,
    ACTIONS(277), 1,
      anon_sym_CARET,
    ACTIONS(283), 1,
      anon_sym_PIPE,
    ACTIONS(257), 2,
      anon_sym_mod,
      anon_sym_PERCENT,
    ACTIONS(285), 2,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(281), 9,
      ts_builtin_sym_end,
      anon_sym_SEMI,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [744] = 25,
    ACTIONS(247), 1,
      anon_sym_PLUS,
    ACTIONS(249), 1,
      anon_sym_DASH,
    ACTIONS(251), 1,
      anon_sym_STAR,
    ACTIONS(253), 1,
      anon_sym_SLASH,
    ACTIONS(255), 1,
      anon_sym_sdiv,
    ACTIONS(259), 1,
      anon_sym_smod,
    ACTIONS(261), 1,
      anon_sym_STAR_STAR,
    ACTIONS(263), 1,
      anon_sym_log,
    ACTIONS(265), 1,
      anon_sym_LT_LT,
    ACTIONS(267), 1,
      anon_sym_GT_GT,
    ACTIONS(269), 1,
      anon_sym_sar,
    ACTIONS(271), 1,
      anon_sym_LT_LT_LT,
    ACTIONS(273), 1,
      anon_sym_GT_GT_GT,
    ACTIONS(275), 1,
      anon_sym_AMP,
    ACTIONS(277), 1,
      anon_sym_CARET,
    ACTIONS(283), 1,
      anon_sym_PIPE,
    ACTIONS(289), 1,
      anon_sym_LT,
    ACTIONS(291), 1,
      anon_sym_LT_EQ,
    ACTIONS(293), 1,
      anon_sym_GT,
    ACTIONS(295), 1,
      anon_sym_GT_EQ,
    ACTIONS(297), 1,
      anon_sym_EQ_EQ,
    ACTIONS(299), 1,
      anon_sym_BANG_EQ,
    ACTIONS(301), 1,
      anon_sym_QMARK,
    ACTIONS(257), 2,
      anon_sym_mod,
      anon_sym_PERCENT,
    ACTIONS(287), 4,
      ts_builtin_sym_end,
      anon_sym_SEMI,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [824] = 17,
    ACTIONS(247), 1,
      anon_sym_PLUS,
    ACTIONS(249), 1,
      anon_sym_DASH,
    ACTIONS(251), 1,
      anon_sym_STAR,
    ACTIONS(253), 1,
      anon_sym_SLASH,
    ACTIONS(255), 1,
      anon_sym_sdiv,
    ACTIONS(259), 1,
      anon_sym_smod,
    ACTIONS(261), 1,
      anon_sym_STAR_STAR,
    ACTIONS(263), 1,
      anon_sym_log,
    ACTIONS(265), 1,
      anon_sym_LT_LT,
    ACTIONS(267), 1,
      anon_sym_GT_GT,
    ACTIONS(269), 1,
      anon_sym_sar,
    ACTIONS(271), 1,
      anon_sym_LT_LT_LT,
    ACTIONS(273), 1,
      anon_sym_GT_GT_GT,
    ACTIONS(275), 1,
      anon_sym_AMP,
    ACTIONS(257), 2,
      anon_sym_mod,
      anon_sym_PERCENT,
    ACTIONS(305), 2,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(303), 11,
      ts_builtin_sym_end,
      anon_sym_SEMI,
      anon_sym_CARET,
      anon_sym_PIPE,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [888] = 11,
    ACTIONS(247), 1,
      anon_sym_PLUS,
    ACTIONS(249), 1,
      anon_sym_DASH,
    ACTIONS(251), 1,
      anon_sym_STAR,
    ACTIONS(253), 1,
      anon_sym_SLASH,
    ACTIONS(255), 1,
      anon_sym_sdiv,
    ACTIONS(259), 1,
      anon_sym_smod,
    ACTIONS(261), 1,
      anon_sym_STAR_STAR,
    ACTIONS(263), 1,
      anon_sym_log,
    ACTIONS(257), 2,
      anon_sym_mod,
      anon_sym_PERCENT,
    ACTIONS(309), 4,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(307), 15,
      ts_builtin_sym_end,
      anon_sym_SEMI,
      anon_sym_sar,
      anon_sym_LT_LT_LT,
      anon_sym_GT_GT_GT,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_PIPE,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [940] = 25,
    ACTIONS(247), 1,
      anon_sym_PLUS,
    ACTIONS(249), 1,
      anon_sym_DASH,
    ACTIONS(251), 1,
      anon_sym_STAR,
    ACTIONS(253), 1,
      anon_sym_SLASH,
    ACTIONS(255), 1,
      anon_sym_sdiv,
    ACTIONS(259), 1,
      anon_sym_smod,
    ACTIONS(261), 1,
      anon_sym_STAR_STAR,
    ACTIONS(263), 1,
      anon_sym_log,
    ACTIONS(265), 1,
      anon_sym_LT_LT,
    ACTIONS(267), 1,
      anon_sym_GT_GT,
    ACTIONS(269), 1,
      anon_sym_sar,
    ACTIONS(271), 1,
      anon_sym_LT_LT_LT,
    ACTIONS(273), 1,
      anon_sym_GT_GT_GT,
    ACTIONS(275), 1,
      anon_sym_AMP,
    ACTIONS(277), 1,
      anon_sym_CARET,
    ACTIONS(283), 1,
      anon_sym_PIPE,
    ACTIONS(289), 1,
      anon_sym_LT,
    ACTIONS(291), 1,
      anon_sym_LT_EQ,
    ACTIONS(293), 1,
      anon_sym_GT,
    ACTIONS(295), 1,
      anon_sym_GT_EQ,
    ACTIONS(297), 1,
      anon_sym_EQ_EQ,
    ACTIONS(299), 1,
      anon_sym_BANG_EQ,
    ACTIONS(301), 1,
      anon_sym_QMARK,
    ACTIONS(257), 2,
      anon_sym_mod,
      anon_sym_PERCENT,
    ACTIONS(311), 4,
      ts_builtin_sym_end,
      anon_sym_SEMI,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [1020] = 19,
    ACTIONS(247), 1,
      anon_sym_PLUS,
    ACTIONS(249), 1,
      anon_sym_DASH,
    ACTIONS(251), 1,
      anon_sym_STAR,
    ACTIONS(253), 1,
      anon_sym_SLASH,
    ACTIONS(255), 1,
      anon_sym_sdiv,
    ACTIONS(259), 1,
      anon_sym_smod,
    ACTIONS(261), 1,
      anon_sym_STAR_STAR,
    ACTIONS(263), 1,
      anon_sym_log,
    ACTIONS(265), 1,
      anon_sym_LT_LT,
    ACTIONS(267), 1,
      anon_sym_GT_GT,
    ACTIONS(269), 1,
      anon_sym_sar,
    ACTIONS(271), 1,
      anon_sym_LT_LT_LT,
    ACTIONS(273), 1,
      anon_sym_GT_GT_GT,
    ACTIONS(275), 1,
      anon_sym_AMP,
    ACTIONS(277), 1,
      anon_sym_CARET,
    ACTIONS(283), 1,
      anon_sym_PIPE,
    ACTIONS(257), 2,
      anon_sym_mod,
      anon_sym_PERCENT,
    ACTIONS(315), 2,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(313), 9,
      ts_builtin_sym_end,
      anon_sym_SEMI,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [1088] = 22,
    ACTIONS(247), 1,
      anon_sym_PLUS,
    ACTIONS(249), 1,
      anon_sym_DASH,
    ACTIONS(251), 1,
      anon_sym_STAR,
    ACTIONS(253), 1,
      anon_sym_SLASH,
    ACTIONS(255), 1,
      anon_sym_sdiv,
    ACTIONS(259), 1,
      anon_sym_smod,
    ACTIONS(261), 1,
      anon_sym_STAR_STAR,
    ACTIONS(263), 1,
      anon_sym_log,
    ACTIONS(265), 1,
      anon_sym_LT_LT,
    ACTIONS(267), 1,
      anon_sym_GT_GT,
    ACTIONS(269), 1,
      anon_sym_sar,
    ACTIONS(271), 1,
      anon_sym_LT_LT_LT,
    ACTIONS(273), 1,
      anon_sym_GT_GT_GT,
    ACTIONS(275), 1,
      anon_sym_AMP,
    ACTIONS(277), 1,
      anon_sym_CARET,
    ACTIONS(283), 1,
      anon_sym_PIPE,
    ACTIONS(289), 1,
      anon_sym_LT,
    ACTIONS(291), 1,
      anon_sym_LT_EQ,
    ACTIONS(293), 1,
      anon_sym_GT,
    ACTIONS(295), 1,
      anon_sym_GT_EQ,
    ACTIONS(257), 2,
      anon_sym_mod,
      anon_sym_PERCENT,
    ACTIONS(317), 7,
      ts_builtin_sym_end,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [1162] = 19,
    ACTIONS(247), 1,
      anon_sym_PLUS,
    ACTIONS(249), 1,
      anon_sym_DASH,
    ACTIONS(251), 1,
      anon_sym_STAR,
    ACTIONS(253), 1,
      anon_sym_SLASH,
    ACTIONS(255), 1,
      anon_sym_sdiv,
    ACTIONS(259), 1,
      anon_sym_smod,
    ACTIONS(261), 1,
      anon_sym_STAR_STAR,
    ACTIONS(263), 1,
      anon_sym_log,
    ACTIONS(265), 1,
      anon_sym_LT_LT,
    ACTIONS(267), 1,
      anon_sym_GT_GT,
    ACTIONS(269), 1,
      anon_sym_sar,
    ACTIONS(271), 1,
      anon_sym_LT_LT_LT,
    ACTIONS(273), 1,
      anon_sym_GT_GT_GT,
    ACTIONS(275), 1,
      anon_sym_AMP,
    ACTIONS(277), 1,
      anon_sym_CARET,
    ACTIONS(283), 1,
      anon_sym_PIPE,
    ACTIONS(257), 2,
      anon_sym_mod,
      anon_sym_PERCENT,
    ACTIONS(321), 2,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(319), 9,
      ts_builtin_sym_end,
      anon_sym_SEMI,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [1230] = 5,
    ACTIONS(179), 1,
      sym_number_unit,
    ACTIONS(323), 1,
      anon_sym_COLON,
    ACTIONS(177), 2,
      sym_number_suffix,
      sym_number_legacy_suffix,
    ACTIONS(173), 5,
      anon_sym_STAR,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(171), 20,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_SLASH,
      anon_sym_sdiv,
      anon_sym_mod,
      anon_sym_PERCENT,
      anon_sym_smod,
      anon_sym_STAR_STAR,
      anon_sym_log,
      anon_sym_sar,
      anon_sym_LT_LT_LT,
      anon_sym_GT_GT_GT,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_PIPE,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
  [1270] = 19,
    ACTIONS(247), 1,
      anon_sym_PLUS,
    ACTIONS(249), 1,
      anon_sym_DASH,
    ACTIONS(251), 1,
      anon_sym_STAR,
    ACTIONS(253), 1,
      anon_sym_SLASH,
    ACTIONS(255), 1,
      anon_sym_sdiv,
    ACTIONS(259), 1,
      anon_sym_smod,
    ACTIONS(261), 1,
      anon_sym_STAR_STAR,
    ACTIONS(263), 1,
      anon_sym_log,
    ACTIONS(265), 1,
      anon_sym_LT_LT,
    ACTIONS(267), 1,
      anon_sym_GT_GT,
    ACTIONS(269), 1,
      anon_sym_sar,
    ACTIONS(271), 1,
      anon_sym_LT_LT_LT,
    ACTIONS(273), 1,
      anon_sym_GT_GT_GT,
    ACTIONS(275), 1,
      anon_sym_AMP,
    ACTIONS(277), 1,
      anon_sym_CARET,
    ACTIONS(283), 1,
      anon_sym_PIPE,
    ACTIONS(257), 2,
      anon_sym_mod,
      anon_sym_PERCENT,
    ACTIONS(328), 2,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(326), 9,
      ts_builtin_sym_end,
      anon_sym_SEMI,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [1338] = 22,
    ACTIONS(247), 1,
      anon_sym_PLUS,
    ACTIONS(249), 1,
      anon_sym_DASH,
    ACTIONS(251), 1,
      anon_sym_STAR,
    ACTIONS(253), 1,
      anon_sym_SLASH,
    ACTIONS(255), 1,
      anon_sym_sdiv,
    ACTIONS(259), 1,
      anon_sym_smod,
    ACTIONS(261), 1,
      anon_sym_STAR_STAR,
    ACTIONS(263), 1,
      anon_sym_log,
    ACTIONS(265), 1,
      anon_sym_LT_LT,
    ACTIONS(267), 1,
      anon_sym_GT_GT,
    ACTIONS(269), 1,
      anon_sym_sar,
    ACTIONS(271), 1,
      anon_sym_LT_LT_LT,
    ACTIONS(273), 1,
      anon_sym_GT_GT_GT,
    ACTIONS(275), 1,
      anon_sym_AMP,
    ACTIONS(277), 1,
      anon_sym_CARET,
    ACTIONS(283), 1,
      anon_sym_PIPE,
    ACTIONS(289), 1,
      anon_sym_LT,
    ACTIONS(291), 1,
      anon_sym_LT_EQ,
    ACTIONS(293), 1,
      anon_sym_GT,
    ACTIONS(295), 1,
      anon_sym_GT_EQ,
    ACTIONS(257), 2,
      anon_sym_mod,
      anon_sym_PERCENT,
    ACTIONS(330), 7,
      ts_builtin_sym_end,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [1412] = 25,
    ACTIONS(247), 1,
      anon_sym_PLUS,
    ACTIONS(249), 1,
      anon_sym_DASH,
    ACTIONS(251), 1,
      anon_sym_STAR,
    ACTIONS(253), 1,
      anon_sym_SLASH,
    ACTIONS(255), 1,
      anon_sym_sdiv,
    ACTIONS(259), 1,
      anon_sym_smod,
    ACTIONS(261), 1,
      anon_sym_STAR_STAR,
    ACTIONS(263), 1,
      anon_sym_log,
    ACTIONS(265), 1,
      anon_sym_LT_LT,
    ACTIONS(267), 1,
      anon_sym_GT_GT,
    ACTIONS(269), 1,
      anon_sym_sar,
    ACTIONS(271), 1,
      anon_sym_LT_LT_LT,
    ACTIONS(273), 1,
      anon_sym_GT_GT_GT,
    ACTIONS(275), 1,
      anon_sym_AMP,
    ACTIONS(277), 1,
      anon_sym_CARET,
    ACTIONS(283), 1,
      anon_sym_PIPE,
    ACTIONS(289), 1,
      anon_sym_LT,
    ACTIONS(291), 1,
      anon_sym_LT_EQ,
    ACTIONS(293), 1,
      anon_sym_GT,
    ACTIONS(295), 1,
      anon_sym_GT_EQ,
    ACTIONS(297), 1,
      anon_sym_EQ_EQ,
    ACTIONS(299), 1,
      anon_sym_BANG_EQ,
    ACTIONS(301), 1,
      anon_sym_QMARK,
    ACTIONS(257), 2,
      anon_sym_mod,
      anon_sym_PERCENT,
    ACTIONS(332), 4,
      ts_builtin_sym_end,
      anon_sym_SEMI,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [1492] = 16,
    ACTIONS(247), 1,
      anon_sym_PLUS,
    ACTIONS(249), 1,
      anon_sym_DASH,
    ACTIONS(251), 1,
      anon_sym_STAR,
    ACTIONS(253), 1,
      anon_sym_SLASH,
    ACTIONS(255), 1,
      anon_sym_sdiv,
    ACTIONS(259), 1,
      anon_sym_smod,
    ACTIONS(261), 1,
      anon_sym_STAR_STAR,
    ACTIONS(263), 1,
      anon_sym_log,
    ACTIONS(265), 1,
      anon_sym_LT_LT,
    ACTIONS(267), 1,
      anon_sym_GT_GT,
    ACTIONS(269), 1,
      anon_sym_sar,
    ACTIONS(271), 1,
      anon_sym_LT_LT_LT,
    ACTIONS(273), 1,
      anon_sym_GT_GT_GT,
    ACTIONS(257), 2,
      anon_sym_mod,
      anon_sym_PERCENT,
    ACTIONS(336), 2,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(334), 12,
      ts_builtin_sym_end,
      anon_sym_SEMI,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_PIPE,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [1554] = 11,
    ACTIONS(247), 1,
      anon_sym_PLUS,
    ACTIONS(249), 1,
      anon_sym_DASH,
    ACTIONS(251), 1,
      anon_sym_STAR,
    ACTIONS(253), 1,
      anon_sym_SLASH,
    ACTIONS(255), 1,
      anon_sym_sdiv,
    ACTIONS(259), 1,
      anon_sym_smod,
    ACTIONS(261), 1,
      anon_sym_STAR_STAR,
    ACTIONS(263), 1,
      anon_sym_log,
    ACTIONS(257), 2,
      anon_sym_mod,
      anon_sym_PERCENT,
    ACTIONS(340), 4,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(338), 15,
      ts_builtin_sym_end,
      anon_sym_SEMI,
      anon_sym_sar,
      anon_sym_LT_LT_LT,
      anon_sym_GT_GT_GT,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_PIPE,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [1606] = 9,
    ACTIONS(251), 1,
      anon_sym_STAR,
    ACTIONS(253), 1,
      anon_sym_SLASH,
    ACTIONS(255), 1,
      anon_sym_sdiv,
    ACTIONS(259), 1,
      anon_sym_smod,
    ACTIONS(261), 1,
      anon_sym_STAR_STAR,
    ACTIONS(263), 1,
      anon_sym_log,
    ACTIONS(257), 2,
      anon_sym_mod,
      anon_sym_PERCENT,
    ACTIONS(344), 4,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(342), 17,
      ts_builtin_sym_end,
      anon_sym_SEMI,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_sar,
      anon_sym_LT_LT_LT,
      anon_sym_GT_GT_GT,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_PIPE,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [1654] = 9,
    ACTIONS(251), 1,
      anon_sym_STAR,
    ACTIONS(253), 1,
      anon_sym_SLASH,
    ACTIONS(255), 1,
      anon_sym_sdiv,
    ACTIONS(259), 1,
      anon_sym_smod,
    ACTIONS(261), 1,
      anon_sym_STAR_STAR,
    ACTIONS(263), 1,
      anon_sym_log,
    ACTIONS(257), 2,
      anon_sym_mod,
      anon_sym_PERCENT,
    ACTIONS(348), 4,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(346), 17,
      ts_builtin_sym_end,
      anon_sym_SEMI,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_sar,
      anon_sym_LT_LT_LT,
      anon_sym_GT_GT_GT,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_PIPE,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [1702] = 4,
    ACTIONS(261), 1,
      anon_sym_STAR_STAR,
    ACTIONS(263), 1,
      anon_sym_log,
    ACTIONS(352), 5,
      anon_sym_STAR,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(350), 22,
      ts_builtin_sym_end,
      anon_sym_SEMI,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_SLASH,
      anon_sym_sdiv,
      anon_sym_mod,
      anon_sym_PERCENT,
      anon_sym_smod,
      anon_sym_sar,
      anon_sym_LT_LT_LT,
      anon_sym_GT_GT_GT,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_PIPE,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [1740] = 4,
    ACTIONS(261), 1,
      anon_sym_STAR_STAR,
    ACTIONS(263), 1,
      anon_sym_log,
    ACTIONS(356), 5,
      anon_sym_STAR,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(354), 22,
      ts_builtin_sym_end,
      anon_sym_SEMI,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_SLASH,
      anon_sym_sdiv,
      anon_sym_mod,
      anon_sym_PERCENT,
      anon_sym_smod,
      anon_sym_sar,
      anon_sym_LT_LT_LT,
      anon_sym_GT_GT_GT,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_PIPE,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [1778] = 4,
    ACTIONS(261), 1,
      anon_sym_STAR_STAR,
    ACTIONS(263), 1,
      anon_sym_log,
    ACTIONS(360), 5,
      anon_sym_STAR,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(358), 22,
      ts_builtin_sym_end,
      anon_sym_SEMI,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_SLASH,
      anon_sym_sdiv,
      anon_sym_mod,
      anon_sym_PERCENT,
      anon_sym_smod,
      anon_sym_sar,
      anon_sym_LT_LT_LT,
      anon_sym_GT_GT_GT,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_PIPE,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [1816] = 4,
    ACTIONS(261), 1,
      anon_sym_STAR_STAR,
    ACTIONS(263), 1,
      anon_sym_log,
    ACTIONS(364), 5,
      anon_sym_STAR,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(362), 22,
      ts_builtin_sym_end,
      anon_sym_SEMI,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_SLASH,
      anon_sym_sdiv,
      anon_sym_mod,
      anon_sym_PERCENT,
      anon_sym_smod,
      anon_sym_sar,
      anon_sym_LT_LT_LT,
      anon_sym_GT_GT_GT,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_PIPE,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [1854] = 11,
    ACTIONS(247), 1,
      anon_sym_PLUS,
    ACTIONS(249), 1,
      anon_sym_DASH,
    ACTIONS(251), 1,
      anon_sym_STAR,
    ACTIONS(253), 1,
      anon_sym_SLASH,
    ACTIONS(255), 1,
      anon_sym_sdiv,
    ACTIONS(259), 1,
      anon_sym_smod,
    ACTIONS(261), 1,
      anon_sym_STAR_STAR,
    ACTIONS(263), 1,
      anon_sym_log,
    ACTIONS(257), 2,
      anon_sym_mod,
      anon_sym_PERCENT,
    ACTIONS(368), 4,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(366), 15,
      ts_builtin_sym_end,
      anon_sym_SEMI,
      anon_sym_sar,
      anon_sym_LT_LT_LT,
      anon_sym_GT_GT_GT,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_PIPE,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [1906] = 4,
    ACTIONS(261), 1,
      anon_sym_STAR_STAR,
    ACTIONS(263), 1,
      anon_sym_log,
    ACTIONS(372), 5,
      anon_sym_STAR,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(370), 22,
      ts_builtin_sym_end,
      anon_sym_SEMI,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_SLASH,
      anon_sym_sdiv,
      anon_sym_mod,
      anon_sym_PERCENT,
      anon_sym_smod,
      anon_sym_sar,
      anon_sym_LT_LT_LT,
      anon_sym_GT_GT_GT,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_PIPE,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [1944] = 4,
    ACTIONS(261), 1,
      anon_sym_STAR_STAR,
    ACTIONS(263), 1,
      anon_sym_log,
    ACTIONS(376), 5,
      anon_sym_STAR,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(374), 22,
      ts_builtin_sym_end,
      anon_sym_SEMI,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_SLASH,
      anon_sym_sdiv,
      anon_sym_mod,
      anon_sym_PERCENT,
      anon_sym_smod,
      anon_sym_sar,
      anon_sym_LT_LT_LT,
      anon_sym_GT_GT_GT,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_PIPE,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [1982] = 4,
    ACTIONS(261), 1,
      anon_sym_STAR_STAR,
    ACTIONS(263), 1,
      anon_sym_log,
    ACTIONS(380), 5,
      anon_sym_STAR,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(378), 22,
      ts_builtin_sym_end,
      anon_sym_SEMI,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_SLASH,
      anon_sym_sdiv,
      anon_sym_mod,
      anon_sym_PERCENT,
      anon_sym_smod,
      anon_sym_sar,
      anon_sym_LT_LT_LT,
      anon_sym_GT_GT_GT,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_PIPE,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [2020] = 11,
    ACTIONS(247), 1,
      anon_sym_PLUS,
    ACTIONS(249), 1,
      anon_sym_DASH,
    ACTIONS(251), 1,
      anon_sym_STAR,
    ACTIONS(253), 1,
      anon_sym_SLASH,
    ACTIONS(255), 1,
      anon_sym_sdiv,
    ACTIONS(259), 1,
      anon_sym_smod,
    ACTIONS(261), 1,
      anon_sym_STAR_STAR,
    ACTIONS(263), 1,
      anon_sym_log,
    ACTIONS(257), 2,
      anon_sym_mod,
      anon_sym_PERCENT,
    ACTIONS(384), 4,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(382), 15,
      ts_builtin_sym_end,
      anon_sym_SEMI,
      anon_sym_sar,
      anon_sym_LT_LT_LT,
      anon_sym_GT_GT_GT,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_PIPE,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [2072] = 11,
    ACTIONS(247), 1,
      anon_sym_PLUS,
    ACTIONS(249), 1,
      anon_sym_DASH,
    ACTIONS(251), 1,
      anon_sym_STAR,
    ACTIONS(253), 1,
      anon_sym_SLASH,
    ACTIONS(255), 1,
      anon_sym_sdiv,
    ACTIONS(259), 1,
      anon_sym_smod,
    ACTIONS(261), 1,
      anon_sym_STAR_STAR,
    ACTIONS(263), 1,
      anon_sym_log,
    ACTIONS(257), 2,
      anon_sym_mod,
      anon_sym_PERCENT,
    ACTIONS(388), 4,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(386), 15,
      ts_builtin_sym_end,
      anon_sym_SEMI,
      anon_sym_sar,
      anon_sym_LT_LT_LT,
      anon_sym_GT_GT_GT,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_PIPE,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [2124] = 27,
    ACTIONS(247), 1,
      anon_sym_PLUS,
    ACTIONS(249), 1,
      anon_sym_DASH,
    ACTIONS(251), 1,
      anon_sym_STAR,
    ACTIONS(253), 1,
      anon_sym_SLASH,
    ACTIONS(255), 1,
      anon_sym_sdiv,
    ACTIONS(259), 1,
      anon_sym_smod,
    ACTIONS(261), 1,
      anon_sym_STAR_STAR,
    ACTIONS(263), 1,
      anon_sym_log,
    ACTIONS(265), 1,
      anon_sym_LT_LT,
    ACTIONS(267), 1,
      anon_sym_GT_GT,
    ACTIONS(269), 1,
      anon_sym_sar,
    ACTIONS(271), 1,
      anon_sym_LT_LT_LT,
    ACTIONS(273), 1,
      anon_sym_GT_GT_GT,
    ACTIONS(275), 1,
      anon_sym_AMP,
    ACTIONS(277), 1,
      anon_sym_CARET,
    ACTIONS(283), 1,
      anon_sym_PIPE,
    ACTIONS(289), 1,
      anon_sym_LT,
    ACTIONS(291), 1,
      anon_sym_LT_EQ,
    ACTIONS(293), 1,
      anon_sym_GT,
    ACTIONS(295), 1,
      anon_sym_GT_EQ,
    ACTIONS(297), 1,
      anon_sym_EQ_EQ,
    ACTIONS(299), 1,
      anon_sym_BANG_EQ,
    ACTIONS(301), 1,
      anon_sym_QMARK,
    ACTIONS(390), 1,
      ts_builtin_sym_end,
    ACTIONS(392), 1,
      anon_sym_SEMI,
    STATE(154), 1,
      aux_sym_expression_repeat1,
    ACTIONS(257), 2,
      anon_sym_mod,
      anon_sym_PERCENT,
  [2207] = 25,
    ACTIONS(247), 1,
      anon_sym_PLUS,
    ACTIONS(249), 1,
      anon_sym_DASH,
    ACTIONS(251), 1,
      anon_sym_STAR,
    ACTIONS(253), 1,
      anon_sym_SLASH,
    ACTIONS(255), 1,
      anon_sym_sdiv,
    ACTIONS(259), 1,
      anon_sym_smod,
    ACTIONS(261), 1,
      anon_sym_STAR_STAR,
    ACTIONS(263), 1,
      anon_sym_log,
    ACTIONS(265), 1,
      anon_sym_LT_LT,
    ACTIONS(267), 1,
      anon_sym_GT_GT,
    ACTIONS(269), 1,
      anon_sym_sar,
    ACTIONS(271), 1,
      anon_sym_LT_LT_LT,
    ACTIONS(273), 1,
      anon_sym_GT_GT_GT,
    ACTIONS(275), 1,
      anon_sym_AMP,
    ACTIONS(277), 1,
      anon_sym_CARET,
    ACTIONS(283), 1,
      anon_sym_PIPE,
    ACTIONS(289), 1,
      anon_sym_LT,
    ACTIONS(291), 1,
      anon_sym_LT_EQ,
    ACTIONS(293), 1,
      anon_sym_GT,
    ACTIONS(295), 1,
      anon_sym_GT_EQ,
    ACTIONS(297), 1,
      anon_sym_EQ_EQ,
    ACTIONS(299), 1,
      anon_sym_BANG_EQ,
    ACTIONS(301), 1,
      anon_sym_QMARK,
    ACTIONS(257), 2,
      anon_sym_mod,
      anon_sym_PERCENT,
    ACTIONS(394), 2,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [2285] = 25,
    ACTIONS(247), 1,
      anon_sym_PLUS,
    ACTIONS(249), 1,
      anon_sym_DASH,
    ACTIONS(251), 1,
      anon_sym_STAR,
    ACTIONS(253), 1,
      anon_sym_SLASH,
    ACTIONS(255), 1,
      anon_sym_sdiv,
    ACTIONS(259), 1,
      anon_sym_smod,
    ACTIONS(261), 1,
      anon_sym_STAR_STAR,
    ACTIONS(263), 1,
      anon_sym_log,
    ACTIONS(265), 1,
      anon_sym_LT_LT,
    ACTIONS(267), 1,
      anon_sym_GT_GT,
    ACTIONS(269), 1,
      anon_sym_sar,
    ACTIONS(271), 1,
      anon_sym_LT_LT_LT,
    ACTIONS(273), 1,
      anon_sym_GT_GT_GT,
    ACTIONS(275), 1,
      anon_sym_AMP,
    ACTIONS(277), 1,
      anon_sym_CARET,
    ACTIONS(283), 1,
      anon_sym_PIPE,
    ACTIONS(289), 1,
      anon_sym_LT,
    ACTIONS(291), 1,
      anon_sym_LT_EQ,
    ACTIONS(293), 1,
      anon_sym_GT,
    ACTIONS(295), 1,
      anon_sym_GT_EQ,
    ACTIONS(297), 1,
      anon_sym_EQ_EQ,
    ACTIONS(299), 1,
      anon_sym_BANG_EQ,
    ACTIONS(301), 1,
      anon_sym_QMARK,
    ACTIONS(257), 2,
      anon_sym_mod,
      anon_sym_PERCENT,
    ACTIONS(396), 2,
      ts_builtin_sym_end,
      anon_sym_SEMI,
  [2363] = 3,
    ACTIONS(398), 1,
      anon_sym_EQ,
    ACTIONS(235), 5,
      anon_sym_STAR,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(231), 21,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_SLASH,
      anon_sym_sdiv,
      anon_sym_mod,
      anon_sym_PERCENT,
      anon_sym_smod,
      anon_sym_STAR_STAR,
      anon_sym_log,
      anon_sym_sar,
      anon_sym_LT_LT_LT,
      anon_sym_GT_GT_GT,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_PIPE,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
  [2397] = 25,
    ACTIONS(287), 1,
      anon_sym_COLON,
    ACTIONS(400), 1,
      anon_sym_PLUS,
    ACTIONS(402), 1,
      anon_sym_DASH,
    ACTIONS(404), 1,
      anon_sym_STAR,
    ACTIONS(406), 1,
      anon_sym_SLASH,
    ACTIONS(408), 1,
      anon_sym_sdiv,
    ACTIONS(412), 1,
      anon_sym_smod,
    ACTIONS(414), 1,
      anon_sym_STAR_STAR,
    ACTIONS(416), 1,
      anon_sym_log,
    ACTIONS(418), 1,
      anon_sym_LT_LT,
    ACTIONS(420), 1,
      anon_sym_GT_GT,
    ACTIONS(422), 1,
      anon_sym_sar,
    ACTIONS(424), 1,
      anon_sym_LT_LT_LT,
    ACTIONS(426), 1,
      anon_sym_GT_GT_GT,
    ACTIONS(428), 1,
      anon_sym_AMP,
    ACTIONS(430), 1,
      anon_sym_CARET,
    ACTIONS(432), 1,
      anon_sym_PIPE,
    ACTIONS(434), 1,
      anon_sym_LT,
    ACTIONS(436), 1,
      anon_sym_LT_EQ,
    ACTIONS(438), 1,
      anon_sym_GT,
    ACTIONS(440), 1,
      anon_sym_GT_EQ,
    ACTIONS(442), 1,
      anon_sym_EQ_EQ,
    ACTIONS(444), 1,
      anon_sym_BANG_EQ,
    ACTIONS(446), 1,
      anon_sym_QMARK,
    ACTIONS(410), 2,
      anon_sym_mod,
      anon_sym_PERCENT,
  [2474] = 25,
    ACTIONS(247), 1,
      anon_sym_PLUS,
    ACTIONS(249), 1,
      anon_sym_DASH,
    ACTIONS(251), 1,
      anon_sym_STAR,
    ACTIONS(253), 1,
      anon_sym_SLASH,
    ACTIONS(255), 1,
      anon_sym_sdiv,
    ACTIONS(259), 1,
      anon_sym_smod,
    ACTIONS(261), 1,
      anon_sym_STAR_STAR,
    ACTIONS(263), 1,
      anon_sym_log,
    ACTIONS(265), 1,
      anon_sym_LT_LT,
    ACTIONS(267), 1,
      anon_sym_GT_GT,
    ACTIONS(269), 1,
      anon_sym_sar,
    ACTIONS(271), 1,
      anon_sym_LT_LT_LT,
    ACTIONS(273), 1,
      anon_sym_GT_GT_GT,
    ACTIONS(275), 1,
      anon_sym_AMP,
    ACTIONS(277), 1,
      anon_sym_CARET,
    ACTIONS(283), 1,
      anon_sym_PIPE,
    ACTIONS(289), 1,
      anon_sym_LT,
    ACTIONS(291), 1,
      anon_sym_LT_EQ,
    ACTIONS(293), 1,
      anon_sym_GT,
    ACTIONS(295), 1,
      anon_sym_GT_EQ,
    ACTIONS(297), 1,
      anon_sym_EQ_EQ,
    ACTIONS(299), 1,
      anon_sym_BANG_EQ,
    ACTIONS(301), 1,
      anon_sym_QMARK,
    ACTIONS(448), 1,
      anon_sym_RPAREN,
    ACTIONS(257), 2,
      anon_sym_mod,
      anon_sym_PERCENT,
  [2551] = 25,
    ACTIONS(400), 1,
      anon_sym_PLUS,
    ACTIONS(402), 1,
      anon_sym_DASH,
    ACTIONS(404), 1,
      anon_sym_STAR,
    ACTIONS(406), 1,
      anon_sym_SLASH,
    ACTIONS(408), 1,
      anon_sym_sdiv,
    ACTIONS(412), 1,
      anon_sym_smod,
    ACTIONS(414), 1,
      anon_sym_STAR_STAR,
    ACTIONS(416), 1,
      anon_sym_log,
    ACTIONS(418), 1,
      anon_sym_LT_LT,
    ACTIONS(420), 1,
      anon_sym_GT_GT,
    ACTIONS(422), 1,
      anon_sym_sar,
    ACTIONS(424), 1,
      anon_sym_LT_LT_LT,
    ACTIONS(426), 1,
      anon_sym_GT_GT_GT,
    ACTIONS(428), 1,
      anon_sym_AMP,
    ACTIONS(430), 1,
      anon_sym_CARET,
    ACTIONS(432), 1,
      anon_sym_PIPE,
    ACTIONS(434), 1,
      anon_sym_LT,
    ACTIONS(436), 1,
      anon_sym_LT_EQ,
    ACTIONS(438), 1,
      anon_sym_GT,
    ACTIONS(440), 1,
      anon_sym_GT_EQ,
    ACTIONS(442), 1,
      anon_sym_EQ_EQ,
    ACTIONS(444), 1,
      anon_sym_BANG_EQ,
    ACTIONS(446), 1,
      anon_sym_QMARK,
    ACTIONS(450), 1,
      anon_sym_COLON,
    ACTIONS(410), 2,
      anon_sym_mod,
      anon_sym_PERCENT,
  [2628] = 9,
    ACTIONS(404), 1,
      anon_sym_STAR,
    ACTIONS(406), 1,
      anon_sym_SLASH,
    ACTIONS(408), 1,
      anon_sym_sdiv,
    ACTIONS(412), 1,
      anon_sym_smod,
    ACTIONS(414), 1,
      anon_sym_STAR_STAR,
    ACTIONS(416), 1,
      anon_sym_log,
    ACTIONS(410), 2,
      anon_sym_mod,
      anon_sym_PERCENT,
    ACTIONS(344), 4,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(342), 14,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_sar,
      anon_sym_LT_LT_LT,
      anon_sym_GT_GT_GT,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_PIPE,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
  [2673] = 9,
    ACTIONS(404), 1,
      anon_sym_STAR,
    ACTIONS(406), 1,
      anon_sym_SLASH,
    ACTIONS(408), 1,
      anon_sym_sdiv,
    ACTIONS(412), 1,
      anon_sym_smod,
    ACTIONS(414), 1,
      anon_sym_STAR_STAR,
    ACTIONS(416), 1,
      anon_sym_log,
    ACTIONS(410), 2,
      anon_sym_mod,
      anon_sym_PERCENT,
    ACTIONS(348), 4,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(346), 14,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_sar,
      anon_sym_LT_LT_LT,
      anon_sym_GT_GT_GT,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_PIPE,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
  [2718] = 4,
    ACTIONS(414), 1,
      anon_sym_STAR_STAR,
    ACTIONS(416), 1,
      anon_sym_log,
    ACTIONS(352), 5,
      anon_sym_STAR,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(350), 19,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_SLASH,
      anon_sym_sdiv,
      anon_sym_mod,
      anon_sym_PERCENT,
      anon_sym_smod,
      anon_sym_sar,
      anon_sym_LT_LT_LT,
      anon_sym_GT_GT_GT,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_PIPE,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
  [2753] = 4,
    ACTIONS(414), 1,
      anon_sym_STAR_STAR,
    ACTIONS(416), 1,
      anon_sym_log,
    ACTIONS(356), 5,
      anon_sym_STAR,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(354), 19,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_SLASH,
      anon_sym_sdiv,
      anon_sym_mod,
      anon_sym_PERCENT,
      anon_sym_smod,
      anon_sym_sar,
      anon_sym_LT_LT_LT,
      anon_sym_GT_GT_GT,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_PIPE,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
  [2788] = 4,
    ACTIONS(414), 1,
      anon_sym_STAR_STAR,
    ACTIONS(416), 1,
      anon_sym_log,
    ACTIONS(360), 5,
      anon_sym_STAR,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(358), 19,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_SLASH,
      anon_sym_sdiv,
      anon_sym_mod,
      anon_sym_PERCENT,
      anon_sym_smod,
      anon_sym_sar,
      anon_sym_LT_LT_LT,
      anon_sym_GT_GT_GT,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_PIPE,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
  [2823] = 4,
    ACTIONS(414), 1,
      anon_sym_STAR_STAR,
    ACTIONS(416), 1,
      anon_sym_log,
    ACTIONS(364), 5,
      anon_sym_STAR,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(362), 19,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_SLASH,
      anon_sym_sdiv,
      anon_sym_mod,
      anon_sym_PERCENT,
      anon_sym_smod,
      anon_sym_sar,
      anon_sym_LT_LT_LT,
      anon_sym_GT_GT_GT,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_PIPE,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
  [2858] = 4,
    ACTIONS(414), 1,
      anon_sym_STAR_STAR,
    ACTIONS(416), 1,
      anon_sym_log,
    ACTIONS(372), 5,
      anon_sym_STAR,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(370), 19,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_SLASH,
      anon_sym_sdiv,
      anon_sym_mod,
      anon_sym_PERCENT,
      anon_sym_smod,
      anon_sym_sar,
      anon_sym_LT_LT_LT,
      anon_sym_GT_GT_GT,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_PIPE,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
  [2893] = 4,
    ACTIONS(414), 1,
      anon_sym_STAR_STAR,
    ACTIONS(416), 1,
      anon_sym_log,
    ACTIONS(376), 5,
      anon_sym_STAR,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(374), 19,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_SLASH,
      anon_sym_sdiv,
      anon_sym_mod,
      anon_sym_PERCENT,
      anon_sym_smod,
      anon_sym_sar,
      anon_sym_LT_LT_LT,
      anon_sym_GT_GT_GT,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_PIPE,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
  [2928] = 4,
    ACTIONS(414), 1,
      anon_sym_STAR_STAR,
    ACTIONS(416), 1,
      anon_sym_log,
    ACTIONS(380), 5,
      anon_sym_STAR,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(378), 19,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_SLASH,
      anon_sym_sdiv,
      anon_sym_mod,
      anon_sym_PERCENT,
      anon_sym_smod,
      anon_sym_sar,
      anon_sym_LT_LT_LT,
      anon_sym_GT_GT_GT,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_PIPE,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
  [2963] = 11,
    ACTIONS(400), 1,
      anon_sym_PLUS,
    ACTIONS(402), 1,
      anon_sym_DASH,
    ACTIONS(404), 1,
      anon_sym_STAR,
    ACTIONS(406), 1,
      anon_sym_SLASH,
    ACTIONS(408), 1,
      anon_sym_sdiv,
    ACTIONS(412), 1,
      anon_sym_smod,
    ACTIONS(414), 1,
      anon_sym_STAR_STAR,
    ACTIONS(416), 1,
      anon_sym_log,
    ACTIONS(410), 2,
      anon_sym_mod,
      anon_sym_PERCENT,
    ACTIONS(384), 4,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(382), 12,
      anon_sym_sar,
      anon_sym_LT_LT_LT,
      anon_sym_GT_GT_GT,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_PIPE,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
  [3012] = 11,
    ACTIONS(400), 1,
      anon_sym_PLUS,
    ACTIONS(402), 1,
      anon_sym_DASH,
    ACTIONS(404), 1,
      anon_sym_STAR,
    ACTIONS(406), 1,
      anon_sym_SLASH,
    ACTIONS(408), 1,
      anon_sym_sdiv,
    ACTIONS(412), 1,
      anon_sym_smod,
    ACTIONS(414), 1,
      anon_sym_STAR_STAR,
    ACTIONS(416), 1,
      anon_sym_log,
    ACTIONS(410), 2,
      anon_sym_mod,
      anon_sym_PERCENT,
    ACTIONS(340), 4,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(338), 12,
      anon_sym_sar,
      anon_sym_LT_LT_LT,
      anon_sym_GT_GT_GT,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_PIPE,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
  [3061] = 11,
    ACTIONS(400), 1,
      anon_sym_PLUS,
    ACTIONS(402), 1,
      anon_sym_DASH,
    ACTIONS(404), 1,
      anon_sym_STAR,
    ACTIONS(406), 1,
      anon_sym_SLASH,
    ACTIONS(408), 1,
      anon_sym_sdiv,
    ACTIONS(412), 1,
      anon_sym_smod,
    ACTIONS(414), 1,
      anon_sym_STAR_STAR,
    ACTIONS(416), 1,
      anon_sym_log,
    ACTIONS(410), 2,
      anon_sym_mod,
      anon_sym_PERCENT,
    ACTIONS(388), 4,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(386), 12,
      anon_sym_sar,
      anon_sym_LT_LT_LT,
      anon_sym_GT_GT_GT,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_PIPE,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
  [3110] = 11,
    ACTIONS(400), 1,
      anon_sym_PLUS,
    ACTIONS(402), 1,
      anon_sym_DASH,
    ACTIONS(404), 1,
      anon_sym_STAR,
    ACTIONS(406), 1,
      anon_sym_SLASH,
    ACTIONS(408), 1,
      anon_sym_sdiv,
    ACTIONS(412), 1,
      anon_sym_smod,
    ACTIONS(414), 1,
      anon_sym_STAR_STAR,
    ACTIONS(416), 1,
      anon_sym_log,
    ACTIONS(410), 2,
      anon_sym_mod,
      anon_sym_PERCENT,
    ACTIONS(309), 4,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(307), 12,
      anon_sym_sar,
      anon_sym_LT_LT_LT,
      anon_sym_GT_GT_GT,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_PIPE,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
  [3159] = 11,
    ACTIONS(400), 1,
      anon_sym_PLUS,
    ACTIONS(402), 1,
      anon_sym_DASH,
    ACTIONS(404), 1,
      anon_sym_STAR,
    ACTIONS(406), 1,
      anon_sym_SLASH,
    ACTIONS(408), 1,
      anon_sym_sdiv,
    ACTIONS(412), 1,
      anon_sym_smod,
    ACTIONS(414), 1,
      anon_sym_STAR_STAR,
    ACTIONS(416), 1,
      anon_sym_log,
    ACTIONS(410), 2,
      anon_sym_mod,
      anon_sym_PERCENT,
    ACTIONS(368), 4,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(366), 12,
      anon_sym_sar,
      anon_sym_LT_LT_LT,
      anon_sym_GT_GT_GT,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_PIPE,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
  [3208] = 16,
    ACTIONS(400), 1,
      anon_sym_PLUS,
    ACTIONS(402), 1,
      anon_sym_DASH,
    ACTIONS(404), 1,
      anon_sym_STAR,
    ACTIONS(406), 1,
      anon_sym_SLASH,
    ACTIONS(408), 1,
      anon_sym_sdiv,
    ACTIONS(412), 1,
      anon_sym_smod,
    ACTIONS(414), 1,
      anon_sym_STAR_STAR,
    ACTIONS(416), 1,
      anon_sym_log,
    ACTIONS(418), 1,
      anon_sym_LT_LT,
    ACTIONS(420), 1,
      anon_sym_GT_GT,
    ACTIONS(422), 1,
      anon_sym_sar,
    ACTIONS(424), 1,
      anon_sym_LT_LT_LT,
    ACTIONS(426), 1,
      anon_sym_GT_GT_GT,
    ACTIONS(336), 2,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(410), 2,
      anon_sym_mod,
      anon_sym_PERCENT,
    ACTIONS(334), 9,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_PIPE,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
  [3267] = 17,
    ACTIONS(400), 1,
      anon_sym_PLUS,
    ACTIONS(402), 1,
      anon_sym_DASH,
    ACTIONS(404), 1,
      anon_sym_STAR,
    ACTIONS(406), 1,
      anon_sym_SLASH,
    ACTIONS(408), 1,
      anon_sym_sdiv,
    ACTIONS(412), 1,
      anon_sym_smod,
    ACTIONS(414), 1,
      anon_sym_STAR_STAR,
    ACTIONS(416), 1,
      anon_sym_log,
    ACTIONS(418), 1,
      anon_sym_LT_LT,
    ACTIONS(420), 1,
      anon_sym_GT_GT,
    ACTIONS(422), 1,
      anon_sym_sar,
    ACTIONS(424), 1,
      anon_sym_LT_LT_LT,
    ACTIONS(426), 1,
      anon_sym_GT_GT_GT,
    ACTIONS(428), 1,
      anon_sym_AMP,
    ACTIONS(305), 2,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(410), 2,
      anon_sym_mod,
      anon_sym_PERCENT,
    ACTIONS(303), 8,
      anon_sym_CARET,
      anon_sym_PIPE,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
  [3328] = 18,
    ACTIONS(400), 1,
      anon_sym_PLUS,
    ACTIONS(402), 1,
      anon_sym_DASH,
    ACTIONS(404), 1,
      anon_sym_STAR,
    ACTIONS(406), 1,
      anon_sym_SLASH,
    ACTIONS(408), 1,
      anon_sym_sdiv,
    ACTIONS(412), 1,
      anon_sym_smod,
    ACTIONS(414), 1,
      anon_sym_STAR_STAR,
    ACTIONS(416), 1,
      anon_sym_log,
    ACTIONS(418), 1,
      anon_sym_LT_LT,
    ACTIONS(420), 1,
      anon_sym_GT_GT,
    ACTIONS(422), 1,
      anon_sym_sar,
    ACTIONS(424), 1,
      anon_sym_LT_LT_LT,
    ACTIONS(426), 1,
      anon_sym_GT_GT_GT,
    ACTIONS(428), 1,
      anon_sym_AMP,
    ACTIONS(430), 1,
      anon_sym_CARET,
    ACTIONS(279), 2,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(410), 2,
      anon_sym_mod,
      anon_sym_PERCENT,
    ACTIONS(245), 7,
      anon_sym_PIPE,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
  [3391] = 19,
    ACTIONS(400), 1,
      anon_sym_PLUS,
    ACTIONS(402), 1,
      anon_sym_DASH,
    ACTIONS(404), 1,
      anon_sym_STAR,
    ACTIONS(406), 1,
      anon_sym_SLASH,
    ACTIONS(408), 1,
      anon_sym_sdiv,
    ACTIONS(412), 1,
      anon_sym_smod,
    ACTIONS(414), 1,
      anon_sym_STAR_STAR,
    ACTIONS(416), 1,
      anon_sym_log,
    ACTIONS(418), 1,
      anon_sym_LT_LT,
    ACTIONS(420), 1,
      anon_sym_GT_GT,
    ACTIONS(422), 1,
      anon_sym_sar,
    ACTIONS(424), 1,
      anon_sym_LT_LT_LT,
    ACTIONS(426), 1,
      anon_sym_GT_GT_GT,
    ACTIONS(428), 1,
      anon_sym_AMP,
    ACTIONS(430), 1,
      anon_sym_CARET,
    ACTIONS(432), 1,
      anon_sym_PIPE,
    ACTIONS(285), 2,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(410), 2,
      anon_sym_mod,
      anon_sym_PERCENT,
    ACTIONS(281), 6,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
  [3456] = 19,
    ACTIONS(400), 1,
      anon_sym_PLUS,
    ACTIONS(402), 1,
      anon_sym_DASH,
    ACTIONS(404), 1,
      anon_sym_STAR,
    ACTIONS(406), 1,
      anon_sym_SLASH,
    ACTIONS(408), 1,
      anon_sym_sdiv,
    ACTIONS(412), 1,
      anon_sym_smod,
    ACTIONS(414), 1,
      anon_sym_STAR_STAR,
    ACTIONS(416), 1,
      anon_sym_log,
    ACTIONS(418), 1,
      anon_sym_LT_LT,
    ACTIONS(420), 1,
      anon_sym_GT_GT,
    ACTIONS(422), 1,
      anon_sym_sar,
    ACTIONS(424), 1,
      anon_sym_LT_LT_LT,
    ACTIONS(426), 1,
      anon_sym_GT_GT_GT,
    ACTIONS(428), 1,
      anon_sym_AMP,
    ACTIONS(430), 1,
      anon_sym_CARET,
    ACTIONS(432), 1,
      anon_sym_PIPE,
    ACTIONS(315), 2,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(410), 2,
      anon_sym_mod,
      anon_sym_PERCENT,
    ACTIONS(313), 6,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
  [3521] = 19,
    ACTIONS(400), 1,
      anon_sym_PLUS,
    ACTIONS(402), 1,
      anon_sym_DASH,
    ACTIONS(404), 1,
      anon_sym_STAR,
    ACTIONS(406), 1,
      anon_sym_SLASH,
    ACTIONS(408), 1,
      anon_sym_sdiv,
    ACTIONS(412), 1,
      anon_sym_smod,
    ACTIONS(414), 1,
      anon_sym_STAR_STAR,
    ACTIONS(416), 1,
      anon_sym_log,
    ACTIONS(418), 1,
      anon_sym_LT_LT,
    ACTIONS(420), 1,
      anon_sym_GT_GT,
    ACTIONS(422), 1,
      anon_sym_sar,
    ACTIONS(424), 1,
      anon_sym_LT_LT_LT,
    ACTIONS(426), 1,
      anon_sym_GT_GT_GT,
    ACTIONS(428), 1,
      anon_sym_AMP,
    ACTIONS(430), 1,
      anon_sym_CARET,
    ACTIONS(432), 1,
      anon_sym_PIPE,
    ACTIONS(321), 2,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(410), 2,
      anon_sym_mod,
      anon_sym_PERCENT,
    ACTIONS(319), 6,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
  [3586] = 19,
    ACTIONS(400), 1,
      anon_sym_PLUS,
    ACTIONS(402), 1,
      anon_sym_DASH,
    ACTIONS(404), 1,
      anon_sym_STAR,
    ACTIONS(406), 1,
      anon_sym_SLASH,
    ACTIONS(408), 1,
      anon_sym_sdiv,
    ACTIONS(412), 1,
      anon_sym_smod,
    ACTIONS(414), 1,
      anon_sym_STAR_STAR,
    ACTIONS(416), 1,
      anon_sym_log,
    ACTIONS(418), 1,
      anon_sym_LT_LT,
    ACTIONS(420), 1,
      anon_sym_GT_GT,
    ACTIONS(422), 1,
      anon_sym_sar,
    ACTIONS(424), 1,
      anon_sym_LT_LT_LT,
    ACTIONS(426), 1,
      anon_sym_GT_GT_GT,
    ACTIONS(428), 1,
      anon_sym_AMP,
    ACTIONS(430), 1,
      anon_sym_CARET,
    ACTIONS(432), 1,
      anon_sym_PIPE,
    ACTIONS(328), 2,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(410), 2,
      anon_sym_mod,
      anon_sym_PERCENT,
    ACTIONS(326), 6,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
  [3651] = 22,
    ACTIONS(400), 1,
      anon_sym_PLUS,
    ACTIONS(402), 1,
      anon_sym_DASH,
    ACTIONS(404), 1,
      anon_sym_STAR,
    ACTIONS(406), 1,
      anon_sym_SLASH,
    ACTIONS(408), 1,
      anon_sym_sdiv,
    ACTIONS(412), 1,
      anon_sym_smod,
    ACTIONS(414), 1,
      anon_sym_STAR_STAR,
    ACTIONS(416), 1,
      anon_sym_log,
    ACTIONS(418), 1,
      anon_sym_LT_LT,
    ACTIONS(420), 1,
      anon_sym_GT_GT,
    ACTIONS(422), 1,
      anon_sym_sar,
    ACTIONS(424), 1,
      anon_sym_LT_LT_LT,
    ACTIONS(426), 1,
      anon_sym_GT_GT_GT,
    ACTIONS(428), 1,
      anon_sym_AMP,
    ACTIONS(430), 1,
      anon_sym_CARET,
    ACTIONS(432), 1,
      anon_sym_PIPE,
    ACTIONS(434), 1,
      anon_sym_LT,
    ACTIONS(436), 1,
      anon_sym_LT_EQ,
    ACTIONS(438), 1,
      anon_sym_GT,
    ACTIONS(440), 1,
      anon_sym_GT_EQ,
    ACTIONS(410), 2,
      anon_sym_mod,
      anon_sym_PERCENT,
    ACTIONS(330), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
  [3722] = 22,
    ACTIONS(400), 1,
      anon_sym_PLUS,
    ACTIONS(402), 1,
      anon_sym_DASH,
    ACTIONS(404), 1,
      anon_sym_STAR,
    ACTIONS(406), 1,
      anon_sym_SLASH,
    ACTIONS(408), 1,
      anon_sym_sdiv,
    ACTIONS(412), 1,
      anon_sym_smod,
    ACTIONS(414), 1,
      anon_sym_STAR_STAR,
    ACTIONS(416), 1,
      anon_sym_log,
    ACTIONS(418), 1,
      anon_sym_LT_LT,
    ACTIONS(420), 1,
      anon_sym_GT_GT,
    ACTIONS(422), 1,
      anon_sym_sar,
    ACTIONS(424), 1,
      anon_sym_LT_LT_LT,
    ACTIONS(426), 1,
      anon_sym_GT_GT_GT,
    ACTIONS(428), 1,
      anon_sym_AMP,
    ACTIONS(430), 1,
      anon_sym_CARET,
    ACTIONS(432), 1,
      anon_sym_PIPE,
    ACTIONS(434), 1,
      anon_sym_LT,
    ACTIONS(436), 1,
      anon_sym_LT_EQ,
    ACTIONS(438), 1,
      anon_sym_GT,
    ACTIONS(440), 1,
      anon_sym_GT_EQ,
    ACTIONS(410), 2,
      anon_sym_mod,
      anon_sym_PERCENT,
    ACTIONS(317), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_QMARK,
      anon_sym_COLON,
  [3793] = 25,
    ACTIONS(332), 1,
      anon_sym_COLON,
    ACTIONS(400), 1,
      anon_sym_PLUS,
    ACTIONS(402), 1,
      anon_sym_DASH,
    ACTIONS(404), 1,
      anon_sym_STAR,
    ACTIONS(406), 1,
      anon_sym_SLASH,
    ACTIONS(408), 1,
      anon_sym_sdiv,
    ACTIONS(412), 1,
      anon_sym_smod,
    ACTIONS(414), 1,
      anon_sym_STAR_STAR,
    ACTIONS(416), 1,
      anon_sym_log,
    ACTIONS(418), 1,
      anon_sym_LT_LT,
    ACTIONS(420), 1,
      anon_sym_GT_GT,
    ACTIONS(422), 1,
      anon_sym_sar,
    ACTIONS(424), 1,
      anon_sym_LT_LT_LT,
    ACTIONS(426), 1,
      anon_sym_GT_GT_GT,
    ACTIONS(428), 1,
      anon_sym_AMP,
    ACTIONS(430), 1,
      anon_sym_CARET,
    ACTIONS(432), 1,
      anon_sym_PIPE,
    ACTIONS(434), 1,
      anon_sym_LT,
    ACTIONS(436), 1,
      anon_sym_LT_EQ,
    ACTIONS(438), 1,
      anon_sym_GT,
    ACTIONS(440), 1,
      anon_sym_GT_EQ,
    ACTIONS(442), 1,
      anon_sym_EQ_EQ,
    ACTIONS(444), 1,
      anon_sym_BANG_EQ,
    ACTIONS(446), 1,
      anon_sym_QMARK,
    ACTIONS(410), 2,
      anon_sym_mod,
      anon_sym_PERCENT,
  [3870] = 25,
    ACTIONS(311), 1,
      anon_sym_COLON,
    ACTIONS(400), 1,
      anon_sym_PLUS,
    ACTIONS(402), 1,
      anon_sym_DASH,
    ACTIONS(404), 1,
      anon_sym_STAR,
    ACTIONS(406), 1,
      anon_sym_SLASH,
    ACTIONS(408), 1,
      anon_sym_sdiv,
    ACTIONS(412), 1,
      anon_sym_smod,
    ACTIONS(414), 1,
      anon_sym_STAR_STAR,
    ACTIONS(416), 1,
      anon_sym_log,
    ACTIONS(418), 1,
      anon_sym_LT_LT,
    ACTIONS(420), 1,
      anon_sym_GT_GT,
    ACTIONS(422), 1,
      anon_sym_sar,
    ACTIONS(424), 1,
      anon_sym_LT_LT_LT,
    ACTIONS(426), 1,
      anon_sym_GT_GT_GT,
    ACTIONS(428), 1,
      anon_sym_AMP,
    ACTIONS(430), 1,
      anon_sym_CARET,
    ACTIONS(432), 1,
      anon_sym_PIPE,
    ACTIONS(434), 1,
      anon_sym_LT,
    ACTIONS(436), 1,
      anon_sym_LT_EQ,
    ACTIONS(438), 1,
      anon_sym_GT,
    ACTIONS(440), 1,
      anon_sym_GT_EQ,
    ACTIONS(442), 1,
      anon_sym_EQ_EQ,
    ACTIONS(444), 1,
      anon_sym_BANG_EQ,
    ACTIONS(446), 1,
      anon_sym_QMARK,
    ACTIONS(410), 2,
      anon_sym_mod,
      anon_sym_PERCENT,
  [3947] = 25,
    ACTIONS(400), 1,
      anon_sym_PLUS,
    ACTIONS(402), 1,
      anon_sym_DASH,
    ACTIONS(404), 1,
      anon_sym_STAR,
    ACTIONS(406), 1,
      anon_sym_SLASH,
    ACTIONS(408), 1,
      anon_sym_sdiv,
    ACTIONS(412), 1,
      anon_sym_smod,
    ACTIONS(414), 1,
      anon_sym_STAR_STAR,
    ACTIONS(416), 1,
      anon_sym_log,
    ACTIONS(418), 1,
      anon_sym_LT_LT,
    ACTIONS(420), 1,
      anon_sym_GT_GT,
    ACTIONS(422), 1,
      anon_sym_sar,
    ACTIONS(424), 1,
      anon_sym_LT_LT_LT,
    ACTIONS(426), 1,
      anon_sym_GT_GT_GT,
    ACTIONS(428), 1,
      anon_sym_AMP,
    ACTIONS(430), 1,
      anon_sym_CARET,
    ACTIONS(432), 1,
      anon_sym_PIPE,
    ACTIONS(434), 1,
      anon_sym_LT,
    ACTIONS(436), 1,
      anon_sym_LT_EQ,
    ACTIONS(438), 1,
      anon_sym_GT,
    ACTIONS(440), 1,
      anon_sym_GT_EQ,
    ACTIONS(442), 1,
      anon_sym_EQ_EQ,
    ACTIONS(444), 1,
      anon_sym_BANG_EQ,
    ACTIONS(446), 1,
      anon_sym_QMARK,
    ACTIONS(452), 1,
      anon_sym_COLON,
    ACTIONS(410), 2,
      anon_sym_mod,
      anon_sym_PERCENT,
  [4024] = 7,
    ACTIONS(3), 1,
      sym__word,
    ACTIONS(19), 1,
      anon_sym_LPAREN,
    ACTIONS(23), 1,
      sym_number_legacy_hex,
    ACTIONS(51), 1,
      sym_number_value,
    STATE(156), 1,
      sym_function_name,
    ACTIONS(454), 2,
      sym_string_bytes,
      sym_special_variable,
    STATE(74), 6,
      sym__incdec_operand,
      sym_function,
      sym_parenthesized_expression,
      sym_number,
      sym_address_typed,
      sym_variable,
  [4052] = 7,
    ACTIONS(3), 1,
      sym__word,
    ACTIONS(19), 1,
      anon_sym_LPAREN,
    ACTIONS(21), 1,
      sym_number_value,
    ACTIONS(23), 1,
      sym_number_legacy_hex,
    STATE(156), 1,
      sym_function_name,
    ACTIONS(454), 2,
      sym_string_bytes,
      sym_special_variable,
    STATE(74), 6,
      sym__incdec_operand,
      sym_function,
      sym_parenthesized_expression,
      sym_number,
      sym_address_typed,
      sym_variable,
  [4080] = 7,
    ACTIONS(3), 1,
      sym__word,
    ACTIONS(19), 1,
      anon_sym_LPAREN,
    ACTIONS(21), 1,
      sym_number_value,
    ACTIONS(23), 1,
      sym_number_legacy_hex,
    STATE(156), 1,
      sym_function_name,
    ACTIONS(456), 2,
      sym_string_bytes,
      sym_special_variable,
    STATE(75), 6,
      sym__incdec_operand,
      sym_function,
      sym_parenthesized_expression,
      sym_number,
      sym_address_typed,
      sym_variable,
  [4108] = 7,
    ACTIONS(3), 1,
      sym__word,
    ACTIONS(19), 1,
      anon_sym_LPAREN,
    ACTIONS(23), 1,
      sym_number_legacy_hex,
    ACTIONS(51), 1,
      sym_number_value,
    STATE(156), 1,
      sym_function_name,
    ACTIONS(456), 2,
      sym_string_bytes,
      sym_special_variable,
    STATE(75), 6,
      sym__incdec_operand,
      sym_function,
      sym_parenthesized_expression,
      sym_number,
      sym_address_typed,
      sym_variable,
  [4136] = 3,
    ACTIONS(458), 1,
      anon_sym_COMMA,
    ACTIONS(460), 1,
      anon_sym_RPAREN,
    STATE(155), 1,
      aux_sym_argument_list_repeat1,
  [4146] = 3,
    ACTIONS(458), 1,
      anon_sym_COMMA,
    ACTIONS(462), 1,
      anon_sym_RPAREN,
    STATE(151), 1,
      aux_sym_argument_list_repeat1,
  [4156] = 3,
    ACTIONS(396), 1,
      ts_builtin_sym_end,
    ACTIONS(464), 1,
      anon_sym_SEMI,
    STATE(153), 1,
      aux_sym_expression_repeat1,
  [4166] = 3,
    ACTIONS(31), 1,
      ts_builtin_sym_end,
    ACTIONS(467), 1,
      anon_sym_SEMI,
    STATE(153), 1,
      aux_sym_expression_repeat1,
  [4176] = 3,
    ACTIONS(469), 1,
      anon_sym_COMMA,
    ACTIONS(472), 1,
      anon_sym_RPAREN,
    STATE(155), 1,
      aux_sym_argument_list_repeat1,
  [4186] = 2,
    ACTIONS(474), 1,
      anon_sym_LPAREN,
    STATE(85), 1,
      sym_argument_list,
  [4193] = 2,
    ACTIONS(476), 1,
      sym__word,
    STATE(161), 1,
      sym_variable,
  [4200] = 2,
    ACTIONS(476), 1,
      sym__word,
    STATE(164), 1,
      sym_variable,
  [4207] = 1,
    ACTIONS(472), 2,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [4212] = 1,
    ACTIONS(478), 1,
      sym_address_width,
  [4216] = 1,
    ACTIONS(480), 1,
      anon_sym_EQ,
  [4220] = 1,
    ACTIONS(482), 1,
      ts_builtin_sym_end,
  [4224] = 1,
    ACTIONS(181), 1,
      anon_sym_EQ,
  [4228] = 1,
    ACTIONS(484), 1,
      anon_sym_EQ,
};

static const uint32_t ts_small_parse_table_map[] = {
  [SMALL_STATE(70)] = 0,
  [SMALL_STATE(71)] = 44,
  [SMALL_STATE(72)] = 83,
  [SMALL_STATE(73)] = 118,
  [SMALL_STATE(74)] = 153,
  [SMALL_STATE(75)] = 188,
  [SMALL_STATE(76)] = 223,
  [SMALL_STATE(77)] = 258,
  [SMALL_STATE(78)] = 293,
  [SMALL_STATE(79)] = 328,
  [SMALL_STATE(80)] = 363,
  [SMALL_STATE(81)] = 398,
  [SMALL_STATE(82)] = 433,
  [SMALL_STATE(83)] = 468,
  [SMALL_STATE(84)] = 503,
  [SMALL_STATE(85)] = 540,
  [SMALL_STATE(86)] = 575,
  [SMALL_STATE(87)] = 610,
  [SMALL_STATE(88)] = 676,
  [SMALL_STATE(89)] = 744,
  [SMALL_STATE(90)] = 824,
  [SMALL_STATE(91)] = 888,
  [SMALL_STATE(92)] = 940,
  [SMALL_STATE(93)] = 1020,
  [SMALL_STATE(94)] = 1088,
  [SMALL_STATE(95)] = 1162,
  [SMALL_STATE(96)] = 1230,
  [SMALL_STATE(97)] = 1270,
  [SMALL_STATE(98)] = 1338,
  [SMALL_STATE(99)] = 1412,
  [SMALL_STATE(100)] = 1492,
  [SMALL_STATE(101)] = 1554,
  [SMALL_STATE(102)] = 1606,
  [SMALL_STATE(103)] = 1654,
  [SMALL_STATE(104)] = 1702,
  [SMALL_STATE(105)] = 1740,
  [SMALL_STATE(106)] = 1778,
  [SMALL_STATE(107)] = 1816,
  [SMALL_STATE(108)] = 1854,
  [SMALL_STATE(109)] = 1906,
  [SMALL_STATE(110)] = 1944,
  [SMALL_STATE(111)] = 1982,
  [SMALL_STATE(112)] = 2020,
  [SMALL_STATE(113)] = 2072,
  [SMALL_STATE(114)] = 2124,
  [SMALL_STATE(115)] = 2207,
  [SMALL_STATE(116)] = 2285,
  [SMALL_STATE(117)] = 2363,
  [SMALL_STATE(118)] = 2397,
  [SMALL_STATE(119)] = 2474,
  [SMALL_STATE(120)] = 2551,
  [SMALL_STATE(121)] = 2628,
  [SMALL_STATE(122)] = 2673,
  [SMALL_STATE(123)] = 2718,
  [SMALL_STATE(124)] = 2753,
  [SMALL_STATE(125)] = 2788,
  [SMALL_STATE(126)] = 2823,
  [SMALL_STATE(127)] = 2858,
  [SMALL_STATE(128)] = 2893,
  [SMALL_STATE(129)] = 2928,
  [SMALL_STATE(130)] = 2963,
  [SMALL_STATE(131)] = 3012,
  [SMALL_STATE(132)] = 3061,
  [SMALL_STATE(133)] = 3110,
  [SMALL_STATE(134)] = 3159,
  [SMALL_STATE(135)] = 3208,
  [SMALL_STATE(136)] = 3267,
  [SMALL_STATE(137)] = 3328,
  [SMALL_STATE(138)] = 3391,
  [SMALL_STATE(139)] = 3456,
  [SMALL_STATE(140)] = 3521,
  [SMALL_STATE(141)] = 3586,
  [SMALL_STATE(142)] = 3651,
  [SMALL_STATE(143)] = 3722,
  [SMALL_STATE(144)] = 3793,
  [SMALL_STATE(145)] = 3870,
  [SMALL_STATE(146)] = 3947,
  [SMALL_STATE(147)] = 4024,
  [SMALL_STATE(148)] = 4052,
  [SMALL_STATE(149)] = 4080,
  [SMALL_STATE(150)] = 4108,
  [SMALL_STATE(151)] = 4136,
  [SMALL_STATE(152)] = 4146,
  [SMALL_STATE(153)] = 4156,
  [SMALL_STATE(154)] = 4166,
  [SMALL_STATE(155)] = 4176,
  [SMALL_STATE(156)] = 4186,
  [SMALL_STATE(157)] = 4193,
  [SMALL_STATE(158)] = 4200,
  [SMALL_STATE(159)] = 4207,
  [SMALL_STATE(160)] = 4212,
  [SMALL_STATE(161)] = 4216,
  [SMALL_STATE(162)] = 4220,
  [SMALL_STATE(163)] = 4224,
  [SMALL_STATE(164)] = 4228,
};

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(71),
  [5] = {.entry = {.count = 1, .reusable = false}}, SHIFT(157),
  [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148),
  [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(149),
  [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(41),
  [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7),
  [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33),
  [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35),
  [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36),
  [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(70),
  [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83),
  [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114),
  [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72),
  [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115),
  [31] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 2, 0, 0),
  [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116),
  [35] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 3, 0, 0),
  [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(158),
  [39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147),
  [41] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150),
  [43] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6),
  [45] = {.entry = {.count = 1, .reusable = false}}, SHIFT(65),
  [47] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66),
  [49] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67),
  [51] = {.entry = {.count = 1, .reusable = false}}, SHIFT(96),
  [53] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76),
  [55] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77),
  [57] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102),
  [59] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103),
  [61] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104),
  [63] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105),
  [65] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106),
  [67] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107),
  [69] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109),
  [71] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110),
  [73] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111),
  [75] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112),
  [77] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101),
  [79] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113),
  [81] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91),
  [83] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108),
  [85] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100),
  [87] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90),
  [89] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87),
  [91] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88),
  [93] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93),
  [95] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95),
  [97] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97),
  [99] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98),
  [101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94),
  [103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120),
  [105] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99),
  [107] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80),
  [109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89),
  [111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81),
  [113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119),
  [115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92),
  [117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121),
  [119] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122),
  [121] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124),
  [123] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125),
  [125] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126),
  [127] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127),
  [129] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128),
  [131] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129),
  [133] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130),
  [135] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131),
  [137] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132),
  [139] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133),
  [141] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134),
  [143] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135),
  [145] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136),
  [147] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137),
  [149] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138),
  [151] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139),
  [153] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140),
  [155] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141),
  [157] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142),
  [159] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143),
  [161] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144),
  [163] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118),
  [165] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145),
  [167] = {.entry = {.count = 1, .reusable = true}}, SHIFT(146),
  [169] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123),
  [171] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_number, 1, 0, 0),
  [173] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_number, 1, 0, 0),
  [175] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160),
  [177] = {.entry = {.count = 1, .reusable = false}}, SHIFT(82),
  [179] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82),
  [181] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable, 1, 0, 0),
  [183] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable, 1, 0, 0),
  [185] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_name, 1, 0, 0),
  [187] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 2, 0, 0),
  [189] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 2, 0, 0),
  [191] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_address_typed, 3, 0, 0),
  [193] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_address_typed, 3, 0, 0),
  [195] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_increment, 2, 0, 1),
  [197] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_increment, 2, 0, 1),
  [199] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decrement, 2, 0, 1),
  [201] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_decrement, 2, 0, 1),
  [203] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_plus, 2, 0, 1),
  [205] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary_plus, 2, 0, 1),
  [207] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_minus, 2, 0, 1),
  [209] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary_minus, 2, 0, 1),
  [211] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 3, 0, 0),
  [213] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 3, 0, 0),
  [215] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 4, 0, 0),
  [217] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 4, 0, 0),
  [219] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_logical_negation, 2, 0, 1),
  [221] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_logical_negation, 2, 0, 1),
  [223] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_logical_not, 2, 0, 1),
  [225] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_logical_not, 2, 0, 1),
  [227] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_number, 2, 0, 0),
  [229] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_number, 2, 0, 0),
  [231] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression, 1, 0, 0),
  [233] = {.entry = {.count = 1, .reusable = false}}, SHIFT(32),
  [235] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression, 1, 0, 0),
  [237] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function, 2, 0, 0),
  [239] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function, 2, 0, 0),
  [241] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_expression, 3, 0, 0),
  [243] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_expression, 3, 0, 0),
  [245] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_logical_or, 3, 0, 2),
  [247] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8),
  [249] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9),
  [251] = {.entry = {.count = 1, .reusable = false}}, SHIFT(10),
  [253] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11),
  [255] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12),
  [257] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13),
  [259] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14),
  [261] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15),
  [263] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16),
  [265] = {.entry = {.count = 1, .reusable = false}}, SHIFT(17),
  [267] = {.entry = {.count = 1, .reusable = false}}, SHIFT(18),
  [269] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19),
  [271] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20),
  [273] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21),
  [275] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22),
  [277] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23),
  [279] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_logical_or, 3, 0, 2),
  [281] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_less_than, 3, 0, 2),
  [283] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24),
  [285] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_less_than, 3, 0, 2),
  [287] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_assignment, 4, 0, 4),
  [289] = {.entry = {.count = 1, .reusable = false}}, SHIFT(25),
  [291] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26),
  [293] = {.entry = {.count = 1, .reusable = false}}, SHIFT(27),
  [295] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28),
  [297] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29),
  [299] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30),
  [301] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31),
  [303] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_logical_xor, 3, 0, 2),
  [305] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_logical_xor, 3, 0, 2),
  [307] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_logical_rol, 3, 0, 2),
  [309] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_logical_rol, 3, 0, 2),
  [311] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_conditional, 5, 0, 5),
  [313] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_less_equal, 3, 0, 2),
  [315] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_less_equal, 3, 0, 2),
  [317] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_not_equal, 3, 0, 2),
  [319] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_greater_than, 3, 0, 2),
  [321] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_greater_than, 3, 0, 2),
  [323] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_number, 1, 0, 0), SHIFT(160),
  [326] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_greater_equal, 3, 0, 2),
  [328] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_greater_equal, 3, 0, 2),
  [330] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_equal, 3, 0, 2),
  [332] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 3, 0, 2),
  [334] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_logical_and, 3, 0, 2),
  [336] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_logical_and, 3, 0, 2),
  [338] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_logical_shr, 3, 0, 2),
  [340] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_logical_shr, 3, 0, 2),
  [342] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sum, 3, 0, 2),
  [344] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sum, 3, 0, 2),
  [346] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_subtraction, 3, 0, 2),
  [348] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_subtraction, 3, 0, 2),
  [350] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_product, 3, 0, 2),
  [352] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_product, 3, 0, 2),
  [354] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_division, 3, 0, 2),
  [356] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_division, 3, 0, 2),
  [358] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_signed_division, 3, 0, 2),
  [360] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_signed_division, 3, 0, 2),
  [362] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_modulo, 3, 0, 2),
  [364] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_modulo, 3, 0, 2),
  [366] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_logical_ror, 3, 0, 2),
  [368] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_logical_ror, 3, 0, 2),
  [370] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_signed_modulo, 3, 0, 2),
  [372] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_signed_modulo, 3, 0, 2),
  [374] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_exponent, 3, 0, 3),
  [376] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_exponent, 3, 0, 3),
  [378] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_logarithm, 3, 0, 3),
  [380] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_logarithm, 3, 0, 3),
  [382] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_logical_shl, 3, 0, 2),
  [384] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_logical_shl, 3, 0, 2),
  [386] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arith_shr, 3, 0, 2),
  [388] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_arith_shr, 3, 0, 2),
  [390] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1, 0, 0),
  [392] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3),
  [394] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument, 1, 0, 0),
  [396] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_expression_repeat1, 2, 0, 0),
  [398] = {.entry = {.count = 1, .reusable = false}}, SHIFT(62),
  [400] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39),
  [402] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40),
  [404] = {.entry = {.count = 1, .reusable = false}}, SHIFT(69),
  [406] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42),
  [408] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43),
  [410] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44),
  [412] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45),
  [414] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46),
  [416] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47),
  [418] = {.entry = {.count = 1, .reusable = false}}, SHIFT(48),
  [420] = {.entry = {.count = 1, .reusable = false}}, SHIFT(49),
  [422] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50),
  [424] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51),
  [426] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52),
  [428] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53),
  [430] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54),
  [432] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55),
  [434] = {.entry = {.count = 1, .reusable = false}}, SHIFT(56),
  [436] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57),
  [438] = {.entry = {.count = 1, .reusable = false}}, SHIFT(58),
  [440] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59),
  [442] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60),
  [444] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61),
  [446] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68),
  [448] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86),
  [450] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37),
  [452] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64),
  [454] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74),
  [456] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75),
  [458] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5),
  [460] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79),
  [462] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78),
  [464] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(38),
  [467] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4),
  [469] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2, 0, 0), SHIFT_REPEAT(5),
  [472] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2, 0, 0),
  [474] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2),
  [476] = {.entry = {.count = 1, .reusable = true}}, SHIFT(163),
  [478] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73),
  [480] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34),
  [482] = {.entry = {.count = 1, .reusable = true}},  ACCEPT_INPUT(),
  [484] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63),
};

#ifdef __cplusplus
extern "C" {
#endif
#ifdef TREE_SITTER_HIDE_SYMBOLS
#define TS_PUBLIC
#elif defined(_WIN32)
#define TS_PUBLIC __declspec(dllexport)
#else
#define TS_PUBLIC __attribute__((visibility("default")))
#endif

TS_PUBLIC const TSLanguage *tree_sitter_rznum(void) {
  static const TSLanguage language = {
    .abi_version = LANGUAGE_VERSION,
    .symbol_count = SYMBOL_COUNT,
    .alias_count = ALIAS_COUNT,
    .token_count = TOKEN_COUNT,
    .external_token_count = EXTERNAL_TOKEN_COUNT,
    .state_count = STATE_COUNT,
    .large_state_count = LARGE_STATE_COUNT,
    .production_id_count = PRODUCTION_ID_COUNT,
    .supertype_count = SUPERTYPE_COUNT,
    .field_count = FIELD_COUNT,
    .max_alias_sequence_length = MAX_ALIAS_SEQUENCE_LENGTH,
    .parse_table = &ts_parse_table[0][0],
    .small_parse_table = ts_small_parse_table,
    .small_parse_table_map = ts_small_parse_table_map,
    .parse_actions = ts_parse_actions,
    .symbol_names = ts_symbol_names,
    .field_names = ts_field_names,
    .field_map_slices = ts_field_map_slices,
    .field_map_entries = ts_field_map_entries,
    .symbol_metadata = ts_symbol_metadata,
    .public_symbol_map = ts_symbol_map,
    .alias_map = ts_non_terminal_alias_map,
    .alias_sequences = &ts_alias_sequences[0][0],
    .lex_modes = (const void*)ts_lex_modes,
    .lex_fn = ts_lex,
    .keyword_lex_fn = ts_lex_keywords,
    .keyword_capture_token = sym__word,
    .primary_state_ids = ts_primary_state_ids,
    .name = "rznum",
    .max_reserved_word_set_size = 0,
    .metadata = {
      .major_version = 0,
      .minor_version = 1,
      .patch_version = 0,
    },
  };
  return &language;
}
#ifdef __cplusplus
}
#endif
