From 542d36f2661e75549f13c033d277be2937012ed3 Mon Sep 17 00:00:00 2001 From: Jacob Date: Wed, 27 Aug 2025 01:29:54 -0400 Subject: [PATCH] Another one. --- grammar.js | 115 +- src/grammar.json | 390 ++-- src/node-types.json | 360 ++++ src/parser.c | 4397 +++++++++++++++++++++++++++++++++++-------- 4 files changed, 4254 insertions(+), 1008 deletions(-) diff --git a/grammar.js b/grammar.js index af25567..0bfcacf 100644 --- a/grammar.js +++ b/grammar.js @@ -7,78 +7,64 @@ /// // @ts-check -// grammar.js -const PREC = { - assign: 0, // right-assoc - add: 1, // left-assoc - mul: 2, // left-assoc - call: 3, - funcdef: 4, - lambda: 5, -}; - module.exports = grammar({ name: "scl", - // Whitespace is of no consequence. - extras: ($) => [/\s/], - conflicts: ($) => [[$.params, $._exp]], rules: { - // A file is zero or more expressions. source_file: ($) => repeat($._exp), - // Everything is expressions. Makes this a lot easier. _exp: ($) => choice( $.num, + $.bool, $.word, $.binexp, $.callexp, - $.funcdef, - $.lambda, - $.vardef, $.parexp, + $.block, + $.vardef, + $.lambda, + $.funcdef, + $.ifexp, ), - // Literals / identifiers. num: (_) => /\d+/, + bool: (_) => choice("TRUE", "T", "FALSE", "F"), word: (_) => /[a-zA-Z_]\w*/, - // Binary expressions with precedence and left associativity. binexp: ($) => - choice( - prec.left( - PREC.add, - seq( - field("left", $._exp), - field("op", choice("+", "-")), - field("right", $._exp), - ), - ), - prec.left( - PREC.mul, - seq( - field("left", $._exp), - field("op", choice("*", "/")), - field("right", $._exp), - ), + prec.left( + 1, + seq( + field("left", $._exp), + field("op", choice("+", "-", "*", "/", "eq")), + field("right", $._exp), ), ), - // Function call: prefer this over plain `word` via precedence. callexp: ($) => - prec( - PREC.call, + prec.left( + 1, // lower than funcdef seq(field("fn", $.word), "(", optional(commaSep($._exp)), ")"), ), - // Convenient function definition (sugar): `f(x, y, ...) body`. - // Give it higher precedence than calls to resolve the shared prefix. + parexp: ($) => seq("(", $._exp, ")"), + block: ($) => seq("{", repeat($._exp), "}"), + + vardef: ($) => + prec.right(1, seq(field("name", $.word), "=", field("value", $._exp))), + + lambda: ($) => + prec.right( + 2, + seq("\\", field("params", $.params), field("body", $._exp)), + ), + funcdef: ($) => - prec( - PREC.funcdef, + prec.right( + 3, // higher precedence than call seq( field("name", $.word), field("params", $.params), @@ -86,26 +72,33 @@ module.exports = grammar({ ), ), - // Lambda: `\(x, y, ...) body`. - lambda: ($) => - prec( - PREC.lambda, - seq("\\", field("params", $.params), field("body", $._exp)), - ), - - // Variable definition / assignment: `x = expr`. - // Lowest precedence, right-associative: `a = b = c` → `a = (b = c)`. - vardef: ($) => - prec.right( - PREC.assign, - seq(field("name", $.word), "=", field("value", $._exp)), - ), - - // Parameter list node used by funcdef and lambda. params: ($) => seq("(", optional(commaSep($.word)), ")"), - // Parenthesized expression. - parexp: ($) => seq("(", $._exp, ")"), + ifexp: ($) => + choice( + seq( + "_if", + "(", + field("cond", $._exp), + ",", + field("then", $._exp), + ",", + field("else", $._exp), + ")", + ), + seq( + "if", + field("cond", $._exp), + field("then", $._exp), + choice(seq("else", field("else", $._exp)), field("else", $._exp)), + ), + seq( + "?", + field("cond", $._exp), + field("then", $._exp), + field("else", $._exp), + ), + ), }, }); diff --git a/src/grammar.json b/src/grammar.json index e9fe276..eb582dd 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -16,6 +16,10 @@ "type": "SYMBOL", "name": "num" }, + { + "type": "SYMBOL", + "name": "bool" + }, { "type": "SYMBOL", "name": "word" @@ -30,11 +34,11 @@ }, { "type": "SYMBOL", - "name": "funcdef" + "name": "parexp" }, { "type": "SYMBOL", - "name": "lambda" + "name": "block" }, { "type": "SYMBOL", @@ -42,7 +46,15 @@ }, { "type": "SYMBOL", - "name": "parexp" + "name": "lambda" + }, + { + "type": "SYMBOL", + "name": "funcdef" + }, + { + "type": "SYMBOL", + "name": "ifexp" } ] }, @@ -50,102 +62,88 @@ "type": "PATTERN", "value": "\\d+" }, + "bool": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "TRUE" + }, + { + "type": "STRING", + "value": "T" + }, + { + "type": "STRING", + "value": "FALSE" + }, + { + "type": "STRING", + "value": "F" + } + ] + }, "word": { "type": "PATTERN", "value": "[a-zA-Z_]\\w*" }, "binexp": { - "type": "CHOICE", - "members": [ - { - "type": "PREC_LEFT", - "value": 1, - "content": { - "type": "SEQ", - "members": [ - { - "type": "FIELD", - "name": "left", - "content": { - "type": "SYMBOL", - "name": "_exp" + "type": "PREC_LEFT", + "value": 1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "_exp" + } + }, + { + "type": "FIELD", + "name": "op", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "+" + }, + { + "type": "STRING", + "value": "-" + }, + { + "type": "STRING", + "value": "*" + }, + { + "type": "STRING", + "value": "/" + }, + { + "type": "STRING", + "value": "eq" } - }, - { - "type": "FIELD", - "name": "op", - "content": { - "type": "CHOICE", - "members": [ - { - "type": "STRING", - "value": "+" - }, - { - "type": "STRING", - "value": "-" - } - ] - } - }, - { - "type": "FIELD", - "name": "right", - "content": { - "type": "SYMBOL", - "name": "_exp" - } - } - ] + ] + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "_exp" + } } - }, - { - "type": "PREC_LEFT", - "value": 2, - "content": { - "type": "SEQ", - "members": [ - { - "type": "FIELD", - "name": "left", - "content": { - "type": "SYMBOL", - "name": "_exp" - } - }, - { - "type": "FIELD", - "name": "op", - "content": { - "type": "CHOICE", - "members": [ - { - "type": "STRING", - "value": "*" - }, - { - "type": "STRING", - "value": "/" - } - ] - } - }, - { - "type": "FIELD", - "name": "right", - "content": { - "type": "SYMBOL", - "name": "_exp" - } - } - ] - } - } - ] + ] + } }, "callexp": { - "type": "PREC", - "value": 3, + "type": "PREC_LEFT", + "value": 1, "content": { "type": "SEQ", "members": [ @@ -201,9 +199,46 @@ ] } }, - "funcdef": { - "type": "PREC", - "value": 4, + "parexp": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "SYMBOL", + "name": "_exp" + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "block": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "{" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "_exp" + } + }, + { + "type": "STRING", + "value": "}" + } + ] + }, + "vardef": { + "type": "PREC_RIGHT", + "value": 1, "content": { "type": "SEQ", "members": [ @@ -216,16 +251,12 @@ } }, { - "type": "FIELD", - "name": "params", - "content": { - "type": "SYMBOL", - "name": "params" - } + "type": "STRING", + "value": "=" }, { "type": "FIELD", - "name": "body", + "name": "value", "content": { "type": "SYMBOL", "name": "_exp" @@ -235,8 +266,8 @@ } }, "lambda": { - "type": "PREC", - "value": 5, + "type": "PREC_RIGHT", + "value": 2, "content": { "type": "SEQ", "members": [ @@ -263,9 +294,9 @@ ] } }, - "vardef": { + "funcdef": { "type": "PREC_RIGHT", - "value": 0, + "value": 3, "content": { "type": "SEQ", "members": [ @@ -278,12 +309,16 @@ } }, { - "type": "STRING", - "value": "=" + "type": "FIELD", + "name": "params", + "content": { + "type": "SYMBOL", + "name": "params" + } }, { "type": "FIELD", - "name": "value", + "name": "body", "content": { "type": "SYMBOL", "name": "_exp" @@ -338,20 +373,145 @@ } ] }, - "parexp": { - "type": "SEQ", + "ifexp": { + "type": "CHOICE", "members": [ { - "type": "STRING", - "value": "(" + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "_if" + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "FIELD", + "name": "cond", + "content": { + "type": "SYMBOL", + "name": "_exp" + } + }, + { + "type": "STRING", + "value": "," + }, + { + "type": "FIELD", + "name": "then", + "content": { + "type": "SYMBOL", + "name": "_exp" + } + }, + { + "type": "STRING", + "value": "," + }, + { + "type": "FIELD", + "name": "else", + "content": { + "type": "SYMBOL", + "name": "_exp" + } + }, + { + "type": "STRING", + "value": ")" + } + ] }, { - "type": "SYMBOL", - "name": "_exp" + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "if" + }, + { + "type": "FIELD", + "name": "cond", + "content": { + "type": "SYMBOL", + "name": "_exp" + } + }, + { + "type": "FIELD", + "name": "then", + "content": { + "type": "SYMBOL", + "name": "_exp" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "else" + }, + { + "type": "FIELD", + "name": "else", + "content": { + "type": "SYMBOL", + "name": "_exp" + } + } + ] + }, + { + "type": "FIELD", + "name": "else", + "content": { + "type": "SYMBOL", + "name": "_exp" + } + } + ] + } + ] }, { - "type": "STRING", - "value": ")" + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "?" + }, + { + "type": "FIELD", + "name": "cond", + "content": { + "type": "SYMBOL", + "name": "_exp" + } + }, + { + "type": "FIELD", + "name": "then", + "content": { + "type": "SYMBOL", + "name": "_exp" + } + }, + { + "type": "FIELD", + "name": "else", + "content": { + "type": "SYMBOL", + "name": "_exp" + } + } + ] } ] } diff --git a/src/node-types.json b/src/node-types.json index 7ead58e..09d1822 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -11,6 +11,14 @@ "type": "binexp", "named": true }, + { + "type": "block", + "named": true + }, + { + "type": "bool", + "named": true + }, { "type": "callexp", "named": true @@ -19,6 +27,10 @@ "type": "funcdef", "named": true }, + { + "type": "ifexp", + "named": true + }, { "type": "lambda", "named": true @@ -60,6 +72,10 @@ { "type": "/", "named": false + }, + { + "type": "eq", + "named": false } ] }, @@ -71,6 +87,14 @@ "type": "binexp", "named": true }, + { + "type": "block", + "named": true + }, + { + "type": "bool", + "named": true + }, { "type": "callexp", "named": true @@ -79,6 +103,10 @@ "type": "funcdef", "named": true }, + { + "type": "ifexp", + "named": true + }, { "type": "lambda", "named": true @@ -103,6 +131,66 @@ } } }, + { + "type": "block", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "binexp", + "named": true + }, + { + "type": "block", + "named": true + }, + { + "type": "bool", + "named": true + }, + { + "type": "callexp", + "named": true + }, + { + "type": "funcdef", + "named": true + }, + { + "type": "ifexp", + "named": true + }, + { + "type": "lambda", + "named": true + }, + { + "type": "num", + "named": true + }, + { + "type": "parexp", + "named": true + }, + { + "type": "vardef", + "named": true + }, + { + "type": "word", + "named": true + } + ] + } + }, + { + "type": "bool", + "named": true, + "fields": {} + }, { "type": "callexp", "named": true, @@ -126,6 +214,14 @@ "type": "binexp", "named": true }, + { + "type": "block", + "named": true + }, + { + "type": "bool", + "named": true + }, { "type": "callexp", "named": true @@ -134,6 +230,10 @@ "type": "funcdef", "named": true }, + { + "type": "ifexp", + "named": true + }, { "type": "lambda", "named": true @@ -169,6 +269,14 @@ "type": "binexp", "named": true }, + { + "type": "block", + "named": true + }, + { + "type": "bool", + "named": true + }, { "type": "callexp", "named": true @@ -177,6 +285,10 @@ "type": "funcdef", "named": true }, + { + "type": "ifexp", + "named": true + }, { "type": "lambda", "named": true @@ -221,6 +333,162 @@ } } }, + { + "type": "ifexp", + "named": true, + "fields": { + "cond": { + "multiple": false, + "required": true, + "types": [ + { + "type": "binexp", + "named": true + }, + { + "type": "block", + "named": true + }, + { + "type": "bool", + "named": true + }, + { + "type": "callexp", + "named": true + }, + { + "type": "funcdef", + "named": true + }, + { + "type": "ifexp", + "named": true + }, + { + "type": "lambda", + "named": true + }, + { + "type": "num", + "named": true + }, + { + "type": "parexp", + "named": true + }, + { + "type": "vardef", + "named": true + }, + { + "type": "word", + "named": true + } + ] + }, + "else": { + "multiple": false, + "required": true, + "types": [ + { + "type": "binexp", + "named": true + }, + { + "type": "block", + "named": true + }, + { + "type": "bool", + "named": true + }, + { + "type": "callexp", + "named": true + }, + { + "type": "funcdef", + "named": true + }, + { + "type": "ifexp", + "named": true + }, + { + "type": "lambda", + "named": true + }, + { + "type": "num", + "named": true + }, + { + "type": "parexp", + "named": true + }, + { + "type": "vardef", + "named": true + }, + { + "type": "word", + "named": true + } + ] + }, + "then": { + "multiple": false, + "required": true, + "types": [ + { + "type": "binexp", + "named": true + }, + { + "type": "block", + "named": true + }, + { + "type": "bool", + "named": true + }, + { + "type": "callexp", + "named": true + }, + { + "type": "funcdef", + "named": true + }, + { + "type": "ifexp", + "named": true + }, + { + "type": "lambda", + "named": true + }, + { + "type": "num", + "named": true + }, + { + "type": "parexp", + "named": true + }, + { + "type": "vardef", + "named": true + }, + { + "type": "word", + "named": true + } + ] + } + } + }, { "type": "lambda", "named": true, @@ -233,6 +501,14 @@ "type": "binexp", "named": true }, + { + "type": "block", + "named": true + }, + { + "type": "bool", + "named": true + }, { "type": "callexp", "named": true @@ -241,6 +517,10 @@ "type": "funcdef", "named": true }, + { + "type": "ifexp", + "named": true + }, { "type": "lambda", "named": true @@ -302,6 +582,14 @@ "type": "binexp", "named": true }, + { + "type": "block", + "named": true + }, + { + "type": "bool", + "named": true + }, { "type": "callexp", "named": true @@ -310,6 +598,10 @@ "type": "funcdef", "named": true }, + { + "type": "ifexp", + "named": true + }, { "type": "lambda", "named": true @@ -346,6 +638,14 @@ "type": "binexp", "named": true }, + { + "type": "block", + "named": true + }, + { + "type": "bool", + "named": true + }, { "type": "callexp", "named": true @@ -354,6 +654,10 @@ "type": "funcdef", "named": true }, + { + "type": "ifexp", + "named": true + }, { "type": "lambda", "named": true @@ -399,6 +703,14 @@ "type": "binexp", "named": true }, + { + "type": "block", + "named": true + }, + { + "type": "bool", + "named": true + }, { "type": "callexp", "named": true @@ -407,6 +719,10 @@ "type": "funcdef", "named": true }, + { + "type": "ifexp", + "named": true + }, { "type": "lambda", "named": true @@ -463,10 +779,46 @@ "type": "=", "named": false }, + { + "type": "?", + "named": false + }, + { + "type": "F", + "named": false + }, + { + "type": "FALSE", + "named": false + }, + { + "type": "T", + "named": false + }, + { + "type": "TRUE", + "named": false + }, { "type": "\\", "named": false }, + { + "type": "_if", + "named": false + }, + { + "type": "else", + "named": false + }, + { + "type": "eq", + "named": false + }, + { + "type": "if", + "named": false + }, { "type": "num", "named": true @@ -474,5 +826,13 @@ { "type": "word", "named": true + }, + { + "type": "{", + "named": false + }, + { + "type": "}", + "named": false } ] \ No newline at end of file diff --git a/src/parser.c b/src/parser.c index df64e99..7c81e73 100644 --- a/src/parser.c +++ b/src/parser.c @@ -7,66 +7,94 @@ #endif #define LANGUAGE_VERSION 15 -#define STATE_COUNT 51 -#define LARGE_STATE_COUNT 4 -#define SYMBOL_COUNT 24 +#define STATE_COUNT 142 +#define LARGE_STATE_COUNT 61 +#define SYMBOL_COUNT 38 #define ALIAS_COUNT 0 -#define TOKEN_COUNT 12 +#define TOKEN_COUNT 23 #define EXTERNAL_TOKEN_COUNT 0 -#define FIELD_COUNT 8 -#define MAX_ALIAS_SEQUENCE_LENGTH 5 +#define FIELD_COUNT 11 +#define MAX_ALIAS_SEQUENCE_LENGTH 8 #define MAX_RESERVED_WORD_SET_SIZE 0 -#define PRODUCTION_ID_COUNT 6 +#define PRODUCTION_ID_COUNT 9 #define SUPERTYPE_COUNT 0 enum ts_symbol_identifiers { sym_num = 1, - sym_word = 2, - anon_sym_PLUS = 3, - anon_sym_DASH = 4, - anon_sym_STAR = 5, - anon_sym_SLASH = 6, - anon_sym_LPAREN = 7, - anon_sym_COMMA = 8, - anon_sym_RPAREN = 9, - anon_sym_BSLASH = 10, - anon_sym_EQ = 11, - sym_source_file = 12, - sym__exp = 13, - sym_binexp = 14, - sym_callexp = 15, - sym_funcdef = 16, - sym_lambda = 17, - sym_vardef = 18, - sym_params = 19, - sym_parexp = 20, - aux_sym_source_file_repeat1 = 21, - aux_sym_callexp_repeat1 = 22, - aux_sym_params_repeat1 = 23, + anon_sym_TRUE = 2, + anon_sym_T = 3, + anon_sym_FALSE = 4, + anon_sym_F = 5, + sym_word = 6, + anon_sym_PLUS = 7, + anon_sym_DASH = 8, + anon_sym_STAR = 9, + anon_sym_SLASH = 10, + anon_sym_eq = 11, + anon_sym_LPAREN = 12, + anon_sym_COMMA = 13, + anon_sym_RPAREN = 14, + anon_sym_LBRACE = 15, + anon_sym_RBRACE = 16, + anon_sym_EQ = 17, + anon_sym_BSLASH = 18, + anon_sym__if = 19, + anon_sym_if = 20, + anon_sym_else = 21, + anon_sym_QMARK = 22, + sym_source_file = 23, + sym__exp = 24, + sym_bool = 25, + sym_binexp = 26, + sym_callexp = 27, + sym_parexp = 28, + sym_block = 29, + sym_vardef = 30, + sym_lambda = 31, + sym_funcdef = 32, + sym_params = 33, + sym_ifexp = 34, + aux_sym_source_file_repeat1 = 35, + aux_sym_callexp_repeat1 = 36, + aux_sym_params_repeat1 = 37, }; static const char * const ts_symbol_names[] = { [ts_builtin_sym_end] = "end", [sym_num] = "num", + [anon_sym_TRUE] = "TRUE", + [anon_sym_T] = "T", + [anon_sym_FALSE] = "FALSE", + [anon_sym_F] = "F", [sym_word] = "word", [anon_sym_PLUS] = "+", [anon_sym_DASH] = "-", [anon_sym_STAR] = "*", [anon_sym_SLASH] = "/", + [anon_sym_eq] = "eq", [anon_sym_LPAREN] = "(", [anon_sym_COMMA] = ",", [anon_sym_RPAREN] = ")", - [anon_sym_BSLASH] = "\\", + [anon_sym_LBRACE] = "{", + [anon_sym_RBRACE] = "}", [anon_sym_EQ] = "=", + [anon_sym_BSLASH] = "\\", + [anon_sym__if] = "_if", + [anon_sym_if] = "if", + [anon_sym_else] = "else", + [anon_sym_QMARK] = "\?", [sym_source_file] = "source_file", [sym__exp] = "_exp", + [sym_bool] = "bool", [sym_binexp] = "binexp", [sym_callexp] = "callexp", - [sym_funcdef] = "funcdef", - [sym_lambda] = "lambda", - [sym_vardef] = "vardef", - [sym_params] = "params", [sym_parexp] = "parexp", + [sym_block] = "block", + [sym_vardef] = "vardef", + [sym_lambda] = "lambda", + [sym_funcdef] = "funcdef", + [sym_params] = "params", + [sym_ifexp] = "ifexp", [aux_sym_source_file_repeat1] = "source_file_repeat1", [aux_sym_callexp_repeat1] = "callexp_repeat1", [aux_sym_params_repeat1] = "params_repeat1", @@ -75,25 +103,39 @@ static const char * const ts_symbol_names[] = { static const TSSymbol ts_symbol_map[] = { [ts_builtin_sym_end] = ts_builtin_sym_end, [sym_num] = sym_num, + [anon_sym_TRUE] = anon_sym_TRUE, + [anon_sym_T] = anon_sym_T, + [anon_sym_FALSE] = anon_sym_FALSE, + [anon_sym_F] = anon_sym_F, [sym_word] = sym_word, [anon_sym_PLUS] = anon_sym_PLUS, [anon_sym_DASH] = anon_sym_DASH, [anon_sym_STAR] = anon_sym_STAR, [anon_sym_SLASH] = anon_sym_SLASH, + [anon_sym_eq] = anon_sym_eq, [anon_sym_LPAREN] = anon_sym_LPAREN, [anon_sym_COMMA] = anon_sym_COMMA, [anon_sym_RPAREN] = anon_sym_RPAREN, - [anon_sym_BSLASH] = anon_sym_BSLASH, + [anon_sym_LBRACE] = anon_sym_LBRACE, + [anon_sym_RBRACE] = anon_sym_RBRACE, [anon_sym_EQ] = anon_sym_EQ, + [anon_sym_BSLASH] = anon_sym_BSLASH, + [anon_sym__if] = anon_sym__if, + [anon_sym_if] = anon_sym_if, + [anon_sym_else] = anon_sym_else, + [anon_sym_QMARK] = anon_sym_QMARK, [sym_source_file] = sym_source_file, [sym__exp] = sym__exp, + [sym_bool] = sym_bool, [sym_binexp] = sym_binexp, [sym_callexp] = sym_callexp, - [sym_funcdef] = sym_funcdef, - [sym_lambda] = sym_lambda, - [sym_vardef] = sym_vardef, - [sym_params] = sym_params, [sym_parexp] = sym_parexp, + [sym_block] = sym_block, + [sym_vardef] = sym_vardef, + [sym_lambda] = sym_lambda, + [sym_funcdef] = sym_funcdef, + [sym_params] = sym_params, + [sym_ifexp] = sym_ifexp, [aux_sym_source_file_repeat1] = aux_sym_source_file_repeat1, [aux_sym_callexp_repeat1] = aux_sym_callexp_repeat1, [aux_sym_params_repeat1] = aux_sym_params_repeat1, @@ -108,6 +150,22 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [anon_sym_TRUE] = { + .visible = true, + .named = false, + }, + [anon_sym_T] = { + .visible = true, + .named = false, + }, + [anon_sym_FALSE] = { + .visible = true, + .named = false, + }, + [anon_sym_F] = { + .visible = true, + .named = false, + }, [sym_word] = { .visible = true, .named = true, @@ -128,6 +186,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, + [anon_sym_eq] = { + .visible = true, + .named = false, + }, [anon_sym_LPAREN] = { .visible = true, .named = false, @@ -140,7 +202,11 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, - [anon_sym_BSLASH] = { + [anon_sym_LBRACE] = { + .visible = true, + .named = false, + }, + [anon_sym_RBRACE] = { .visible = true, .named = false, }, @@ -148,6 +214,26 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, + [anon_sym_BSLASH] = { + .visible = true, + .named = false, + }, + [anon_sym__if] = { + .visible = true, + .named = false, + }, + [anon_sym_if] = { + .visible = true, + .named = false, + }, + [anon_sym_else] = { + .visible = true, + .named = false, + }, + [anon_sym_QMARK] = { + .visible = true, + .named = false, + }, [sym_source_file] = { .visible = true, .named = true, @@ -156,6 +242,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = true, }, + [sym_bool] = { + .visible = true, + .named = true, + }, [sym_binexp] = { .visible = true, .named = true, @@ -164,11 +254,11 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, - [sym_funcdef] = { + [sym_parexp] = { .visible = true, .named = true, }, - [sym_lambda] = { + [sym_block] = { .visible = true, .named = true, }, @@ -176,11 +266,19 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_lambda] = { + .visible = true, + .named = true, + }, + [sym_funcdef] = { + .visible = true, + .named = true, + }, [sym_params] = { .visible = true, .named = true, }, - [sym_parexp] = { + [sym_ifexp] = { .visible = true, .named = true, }, @@ -200,24 +298,30 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { enum ts_field_identifiers { field_body = 1, - field_fn = 2, - field_left = 3, - field_name = 4, - field_op = 5, - field_params = 6, - field_right = 7, - field_value = 8, + field_cond = 2, + field_else = 3, + field_fn = 4, + field_left = 5, + field_name = 6, + field_op = 7, + field_params = 8, + field_right = 9, + field_then = 10, + field_value = 11, }; static const char * const ts_field_names[] = { [0] = NULL, [field_body] = "body", + [field_cond] = "cond", + [field_else] = "else", [field_fn] = "fn", [field_left] = "left", [field_name] = "name", [field_op] = "op", [field_params] = "params", [field_right] = "right", + [field_then] = "then", [field_value] = "value", }; @@ -227,6 +331,9 @@ static const TSMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { [3] = {.index = 3, .length = 3}, [4] = {.index = 6, .length = 2}, [5] = {.index = 8, .length = 3}, + [6] = {.index = 11, .length = 3}, + [7] = {.index = 14, .length = 3}, + [8] = {.index = 17, .length = 3}, }; static const TSFieldMapEntry ts_field_map_entries[] = { @@ -246,6 +353,18 @@ static const TSFieldMapEntry ts_field_map_entries[] = { {field_left, 0}, {field_op, 1}, {field_right, 2}, + [11] = + {field_cond, 1}, + {field_else, 3}, + {field_then, 2}, + [14] = + {field_cond, 1}, + {field_else, 4}, + {field_then, 2}, + [17] = + {field_cond, 2}, + {field_else, 6}, + {field_then, 4}, }; static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE_LENGTH] = { @@ -260,54 +379,145 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [0] = 0, [1] = 1, [2] = 2, - [3] = 3, - [4] = 4, - [5] = 4, + [3] = 2, + [4] = 2, + [5] = 5, [6] = 6, [7] = 7, - [8] = 8, - [9] = 9, - [10] = 10, - [11] = 11, - [12] = 12, - [13] = 13, + [8] = 7, + [9] = 7, + [10] = 5, + [11] = 6, + [12] = 6, + [13] = 5, [14] = 14, [15] = 15, [16] = 16, [17] = 17, - [18] = 18, - [19] = 19, - [20] = 8, - [21] = 7, - [22] = 10, - [23] = 9, - [24] = 11, + [18] = 16, + [19] = 17, + [20] = 16, + [21] = 17, + [22] = 22, + [23] = 22, + [24] = 22, [25] = 25, [26] = 26, - [27] = 12, - [28] = 26, + [27] = 27, + [28] = 28, [29] = 29, [30] = 30, - [31] = 31, + [31] = 25, [32] = 32, [33] = 33, - [34] = 30, - [35] = 31, - [36] = 36, - [37] = 37, - [38] = 38, - [39] = 39, - [40] = 40, - [41] = 41, - [42] = 42, - [43] = 43, + [34] = 34, + [35] = 35, + [36] = 25, + [37] = 32, + [38] = 33, + [39] = 34, + [40] = 32, + [41] = 29, + [42] = 33, + [43] = 26, [44] = 44, - [45] = 45, + [45] = 34, [46] = 46, - [47] = 47, - [48] = 47, - [49] = 49, - [50] = 50, + [47] = 35, + [48] = 44, + [49] = 46, + [50] = 30, + [51] = 35, + [52] = 44, + [53] = 46, + [54] = 30, + [55] = 28, + [56] = 28, + [57] = 26, + [58] = 29, + [59] = 59, + [60] = 59, + [61] = 61, + [62] = 62, + [63] = 63, + [64] = 64, + [65] = 65, + [66] = 66, + [67] = 67, + [68] = 66, + [69] = 69, + [70] = 70, + [71] = 71, + [72] = 72, + [73] = 73, + [74] = 74, + [75] = 75, + [76] = 76, + [77] = 76, + [78] = 67, + [79] = 73, + [80] = 61, + [81] = 69, + [82] = 66, + [83] = 63, + [84] = 74, + [85] = 62, + [86] = 65, + [87] = 72, + [88] = 70, + [89] = 71, + [90] = 75, + [91] = 91, + [92] = 92, + [93] = 93, + [94] = 94, + [95] = 59, + [96] = 96, + [97] = 96, + [98] = 96, + [99] = 70, + [100] = 65, + [101] = 72, + [102] = 73, + [103] = 103, + [104] = 76, + [105] = 61, + [106] = 63, + [107] = 67, + [108] = 69, + [109] = 74, + [110] = 75, + [111] = 62, + [112] = 71, + [113] = 113, + [114] = 114, + [115] = 115, + [116] = 116, + [117] = 115, + [118] = 114, + [119] = 114, + [120] = 116, + [121] = 116, + [122] = 113, + [123] = 113, + [124] = 115, + [125] = 125, + [126] = 126, + [127] = 127, + [128] = 126, + [129] = 129, + [130] = 126, + [131] = 131, + [132] = 132, + [133] = 132, + [134] = 134, + [135] = 132, + [136] = 136, + [137] = 137, + [138] = 138, + [139] = 139, + [140] = 138, + [141] = 138, }; static bool ts_lex(TSLexer *lexer, TSStateId state) { @@ -315,65 +525,312 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { eof = lexer->eof(lexer); switch (state) { case 0: - if (eof) ADVANCE(1); + if (eof) ADVANCE(6); ADVANCE_MAP( - '(', 8, - ')', 10, - '*', 6, - '+', 4, - ',', 9, - '-', 5, - '/', 7, - '=', 12, - '\\', 11, + '(', 31, + ')', 33, + '*', 27, + '+', 25, + ',', 32, + '-', 26, + '/', 28, + '=', 36, + '?', 41, + 'F', 11, + 'T', 9, + '\\', 37, + '_', 20, + 'e', 21, + 'i', 18, + '{', 34, + '}', 35, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(0); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(2); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(7); if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(3); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(24); END_STATE(); case 1: - ACCEPT_TOKEN(ts_builtin_sym_end); + ADVANCE_MAP( + '(', 31, + ')', 33, + '*', 27, + '+', 25, + ',', 32, + '-', 26, + '/', 28, + '=', 36, + 'e', 3, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(1); END_STATE(); case 2: - ACCEPT_TOKEN(sym_num); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(2); + if (lookahead == ')') ADVANCE(33); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(2); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(24); END_STATE(); case 3: + if (lookahead == 'q') ADVANCE(29); + END_STATE(); + case 4: + if (eof) ADVANCE(6); + ADVANCE_MAP( + '(', 31, + ')', 33, + '*', 27, + '+', 25, + ',', 32, + '-', 26, + '/', 28, + '=', 36, + '?', 41, + 'F', 11, + 'T', 9, + '\\', 37, + '_', 20, + 'e', 22, + 'i', 18, + '{', 34, + '}', 35, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(4); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(7); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(24); + END_STATE(); + case 5: + if (eof) ADVANCE(6); + ADVANCE_MAP( + '(', 31, + ')', 33, + '?', 41, + 'F', 11, + 'T', 9, + '\\', 37, + '_', 20, + 'i', 18, + '{', 34, + '}', 35, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(5); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(7); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(24); + END_STATE(); + case 6: + ACCEPT_TOKEN(ts_builtin_sym_end); + END_STATE(); + case 7: + ACCEPT_TOKEN(sym_num); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(7); + END_STATE(); + case 8: + ACCEPT_TOKEN(anon_sym_TRUE); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(24); + END_STATE(); + case 9: + ACCEPT_TOKEN(anon_sym_T); + if (lookahead == 'R') ADVANCE(16); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(24); + END_STATE(); + case 10: + ACCEPT_TOKEN(anon_sym_FALSE); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(24); + END_STATE(); + case 11: + ACCEPT_TOKEN(anon_sym_F); + if (lookahead == 'A') ADVANCE(14); + if (('0' <= lookahead && lookahead <= '9') || + ('B' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(24); + END_STATE(); + case 12: + ACCEPT_TOKEN(sym_word); + if (lookahead == 'E') ADVANCE(8); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(24); + END_STATE(); + case 13: + ACCEPT_TOKEN(sym_word); + if (lookahead == 'E') ADVANCE(10); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(24); + END_STATE(); + case 14: + ACCEPT_TOKEN(sym_word); + if (lookahead == 'L') ADVANCE(15); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(24); + END_STATE(); + case 15: + ACCEPT_TOKEN(sym_word); + if (lookahead == 'S') ADVANCE(13); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(24); + END_STATE(); + case 16: + ACCEPT_TOKEN(sym_word); + if (lookahead == 'U') ADVANCE(12); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(24); + END_STATE(); + case 17: + ACCEPT_TOKEN(sym_word); + if (lookahead == 'e') ADVANCE(40); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(24); + END_STATE(); + case 18: + ACCEPT_TOKEN(sym_word); + if (lookahead == 'f') ADVANCE(39); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(24); + END_STATE(); + case 19: + ACCEPT_TOKEN(sym_word); + if (lookahead == 'f') ADVANCE(38); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(24); + END_STATE(); + case 20: + ACCEPT_TOKEN(sym_word); + if (lookahead == 'i') ADVANCE(19); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(24); + END_STATE(); + case 21: + ACCEPT_TOKEN(sym_word); + if (lookahead == 'l') ADVANCE(23); + if (lookahead == 'q') ADVANCE(30); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(24); + END_STATE(); + case 22: + ACCEPT_TOKEN(sym_word); + if (lookahead == 'q') ADVANCE(30); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(24); + END_STATE(); + case 23: + ACCEPT_TOKEN(sym_word); + if (lookahead == 's') ADVANCE(17); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(24); + END_STATE(); + case 24: ACCEPT_TOKEN(sym_word); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(3); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(24); END_STATE(); - case 4: + case 25: ACCEPT_TOKEN(anon_sym_PLUS); END_STATE(); - case 5: + case 26: ACCEPT_TOKEN(anon_sym_DASH); END_STATE(); - case 6: + case 27: ACCEPT_TOKEN(anon_sym_STAR); END_STATE(); - case 7: + case 28: ACCEPT_TOKEN(anon_sym_SLASH); END_STATE(); - case 8: + case 29: + ACCEPT_TOKEN(anon_sym_eq); + END_STATE(); + case 30: + ACCEPT_TOKEN(anon_sym_eq); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(24); + END_STATE(); + case 31: ACCEPT_TOKEN(anon_sym_LPAREN); END_STATE(); - case 9: + case 32: ACCEPT_TOKEN(anon_sym_COMMA); END_STATE(); - case 10: + case 33: ACCEPT_TOKEN(anon_sym_RPAREN); END_STATE(); - case 11: + case 34: + ACCEPT_TOKEN(anon_sym_LBRACE); + END_STATE(); + case 35: + ACCEPT_TOKEN(anon_sym_RBRACE); + END_STATE(); + case 36: + ACCEPT_TOKEN(anon_sym_EQ); + END_STATE(); + case 37: ACCEPT_TOKEN(anon_sym_BSLASH); END_STATE(); - case 12: - ACCEPT_TOKEN(anon_sym_EQ); + case 38: + ACCEPT_TOKEN(anon_sym__if); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(24); + END_STATE(); + case 39: + ACCEPT_TOKEN(anon_sym_if); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(24); + END_STATE(); + case 40: + ACCEPT_TOKEN(anon_sym_else); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(24); + END_STATE(); + case 41: + ACCEPT_TOKEN(anon_sym_QMARK); END_STATE(); default: return false; @@ -382,801 +839,3077 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { static const TSLexerMode ts_lex_modes[STATE_COUNT] = { [0] = {.lex_state = 0}, - [1] = {.lex_state = 0}, + [1] = {.lex_state = 5}, [2] = {.lex_state = 0}, [3] = {.lex_state = 0}, [4] = {.lex_state = 0}, - [5] = {.lex_state = 0}, - [6] = {.lex_state = 0}, - [7] = {.lex_state = 0}, - [8] = {.lex_state = 0}, - [9] = {.lex_state = 0}, - [10] = {.lex_state = 0}, - [11] = {.lex_state = 0}, - [12] = {.lex_state = 0}, - [13] = {.lex_state = 0}, - [14] = {.lex_state = 0}, - [15] = {.lex_state = 0}, - [16] = {.lex_state = 0}, - [17] = {.lex_state = 0}, - [18] = {.lex_state = 0}, - [19] = {.lex_state = 0}, - [20] = {.lex_state = 0}, - [21] = {.lex_state = 0}, - [22] = {.lex_state = 0}, - [23] = {.lex_state = 0}, - [24] = {.lex_state = 0}, - [25] = {.lex_state = 0}, - [26] = {.lex_state = 0}, - [27] = {.lex_state = 0}, - [28] = {.lex_state = 0}, - [29] = {.lex_state = 0}, - [30] = {.lex_state = 0}, - [31] = {.lex_state = 0}, - [32] = {.lex_state = 0}, - [33] = {.lex_state = 0}, - [34] = {.lex_state = 0}, - [35] = {.lex_state = 0}, - [36] = {.lex_state = 0}, - [37] = {.lex_state = 0}, - [38] = {.lex_state = 0}, - [39] = {.lex_state = 0}, - [40] = {.lex_state = 0}, - [41] = {.lex_state = 0}, - [42] = {.lex_state = 0}, - [43] = {.lex_state = 0}, - [44] = {.lex_state = 0}, - [45] = {.lex_state = 0}, - [46] = {.lex_state = 0}, - [47] = {.lex_state = 0}, - [48] = {.lex_state = 0}, - [49] = {.lex_state = 0}, - [50] = {.lex_state = 0}, + [5] = {.lex_state = 4}, + [6] = {.lex_state = 4}, + [7] = {.lex_state = 4}, + [8] = {.lex_state = 4}, + [9] = {.lex_state = 4}, + [10] = {.lex_state = 4}, + [11] = {.lex_state = 4}, + [12] = {.lex_state = 4}, + [13] = {.lex_state = 4}, + [14] = {.lex_state = 5}, + [15] = {.lex_state = 5}, + [16] = {.lex_state = 5}, + [17] = {.lex_state = 5}, + [18] = {.lex_state = 5}, + [19] = {.lex_state = 5}, + [20] = {.lex_state = 5}, + [21] = {.lex_state = 5}, + [22] = {.lex_state = 5}, + [23] = {.lex_state = 5}, + [24] = {.lex_state = 5}, + [25] = {.lex_state = 5}, + [26] = {.lex_state = 5}, + [27] = {.lex_state = 5}, + [28] = {.lex_state = 5}, + [29] = {.lex_state = 5}, + [30] = {.lex_state = 5}, + [31] = {.lex_state = 5}, + [32] = {.lex_state = 5}, + [33] = {.lex_state = 5}, + [34] = {.lex_state = 5}, + [35] = {.lex_state = 5}, + [36] = {.lex_state = 5}, + [37] = {.lex_state = 5}, + [38] = {.lex_state = 5}, + [39] = {.lex_state = 5}, + [40] = {.lex_state = 5}, + [41] = {.lex_state = 5}, + [42] = {.lex_state = 5}, + [43] = {.lex_state = 5}, + [44] = {.lex_state = 5}, + [45] = {.lex_state = 5}, + [46] = {.lex_state = 5}, + [47] = {.lex_state = 5}, + [48] = {.lex_state = 5}, + [49] = {.lex_state = 5}, + [50] = {.lex_state = 5}, + [51] = {.lex_state = 5}, + [52] = {.lex_state = 5}, + [53] = {.lex_state = 5}, + [54] = {.lex_state = 5}, + [55] = {.lex_state = 5}, + [56] = {.lex_state = 5}, + [57] = {.lex_state = 5}, + [58] = {.lex_state = 5}, + [59] = {.lex_state = 4}, + [60] = {.lex_state = 0}, + [61] = {.lex_state = 4}, + [62] = {.lex_state = 4}, + [63] = {.lex_state = 4}, + [64] = {.lex_state = 4}, + [65] = {.lex_state = 4}, + [66] = {.lex_state = 4}, + [67] = {.lex_state = 4}, + [68] = {.lex_state = 4}, + [69] = {.lex_state = 4}, + [70] = {.lex_state = 4}, + [71] = {.lex_state = 4}, + [72] = {.lex_state = 4}, + [73] = {.lex_state = 4}, + [74] = {.lex_state = 4}, + [75] = {.lex_state = 4}, + [76] = {.lex_state = 4}, + [77] = {.lex_state = 0}, + [78] = {.lex_state = 0}, + [79] = {.lex_state = 0}, + [80] = {.lex_state = 0}, + [81] = {.lex_state = 0}, + [82] = {.lex_state = 0}, + [83] = {.lex_state = 0}, + [84] = {.lex_state = 0}, + [85] = {.lex_state = 0}, + [86] = {.lex_state = 0}, + [87] = {.lex_state = 0}, + [88] = {.lex_state = 0}, + [89] = {.lex_state = 0}, + [90] = {.lex_state = 0}, + [91] = {.lex_state = 5}, + [92] = {.lex_state = 5}, + [93] = {.lex_state = 5}, + [94] = {.lex_state = 1}, + [95] = {.lex_state = 1}, + [96] = {.lex_state = 1}, + [97] = {.lex_state = 1}, + [98] = {.lex_state = 1}, + [99] = {.lex_state = 1}, + [100] = {.lex_state = 1}, + [101] = {.lex_state = 1}, + [102] = {.lex_state = 1}, + [103] = {.lex_state = 1}, + [104] = {.lex_state = 1}, + [105] = {.lex_state = 1}, + [106] = {.lex_state = 1}, + [107] = {.lex_state = 1}, + [108] = {.lex_state = 1}, + [109] = {.lex_state = 1}, + [110] = {.lex_state = 1}, + [111] = {.lex_state = 1}, + [112] = {.lex_state = 1}, + [113] = {.lex_state = 1}, + [114] = {.lex_state = 1}, + [115] = {.lex_state = 1}, + [116] = {.lex_state = 1}, + [117] = {.lex_state = 1}, + [118] = {.lex_state = 1}, + [119] = {.lex_state = 1}, + [120] = {.lex_state = 1}, + [121] = {.lex_state = 1}, + [122] = {.lex_state = 1}, + [123] = {.lex_state = 1}, + [124] = {.lex_state = 1}, + [125] = {.lex_state = 0}, + [126] = {.lex_state = 0}, + [127] = {.lex_state = 0}, + [128] = {.lex_state = 0}, + [129] = {.lex_state = 0}, + [130] = {.lex_state = 0}, + [131] = {.lex_state = 0}, + [132] = {.lex_state = 0}, + [133] = {.lex_state = 0}, + [134] = {.lex_state = 2}, + [135] = {.lex_state = 0}, + [136] = {.lex_state = 0}, + [137] = {.lex_state = 0}, + [138] = {.lex_state = 0}, + [139] = {.lex_state = 2}, + [140] = {.lex_state = 0}, + [141] = {.lex_state = 0}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [STATE(0)] = { [ts_builtin_sym_end] = ACTIONS(1), [sym_num] = ACTIONS(1), + [anon_sym_TRUE] = ACTIONS(1), + [anon_sym_T] = ACTIONS(1), + [anon_sym_FALSE] = ACTIONS(1), + [anon_sym_F] = ACTIONS(1), [sym_word] = ACTIONS(1), [anon_sym_PLUS] = ACTIONS(1), [anon_sym_DASH] = ACTIONS(1), [anon_sym_STAR] = ACTIONS(1), [anon_sym_SLASH] = ACTIONS(1), + [anon_sym_eq] = ACTIONS(1), [anon_sym_LPAREN] = ACTIONS(1), [anon_sym_COMMA] = ACTIONS(1), [anon_sym_RPAREN] = ACTIONS(1), - [anon_sym_BSLASH] = ACTIONS(1), + [anon_sym_LBRACE] = ACTIONS(1), + [anon_sym_RBRACE] = ACTIONS(1), [anon_sym_EQ] = ACTIONS(1), + [anon_sym_BSLASH] = ACTIONS(1), + [anon_sym__if] = ACTIONS(1), + [anon_sym_if] = ACTIONS(1), + [anon_sym_else] = ACTIONS(1), + [anon_sym_QMARK] = ACTIONS(1), }, [STATE(1)] = { - [sym_source_file] = STATE(50), - [sym__exp] = STATE(29), - [sym_binexp] = STATE(29), - [sym_callexp] = STATE(29), - [sym_funcdef] = STATE(29), - [sym_lambda] = STATE(29), - [sym_vardef] = STATE(29), - [sym_parexp] = STATE(29), - [aux_sym_source_file_repeat1] = STATE(3), + [sym_source_file] = STATE(137), + [sym__exp] = STATE(64), + [sym_bool] = STATE(64), + [sym_binexp] = STATE(64), + [sym_callexp] = STATE(64), + [sym_parexp] = STATE(64), + [sym_block] = STATE(64), + [sym_vardef] = STATE(64), + [sym_lambda] = STATE(64), + [sym_funcdef] = STATE(64), + [sym_ifexp] = STATE(64), + [aux_sym_source_file_repeat1] = STATE(15), [ts_builtin_sym_end] = ACTIONS(3), [sym_num] = ACTIONS(5), - [sym_word] = ACTIONS(7), - [anon_sym_LPAREN] = ACTIONS(9), - [anon_sym_BSLASH] = ACTIONS(11), + [anon_sym_TRUE] = ACTIONS(7), + [anon_sym_T] = ACTIONS(7), + [anon_sym_FALSE] = ACTIONS(7), + [anon_sym_F] = ACTIONS(7), + [sym_word] = ACTIONS(9), + [anon_sym_LPAREN] = ACTIONS(11), + [anon_sym_LBRACE] = ACTIONS(13), + [anon_sym_BSLASH] = ACTIONS(15), + [anon_sym__if] = ACTIONS(17), + [anon_sym_if] = ACTIONS(19), + [anon_sym_QMARK] = ACTIONS(21), }, [STATE(2)] = { - [sym__exp] = STATE(29), - [sym_binexp] = STATE(29), - [sym_callexp] = STATE(29), - [sym_funcdef] = STATE(29), - [sym_lambda] = STATE(29), - [sym_vardef] = STATE(29), - [sym_parexp] = STATE(29), - [aux_sym_source_file_repeat1] = STATE(2), - [ts_builtin_sym_end] = ACTIONS(13), - [sym_num] = ACTIONS(15), - [sym_word] = ACTIONS(18), - [anon_sym_LPAREN] = ACTIONS(21), - [anon_sym_BSLASH] = ACTIONS(24), + [sym__exp] = STATE(70), + [sym_bool] = STATE(70), + [sym_binexp] = STATE(70), + [sym_callexp] = STATE(70), + [sym_parexp] = STATE(70), + [sym_block] = STATE(70), + [sym_vardef] = STATE(70), + [sym_lambda] = STATE(70), + [sym_funcdef] = STATE(70), + [sym_ifexp] = STATE(70), + [sym_num] = ACTIONS(23), + [anon_sym_TRUE] = ACTIONS(7), + [anon_sym_T] = ACTIONS(7), + [anon_sym_FALSE] = ACTIONS(7), + [anon_sym_F] = ACTIONS(7), + [sym_word] = ACTIONS(9), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_SLASH] = ACTIONS(25), + [anon_sym_eq] = ACTIONS(27), + [anon_sym_LPAREN] = ACTIONS(11), + [anon_sym_LBRACE] = ACTIONS(13), + [anon_sym_BSLASH] = ACTIONS(15), + [anon_sym__if] = ACTIONS(17), + [anon_sym_if] = ACTIONS(19), + [anon_sym_else] = ACTIONS(29), + [anon_sym_QMARK] = ACTIONS(21), }, [STATE(3)] = { - [sym__exp] = STATE(29), - [sym_binexp] = STATE(29), - [sym_callexp] = STATE(29), - [sym_funcdef] = STATE(29), - [sym_lambda] = STATE(29), - [sym_vardef] = STATE(29), - [sym_parexp] = STATE(29), - [aux_sym_source_file_repeat1] = STATE(2), - [ts_builtin_sym_end] = ACTIONS(27), + [sym__exp] = STATE(99), + [sym_bool] = STATE(99), + [sym_binexp] = STATE(99), + [sym_callexp] = STATE(99), + [sym_parexp] = STATE(99), + [sym_block] = STATE(99), + [sym_vardef] = STATE(99), + [sym_lambda] = STATE(99), + [sym_funcdef] = STATE(99), + [sym_ifexp] = STATE(99), + [sym_num] = ACTIONS(31), + [anon_sym_TRUE] = ACTIONS(33), + [anon_sym_T] = ACTIONS(33), + [anon_sym_FALSE] = ACTIONS(33), + [anon_sym_F] = ACTIONS(33), + [sym_word] = ACTIONS(35), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_SLASH] = ACTIONS(25), + [anon_sym_eq] = ACTIONS(27), + [anon_sym_LPAREN] = ACTIONS(37), + [anon_sym_LBRACE] = ACTIONS(39), + [anon_sym_BSLASH] = ACTIONS(41), + [anon_sym__if] = ACTIONS(43), + [anon_sym_if] = ACTIONS(45), + [anon_sym_else] = ACTIONS(47), + [anon_sym_QMARK] = ACTIONS(49), + }, + [STATE(4)] = { + [sym__exp] = STATE(88), + [sym_bool] = STATE(88), + [sym_binexp] = STATE(88), + [sym_callexp] = STATE(88), + [sym_parexp] = STATE(88), + [sym_block] = STATE(88), + [sym_vardef] = STATE(88), + [sym_lambda] = STATE(88), + [sym_funcdef] = STATE(88), + [sym_ifexp] = STATE(88), + [sym_num] = ACTIONS(51), + [anon_sym_TRUE] = ACTIONS(53), + [anon_sym_T] = ACTIONS(53), + [anon_sym_FALSE] = ACTIONS(53), + [anon_sym_F] = ACTIONS(53), + [sym_word] = ACTIONS(55), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_SLASH] = ACTIONS(25), + [anon_sym_eq] = ACTIONS(27), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_LBRACE] = ACTIONS(59), + [anon_sym_BSLASH] = ACTIONS(61), + [anon_sym__if] = ACTIONS(63), + [anon_sym_if] = ACTIONS(65), + [anon_sym_else] = ACTIONS(67), + [anon_sym_QMARK] = ACTIONS(69), + }, + [STATE(5)] = { + [sym__exp] = STATE(7), + [sym_bool] = STATE(7), + [sym_binexp] = STATE(7), + [sym_callexp] = STATE(7), + [sym_parexp] = STATE(7), + [sym_block] = STATE(7), + [sym_vardef] = STATE(7), + [sym_lambda] = STATE(7), + [sym_funcdef] = STATE(7), + [sym_ifexp] = STATE(7), + [sym_num] = ACTIONS(71), + [anon_sym_TRUE] = ACTIONS(7), + [anon_sym_T] = ACTIONS(7), + [anon_sym_FALSE] = ACTIONS(7), + [anon_sym_F] = ACTIONS(7), + [sym_word] = ACTIONS(9), + [anon_sym_PLUS] = ACTIONS(73), + [anon_sym_DASH] = ACTIONS(73), + [anon_sym_STAR] = ACTIONS(73), + [anon_sym_SLASH] = ACTIONS(73), + [anon_sym_eq] = ACTIONS(75), + [anon_sym_LPAREN] = ACTIONS(11), + [anon_sym_LBRACE] = ACTIONS(13), + [anon_sym_BSLASH] = ACTIONS(15), + [anon_sym__if] = ACTIONS(17), + [anon_sym_if] = ACTIONS(19), + [anon_sym_QMARK] = ACTIONS(21), + }, + [STATE(6)] = { + [sym__exp] = STATE(2), + [sym_bool] = STATE(2), + [sym_binexp] = STATE(2), + [sym_callexp] = STATE(2), + [sym_parexp] = STATE(2), + [sym_block] = STATE(2), + [sym_vardef] = STATE(2), + [sym_lambda] = STATE(2), + [sym_funcdef] = STATE(2), + [sym_ifexp] = STATE(2), + [sym_num] = ACTIONS(77), + [anon_sym_TRUE] = ACTIONS(53), + [anon_sym_T] = ACTIONS(53), + [anon_sym_FALSE] = ACTIONS(53), + [anon_sym_F] = ACTIONS(53), + [sym_word] = ACTIONS(55), + [anon_sym_PLUS] = ACTIONS(73), + [anon_sym_DASH] = ACTIONS(73), + [anon_sym_STAR] = ACTIONS(73), + [anon_sym_SLASH] = ACTIONS(73), + [anon_sym_eq] = ACTIONS(75), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_LBRACE] = ACTIONS(59), + [anon_sym_BSLASH] = ACTIONS(61), + [anon_sym__if] = ACTIONS(63), + [anon_sym_if] = ACTIONS(65), + [anon_sym_QMARK] = ACTIONS(69), + }, + [STATE(7)] = { + [sym__exp] = STATE(70), + [sym_bool] = STATE(70), + [sym_binexp] = STATE(70), + [sym_callexp] = STATE(70), + [sym_parexp] = STATE(70), + [sym_block] = STATE(70), + [sym_vardef] = STATE(70), + [sym_lambda] = STATE(70), + [sym_funcdef] = STATE(70), + [sym_ifexp] = STATE(70), + [sym_num] = ACTIONS(23), + [anon_sym_TRUE] = ACTIONS(7), + [anon_sym_T] = ACTIONS(7), + [anon_sym_FALSE] = ACTIONS(7), + [anon_sym_F] = ACTIONS(7), + [sym_word] = ACTIONS(9), + [anon_sym_PLUS] = ACTIONS(73), + [anon_sym_DASH] = ACTIONS(73), + [anon_sym_STAR] = ACTIONS(73), + [anon_sym_SLASH] = ACTIONS(73), + [anon_sym_eq] = ACTIONS(75), + [anon_sym_LPAREN] = ACTIONS(11), + [anon_sym_LBRACE] = ACTIONS(13), + [anon_sym_BSLASH] = ACTIONS(15), + [anon_sym__if] = ACTIONS(17), + [anon_sym_if] = ACTIONS(19), + [anon_sym_QMARK] = ACTIONS(21), + }, + [STATE(8)] = { + [sym__exp] = STATE(99), + [sym_bool] = STATE(99), + [sym_binexp] = STATE(99), + [sym_callexp] = STATE(99), + [sym_parexp] = STATE(99), + [sym_block] = STATE(99), + [sym_vardef] = STATE(99), + [sym_lambda] = STATE(99), + [sym_funcdef] = STATE(99), + [sym_ifexp] = STATE(99), + [sym_num] = ACTIONS(31), + [anon_sym_TRUE] = ACTIONS(33), + [anon_sym_T] = ACTIONS(33), + [anon_sym_FALSE] = ACTIONS(33), + [anon_sym_F] = ACTIONS(33), + [sym_word] = ACTIONS(35), + [anon_sym_PLUS] = ACTIONS(73), + [anon_sym_DASH] = ACTIONS(73), + [anon_sym_STAR] = ACTIONS(73), + [anon_sym_SLASH] = ACTIONS(73), + [anon_sym_eq] = ACTIONS(75), + [anon_sym_LPAREN] = ACTIONS(37), + [anon_sym_LBRACE] = ACTIONS(39), + [anon_sym_BSLASH] = ACTIONS(41), + [anon_sym__if] = ACTIONS(43), + [anon_sym_if] = ACTIONS(45), + [anon_sym_QMARK] = ACTIONS(49), + }, + [STATE(9)] = { + [sym__exp] = STATE(88), + [sym_bool] = STATE(88), + [sym_binexp] = STATE(88), + [sym_callexp] = STATE(88), + [sym_parexp] = STATE(88), + [sym_block] = STATE(88), + [sym_vardef] = STATE(88), + [sym_lambda] = STATE(88), + [sym_funcdef] = STATE(88), + [sym_ifexp] = STATE(88), + [sym_num] = ACTIONS(51), + [anon_sym_TRUE] = ACTIONS(53), + [anon_sym_T] = ACTIONS(53), + [anon_sym_FALSE] = ACTIONS(53), + [anon_sym_F] = ACTIONS(53), + [sym_word] = ACTIONS(55), + [anon_sym_PLUS] = ACTIONS(73), + [anon_sym_DASH] = ACTIONS(73), + [anon_sym_STAR] = ACTIONS(73), + [anon_sym_SLASH] = ACTIONS(73), + [anon_sym_eq] = ACTIONS(75), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_LBRACE] = ACTIONS(59), + [anon_sym_BSLASH] = ACTIONS(61), + [anon_sym__if] = ACTIONS(63), + [anon_sym_if] = ACTIONS(65), + [anon_sym_QMARK] = ACTIONS(69), + }, + [STATE(10)] = { + [sym__exp] = STATE(8), + [sym_bool] = STATE(8), + [sym_binexp] = STATE(8), + [sym_callexp] = STATE(8), + [sym_parexp] = STATE(8), + [sym_block] = STATE(8), + [sym_vardef] = STATE(8), + [sym_lambda] = STATE(8), + [sym_funcdef] = STATE(8), + [sym_ifexp] = STATE(8), + [sym_num] = ACTIONS(79), + [anon_sym_TRUE] = ACTIONS(7), + [anon_sym_T] = ACTIONS(7), + [anon_sym_FALSE] = ACTIONS(7), + [anon_sym_F] = ACTIONS(7), + [sym_word] = ACTIONS(9), + [anon_sym_PLUS] = ACTIONS(73), + [anon_sym_DASH] = ACTIONS(73), + [anon_sym_STAR] = ACTIONS(73), + [anon_sym_SLASH] = ACTIONS(73), + [anon_sym_eq] = ACTIONS(75), + [anon_sym_LPAREN] = ACTIONS(11), + [anon_sym_LBRACE] = ACTIONS(13), + [anon_sym_BSLASH] = ACTIONS(15), + [anon_sym__if] = ACTIONS(17), + [anon_sym_if] = ACTIONS(19), + [anon_sym_QMARK] = ACTIONS(21), + }, + [STATE(11)] = { + [sym__exp] = STATE(3), + [sym_bool] = STATE(3), + [sym_binexp] = STATE(3), + [sym_callexp] = STATE(3), + [sym_parexp] = STATE(3), + [sym_block] = STATE(3), + [sym_vardef] = STATE(3), + [sym_lambda] = STATE(3), + [sym_funcdef] = STATE(3), + [sym_ifexp] = STATE(3), + [sym_num] = ACTIONS(81), + [anon_sym_TRUE] = ACTIONS(53), + [anon_sym_T] = ACTIONS(53), + [anon_sym_FALSE] = ACTIONS(53), + [anon_sym_F] = ACTIONS(53), + [sym_word] = ACTIONS(55), + [anon_sym_PLUS] = ACTIONS(73), + [anon_sym_DASH] = ACTIONS(73), + [anon_sym_STAR] = ACTIONS(73), + [anon_sym_SLASH] = ACTIONS(73), + [anon_sym_eq] = ACTIONS(75), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_LBRACE] = ACTIONS(59), + [anon_sym_BSLASH] = ACTIONS(61), + [anon_sym__if] = ACTIONS(63), + [anon_sym_if] = ACTIONS(65), + [anon_sym_QMARK] = ACTIONS(69), + }, + [STATE(12)] = { + [sym__exp] = STATE(4), + [sym_bool] = STATE(4), + [sym_binexp] = STATE(4), + [sym_callexp] = STATE(4), + [sym_parexp] = STATE(4), + [sym_block] = STATE(4), + [sym_vardef] = STATE(4), + [sym_lambda] = STATE(4), + [sym_funcdef] = STATE(4), + [sym_ifexp] = STATE(4), + [sym_num] = ACTIONS(83), + [anon_sym_TRUE] = ACTIONS(53), + [anon_sym_T] = ACTIONS(53), + [anon_sym_FALSE] = ACTIONS(53), + [anon_sym_F] = ACTIONS(53), + [sym_word] = ACTIONS(55), + [anon_sym_PLUS] = ACTIONS(73), + [anon_sym_DASH] = ACTIONS(73), + [anon_sym_STAR] = ACTIONS(73), + [anon_sym_SLASH] = ACTIONS(73), + [anon_sym_eq] = ACTIONS(75), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_LBRACE] = ACTIONS(59), + [anon_sym_BSLASH] = ACTIONS(61), + [anon_sym__if] = ACTIONS(63), + [anon_sym_if] = ACTIONS(65), + [anon_sym_QMARK] = ACTIONS(69), + }, + [STATE(13)] = { + [sym__exp] = STATE(9), + [sym_bool] = STATE(9), + [sym_binexp] = STATE(9), + [sym_callexp] = STATE(9), + [sym_parexp] = STATE(9), + [sym_block] = STATE(9), + [sym_vardef] = STATE(9), + [sym_lambda] = STATE(9), + [sym_funcdef] = STATE(9), + [sym_ifexp] = STATE(9), + [sym_num] = ACTIONS(85), + [anon_sym_TRUE] = ACTIONS(7), + [anon_sym_T] = ACTIONS(7), + [anon_sym_FALSE] = ACTIONS(7), + [anon_sym_F] = ACTIONS(7), + [sym_word] = ACTIONS(9), + [anon_sym_PLUS] = ACTIONS(73), + [anon_sym_DASH] = ACTIONS(73), + [anon_sym_STAR] = ACTIONS(73), + [anon_sym_SLASH] = ACTIONS(73), + [anon_sym_eq] = ACTIONS(75), + [anon_sym_LPAREN] = ACTIONS(11), + [anon_sym_LBRACE] = ACTIONS(13), + [anon_sym_BSLASH] = ACTIONS(15), + [anon_sym__if] = ACTIONS(17), + [anon_sym_if] = ACTIONS(19), + [anon_sym_QMARK] = ACTIONS(21), + }, + [STATE(14)] = { + [sym__exp] = STATE(64), + [sym_bool] = STATE(64), + [sym_binexp] = STATE(64), + [sym_callexp] = STATE(64), + [sym_parexp] = STATE(64), + [sym_block] = STATE(64), + [sym_vardef] = STATE(64), + [sym_lambda] = STATE(64), + [sym_funcdef] = STATE(64), + [sym_ifexp] = STATE(64), + [aux_sym_source_file_repeat1] = STATE(14), + [ts_builtin_sym_end] = ACTIONS(87), + [sym_num] = ACTIONS(89), + [anon_sym_TRUE] = ACTIONS(92), + [anon_sym_T] = ACTIONS(92), + [anon_sym_FALSE] = ACTIONS(92), + [anon_sym_F] = ACTIONS(92), + [sym_word] = ACTIONS(95), + [anon_sym_LPAREN] = ACTIONS(98), + [anon_sym_LBRACE] = ACTIONS(101), + [anon_sym_RBRACE] = ACTIONS(87), + [anon_sym_BSLASH] = ACTIONS(104), + [anon_sym__if] = ACTIONS(107), + [anon_sym_if] = ACTIONS(110), + [anon_sym_QMARK] = ACTIONS(113), + }, + [STATE(15)] = { + [sym__exp] = STATE(64), + [sym_bool] = STATE(64), + [sym_binexp] = STATE(64), + [sym_callexp] = STATE(64), + [sym_parexp] = STATE(64), + [sym_block] = STATE(64), + [sym_vardef] = STATE(64), + [sym_lambda] = STATE(64), + [sym_funcdef] = STATE(64), + [sym_ifexp] = STATE(64), + [aux_sym_source_file_repeat1] = STATE(14), + [ts_builtin_sym_end] = ACTIONS(116), [sym_num] = ACTIONS(5), - [sym_word] = ACTIONS(7), - [anon_sym_LPAREN] = ACTIONS(9), - [anon_sym_BSLASH] = ACTIONS(11), + [anon_sym_TRUE] = ACTIONS(7), + [anon_sym_T] = ACTIONS(7), + [anon_sym_FALSE] = ACTIONS(7), + [anon_sym_F] = ACTIONS(7), + [sym_word] = ACTIONS(9), + [anon_sym_LPAREN] = ACTIONS(11), + [anon_sym_LBRACE] = ACTIONS(13), + [anon_sym_BSLASH] = ACTIONS(15), + [anon_sym__if] = ACTIONS(17), + [anon_sym_if] = ACTIONS(19), + [anon_sym_QMARK] = ACTIONS(21), + }, + [STATE(16)] = { + [sym__exp] = STATE(64), + [sym_bool] = STATE(64), + [sym_binexp] = STATE(64), + [sym_callexp] = STATE(64), + [sym_parexp] = STATE(64), + [sym_block] = STATE(64), + [sym_vardef] = STATE(64), + [sym_lambda] = STATE(64), + [sym_funcdef] = STATE(64), + [sym_ifexp] = STATE(64), + [aux_sym_source_file_repeat1] = STATE(14), + [sym_num] = ACTIONS(5), + [anon_sym_TRUE] = ACTIONS(7), + [anon_sym_T] = ACTIONS(7), + [anon_sym_FALSE] = ACTIONS(7), + [anon_sym_F] = ACTIONS(7), + [sym_word] = ACTIONS(9), + [anon_sym_LPAREN] = ACTIONS(11), + [anon_sym_LBRACE] = ACTIONS(13), + [anon_sym_RBRACE] = ACTIONS(118), + [anon_sym_BSLASH] = ACTIONS(15), + [anon_sym__if] = ACTIONS(17), + [anon_sym_if] = ACTIONS(19), + [anon_sym_QMARK] = ACTIONS(21), + }, + [STATE(17)] = { + [sym__exp] = STATE(64), + [sym_bool] = STATE(64), + [sym_binexp] = STATE(64), + [sym_callexp] = STATE(64), + [sym_parexp] = STATE(64), + [sym_block] = STATE(64), + [sym_vardef] = STATE(64), + [sym_lambda] = STATE(64), + [sym_funcdef] = STATE(64), + [sym_ifexp] = STATE(64), + [aux_sym_source_file_repeat1] = STATE(16), + [sym_num] = ACTIONS(5), + [anon_sym_TRUE] = ACTIONS(7), + [anon_sym_T] = ACTIONS(7), + [anon_sym_FALSE] = ACTIONS(7), + [anon_sym_F] = ACTIONS(7), + [sym_word] = ACTIONS(9), + [anon_sym_LPAREN] = ACTIONS(11), + [anon_sym_LBRACE] = ACTIONS(13), + [anon_sym_RBRACE] = ACTIONS(120), + [anon_sym_BSLASH] = ACTIONS(15), + [anon_sym__if] = ACTIONS(17), + [anon_sym_if] = ACTIONS(19), + [anon_sym_QMARK] = ACTIONS(21), + }, + [STATE(18)] = { + [sym__exp] = STATE(64), + [sym_bool] = STATE(64), + [sym_binexp] = STATE(64), + [sym_callexp] = STATE(64), + [sym_parexp] = STATE(64), + [sym_block] = STATE(64), + [sym_vardef] = STATE(64), + [sym_lambda] = STATE(64), + [sym_funcdef] = STATE(64), + [sym_ifexp] = STATE(64), + [aux_sym_source_file_repeat1] = STATE(14), + [sym_num] = ACTIONS(5), + [anon_sym_TRUE] = ACTIONS(7), + [anon_sym_T] = ACTIONS(7), + [anon_sym_FALSE] = ACTIONS(7), + [anon_sym_F] = ACTIONS(7), + [sym_word] = ACTIONS(9), + [anon_sym_LPAREN] = ACTIONS(11), + [anon_sym_LBRACE] = ACTIONS(13), + [anon_sym_RBRACE] = ACTIONS(122), + [anon_sym_BSLASH] = ACTIONS(15), + [anon_sym__if] = ACTIONS(17), + [anon_sym_if] = ACTIONS(19), + [anon_sym_QMARK] = ACTIONS(21), + }, + [STATE(19)] = { + [sym__exp] = STATE(64), + [sym_bool] = STATE(64), + [sym_binexp] = STATE(64), + [sym_callexp] = STATE(64), + [sym_parexp] = STATE(64), + [sym_block] = STATE(64), + [sym_vardef] = STATE(64), + [sym_lambda] = STATE(64), + [sym_funcdef] = STATE(64), + [sym_ifexp] = STATE(64), + [aux_sym_source_file_repeat1] = STATE(18), + [sym_num] = ACTIONS(5), + [anon_sym_TRUE] = ACTIONS(7), + [anon_sym_T] = ACTIONS(7), + [anon_sym_FALSE] = ACTIONS(7), + [anon_sym_F] = ACTIONS(7), + [sym_word] = ACTIONS(9), + [anon_sym_LPAREN] = ACTIONS(11), + [anon_sym_LBRACE] = ACTIONS(13), + [anon_sym_RBRACE] = ACTIONS(124), + [anon_sym_BSLASH] = ACTIONS(15), + [anon_sym__if] = ACTIONS(17), + [anon_sym_if] = ACTIONS(19), + [anon_sym_QMARK] = ACTIONS(21), + }, + [STATE(20)] = { + [sym__exp] = STATE(64), + [sym_bool] = STATE(64), + [sym_binexp] = STATE(64), + [sym_callexp] = STATE(64), + [sym_parexp] = STATE(64), + [sym_block] = STATE(64), + [sym_vardef] = STATE(64), + [sym_lambda] = STATE(64), + [sym_funcdef] = STATE(64), + [sym_ifexp] = STATE(64), + [aux_sym_source_file_repeat1] = STATE(14), + [sym_num] = ACTIONS(5), + [anon_sym_TRUE] = ACTIONS(7), + [anon_sym_T] = ACTIONS(7), + [anon_sym_FALSE] = ACTIONS(7), + [anon_sym_F] = ACTIONS(7), + [sym_word] = ACTIONS(9), + [anon_sym_LPAREN] = ACTIONS(11), + [anon_sym_LBRACE] = ACTIONS(13), + [anon_sym_RBRACE] = ACTIONS(126), + [anon_sym_BSLASH] = ACTIONS(15), + [anon_sym__if] = ACTIONS(17), + [anon_sym_if] = ACTIONS(19), + [anon_sym_QMARK] = ACTIONS(21), + }, + [STATE(21)] = { + [sym__exp] = STATE(64), + [sym_bool] = STATE(64), + [sym_binexp] = STATE(64), + [sym_callexp] = STATE(64), + [sym_parexp] = STATE(64), + [sym_block] = STATE(64), + [sym_vardef] = STATE(64), + [sym_lambda] = STATE(64), + [sym_funcdef] = STATE(64), + [sym_ifexp] = STATE(64), + [aux_sym_source_file_repeat1] = STATE(20), + [sym_num] = ACTIONS(5), + [anon_sym_TRUE] = ACTIONS(7), + [anon_sym_T] = ACTIONS(7), + [anon_sym_FALSE] = ACTIONS(7), + [anon_sym_F] = ACTIONS(7), + [sym_word] = ACTIONS(9), + [anon_sym_LPAREN] = ACTIONS(11), + [anon_sym_LBRACE] = ACTIONS(13), + [anon_sym_RBRACE] = ACTIONS(128), + [anon_sym_BSLASH] = ACTIONS(15), + [anon_sym__if] = ACTIONS(17), + [anon_sym_if] = ACTIONS(19), + [anon_sym_QMARK] = ACTIONS(21), + }, + [STATE(22)] = { + [sym__exp] = STATE(96), + [sym_bool] = STATE(96), + [sym_binexp] = STATE(96), + [sym_callexp] = STATE(96), + [sym_parexp] = STATE(96), + [sym_block] = STATE(96), + [sym_vardef] = STATE(96), + [sym_lambda] = STATE(96), + [sym_funcdef] = STATE(96), + [sym_ifexp] = STATE(96), + [sym_num] = ACTIONS(130), + [anon_sym_TRUE] = ACTIONS(33), + [anon_sym_T] = ACTIONS(33), + [anon_sym_FALSE] = ACTIONS(33), + [anon_sym_F] = ACTIONS(33), + [sym_word] = ACTIONS(132), + [anon_sym_LPAREN] = ACTIONS(37), + [anon_sym_RPAREN] = ACTIONS(134), + [anon_sym_LBRACE] = ACTIONS(39), + [anon_sym_BSLASH] = ACTIONS(41), + [anon_sym__if] = ACTIONS(43), + [anon_sym_if] = ACTIONS(45), + [anon_sym_QMARK] = ACTIONS(49), + }, + [STATE(23)] = { + [sym__exp] = STATE(98), + [sym_bool] = STATE(98), + [sym_binexp] = STATE(98), + [sym_callexp] = STATE(98), + [sym_parexp] = STATE(98), + [sym_block] = STATE(98), + [sym_vardef] = STATE(98), + [sym_lambda] = STATE(98), + [sym_funcdef] = STATE(98), + [sym_ifexp] = STATE(98), + [sym_num] = ACTIONS(136), + [anon_sym_TRUE] = ACTIONS(33), + [anon_sym_T] = ACTIONS(33), + [anon_sym_FALSE] = ACTIONS(33), + [anon_sym_F] = ACTIONS(33), + [sym_word] = ACTIONS(132), + [anon_sym_LPAREN] = ACTIONS(37), + [anon_sym_RPAREN] = ACTIONS(138), + [anon_sym_LBRACE] = ACTIONS(39), + [anon_sym_BSLASH] = ACTIONS(41), + [anon_sym__if] = ACTIONS(43), + [anon_sym_if] = ACTIONS(45), + [anon_sym_QMARK] = ACTIONS(49), + }, + [STATE(24)] = { + [sym__exp] = STATE(97), + [sym_bool] = STATE(97), + [sym_binexp] = STATE(97), + [sym_callexp] = STATE(97), + [sym_parexp] = STATE(97), + [sym_block] = STATE(97), + [sym_vardef] = STATE(97), + [sym_lambda] = STATE(97), + [sym_funcdef] = STATE(97), + [sym_ifexp] = STATE(97), + [sym_num] = ACTIONS(140), + [anon_sym_TRUE] = ACTIONS(33), + [anon_sym_T] = ACTIONS(33), + [anon_sym_FALSE] = ACTIONS(33), + [anon_sym_F] = ACTIONS(33), + [sym_word] = ACTIONS(132), + [anon_sym_LPAREN] = ACTIONS(37), + [anon_sym_RPAREN] = ACTIONS(142), + [anon_sym_LBRACE] = ACTIONS(39), + [anon_sym_BSLASH] = ACTIONS(41), + [anon_sym__if] = ACTIONS(43), + [anon_sym_if] = ACTIONS(45), + [anon_sym_QMARK] = ACTIONS(49), + }, + [STATE(25)] = { + [sym__exp] = STATE(61), + [sym_bool] = STATE(61), + [sym_binexp] = STATE(61), + [sym_callexp] = STATE(61), + [sym_parexp] = STATE(61), + [sym_block] = STATE(61), + [sym_vardef] = STATE(61), + [sym_lambda] = STATE(61), + [sym_funcdef] = STATE(61), + [sym_ifexp] = STATE(61), + [sym_num] = ACTIONS(144), + [anon_sym_TRUE] = ACTIONS(7), + [anon_sym_T] = ACTIONS(7), + [anon_sym_FALSE] = ACTIONS(7), + [anon_sym_F] = ACTIONS(7), + [sym_word] = ACTIONS(9), + [anon_sym_LPAREN] = ACTIONS(11), + [anon_sym_LBRACE] = ACTIONS(13), + [anon_sym_BSLASH] = ACTIONS(15), + [anon_sym__if] = ACTIONS(17), + [anon_sym_if] = ACTIONS(19), + [anon_sym_QMARK] = ACTIONS(21), + }, + [STATE(26)] = { + [sym__exp] = STATE(118), + [sym_bool] = STATE(118), + [sym_binexp] = STATE(118), + [sym_callexp] = STATE(118), + [sym_parexp] = STATE(118), + [sym_block] = STATE(118), + [sym_vardef] = STATE(118), + [sym_lambda] = STATE(118), + [sym_funcdef] = STATE(118), + [sym_ifexp] = STATE(118), + [sym_num] = ACTIONS(146), + [anon_sym_TRUE] = ACTIONS(33), + [anon_sym_T] = ACTIONS(33), + [anon_sym_FALSE] = ACTIONS(33), + [anon_sym_F] = ACTIONS(33), + [sym_word] = ACTIONS(35), + [anon_sym_LPAREN] = ACTIONS(37), + [anon_sym_LBRACE] = ACTIONS(39), + [anon_sym_BSLASH] = ACTIONS(41), + [anon_sym__if] = ACTIONS(43), + [anon_sym_if] = ACTIONS(45), + [anon_sym_QMARK] = ACTIONS(49), + }, + [STATE(27)] = { + [sym__exp] = STATE(103), + [sym_bool] = STATE(103), + [sym_binexp] = STATE(103), + [sym_callexp] = STATE(103), + [sym_parexp] = STATE(103), + [sym_block] = STATE(103), + [sym_vardef] = STATE(103), + [sym_lambda] = STATE(103), + [sym_funcdef] = STATE(103), + [sym_ifexp] = STATE(103), + [sym_num] = ACTIONS(148), + [anon_sym_TRUE] = ACTIONS(33), + [anon_sym_T] = ACTIONS(33), + [anon_sym_FALSE] = ACTIONS(33), + [anon_sym_F] = ACTIONS(33), + [sym_word] = ACTIONS(35), + [anon_sym_LPAREN] = ACTIONS(37), + [anon_sym_LBRACE] = ACTIONS(39), + [anon_sym_BSLASH] = ACTIONS(41), + [anon_sym__if] = ACTIONS(43), + [anon_sym_if] = ACTIONS(45), + [anon_sym_QMARK] = ACTIONS(49), + }, + [STATE(28)] = { + [sym__exp] = STATE(113), + [sym_bool] = STATE(113), + [sym_binexp] = STATE(113), + [sym_callexp] = STATE(113), + [sym_parexp] = STATE(113), + [sym_block] = STATE(113), + [sym_vardef] = STATE(113), + [sym_lambda] = STATE(113), + [sym_funcdef] = STATE(113), + [sym_ifexp] = STATE(113), + [sym_num] = ACTIONS(150), + [anon_sym_TRUE] = ACTIONS(33), + [anon_sym_T] = ACTIONS(33), + [anon_sym_FALSE] = ACTIONS(33), + [anon_sym_F] = ACTIONS(33), + [sym_word] = ACTIONS(35), + [anon_sym_LPAREN] = ACTIONS(37), + [anon_sym_LBRACE] = ACTIONS(39), + [anon_sym_BSLASH] = ACTIONS(41), + [anon_sym__if] = ACTIONS(43), + [anon_sym_if] = ACTIONS(45), + [anon_sym_QMARK] = ACTIONS(49), + }, + [STATE(29)] = { + [sym__exp] = STATE(72), + [sym_bool] = STATE(72), + [sym_binexp] = STATE(72), + [sym_callexp] = STATE(72), + [sym_parexp] = STATE(72), + [sym_block] = STATE(72), + [sym_vardef] = STATE(72), + [sym_lambda] = STATE(72), + [sym_funcdef] = STATE(72), + [sym_ifexp] = STATE(72), + [sym_num] = ACTIONS(152), + [anon_sym_TRUE] = ACTIONS(7), + [anon_sym_T] = ACTIONS(7), + [anon_sym_FALSE] = ACTIONS(7), + [anon_sym_F] = ACTIONS(7), + [sym_word] = ACTIONS(9), + [anon_sym_LPAREN] = ACTIONS(11), + [anon_sym_LBRACE] = ACTIONS(13), + [anon_sym_BSLASH] = ACTIONS(15), + [anon_sym__if] = ACTIONS(17), + [anon_sym_if] = ACTIONS(19), + [anon_sym_QMARK] = ACTIONS(21), + }, + [STATE(30)] = { + [sym__exp] = STATE(120), + [sym_bool] = STATE(120), + [sym_binexp] = STATE(120), + [sym_callexp] = STATE(120), + [sym_parexp] = STATE(120), + [sym_block] = STATE(120), + [sym_vardef] = STATE(120), + [sym_lambda] = STATE(120), + [sym_funcdef] = STATE(120), + [sym_ifexp] = STATE(120), + [sym_num] = ACTIONS(154), + [anon_sym_TRUE] = ACTIONS(33), + [anon_sym_T] = ACTIONS(33), + [anon_sym_FALSE] = ACTIONS(33), + [anon_sym_F] = ACTIONS(33), + [sym_word] = ACTIONS(35), + [anon_sym_LPAREN] = ACTIONS(37), + [anon_sym_LBRACE] = ACTIONS(39), + [anon_sym_BSLASH] = ACTIONS(41), + [anon_sym__if] = ACTIONS(43), + [anon_sym_if] = ACTIONS(45), + [anon_sym_QMARK] = ACTIONS(49), + }, + [STATE(31)] = { + [sym__exp] = STATE(105), + [sym_bool] = STATE(105), + [sym_binexp] = STATE(105), + [sym_callexp] = STATE(105), + [sym_parexp] = STATE(105), + [sym_block] = STATE(105), + [sym_vardef] = STATE(105), + [sym_lambda] = STATE(105), + [sym_funcdef] = STATE(105), + [sym_ifexp] = STATE(105), + [sym_num] = ACTIONS(156), + [anon_sym_TRUE] = ACTIONS(33), + [anon_sym_T] = ACTIONS(33), + [anon_sym_FALSE] = ACTIONS(33), + [anon_sym_F] = ACTIONS(33), + [sym_word] = ACTIONS(35), + [anon_sym_LPAREN] = ACTIONS(37), + [anon_sym_LBRACE] = ACTIONS(39), + [anon_sym_BSLASH] = ACTIONS(41), + [anon_sym__if] = ACTIONS(43), + [anon_sym_if] = ACTIONS(45), + [anon_sym_QMARK] = ACTIONS(49), + }, + [STATE(32)] = { + [sym__exp] = STATE(106), + [sym_bool] = STATE(106), + [sym_binexp] = STATE(106), + [sym_callexp] = STATE(106), + [sym_parexp] = STATE(106), + [sym_block] = STATE(106), + [sym_vardef] = STATE(106), + [sym_lambda] = STATE(106), + [sym_funcdef] = STATE(106), + [sym_ifexp] = STATE(106), + [sym_num] = ACTIONS(158), + [anon_sym_TRUE] = ACTIONS(33), + [anon_sym_T] = ACTIONS(33), + [anon_sym_FALSE] = ACTIONS(33), + [anon_sym_F] = ACTIONS(33), + [sym_word] = ACTIONS(35), + [anon_sym_LPAREN] = ACTIONS(37), + [anon_sym_LBRACE] = ACTIONS(39), + [anon_sym_BSLASH] = ACTIONS(41), + [anon_sym__if] = ACTIONS(43), + [anon_sym_if] = ACTIONS(45), + [anon_sym_QMARK] = ACTIONS(49), + }, + [STATE(33)] = { + [sym__exp] = STATE(109), + [sym_bool] = STATE(109), + [sym_binexp] = STATE(109), + [sym_callexp] = STATE(109), + [sym_parexp] = STATE(109), + [sym_block] = STATE(109), + [sym_vardef] = STATE(109), + [sym_lambda] = STATE(109), + [sym_funcdef] = STATE(109), + [sym_ifexp] = STATE(109), + [sym_num] = ACTIONS(160), + [anon_sym_TRUE] = ACTIONS(33), + [anon_sym_T] = ACTIONS(33), + [anon_sym_FALSE] = ACTIONS(33), + [anon_sym_F] = ACTIONS(33), + [sym_word] = ACTIONS(35), + [anon_sym_LPAREN] = ACTIONS(37), + [anon_sym_LBRACE] = ACTIONS(39), + [anon_sym_BSLASH] = ACTIONS(41), + [anon_sym__if] = ACTIONS(43), + [anon_sym_if] = ACTIONS(45), + [anon_sym_QMARK] = ACTIONS(49), + }, + [STATE(34)] = { + [sym__exp] = STATE(111), + [sym_bool] = STATE(111), + [sym_binexp] = STATE(111), + [sym_callexp] = STATE(111), + [sym_parexp] = STATE(111), + [sym_block] = STATE(111), + [sym_vardef] = STATE(111), + [sym_lambda] = STATE(111), + [sym_funcdef] = STATE(111), + [sym_ifexp] = STATE(111), + [sym_num] = ACTIONS(162), + [anon_sym_TRUE] = ACTIONS(33), + [anon_sym_T] = ACTIONS(33), + [anon_sym_FALSE] = ACTIONS(33), + [anon_sym_F] = ACTIONS(33), + [sym_word] = ACTIONS(35), + [anon_sym_LPAREN] = ACTIONS(37), + [anon_sym_LBRACE] = ACTIONS(39), + [anon_sym_BSLASH] = ACTIONS(41), + [anon_sym__if] = ACTIONS(43), + [anon_sym_if] = ACTIONS(45), + [anon_sym_QMARK] = ACTIONS(49), + }, + [STATE(35)] = { + [sym__exp] = STATE(124), + [sym_bool] = STATE(124), + [sym_binexp] = STATE(124), + [sym_callexp] = STATE(124), + [sym_parexp] = STATE(124), + [sym_block] = STATE(124), + [sym_vardef] = STATE(124), + [sym_lambda] = STATE(124), + [sym_funcdef] = STATE(124), + [sym_ifexp] = STATE(124), + [sym_num] = ACTIONS(164), + [anon_sym_TRUE] = ACTIONS(33), + [anon_sym_T] = ACTIONS(33), + [anon_sym_FALSE] = ACTIONS(33), + [anon_sym_F] = ACTIONS(33), + [sym_word] = ACTIONS(35), + [anon_sym_LPAREN] = ACTIONS(37), + [anon_sym_LBRACE] = ACTIONS(39), + [anon_sym_BSLASH] = ACTIONS(41), + [anon_sym__if] = ACTIONS(43), + [anon_sym_if] = ACTIONS(45), + [anon_sym_QMARK] = ACTIONS(49), + }, + [STATE(36)] = { + [sym__exp] = STATE(80), + [sym_bool] = STATE(80), + [sym_binexp] = STATE(80), + [sym_callexp] = STATE(80), + [sym_parexp] = STATE(80), + [sym_block] = STATE(80), + [sym_vardef] = STATE(80), + [sym_lambda] = STATE(80), + [sym_funcdef] = STATE(80), + [sym_ifexp] = STATE(80), + [sym_num] = ACTIONS(166), + [anon_sym_TRUE] = ACTIONS(53), + [anon_sym_T] = ACTIONS(53), + [anon_sym_FALSE] = ACTIONS(53), + [anon_sym_F] = ACTIONS(53), + [sym_word] = ACTIONS(55), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_LBRACE] = ACTIONS(59), + [anon_sym_BSLASH] = ACTIONS(61), + [anon_sym__if] = ACTIONS(63), + [anon_sym_if] = ACTIONS(65), + [anon_sym_QMARK] = ACTIONS(69), + }, + [STATE(37)] = { + [sym__exp] = STATE(83), + [sym_bool] = STATE(83), + [sym_binexp] = STATE(83), + [sym_callexp] = STATE(83), + [sym_parexp] = STATE(83), + [sym_block] = STATE(83), + [sym_vardef] = STATE(83), + [sym_lambda] = STATE(83), + [sym_funcdef] = STATE(83), + [sym_ifexp] = STATE(83), + [sym_num] = ACTIONS(168), + [anon_sym_TRUE] = ACTIONS(53), + [anon_sym_T] = ACTIONS(53), + [anon_sym_FALSE] = ACTIONS(53), + [anon_sym_F] = ACTIONS(53), + [sym_word] = ACTIONS(55), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_LBRACE] = ACTIONS(59), + [anon_sym_BSLASH] = ACTIONS(61), + [anon_sym__if] = ACTIONS(63), + [anon_sym_if] = ACTIONS(65), + [anon_sym_QMARK] = ACTIONS(69), + }, + [STATE(38)] = { + [sym__exp] = STATE(84), + [sym_bool] = STATE(84), + [sym_binexp] = STATE(84), + [sym_callexp] = STATE(84), + [sym_parexp] = STATE(84), + [sym_block] = STATE(84), + [sym_vardef] = STATE(84), + [sym_lambda] = STATE(84), + [sym_funcdef] = STATE(84), + [sym_ifexp] = STATE(84), + [sym_num] = ACTIONS(170), + [anon_sym_TRUE] = ACTIONS(53), + [anon_sym_T] = ACTIONS(53), + [anon_sym_FALSE] = ACTIONS(53), + [anon_sym_F] = ACTIONS(53), + [sym_word] = ACTIONS(55), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_LBRACE] = ACTIONS(59), + [anon_sym_BSLASH] = ACTIONS(61), + [anon_sym__if] = ACTIONS(63), + [anon_sym_if] = ACTIONS(65), + [anon_sym_QMARK] = ACTIONS(69), + }, + [STATE(39)] = { + [sym__exp] = STATE(85), + [sym_bool] = STATE(85), + [sym_binexp] = STATE(85), + [sym_callexp] = STATE(85), + [sym_parexp] = STATE(85), + [sym_block] = STATE(85), + [sym_vardef] = STATE(85), + [sym_lambda] = STATE(85), + [sym_funcdef] = STATE(85), + [sym_ifexp] = STATE(85), + [sym_num] = ACTIONS(172), + [anon_sym_TRUE] = ACTIONS(53), + [anon_sym_T] = ACTIONS(53), + [anon_sym_FALSE] = ACTIONS(53), + [anon_sym_F] = ACTIONS(53), + [sym_word] = ACTIONS(55), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_LBRACE] = ACTIONS(59), + [anon_sym_BSLASH] = ACTIONS(61), + [anon_sym__if] = ACTIONS(63), + [anon_sym_if] = ACTIONS(65), + [anon_sym_QMARK] = ACTIONS(69), + }, + [STATE(40)] = { + [sym__exp] = STATE(63), + [sym_bool] = STATE(63), + [sym_binexp] = STATE(63), + [sym_callexp] = STATE(63), + [sym_parexp] = STATE(63), + [sym_block] = STATE(63), + [sym_vardef] = STATE(63), + [sym_lambda] = STATE(63), + [sym_funcdef] = STATE(63), + [sym_ifexp] = STATE(63), + [sym_num] = ACTIONS(174), + [anon_sym_TRUE] = ACTIONS(7), + [anon_sym_T] = ACTIONS(7), + [anon_sym_FALSE] = ACTIONS(7), + [anon_sym_F] = ACTIONS(7), + [sym_word] = ACTIONS(9), + [anon_sym_LPAREN] = ACTIONS(11), + [anon_sym_LBRACE] = ACTIONS(13), + [anon_sym_BSLASH] = ACTIONS(15), + [anon_sym__if] = ACTIONS(17), + [anon_sym_if] = ACTIONS(19), + [anon_sym_QMARK] = ACTIONS(21), + }, + [STATE(41)] = { + [sym__exp] = STATE(87), + [sym_bool] = STATE(87), + [sym_binexp] = STATE(87), + [sym_callexp] = STATE(87), + [sym_parexp] = STATE(87), + [sym_block] = STATE(87), + [sym_vardef] = STATE(87), + [sym_lambda] = STATE(87), + [sym_funcdef] = STATE(87), + [sym_ifexp] = STATE(87), + [sym_num] = ACTIONS(176), + [anon_sym_TRUE] = ACTIONS(53), + [anon_sym_T] = ACTIONS(53), + [anon_sym_FALSE] = ACTIONS(53), + [anon_sym_F] = ACTIONS(53), + [sym_word] = ACTIONS(55), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_LBRACE] = ACTIONS(59), + [anon_sym_BSLASH] = ACTIONS(61), + [anon_sym__if] = ACTIONS(63), + [anon_sym_if] = ACTIONS(65), + [anon_sym_QMARK] = ACTIONS(69), + }, + [STATE(42)] = { + [sym__exp] = STATE(74), + [sym_bool] = STATE(74), + [sym_binexp] = STATE(74), + [sym_callexp] = STATE(74), + [sym_parexp] = STATE(74), + [sym_block] = STATE(74), + [sym_vardef] = STATE(74), + [sym_lambda] = STATE(74), + [sym_funcdef] = STATE(74), + [sym_ifexp] = STATE(74), + [sym_num] = ACTIONS(178), + [anon_sym_TRUE] = ACTIONS(7), + [anon_sym_T] = ACTIONS(7), + [anon_sym_FALSE] = ACTIONS(7), + [anon_sym_F] = ACTIONS(7), + [sym_word] = ACTIONS(9), + [anon_sym_LPAREN] = ACTIONS(11), + [anon_sym_LBRACE] = ACTIONS(13), + [anon_sym_BSLASH] = ACTIONS(15), + [anon_sym__if] = ACTIONS(17), + [anon_sym_if] = ACTIONS(19), + [anon_sym_QMARK] = ACTIONS(21), + }, + [STATE(43)] = { + [sym__exp] = STATE(114), + [sym_bool] = STATE(114), + [sym_binexp] = STATE(114), + [sym_callexp] = STATE(114), + [sym_parexp] = STATE(114), + [sym_block] = STATE(114), + [sym_vardef] = STATE(114), + [sym_lambda] = STATE(114), + [sym_funcdef] = STATE(114), + [sym_ifexp] = STATE(114), + [sym_num] = ACTIONS(180), + [anon_sym_TRUE] = ACTIONS(33), + [anon_sym_T] = ACTIONS(33), + [anon_sym_FALSE] = ACTIONS(33), + [anon_sym_F] = ACTIONS(33), + [sym_word] = ACTIONS(35), + [anon_sym_LPAREN] = ACTIONS(37), + [anon_sym_LBRACE] = ACTIONS(39), + [anon_sym_BSLASH] = ACTIONS(41), + [anon_sym__if] = ACTIONS(43), + [anon_sym_if] = ACTIONS(45), + [anon_sym_QMARK] = ACTIONS(49), + }, + [STATE(44)] = { + [sym__exp] = STATE(6), + [sym_bool] = STATE(6), + [sym_binexp] = STATE(6), + [sym_callexp] = STATE(6), + [sym_parexp] = STATE(6), + [sym_block] = STATE(6), + [sym_vardef] = STATE(6), + [sym_lambda] = STATE(6), + [sym_funcdef] = STATE(6), + [sym_ifexp] = STATE(6), + [sym_num] = ACTIONS(182), + [anon_sym_TRUE] = ACTIONS(7), + [anon_sym_T] = ACTIONS(7), + [anon_sym_FALSE] = ACTIONS(7), + [anon_sym_F] = ACTIONS(7), + [sym_word] = ACTIONS(9), + [anon_sym_LPAREN] = ACTIONS(11), + [anon_sym_LBRACE] = ACTIONS(13), + [anon_sym_BSLASH] = ACTIONS(15), + [anon_sym__if] = ACTIONS(17), + [anon_sym_if] = ACTIONS(19), + [anon_sym_QMARK] = ACTIONS(21), + }, + [STATE(45)] = { + [sym__exp] = STATE(62), + [sym_bool] = STATE(62), + [sym_binexp] = STATE(62), + [sym_callexp] = STATE(62), + [sym_parexp] = STATE(62), + [sym_block] = STATE(62), + [sym_vardef] = STATE(62), + [sym_lambda] = STATE(62), + [sym_funcdef] = STATE(62), + [sym_ifexp] = STATE(62), + [sym_num] = ACTIONS(184), + [anon_sym_TRUE] = ACTIONS(7), + [anon_sym_T] = ACTIONS(7), + [anon_sym_FALSE] = ACTIONS(7), + [anon_sym_F] = ACTIONS(7), + [sym_word] = ACTIONS(9), + [anon_sym_LPAREN] = ACTIONS(11), + [anon_sym_LBRACE] = ACTIONS(13), + [anon_sym_BSLASH] = ACTIONS(15), + [anon_sym__if] = ACTIONS(17), + [anon_sym_if] = ACTIONS(19), + [anon_sym_QMARK] = ACTIONS(21), + }, + [STATE(46)] = { + [sym__exp] = STATE(5), + [sym_bool] = STATE(5), + [sym_binexp] = STATE(5), + [sym_callexp] = STATE(5), + [sym_parexp] = STATE(5), + [sym_block] = STATE(5), + [sym_vardef] = STATE(5), + [sym_lambda] = STATE(5), + [sym_funcdef] = STATE(5), + [sym_ifexp] = STATE(5), + [sym_num] = ACTIONS(186), + [anon_sym_TRUE] = ACTIONS(7), + [anon_sym_T] = ACTIONS(7), + [anon_sym_FALSE] = ACTIONS(7), + [anon_sym_F] = ACTIONS(7), + [sym_word] = ACTIONS(9), + [anon_sym_LPAREN] = ACTIONS(11), + [anon_sym_LBRACE] = ACTIONS(13), + [anon_sym_BSLASH] = ACTIONS(15), + [anon_sym__if] = ACTIONS(17), + [anon_sym_if] = ACTIONS(19), + [anon_sym_QMARK] = ACTIONS(21), + }, + [STATE(47)] = { + [sym__exp] = STATE(117), + [sym_bool] = STATE(117), + [sym_binexp] = STATE(117), + [sym_callexp] = STATE(117), + [sym_parexp] = STATE(117), + [sym_block] = STATE(117), + [sym_vardef] = STATE(117), + [sym_lambda] = STATE(117), + [sym_funcdef] = STATE(117), + [sym_ifexp] = STATE(117), + [sym_num] = ACTIONS(188), + [anon_sym_TRUE] = ACTIONS(33), + [anon_sym_T] = ACTIONS(33), + [anon_sym_FALSE] = ACTIONS(33), + [anon_sym_F] = ACTIONS(33), + [sym_word] = ACTIONS(35), + [anon_sym_LPAREN] = ACTIONS(37), + [anon_sym_LBRACE] = ACTIONS(39), + [anon_sym_BSLASH] = ACTIONS(41), + [anon_sym__if] = ACTIONS(43), + [anon_sym_if] = ACTIONS(45), + [anon_sym_QMARK] = ACTIONS(49), + }, + [STATE(48)] = { + [sym__exp] = STATE(11), + [sym_bool] = STATE(11), + [sym_binexp] = STATE(11), + [sym_callexp] = STATE(11), + [sym_parexp] = STATE(11), + [sym_block] = STATE(11), + [sym_vardef] = STATE(11), + [sym_lambda] = STATE(11), + [sym_funcdef] = STATE(11), + [sym_ifexp] = STATE(11), + [sym_num] = ACTIONS(190), + [anon_sym_TRUE] = ACTIONS(7), + [anon_sym_T] = ACTIONS(7), + [anon_sym_FALSE] = ACTIONS(7), + [anon_sym_F] = ACTIONS(7), + [sym_word] = ACTIONS(9), + [anon_sym_LPAREN] = ACTIONS(11), + [anon_sym_LBRACE] = ACTIONS(13), + [anon_sym_BSLASH] = ACTIONS(15), + [anon_sym__if] = ACTIONS(17), + [anon_sym_if] = ACTIONS(19), + [anon_sym_QMARK] = ACTIONS(21), + }, + [STATE(49)] = { + [sym__exp] = STATE(10), + [sym_bool] = STATE(10), + [sym_binexp] = STATE(10), + [sym_callexp] = STATE(10), + [sym_parexp] = STATE(10), + [sym_block] = STATE(10), + [sym_vardef] = STATE(10), + [sym_lambda] = STATE(10), + [sym_funcdef] = STATE(10), + [sym_ifexp] = STATE(10), + [sym_num] = ACTIONS(192), + [anon_sym_TRUE] = ACTIONS(7), + [anon_sym_T] = ACTIONS(7), + [anon_sym_FALSE] = ACTIONS(7), + [anon_sym_F] = ACTIONS(7), + [sym_word] = ACTIONS(9), + [anon_sym_LPAREN] = ACTIONS(11), + [anon_sym_LBRACE] = ACTIONS(13), + [anon_sym_BSLASH] = ACTIONS(15), + [anon_sym__if] = ACTIONS(17), + [anon_sym_if] = ACTIONS(19), + [anon_sym_QMARK] = ACTIONS(21), + }, + [STATE(50)] = { + [sym__exp] = STATE(121), + [sym_bool] = STATE(121), + [sym_binexp] = STATE(121), + [sym_callexp] = STATE(121), + [sym_parexp] = STATE(121), + [sym_block] = STATE(121), + [sym_vardef] = STATE(121), + [sym_lambda] = STATE(121), + [sym_funcdef] = STATE(121), + [sym_ifexp] = STATE(121), + [sym_num] = ACTIONS(194), + [anon_sym_TRUE] = ACTIONS(33), + [anon_sym_T] = ACTIONS(33), + [anon_sym_FALSE] = ACTIONS(33), + [anon_sym_F] = ACTIONS(33), + [sym_word] = ACTIONS(35), + [anon_sym_LPAREN] = ACTIONS(37), + [anon_sym_LBRACE] = ACTIONS(39), + [anon_sym_BSLASH] = ACTIONS(41), + [anon_sym__if] = ACTIONS(43), + [anon_sym_if] = ACTIONS(45), + [anon_sym_QMARK] = ACTIONS(49), + }, + [STATE(51)] = { + [sym__exp] = STATE(115), + [sym_bool] = STATE(115), + [sym_binexp] = STATE(115), + [sym_callexp] = STATE(115), + [sym_parexp] = STATE(115), + [sym_block] = STATE(115), + [sym_vardef] = STATE(115), + [sym_lambda] = STATE(115), + [sym_funcdef] = STATE(115), + [sym_ifexp] = STATE(115), + [sym_num] = ACTIONS(196), + [anon_sym_TRUE] = ACTIONS(33), + [anon_sym_T] = ACTIONS(33), + [anon_sym_FALSE] = ACTIONS(33), + [anon_sym_F] = ACTIONS(33), + [sym_word] = ACTIONS(35), + [anon_sym_LPAREN] = ACTIONS(37), + [anon_sym_LBRACE] = ACTIONS(39), + [anon_sym_BSLASH] = ACTIONS(41), + [anon_sym__if] = ACTIONS(43), + [anon_sym_if] = ACTIONS(45), + [anon_sym_QMARK] = ACTIONS(49), + }, + [STATE(52)] = { + [sym__exp] = STATE(12), + [sym_bool] = STATE(12), + [sym_binexp] = STATE(12), + [sym_callexp] = STATE(12), + [sym_parexp] = STATE(12), + [sym_block] = STATE(12), + [sym_vardef] = STATE(12), + [sym_lambda] = STATE(12), + [sym_funcdef] = STATE(12), + [sym_ifexp] = STATE(12), + [sym_num] = ACTIONS(198), + [anon_sym_TRUE] = ACTIONS(7), + [anon_sym_T] = ACTIONS(7), + [anon_sym_FALSE] = ACTIONS(7), + [anon_sym_F] = ACTIONS(7), + [sym_word] = ACTIONS(9), + [anon_sym_LPAREN] = ACTIONS(11), + [anon_sym_LBRACE] = ACTIONS(13), + [anon_sym_BSLASH] = ACTIONS(15), + [anon_sym__if] = ACTIONS(17), + [anon_sym_if] = ACTIONS(19), + [anon_sym_QMARK] = ACTIONS(21), + }, + [STATE(53)] = { + [sym__exp] = STATE(13), + [sym_bool] = STATE(13), + [sym_binexp] = STATE(13), + [sym_callexp] = STATE(13), + [sym_parexp] = STATE(13), + [sym_block] = STATE(13), + [sym_vardef] = STATE(13), + [sym_lambda] = STATE(13), + [sym_funcdef] = STATE(13), + [sym_ifexp] = STATE(13), + [sym_num] = ACTIONS(200), + [anon_sym_TRUE] = ACTIONS(7), + [anon_sym_T] = ACTIONS(7), + [anon_sym_FALSE] = ACTIONS(7), + [anon_sym_F] = ACTIONS(7), + [sym_word] = ACTIONS(9), + [anon_sym_LPAREN] = ACTIONS(11), + [anon_sym_LBRACE] = ACTIONS(13), + [anon_sym_BSLASH] = ACTIONS(15), + [anon_sym__if] = ACTIONS(17), + [anon_sym_if] = ACTIONS(19), + [anon_sym_QMARK] = ACTIONS(21), + }, + [STATE(54)] = { + [sym__exp] = STATE(116), + [sym_bool] = STATE(116), + [sym_binexp] = STATE(116), + [sym_callexp] = STATE(116), + [sym_parexp] = STATE(116), + [sym_block] = STATE(116), + [sym_vardef] = STATE(116), + [sym_lambda] = STATE(116), + [sym_funcdef] = STATE(116), + [sym_ifexp] = STATE(116), + [sym_num] = ACTIONS(202), + [anon_sym_TRUE] = ACTIONS(33), + [anon_sym_T] = ACTIONS(33), + [anon_sym_FALSE] = ACTIONS(33), + [anon_sym_F] = ACTIONS(33), + [sym_word] = ACTIONS(35), + [anon_sym_LPAREN] = ACTIONS(37), + [anon_sym_LBRACE] = ACTIONS(39), + [anon_sym_BSLASH] = ACTIONS(41), + [anon_sym__if] = ACTIONS(43), + [anon_sym_if] = ACTIONS(45), + [anon_sym_QMARK] = ACTIONS(49), + }, + [STATE(55)] = { + [sym__exp] = STATE(122), + [sym_bool] = STATE(122), + [sym_binexp] = STATE(122), + [sym_callexp] = STATE(122), + [sym_parexp] = STATE(122), + [sym_block] = STATE(122), + [sym_vardef] = STATE(122), + [sym_lambda] = STATE(122), + [sym_funcdef] = STATE(122), + [sym_ifexp] = STATE(122), + [sym_num] = ACTIONS(204), + [anon_sym_TRUE] = ACTIONS(33), + [anon_sym_T] = ACTIONS(33), + [anon_sym_FALSE] = ACTIONS(33), + [anon_sym_F] = ACTIONS(33), + [sym_word] = ACTIONS(35), + [anon_sym_LPAREN] = ACTIONS(37), + [anon_sym_LBRACE] = ACTIONS(39), + [anon_sym_BSLASH] = ACTIONS(41), + [anon_sym__if] = ACTIONS(43), + [anon_sym_if] = ACTIONS(45), + [anon_sym_QMARK] = ACTIONS(49), + }, + [STATE(56)] = { + [sym__exp] = STATE(123), + [sym_bool] = STATE(123), + [sym_binexp] = STATE(123), + [sym_callexp] = STATE(123), + [sym_parexp] = STATE(123), + [sym_block] = STATE(123), + [sym_vardef] = STATE(123), + [sym_lambda] = STATE(123), + [sym_funcdef] = STATE(123), + [sym_ifexp] = STATE(123), + [sym_num] = ACTIONS(206), + [anon_sym_TRUE] = ACTIONS(33), + [anon_sym_T] = ACTIONS(33), + [anon_sym_FALSE] = ACTIONS(33), + [anon_sym_F] = ACTIONS(33), + [sym_word] = ACTIONS(35), + [anon_sym_LPAREN] = ACTIONS(37), + [anon_sym_LBRACE] = ACTIONS(39), + [anon_sym_BSLASH] = ACTIONS(41), + [anon_sym__if] = ACTIONS(43), + [anon_sym_if] = ACTIONS(45), + [anon_sym_QMARK] = ACTIONS(49), + }, + [STATE(57)] = { + [sym__exp] = STATE(119), + [sym_bool] = STATE(119), + [sym_binexp] = STATE(119), + [sym_callexp] = STATE(119), + [sym_parexp] = STATE(119), + [sym_block] = STATE(119), + [sym_vardef] = STATE(119), + [sym_lambda] = STATE(119), + [sym_funcdef] = STATE(119), + [sym_ifexp] = STATE(119), + [sym_num] = ACTIONS(208), + [anon_sym_TRUE] = ACTIONS(33), + [anon_sym_T] = ACTIONS(33), + [anon_sym_FALSE] = ACTIONS(33), + [anon_sym_F] = ACTIONS(33), + [sym_word] = ACTIONS(35), + [anon_sym_LPAREN] = ACTIONS(37), + [anon_sym_LBRACE] = ACTIONS(39), + [anon_sym_BSLASH] = ACTIONS(41), + [anon_sym__if] = ACTIONS(43), + [anon_sym_if] = ACTIONS(45), + [anon_sym_QMARK] = ACTIONS(49), + }, + [STATE(58)] = { + [sym__exp] = STATE(101), + [sym_bool] = STATE(101), + [sym_binexp] = STATE(101), + [sym_callexp] = STATE(101), + [sym_parexp] = STATE(101), + [sym_block] = STATE(101), + [sym_vardef] = STATE(101), + [sym_lambda] = STATE(101), + [sym_funcdef] = STATE(101), + [sym_ifexp] = STATE(101), + [sym_num] = ACTIONS(210), + [anon_sym_TRUE] = ACTIONS(33), + [anon_sym_T] = ACTIONS(33), + [anon_sym_FALSE] = ACTIONS(33), + [anon_sym_F] = ACTIONS(33), + [sym_word] = ACTIONS(35), + [anon_sym_LPAREN] = ACTIONS(37), + [anon_sym_LBRACE] = ACTIONS(39), + [anon_sym_BSLASH] = ACTIONS(41), + [anon_sym__if] = ACTIONS(43), + [anon_sym_if] = ACTIONS(45), + [anon_sym_QMARK] = ACTIONS(49), + }, + [STATE(59)] = { + [sym_params] = STATE(40), + [ts_builtin_sym_end] = ACTIONS(212), + [sym_num] = ACTIONS(212), + [anon_sym_TRUE] = ACTIONS(214), + [anon_sym_T] = ACTIONS(214), + [anon_sym_FALSE] = ACTIONS(214), + [anon_sym_F] = ACTIONS(214), + [sym_word] = ACTIONS(214), + [anon_sym_PLUS] = ACTIONS(212), + [anon_sym_DASH] = ACTIONS(212), + [anon_sym_STAR] = ACTIONS(212), + [anon_sym_SLASH] = ACTIONS(212), + [anon_sym_eq] = ACTIONS(214), + [anon_sym_LPAREN] = ACTIONS(216), + [anon_sym_LBRACE] = ACTIONS(212), + [anon_sym_RBRACE] = ACTIONS(212), + [anon_sym_EQ] = ACTIONS(218), + [anon_sym_BSLASH] = ACTIONS(212), + [anon_sym__if] = ACTIONS(214), + [anon_sym_if] = ACTIONS(214), + [anon_sym_QMARK] = ACTIONS(212), + }, + [STATE(60)] = { + [sym_params] = STATE(37), + [sym_num] = ACTIONS(212), + [anon_sym_TRUE] = ACTIONS(214), + [anon_sym_T] = ACTIONS(214), + [anon_sym_FALSE] = ACTIONS(214), + [anon_sym_F] = ACTIONS(214), + [sym_word] = ACTIONS(214), + [anon_sym_PLUS] = ACTIONS(212), + [anon_sym_DASH] = ACTIONS(212), + [anon_sym_STAR] = ACTIONS(212), + [anon_sym_SLASH] = ACTIONS(212), + [anon_sym_eq] = ACTIONS(214), + [anon_sym_LPAREN] = ACTIONS(220), + [anon_sym_LBRACE] = ACTIONS(212), + [anon_sym_EQ] = ACTIONS(222), + [anon_sym_BSLASH] = ACTIONS(212), + [anon_sym__if] = ACTIONS(214), + [anon_sym_if] = ACTIONS(214), + [anon_sym_else] = ACTIONS(214), + [anon_sym_QMARK] = ACTIONS(212), }, }; static const uint16_t ts_small_parse_table[] = { - [0] = 6, - ACTIONS(9), 1, - anon_sym_LPAREN, - ACTIONS(29), 1, - sym_num, - ACTIONS(31), 1, - sym_word, - ACTIONS(33), 1, - anon_sym_RPAREN, - ACTIONS(35), 1, - anon_sym_BSLASH, - STATE(32), 7, - sym__exp, - sym_binexp, - sym_callexp, - sym_funcdef, - sym_lambda, - sym_vardef, - sym_parexp, - [25] = 6, - ACTIONS(9), 1, - anon_sym_LPAREN, - ACTIONS(29), 1, - sym_num, - ACTIONS(31), 1, - sym_word, - ACTIONS(35), 1, - anon_sym_BSLASH, - ACTIONS(37), 1, - anon_sym_RPAREN, - STATE(32), 7, - sym__exp, - sym_binexp, - sym_callexp, - sym_funcdef, - sym_lambda, - sym_vardef, - sym_parexp, - [50] = 5, - ACTIONS(9), 1, - anon_sym_LPAREN, - ACTIONS(35), 1, - anon_sym_BSLASH, - ACTIONS(39), 1, - sym_num, - ACTIONS(41), 1, - sym_word, - STATE(36), 7, - sym__exp, - sym_binexp, - sym_callexp, - sym_funcdef, - sym_lambda, - sym_vardef, - sym_parexp, - [72] = 5, - ACTIONS(7), 1, - sym_word, - ACTIONS(9), 1, - anon_sym_LPAREN, - ACTIONS(11), 1, - anon_sym_BSLASH, - ACTIONS(43), 1, - sym_num, - STATE(30), 7, - sym__exp, - sym_binexp, - sym_callexp, - sym_funcdef, - sym_lambda, - sym_vardef, - sym_parexp, - [94] = 5, - ACTIONS(7), 1, - sym_word, - ACTIONS(9), 1, - anon_sym_LPAREN, - ACTIONS(11), 1, - anon_sym_BSLASH, - ACTIONS(45), 1, - sym_num, - STATE(13), 7, - sym__exp, - sym_binexp, - sym_callexp, - sym_funcdef, - sym_lambda, - sym_vardef, - sym_parexp, - [116] = 5, - ACTIONS(7), 1, - sym_word, - ACTIONS(9), 1, - anon_sym_LPAREN, - ACTIONS(11), 1, - anon_sym_BSLASH, - ACTIONS(47), 1, - sym_num, - STATE(18), 7, - sym__exp, - sym_binexp, - sym_callexp, - sym_funcdef, - sym_lambda, - sym_vardef, - sym_parexp, - [138] = 5, - ACTIONS(7), 1, - sym_word, - ACTIONS(9), 1, - anon_sym_LPAREN, - ACTIONS(11), 1, - anon_sym_BSLASH, - ACTIONS(49), 1, - sym_num, - STATE(31), 7, - sym__exp, - sym_binexp, - sym_callexp, - sym_funcdef, - sym_lambda, - sym_vardef, - sym_parexp, - [160] = 5, - ACTIONS(7), 1, - sym_word, - ACTIONS(9), 1, - anon_sym_LPAREN, - ACTIONS(11), 1, - anon_sym_BSLASH, - ACTIONS(51), 1, - sym_num, - STATE(15), 7, - sym__exp, - sym_binexp, - sym_callexp, - sym_funcdef, - sym_lambda, - sym_vardef, - sym_parexp, - [182] = 4, - ACTIONS(55), 1, - anon_sym_LPAREN, - ACTIONS(57), 1, - anon_sym_EQ, - STATE(8), 1, - sym_params, - ACTIONS(53), 8, - ts_builtin_sym_end, - sym_num, - sym_word, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_BSLASH, - [202] = 1, - ACTIONS(59), 11, - ts_builtin_sym_end, - sym_num, - sym_word, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_BSLASH, - [216] = 1, - ACTIONS(61), 11, - ts_builtin_sym_end, - sym_num, - sym_word, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_BSLASH, - [230] = 1, - ACTIONS(63), 11, - ts_builtin_sym_end, - sym_num, - sym_word, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_BSLASH, - [244] = 1, - ACTIONS(65), 11, - ts_builtin_sym_end, - sym_num, - sym_word, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_BSLASH, - [258] = 1, - ACTIONS(67), 11, - ts_builtin_sym_end, - sym_num, - sym_word, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_BSLASH, - [272] = 1, - ACTIONS(69), 11, - ts_builtin_sym_end, - sym_num, - sym_word, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_BSLASH, - [286] = 5, - ACTIONS(9), 1, - anon_sym_LPAREN, - ACTIONS(35), 1, - anon_sym_BSLASH, - ACTIONS(41), 1, - sym_word, - ACTIONS(71), 1, - sym_num, - STATE(33), 7, - sym__exp, - sym_binexp, - sym_callexp, - sym_funcdef, - sym_lambda, - sym_vardef, - sym_parexp, - [308] = 5, - ACTIONS(9), 1, - anon_sym_LPAREN, - ACTIONS(35), 1, - anon_sym_BSLASH, - ACTIONS(41), 1, - sym_word, - ACTIONS(45), 1, - sym_num, - STATE(13), 7, - sym__exp, - sym_binexp, - sym_callexp, - sym_funcdef, - sym_lambda, - sym_vardef, - sym_parexp, - [330] = 5, - ACTIONS(9), 1, - anon_sym_LPAREN, - ACTIONS(35), 1, - anon_sym_BSLASH, - ACTIONS(41), 1, - sym_word, - ACTIONS(73), 1, - sym_num, - STATE(34), 7, - sym__exp, - sym_binexp, - sym_callexp, - sym_funcdef, - sym_lambda, - sym_vardef, - sym_parexp, - [352] = 5, - ACTIONS(9), 1, - anon_sym_LPAREN, - ACTIONS(35), 1, - anon_sym_BSLASH, - ACTIONS(41), 1, - sym_word, + [0] = 4, ACTIONS(75), 1, + anon_sym_eq, + ACTIONS(73), 4, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(224), 7, + ts_builtin_sym_end, sym_num, - STATE(35), 7, - sym__exp, - sym_binexp, - sym_callexp, - sym_funcdef, - sym_lambda, - sym_vardef, - sym_parexp, - [374] = 5, - ACTIONS(9), 1, anon_sym_LPAREN, - ACTIONS(35), 1, + anon_sym_LBRACE, + anon_sym_RBRACE, anon_sym_BSLASH, - ACTIONS(41), 1, + anon_sym_QMARK, + ACTIONS(226), 7, + anon_sym_TRUE, + anon_sym_T, + anon_sym_FALSE, + anon_sym_F, sym_word, - ACTIONS(47), 1, + anon_sym__if, + anon_sym_if, + [28] = 2, + ACTIONS(230), 8, + anon_sym_TRUE, + anon_sym_T, + anon_sym_FALSE, + anon_sym_F, + sym_word, + anon_sym_eq, + anon_sym__if, + anon_sym_if, + ACTIONS(228), 11, + ts_builtin_sym_end, sym_num, - STATE(18), 7, - sym__exp, - sym_binexp, - sym_callexp, - sym_funcdef, - sym_lambda, - sym_vardef, - sym_parexp, - [396] = 5, - ACTIONS(9), 1, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, anon_sym_LPAREN, - ACTIONS(35), 1, + anon_sym_LBRACE, + anon_sym_RBRACE, anon_sym_BSLASH, - ACTIONS(41), 1, + anon_sym_QMARK, + [52] = 2, + ACTIONS(234), 8, + anon_sym_TRUE, + anon_sym_T, + anon_sym_FALSE, + anon_sym_F, sym_word, - ACTIONS(51), 1, + anon_sym_eq, + anon_sym__if, + anon_sym_if, + ACTIONS(232), 11, + ts_builtin_sym_end, sym_num, - STATE(15), 7, - sym__exp, - sym_binexp, - sym_callexp, - sym_funcdef, - sym_lambda, - sym_vardef, - sym_parexp, - [418] = 7, - ACTIONS(77), 1, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, anon_sym_LPAREN, - ACTIONS(79), 1, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_BSLASH, + anon_sym_QMARK, + [76] = 4, + ACTIONS(75), 1, + anon_sym_eq, + ACTIONS(73), 4, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(236), 7, + ts_builtin_sym_end, + sym_num, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_BSLASH, + anon_sym_QMARK, + ACTIONS(238), 7, + anon_sym_TRUE, + anon_sym_T, + anon_sym_FALSE, + anon_sym_F, + sym_word, + anon_sym__if, + anon_sym_if, + [104] = 2, + ACTIONS(242), 8, + anon_sym_TRUE, + anon_sym_T, + anon_sym_FALSE, + anon_sym_F, + sym_word, + anon_sym_eq, + anon_sym__if, + anon_sym_if, + ACTIONS(240), 11, + ts_builtin_sym_end, + sym_num, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_BSLASH, + anon_sym_QMARK, + [128] = 4, + ACTIONS(250), 1, + anon_sym_eq, + ACTIONS(244), 5, + sym_num, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_BSLASH, + anon_sym_QMARK, + ACTIONS(248), 6, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, anon_sym_COMMA, - ACTIONS(82), 1, anon_sym_RPAREN, - ACTIONS(85), 1, + ACTIONS(246), 7, + anon_sym_TRUE, + anon_sym_T, + anon_sym_FALSE, + anon_sym_F, + sym_word, + anon_sym__if, + anon_sym_if, + [156] = 2, + ACTIONS(254), 8, + anon_sym_TRUE, + anon_sym_T, + anon_sym_FALSE, + anon_sym_F, + sym_word, + anon_sym_eq, + anon_sym__if, + anon_sym_if, + ACTIONS(252), 11, + ts_builtin_sym_end, + sym_num, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_BSLASH, + anon_sym_QMARK, + [180] = 2, + ACTIONS(250), 8, + anon_sym_TRUE, + anon_sym_T, + anon_sym_FALSE, + anon_sym_F, + sym_word, + anon_sym_eq, + anon_sym__if, + anon_sym_if, + ACTIONS(248), 11, + ts_builtin_sym_end, + sym_num, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_BSLASH, + anon_sym_QMARK, + [204] = 2, + ACTIONS(258), 8, + anon_sym_TRUE, + anon_sym_T, + anon_sym_FALSE, + anon_sym_F, + sym_word, + anon_sym_eq, + anon_sym__if, + anon_sym_if, + ACTIONS(256), 11, + ts_builtin_sym_end, + sym_num, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_BSLASH, + anon_sym_QMARK, + [228] = 4, + ACTIONS(75), 1, + anon_sym_eq, + ACTIONS(73), 4, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(260), 7, + ts_builtin_sym_end, + sym_num, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_BSLASH, + anon_sym_QMARK, + ACTIONS(262), 7, + anon_sym_TRUE, + anon_sym_T, + anon_sym_FALSE, + anon_sym_F, + sym_word, + anon_sym__if, + anon_sym_if, + [256] = 2, + ACTIONS(266), 8, + anon_sym_TRUE, + anon_sym_T, + anon_sym_FALSE, + anon_sym_F, + sym_word, + anon_sym_eq, + anon_sym__if, + anon_sym_if, + ACTIONS(264), 11, + ts_builtin_sym_end, + sym_num, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_BSLASH, + anon_sym_QMARK, + [280] = 4, + ACTIONS(75), 1, + anon_sym_eq, + ACTIONS(73), 4, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(268), 7, + ts_builtin_sym_end, + sym_num, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_BSLASH, + anon_sym_QMARK, + ACTIONS(270), 7, + anon_sym_TRUE, + anon_sym_T, + anon_sym_FALSE, + anon_sym_F, + sym_word, + anon_sym__if, + anon_sym_if, + [308] = 2, + ACTIONS(274), 8, + anon_sym_TRUE, + anon_sym_T, + anon_sym_FALSE, + anon_sym_F, + sym_word, + anon_sym_eq, + anon_sym__if, + anon_sym_if, + ACTIONS(272), 11, + ts_builtin_sym_end, + sym_num, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_BSLASH, + anon_sym_QMARK, + [332] = 2, + ACTIONS(278), 8, + anon_sym_TRUE, + anon_sym_T, + anon_sym_FALSE, + anon_sym_F, + sym_word, + anon_sym_eq, + anon_sym__if, + anon_sym_if, + ACTIONS(276), 11, + ts_builtin_sym_end, + sym_num, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_BSLASH, + anon_sym_QMARK, + [356] = 2, + ACTIONS(282), 8, + anon_sym_TRUE, + anon_sym_T, + anon_sym_FALSE, + anon_sym_F, + sym_word, + anon_sym_eq, + anon_sym__if, + anon_sym_if, + ACTIONS(280), 11, + ts_builtin_sym_end, + sym_num, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_BSLASH, + anon_sym_QMARK, + [380] = 2, + ACTIONS(286), 8, + anon_sym_TRUE, + anon_sym_T, + anon_sym_FALSE, + anon_sym_F, + sym_word, + anon_sym_eq, + anon_sym__if, + anon_sym_if, + ACTIONS(284), 11, + ts_builtin_sym_end, + sym_num, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_BSLASH, + anon_sym_QMARK, + [404] = 2, + ACTIONS(284), 9, + sym_num, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_BSLASH, + anon_sym_QMARK, + ACTIONS(286), 9, + anon_sym_TRUE, + anon_sym_T, + anon_sym_FALSE, + anon_sym_F, + sym_word, + anon_sym_eq, + anon_sym__if, + anon_sym_if, + anon_sym_else, + [427] = 2, + ACTIONS(252), 9, + sym_num, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_BSLASH, + anon_sym_QMARK, + ACTIONS(254), 9, + anon_sym_TRUE, + anon_sym_T, + anon_sym_FALSE, + anon_sym_F, + sym_word, + anon_sym_eq, + anon_sym__if, + anon_sym_if, + anon_sym_else, + [450] = 2, + ACTIONS(272), 9, + sym_num, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_BSLASH, + anon_sym_QMARK, + ACTIONS(274), 9, + anon_sym_TRUE, + anon_sym_T, + anon_sym_FALSE, + anon_sym_F, + sym_word, + anon_sym_eq, + anon_sym__if, + anon_sym_if, + anon_sym_else, + [473] = 4, + ACTIONS(27), 1, + anon_sym_eq, + ACTIONS(25), 4, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(224), 5, + sym_num, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_BSLASH, + anon_sym_QMARK, + ACTIONS(226), 8, + anon_sym_TRUE, + anon_sym_T, + anon_sym_FALSE, + anon_sym_F, + sym_word, + anon_sym__if, + anon_sym_if, + anon_sym_else, + [500] = 2, + ACTIONS(256), 9, + sym_num, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_BSLASH, + anon_sym_QMARK, + ACTIONS(258), 9, + anon_sym_TRUE, + anon_sym_T, + anon_sym_FALSE, + anon_sym_F, + sym_word, + anon_sym_eq, + anon_sym__if, + anon_sym_if, + anon_sym_else, + [523] = 2, + ACTIONS(248), 9, + sym_num, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_BSLASH, + anon_sym_QMARK, + ACTIONS(250), 9, + anon_sym_TRUE, + anon_sym_T, + anon_sym_FALSE, + anon_sym_F, + sym_word, + anon_sym_eq, + anon_sym__if, + anon_sym_if, + anon_sym_else, + [546] = 2, + ACTIONS(232), 9, + sym_num, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_BSLASH, + anon_sym_QMARK, + ACTIONS(234), 9, + anon_sym_TRUE, + anon_sym_T, + anon_sym_FALSE, + anon_sym_F, + sym_word, + anon_sym_eq, + anon_sym__if, + anon_sym_if, + anon_sym_else, + [569] = 2, + ACTIONS(276), 9, + sym_num, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_BSLASH, + anon_sym_QMARK, + ACTIONS(278), 9, + anon_sym_TRUE, + anon_sym_T, + anon_sym_FALSE, + anon_sym_F, + sym_word, + anon_sym_eq, + anon_sym__if, + anon_sym_if, + anon_sym_else, + [592] = 2, + ACTIONS(228), 9, + sym_num, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_BSLASH, + anon_sym_QMARK, + ACTIONS(230), 9, + anon_sym_TRUE, + anon_sym_T, + anon_sym_FALSE, + anon_sym_F, + sym_word, + anon_sym_eq, + anon_sym__if, + anon_sym_if, + anon_sym_else, + [615] = 2, + ACTIONS(240), 9, + sym_num, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_BSLASH, + anon_sym_QMARK, + ACTIONS(242), 9, + anon_sym_TRUE, + anon_sym_T, + anon_sym_FALSE, + anon_sym_F, + sym_word, + anon_sym_eq, + anon_sym__if, + anon_sym_if, + anon_sym_else, + [638] = 4, + ACTIONS(27), 1, + anon_sym_eq, + ACTIONS(25), 4, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(268), 5, + sym_num, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_BSLASH, + anon_sym_QMARK, + ACTIONS(270), 8, + anon_sym_TRUE, + anon_sym_T, + anon_sym_FALSE, + anon_sym_F, + sym_word, + anon_sym__if, + anon_sym_if, + anon_sym_else, + [665] = 4, + ACTIONS(27), 1, + anon_sym_eq, + ACTIONS(25), 4, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(260), 5, + sym_num, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_BSLASH, + anon_sym_QMARK, + ACTIONS(262), 8, + anon_sym_TRUE, + anon_sym_T, + anon_sym_FALSE, + anon_sym_F, + sym_word, + anon_sym__if, + anon_sym_if, + anon_sym_else, + [692] = 2, + ACTIONS(264), 9, + sym_num, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_BSLASH, + anon_sym_QMARK, + ACTIONS(266), 9, + anon_sym_TRUE, + anon_sym_T, + anon_sym_FALSE, + anon_sym_F, + sym_word, + anon_sym_eq, + anon_sym__if, + anon_sym_if, + anon_sym_else, + [715] = 2, + ACTIONS(280), 9, + sym_num, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_BSLASH, + anon_sym_QMARK, + ACTIONS(282), 9, + anon_sym_TRUE, + anon_sym_T, + anon_sym_FALSE, + anon_sym_F, + sym_word, + anon_sym_eq, + anon_sym__if, + anon_sym_if, + anon_sym_else, + [738] = 2, + ACTIONS(288), 5, + sym_num, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_BSLASH, + anon_sym_QMARK, + ACTIONS(290), 7, + anon_sym_TRUE, + anon_sym_T, + anon_sym_FALSE, + anon_sym_F, + sym_word, + anon_sym__if, + anon_sym_if, + [755] = 2, + ACTIONS(292), 5, + sym_num, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_BSLASH, + anon_sym_QMARK, + ACTIONS(294), 7, + anon_sym_TRUE, + anon_sym_T, + anon_sym_FALSE, + anon_sym_F, + sym_word, + anon_sym__if, + anon_sym_if, + [772] = 2, + ACTIONS(244), 5, + sym_num, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_BSLASH, + anon_sym_QMARK, + ACTIONS(246), 7, + anon_sym_TRUE, + anon_sym_T, + anon_sym_FALSE, + anon_sym_F, + sym_word, + anon_sym__if, + anon_sym_if, + [789] = 7, + ACTIONS(296), 1, + anon_sym_LPAREN, + ACTIONS(298), 1, + anon_sym_COMMA, + ACTIONS(301), 1, + anon_sym_RPAREN, + ACTIONS(304), 1, anon_sym_EQ, - STATE(20), 1, + STATE(32), 1, sym_params, - STATE(41), 1, + STATE(129), 1, aux_sym_params_repeat1, - ACTIONS(53), 4, + ACTIONS(212), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, - [443] = 2, - ACTIONS(87), 4, - sym_num, - sym_word, + anon_sym_eq, + [815] = 4, + ACTIONS(296), 1, anon_sym_LPAREN, - anon_sym_BSLASH, - ACTIONS(89), 6, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_COMMA, - anon_sym_RPAREN, - [458] = 4, - ACTIONS(77), 1, - anon_sym_LPAREN, - ACTIONS(85), 1, + ACTIONS(304), 1, anon_sym_EQ, - STATE(20), 1, + STATE(32), 1, sym_params, - ACTIONS(53), 6, + ACTIONS(212), 7, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, + anon_sym_eq, anon_sym_COMMA, anon_sym_RPAREN, - [476] = 1, - ACTIONS(89), 9, - ts_builtin_sym_end, - sym_num, - sym_word, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_LPAREN, - anon_sym_BSLASH, - [488] = 3, - ACTIONS(93), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(95), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(91), 5, - ts_builtin_sym_end, - sym_num, - sym_word, - anon_sym_LPAREN, - anon_sym_BSLASH, - [504] = 3, - ACTIONS(93), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(95), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(97), 5, - ts_builtin_sym_end, - sym_num, - sym_word, - anon_sym_LPAREN, - anon_sym_BSLASH, - [520] = 2, - ACTIONS(95), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(63), 7, - ts_builtin_sym_end, - sym_num, - sym_word, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_LPAREN, - anon_sym_BSLASH, - [534] = 5, - ACTIONS(103), 1, + [834] = 4, + ACTIONS(308), 1, anon_sym_COMMA, - ACTIONS(105), 1, + ACTIONS(310), 1, anon_sym_RPAREN, + STATE(128), 1, + aux_sym_callexp_repeat1, + ACTIONS(306), 5, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_eq, + [851] = 4, + ACTIONS(308), 1, + anon_sym_COMMA, + ACTIONS(312), 1, + anon_sym_RPAREN, + STATE(130), 1, + aux_sym_callexp_repeat1, + ACTIONS(306), 5, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_eq, + [868] = 4, + ACTIONS(308), 1, + anon_sym_COMMA, + ACTIONS(314), 1, + anon_sym_RPAREN, + STATE(126), 1, + aux_sym_callexp_repeat1, + ACTIONS(306), 5, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_eq, + [885] = 2, + ACTIONS(260), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + ACTIONS(306), 5, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_eq, + [897] = 1, + ACTIONS(240), 7, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_eq, + anon_sym_COMMA, + anon_sym_RPAREN, + [907] = 2, + ACTIONS(268), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + ACTIONS(306), 5, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_eq, + [919] = 1, + ACTIONS(272), 7, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_eq, + anon_sym_COMMA, + anon_sym_RPAREN, + [929] = 2, + ACTIONS(316), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + ACTIONS(306), 5, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_eq, + [941] = 1, + ACTIONS(284), 7, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_eq, + anon_sym_COMMA, + anon_sym_RPAREN, + [951] = 2, + ACTIONS(224), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + ACTIONS(306), 5, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_eq, + [963] = 1, + ACTIONS(232), 7, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_eq, + anon_sym_COMMA, + anon_sym_RPAREN, + [973] = 1, + ACTIONS(252), 7, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_eq, + anon_sym_COMMA, + anon_sym_RPAREN, + [983] = 1, + ACTIONS(256), 7, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_eq, + anon_sym_COMMA, + anon_sym_RPAREN, + [993] = 1, + ACTIONS(276), 7, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_eq, + anon_sym_COMMA, + anon_sym_RPAREN, + [1003] = 1, + ACTIONS(280), 7, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_eq, + anon_sym_COMMA, + anon_sym_RPAREN, + [1013] = 1, + ACTIONS(228), 7, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_eq, + anon_sym_COMMA, + anon_sym_RPAREN, + [1023] = 1, + ACTIONS(264), 7, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_eq, + anon_sym_COMMA, + anon_sym_RPAREN, + [1033] = 2, + ACTIONS(318), 1, + anon_sym_COMMA, + ACTIONS(306), 5, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_eq, + [1044] = 2, + ACTIONS(320), 1, + anon_sym_COMMA, + ACTIONS(306), 5, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_eq, + [1055] = 2, + ACTIONS(322), 1, + anon_sym_RPAREN, + ACTIONS(306), 5, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_eq, + [1066] = 2, + ACTIONS(324), 1, + anon_sym_RPAREN, + ACTIONS(306), 5, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_eq, + [1077] = 2, + ACTIONS(326), 1, + anon_sym_RPAREN, + ACTIONS(306), 5, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_eq, + [1088] = 2, + ACTIONS(328), 1, + anon_sym_COMMA, + ACTIONS(306), 5, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_eq, + [1099] = 2, + ACTIONS(330), 1, + anon_sym_COMMA, + ACTIONS(306), 5, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_eq, + [1110] = 2, + ACTIONS(332), 1, + anon_sym_RPAREN, + ACTIONS(306), 5, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_eq, + [1121] = 2, + ACTIONS(334), 1, + anon_sym_RPAREN, + ACTIONS(306), 5, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_eq, + [1132] = 2, + ACTIONS(336), 1, + anon_sym_COMMA, + ACTIONS(306), 5, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_eq, + [1143] = 2, + ACTIONS(338), 1, + anon_sym_COMMA, + ACTIONS(306), 5, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_eq, + [1154] = 2, + ACTIONS(340), 1, + anon_sym_RPAREN, + ACTIONS(306), 5, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_eq, + [1165] = 3, + ACTIONS(342), 1, + anon_sym_COMMA, + ACTIONS(344), 1, + anon_sym_RPAREN, + STATE(129), 1, + aux_sym_params_repeat1, + [1175] = 3, + ACTIONS(308), 1, + anon_sym_COMMA, + ACTIONS(346), 1, + anon_sym_RPAREN, + STATE(127), 1, + aux_sym_callexp_repeat1, + [1185] = 3, + ACTIONS(316), 1, + anon_sym_RPAREN, + ACTIONS(348), 1, + anon_sym_COMMA, + STATE(127), 1, + aux_sym_callexp_repeat1, + [1195] = 3, + ACTIONS(308), 1, + anon_sym_COMMA, + ACTIONS(351), 1, + anon_sym_RPAREN, + STATE(127), 1, + aux_sym_callexp_repeat1, + [1205] = 3, + ACTIONS(342), 1, + anon_sym_COMMA, + ACTIONS(353), 1, + anon_sym_RPAREN, + STATE(131), 1, + aux_sym_params_repeat1, + [1215] = 3, + ACTIONS(308), 1, + anon_sym_COMMA, + ACTIONS(355), 1, + anon_sym_RPAREN, + STATE(127), 1, + aux_sym_callexp_repeat1, + [1225] = 3, + ACTIONS(357), 1, + anon_sym_COMMA, + ACTIONS(360), 1, + anon_sym_RPAREN, + STATE(131), 1, + aux_sym_params_repeat1, + [1235] = 2, + ACTIONS(362), 1, + anon_sym_LPAREN, + STATE(33), 1, + sym_params, + [1242] = 2, + ACTIONS(362), 1, + anon_sym_LPAREN, + STATE(38), 1, + sym_params, + [1249] = 2, + ACTIONS(364), 1, + sym_word, + ACTIONS(366), 1, + anon_sym_RPAREN, + [1256] = 2, + ACTIONS(362), 1, + anon_sym_LPAREN, STATE(42), 1, - aux_sym_callexp_repeat1, - ACTIONS(99), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(101), 2, - anon_sym_STAR, - anon_sym_SLASH, - [552] = 3, - ACTIONS(99), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(101), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(107), 2, - anon_sym_COMMA, - anon_sym_RPAREN, - [565] = 3, - ACTIONS(97), 2, - anon_sym_COMMA, - anon_sym_RPAREN, - ACTIONS(99), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(101), 2, - anon_sym_STAR, - anon_sym_SLASH, - [578] = 2, - ACTIONS(101), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(63), 4, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_COMMA, - anon_sym_RPAREN, - [589] = 3, - ACTIONS(109), 1, - anon_sym_RPAREN, - ACTIONS(99), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(101), 2, - anon_sym_STAR, - anon_sym_SLASH, - [601] = 1, - ACTIONS(111), 4, - sym_num, - sym_word, - anon_sym_LPAREN, - anon_sym_BSLASH, - [608] = 1, - ACTIONS(113), 4, - sym_num, - sym_word, - anon_sym_LPAREN, - anon_sym_BSLASH, - [615] = 1, - ACTIONS(87), 4, - sym_num, - sym_word, - anon_sym_LPAREN, - anon_sym_BSLASH, - [622] = 3, - ACTIONS(115), 1, - anon_sym_COMMA, - ACTIONS(118), 1, - anon_sym_RPAREN, - STATE(40), 1, - aux_sym_params_repeat1, - [632] = 3, - ACTIONS(120), 1, - anon_sym_COMMA, - ACTIONS(122), 1, - anon_sym_RPAREN, - STATE(40), 1, - aux_sym_params_repeat1, - [642] = 3, - ACTIONS(103), 1, - anon_sym_COMMA, - ACTIONS(124), 1, - anon_sym_RPAREN, - STATE(43), 1, - aux_sym_callexp_repeat1, - [652] = 3, - ACTIONS(107), 1, - anon_sym_RPAREN, - ACTIONS(126), 1, - anon_sym_COMMA, - STATE(43), 1, - aux_sym_callexp_repeat1, - [662] = 3, - ACTIONS(120), 1, - anon_sym_COMMA, - ACTIONS(129), 1, - anon_sym_RPAREN, - STATE(41), 1, - aux_sym_params_repeat1, - [672] = 1, - ACTIONS(118), 2, - anon_sym_COMMA, - anon_sym_RPAREN, - [677] = 2, - ACTIONS(131), 1, - sym_word, - ACTIONS(133), 1, - anon_sym_RPAREN, - [684] = 2, - ACTIONS(135), 1, - anon_sym_LPAREN, - STATE(9), 1, sym_params, - [691] = 2, - ACTIONS(135), 1, - anon_sym_LPAREN, - STATE(23), 1, - sym_params, - [698] = 1, - ACTIONS(137), 1, - sym_word, - [702] = 1, - ACTIONS(139), 1, + [1263] = 1, + ACTIONS(360), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [1268] = 1, + ACTIONS(368), 1, ts_builtin_sym_end, + [1272] = 1, + ACTIONS(370), 1, + anon_sym_LPAREN, + [1276] = 1, + ACTIONS(372), 1, + sym_word, + [1280] = 1, + ACTIONS(374), 1, + anon_sym_LPAREN, + [1284] = 1, + ACTIONS(376), 1, + anon_sym_LPAREN, }; static const uint32_t ts_small_parse_table_map[] = { - [SMALL_STATE(4)] = 0, - [SMALL_STATE(5)] = 25, - [SMALL_STATE(6)] = 50, - [SMALL_STATE(7)] = 72, - [SMALL_STATE(8)] = 94, - [SMALL_STATE(9)] = 116, - [SMALL_STATE(10)] = 138, - [SMALL_STATE(11)] = 160, - [SMALL_STATE(12)] = 182, - [SMALL_STATE(13)] = 202, - [SMALL_STATE(14)] = 216, - [SMALL_STATE(15)] = 230, - [SMALL_STATE(16)] = 244, - [SMALL_STATE(17)] = 258, - [SMALL_STATE(18)] = 272, - [SMALL_STATE(19)] = 286, - [SMALL_STATE(20)] = 308, - [SMALL_STATE(21)] = 330, - [SMALL_STATE(22)] = 352, - [SMALL_STATE(23)] = 374, - [SMALL_STATE(24)] = 396, - [SMALL_STATE(25)] = 418, - [SMALL_STATE(26)] = 443, - [SMALL_STATE(27)] = 458, - [SMALL_STATE(28)] = 476, - [SMALL_STATE(29)] = 488, - [SMALL_STATE(30)] = 504, - [SMALL_STATE(31)] = 520, - [SMALL_STATE(32)] = 534, - [SMALL_STATE(33)] = 552, - [SMALL_STATE(34)] = 565, - [SMALL_STATE(35)] = 578, - [SMALL_STATE(36)] = 589, - [SMALL_STATE(37)] = 601, - [SMALL_STATE(38)] = 608, - [SMALL_STATE(39)] = 615, - [SMALL_STATE(40)] = 622, - [SMALL_STATE(41)] = 632, - [SMALL_STATE(42)] = 642, - [SMALL_STATE(43)] = 652, - [SMALL_STATE(44)] = 662, - [SMALL_STATE(45)] = 672, - [SMALL_STATE(46)] = 677, - [SMALL_STATE(47)] = 684, - [SMALL_STATE(48)] = 691, - [SMALL_STATE(49)] = 698, - [SMALL_STATE(50)] = 702, + [SMALL_STATE(61)] = 0, + [SMALL_STATE(62)] = 28, + [SMALL_STATE(63)] = 52, + [SMALL_STATE(64)] = 76, + [SMALL_STATE(65)] = 104, + [SMALL_STATE(66)] = 128, + [SMALL_STATE(67)] = 156, + [SMALL_STATE(68)] = 180, + [SMALL_STATE(69)] = 204, + [SMALL_STATE(70)] = 228, + [SMALL_STATE(71)] = 256, + [SMALL_STATE(72)] = 280, + [SMALL_STATE(73)] = 308, + [SMALL_STATE(74)] = 332, + [SMALL_STATE(75)] = 356, + [SMALL_STATE(76)] = 380, + [SMALL_STATE(77)] = 404, + [SMALL_STATE(78)] = 427, + [SMALL_STATE(79)] = 450, + [SMALL_STATE(80)] = 473, + [SMALL_STATE(81)] = 500, + [SMALL_STATE(82)] = 523, + [SMALL_STATE(83)] = 546, + [SMALL_STATE(84)] = 569, + [SMALL_STATE(85)] = 592, + [SMALL_STATE(86)] = 615, + [SMALL_STATE(87)] = 638, + [SMALL_STATE(88)] = 665, + [SMALL_STATE(89)] = 692, + [SMALL_STATE(90)] = 715, + [SMALL_STATE(91)] = 738, + [SMALL_STATE(92)] = 755, + [SMALL_STATE(93)] = 772, + [SMALL_STATE(94)] = 789, + [SMALL_STATE(95)] = 815, + [SMALL_STATE(96)] = 834, + [SMALL_STATE(97)] = 851, + [SMALL_STATE(98)] = 868, + [SMALL_STATE(99)] = 885, + [SMALL_STATE(100)] = 897, + [SMALL_STATE(101)] = 907, + [SMALL_STATE(102)] = 919, + [SMALL_STATE(103)] = 929, + [SMALL_STATE(104)] = 941, + [SMALL_STATE(105)] = 951, + [SMALL_STATE(106)] = 963, + [SMALL_STATE(107)] = 973, + [SMALL_STATE(108)] = 983, + [SMALL_STATE(109)] = 993, + [SMALL_STATE(110)] = 1003, + [SMALL_STATE(111)] = 1013, + [SMALL_STATE(112)] = 1023, + [SMALL_STATE(113)] = 1033, + [SMALL_STATE(114)] = 1044, + [SMALL_STATE(115)] = 1055, + [SMALL_STATE(116)] = 1066, + [SMALL_STATE(117)] = 1077, + [SMALL_STATE(118)] = 1088, + [SMALL_STATE(119)] = 1099, + [SMALL_STATE(120)] = 1110, + [SMALL_STATE(121)] = 1121, + [SMALL_STATE(122)] = 1132, + [SMALL_STATE(123)] = 1143, + [SMALL_STATE(124)] = 1154, + [SMALL_STATE(125)] = 1165, + [SMALL_STATE(126)] = 1175, + [SMALL_STATE(127)] = 1185, + [SMALL_STATE(128)] = 1195, + [SMALL_STATE(129)] = 1205, + [SMALL_STATE(130)] = 1215, + [SMALL_STATE(131)] = 1225, + [SMALL_STATE(132)] = 1235, + [SMALL_STATE(133)] = 1242, + [SMALL_STATE(134)] = 1249, + [SMALL_STATE(135)] = 1256, + [SMALL_STATE(136)] = 1263, + [SMALL_STATE(137)] = 1268, + [SMALL_STATE(138)] = 1272, + [SMALL_STATE(139)] = 1276, + [SMALL_STATE(140)] = 1280, + [SMALL_STATE(141)] = 1284, }; static const TSParseActionEntry ts_parse_actions[] = { [0] = {.entry = {.count = 0, .reusable = false}}, [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(), [3] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 0, 0, 0), - [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), - [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), - [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), - [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), - [13] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), - [15] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(29), - [18] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(12), - [21] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(6), - [24] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(47), - [27] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1, 0, 0), - [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), - [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), - [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), - [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), - [37] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), - [39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), - [41] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), - [43] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), - [45] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), - [47] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), - [49] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), - [51] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), - [53] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__exp, 1, 0, 0), - [55] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), - [57] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), - [59] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_funcdef, 3, 0, 3), - [61] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parexp, 3, 0, 0), - [63] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binexp, 3, 0, 5), - [65] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_callexp, 4, 0, 1), - [67] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_callexp, 5, 0, 1), - [69] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda, 3, 0, 4), - [71] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), - [73] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), - [75] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), - [77] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), - [79] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__exp, 1, 0, 0), SHIFT(49), - [82] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__exp, 1, 0, 0), SHIFT(37), - [85] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), - [87] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_params, 2, 0, 0), - [89] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_callexp, 3, 0, 1), - [91] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 1, 0, 0), - [93] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), - [95] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), - [97] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_vardef, 3, 0, 2), - [99] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), - [101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), - [103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), - [105] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), - [107] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_callexp_repeat1, 2, 0, 0), - [109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), - [111] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_params, 3, 0, 0), - [113] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_params, 4, 0, 0), - [115] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_params_repeat1, 2, 0, 0), SHIFT_REPEAT(49), - [118] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_params_repeat1, 2, 0, 0), - [120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), - [122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), - [124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), - [126] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_callexp_repeat1, 2, 0, 0), SHIFT_REPEAT(19), - [129] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), - [131] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), - [133] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), - [135] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), - [137] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), - [139] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), + [7] = {.entry = {.count = 1, .reusable = false}}, SHIFT(73), + [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(59), + [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), + [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), + [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), + [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(138), + [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(44), + [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), + [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), + [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), + [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(39), + [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(29), + [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), + [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(102), + [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(95), + [37] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), + [39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), + [41] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), + [43] = {.entry = {.count = 1, .reusable = false}}, SHIFT(140), + [45] = {.entry = {.count = 1, .reusable = false}}, SHIFT(48), + [47] = {.entry = {.count = 1, .reusable = false}}, SHIFT(58), + [49] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), + [51] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), + [53] = {.entry = {.count = 1, .reusable = false}}, SHIFT(79), + [55] = {.entry = {.count = 1, .reusable = false}}, SHIFT(60), + [57] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), + [59] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), + [61] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), + [63] = {.entry = {.count = 1, .reusable = false}}, SHIFT(141), + [65] = {.entry = {.count = 1, .reusable = false}}, SHIFT(52), + [67] = {.entry = {.count = 1, .reusable = false}}, SHIFT(41), + [69] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), + [71] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), + [73] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), + [75] = {.entry = {.count = 1, .reusable = false}}, SHIFT(45), + [77] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), + [79] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), + [81] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), + [83] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), + [85] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), + [87] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), + [89] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(64), + [92] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(73), + [95] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(59), + [98] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(35), + [101] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(17), + [104] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(135), + [107] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(138), + [110] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(44), + [113] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(46), + [116] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1, 0, 0), + [118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), + [120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), + [122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), + [124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), + [126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), + [128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), + [130] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), + [132] = {.entry = {.count = 1, .reusable = false}}, SHIFT(94), + [134] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), + [136] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), + [138] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), + [140] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), + [142] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), + [144] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), + [146] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118), + [148] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), + [150] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), + [152] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), + [154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), + [156] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), + [158] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), + [160] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), + [162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), + [164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), + [166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), + [168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), + [170] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), + [172] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), + [174] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), + [176] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), + [178] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), + [180] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), + [182] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), + [184] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), + [186] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), + [188] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), + [190] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), + [192] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), + [194] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), + [196] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), + [198] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), + [200] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), + [202] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116), + [204] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122), + [206] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), + [208] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), + [210] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), + [212] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__exp, 1, 0, 0), + [214] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__exp, 1, 0, 0), + [216] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), + [218] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), + [220] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), + [222] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), + [224] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_vardef, 3, 0, 2), + [226] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_vardef, 3, 0, 2), + [228] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binexp, 3, 0, 5), + [230] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binexp, 3, 0, 5), + [232] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_funcdef, 3, 0, 3), + [234] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_funcdef, 3, 0, 3), + [236] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 1, 0, 0), + [238] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 1, 0, 0), + [240] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_callexp, 4, 0, 1), + [242] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_callexp, 4, 0, 1), + [244] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_params, 2, 0, 0), + [246] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_params, 2, 0, 0), + [248] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_callexp, 3, 0, 1), + [250] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_callexp, 3, 0, 1), + [252] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parexp, 3, 0, 0), + [254] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parexp, 3, 0, 0), + [256] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 3, 0, 0), + [258] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 3, 0, 0), + [260] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ifexp, 4, 0, 6), + [262] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ifexp, 4, 0, 6), + [264] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_callexp, 5, 0, 1), + [266] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_callexp, 5, 0, 1), + [268] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ifexp, 5, 0, 7), + [270] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ifexp, 5, 0, 7), + [272] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bool, 1, 0, 0), + [274] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bool, 1, 0, 0), + [276] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda, 3, 0, 4), + [278] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda, 3, 0, 4), + [280] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ifexp, 8, 0, 8), + [282] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ifexp, 8, 0, 8), + [284] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 2, 0, 0), + [286] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 2, 0, 0), + [288] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_params, 3, 0, 0), + [290] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_params, 3, 0, 0), + [292] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_params, 4, 0, 0), + [294] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_params, 4, 0, 0), + [296] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), + [298] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__exp, 1, 0, 0), SHIFT(139), + [301] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__exp, 1, 0, 0), SHIFT(91), + [304] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), + [306] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), + [308] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), + [310] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), + [312] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), + [314] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), + [316] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_callexp_repeat1, 2, 0, 0), + [318] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), + [320] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), + [322] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), + [324] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), + [326] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), + [328] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), + [330] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), + [332] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), + [334] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), + [336] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), + [338] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), + [340] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), + [342] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), + [344] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), + [346] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), + [348] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_callexp_repeat1, 2, 0, 0), SHIFT_REPEAT(27), + [351] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), + [353] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), + [355] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), + [357] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_params_repeat1, 2, 0, 0), SHIFT_REPEAT(139), + [360] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_params_repeat1, 2, 0, 0), + [362] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), + [364] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), + [366] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), + [368] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [370] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), + [372] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), + [374] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), + [376] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), }; #ifdef __cplusplus