From ae2350766d3966f0c805fba675510a649307c9f0 Mon Sep 17 00:00:00 2001 From: Viktor Danov Date: Mon, 26 Sep 2022 18:03:13 +0300 Subject: [PATCH] update grammar --- Abacus.g4 | 15 ++- parser/Abacus.interp | 4 +- parser/Abacus.tokens | 13 +-- parser/AbacusLexer.interp | 8 +- parser/AbacusLexer.tokens | 13 +-- parser/abacus_lexer.go | 198 ++++++++++++++++++++------------------ parser/abacus_parser.go | 41 ++++---- 7 files changed, 158 insertions(+), 134 deletions(-) diff --git a/Abacus.g4 b/Abacus.g4 index 4071ff4..35f9713 100644 --- a/Abacus.g4 +++ b/Abacus.g4 @@ -120,14 +120,21 @@ SCIENTIFIC_NUMBER : NUMBER (('e' | 'E') SIGN? NUMBER)? ; +NUMBER + : WHOLE_NUMBER + | DECIMAL_NUMBER + ; -fragment SIGN: -'+'|'-'; - -fragment NUMBER +fragment WHOLE_NUMBER : DIGITS+ (POINT DIGITS +)? ; +fragment DECIMAL_NUMBER + : POINT DIGITS+ + ; + +fragment SIGN: +'+'|'-'; VARIABLE : VALID_ID_START VALID_ID_CHAR* diff --git a/parser/Abacus.interp b/parser/Abacus.interp index ceb5a3b..9e69d40 100644 --- a/parser/Abacus.interp +++ b/parser/Abacus.interp @@ -31,6 +31,7 @@ null null null null +null token symbolic names: null @@ -59,6 +60,7 @@ LSQPAREN RSQPAREN CONSTANT SCIENTIFIC_NUMBER +NUMBER VARIABLE LAMBDA_VARIABLE DIGITS @@ -85,4 +87,4 @@ function atn: -[4, 1, 31, 229, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 3, 0, 42, 8, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 51, 8, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 3, 2, 72, 8, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 3, 2, 81, 8, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 3, 2, 92, 8, 2, 1, 2, 1, 2, 1, 2, 5, 2, 97, 8, 2, 10, 2, 12, 2, 100, 9, 2, 1, 3, 1, 3, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 3, 4, 112, 8, 4, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 3, 5, 125, 8, 5, 1, 5, 1, 5, 3, 5, 129, 8, 5, 1, 5, 3, 5, 132, 8, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 5, 5, 149, 8, 5, 10, 5, 12, 5, 152, 9, 5, 1, 6, 1, 6, 1, 6, 1, 6, 3, 6, 158, 8, 6, 1, 7, 1, 7, 1, 7, 1, 7, 5, 7, 164, 8, 7, 10, 7, 12, 7, 167, 9, 7, 3, 7, 169, 8, 7, 1, 7, 1, 7, 1, 8, 1, 8, 3, 8, 175, 8, 8, 1, 8, 1, 8, 3, 8, 179, 8, 8, 1, 9, 1, 9, 1, 9, 3, 9, 184, 8, 9, 1, 10, 1, 10, 1, 10, 3, 10, 189, 8, 10, 1, 10, 1, 10, 1, 10, 1, 10, 3, 10, 195, 8, 10, 1, 10, 3, 10, 198, 8, 10, 1, 11, 1, 11, 1, 11, 3, 11, 203, 8, 11, 1, 11, 1, 11, 1, 11, 1, 11, 3, 11, 209, 8, 11, 1, 11, 3, 11, 212, 8, 11, 1, 12, 1, 12, 1, 12, 1, 12, 3, 12, 218, 8, 12, 1, 13, 1, 13, 3, 13, 222, 8, 13, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 0, 2, 4, 10, 15, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 0, 6, 1, 0, 5, 7, 1, 0, 1, 2, 1, 0, 14, 15, 1, 0, 16, 17, 2, 0, 3, 3, 9, 9, 1, 0, 26, 27, 254, 0, 41, 1, 0, 0, 0, 2, 50, 1, 0, 0, 0, 4, 91, 1, 0, 0, 0, 6, 101, 1, 0, 0, 0, 8, 111, 1, 0, 0, 0, 10, 131, 1, 0, 0, 0, 12, 153, 1, 0, 0, 0, 14, 159, 1, 0, 0, 0, 16, 174, 1, 0, 0, 0, 18, 180, 1, 0, 0, 0, 20, 197, 1, 0, 0, 0, 22, 211, 1, 0, 0, 0, 24, 217, 1, 0, 0, 0, 26, 221, 1, 0, 0, 0, 28, 223, 1, 0, 0, 0, 30, 31, 3, 2, 1, 0, 31, 32, 5, 0, 0, 1, 32, 42, 1, 0, 0, 0, 33, 34, 3, 4, 2, 0, 34, 35, 5, 0, 0, 1, 35, 42, 1, 0, 0, 0, 36, 37, 3, 18, 9, 0, 37, 38, 5, 0, 0, 1, 38, 42, 1, 0, 0, 0, 39, 40, 5, 27, 0, 0, 40, 42, 5, 0, 0, 1, 41, 30, 1, 0, 0, 0, 41, 33, 1, 0, 0, 0, 41, 36, 1, 0, 0, 0, 41, 39, 1, 0, 0, 0, 42, 1, 1, 0, 0, 0, 43, 44, 3, 22, 11, 0, 44, 45, 5, 9, 0, 0, 45, 46, 3, 18, 9, 0, 46, 51, 1, 0, 0, 0, 47, 48, 5, 27, 0, 0, 48, 49, 5, 9, 0, 0, 49, 51, 3, 8, 4, 0, 50, 43, 1, 0, 0, 0, 50, 47, 1, 0, 0, 0, 51, 3, 1, 0, 0, 0, 52, 53, 6, 2, -1, 0, 53, 54, 3, 10, 5, 0, 54, 55, 5, 9, 0, 0, 55, 56, 5, 9, 0, 0, 56, 57, 3, 10, 5, 0, 57, 92, 1, 0, 0, 0, 58, 59, 3, 10, 5, 0, 59, 60, 5, 10, 0, 0, 60, 61, 3, 10, 5, 0, 61, 92, 1, 0, 0, 0, 62, 63, 3, 10, 5, 0, 63, 64, 5, 11, 0, 0, 64, 65, 3, 10, 5, 0, 65, 92, 1, 0, 0, 0, 66, 71, 3, 10, 5, 0, 67, 68, 5, 10, 0, 0, 68, 72, 5, 9, 0, 0, 69, 70, 5, 9, 0, 0, 70, 72, 5, 10, 0, 0, 71, 67, 1, 0, 0, 0, 71, 69, 1, 0, 0, 0, 72, 73, 1, 0, 0, 0, 73, 74, 3, 10, 5, 0, 74, 92, 1, 0, 0, 0, 75, 80, 3, 10, 5, 0, 76, 77, 5, 11, 0, 0, 77, 81, 5, 9, 0, 0, 78, 79, 5, 9, 0, 0, 79, 81, 5, 11, 0, 0, 80, 76, 1, 0, 0, 0, 80, 78, 1, 0, 0, 0, 81, 82, 1, 0, 0, 0, 82, 83, 3, 10, 5, 0, 83, 92, 1, 0, 0, 0, 84, 85, 5, 8, 0, 0, 85, 92, 3, 4, 2, 3, 86, 87, 5, 20, 0, 0, 87, 88, 3, 4, 2, 0, 88, 89, 5, 21, 0, 0, 89, 92, 1, 0, 0, 0, 90, 92, 3, 6, 3, 0, 91, 52, 1, 0, 0, 0, 91, 58, 1, 0, 0, 0, 91, 62, 1, 0, 0, 0, 91, 66, 1, 0, 0, 0, 91, 75, 1, 0, 0, 0, 91, 84, 1, 0, 0, 0, 91, 86, 1, 0, 0, 0, 91, 90, 1, 0, 0, 0, 92, 98, 1, 0, 0, 0, 93, 94, 10, 4, 0, 0, 94, 95, 7, 0, 0, 0, 95, 97, 3, 4, 2, 5, 96, 93, 1, 0, 0, 0, 97, 100, 1, 0, 0, 0, 98, 96, 1, 0, 0, 0, 98, 99, 1, 0, 0, 0, 99, 5, 1, 0, 0, 0, 100, 98, 1, 0, 0, 0, 101, 102, 7, 1, 0, 0, 102, 7, 1, 0, 0, 0, 103, 104, 3, 20, 10, 0, 104, 105, 5, 12, 0, 0, 105, 106, 3, 18, 9, 0, 106, 112, 1, 0, 0, 0, 107, 108, 5, 20, 0, 0, 108, 109, 5, 21, 0, 0, 109, 110, 5, 12, 0, 0, 110, 112, 3, 18, 9, 0, 111, 103, 1, 0, 0, 0, 111, 107, 1, 0, 0, 0, 112, 9, 1, 0, 0, 0, 113, 114, 6, 5, -1, 0, 114, 115, 3, 26, 13, 0, 115, 116, 3, 10, 5, 9, 116, 132, 1, 0, 0, 0, 117, 118, 5, 20, 0, 0, 118, 119, 3, 10, 5, 0, 119, 120, 5, 21, 0, 0, 120, 132, 1, 0, 0, 0, 121, 122, 5, 27, 0, 0, 122, 124, 5, 20, 0, 0, 123, 125, 3, 16, 8, 0, 124, 123, 1, 0, 0, 0, 124, 125, 1, 0, 0, 0, 125, 126, 1, 0, 0, 0, 126, 128, 5, 21, 0, 0, 127, 129, 3, 14, 7, 0, 128, 127, 1, 0, 0, 0, 128, 129, 1, 0, 0, 0, 129, 132, 1, 0, 0, 0, 130, 132, 3, 24, 12, 0, 131, 113, 1, 0, 0, 0, 131, 117, 1, 0, 0, 0, 131, 121, 1, 0, 0, 0, 131, 130, 1, 0, 0, 0, 132, 150, 1, 0, 0, 0, 133, 134, 10, 7, 0, 0, 134, 135, 5, 13, 0, 0, 135, 149, 3, 10, 5, 8, 136, 137, 10, 6, 0, 0, 137, 138, 5, 18, 0, 0, 138, 139, 5, 18, 0, 0, 139, 149, 3, 10, 5, 7, 140, 141, 10, 5, 0, 0, 141, 142, 7, 2, 0, 0, 142, 149, 3, 10, 5, 6, 143, 144, 10, 4, 0, 0, 144, 145, 7, 3, 0, 0, 145, 149, 3, 10, 5, 5, 146, 147, 10, 8, 0, 0, 147, 149, 5, 18, 0, 0, 148, 133, 1, 0, 0, 0, 148, 136, 1, 0, 0, 0, 148, 140, 1, 0, 0, 0, 148, 143, 1, 0, 0, 0, 148, 146, 1, 0, 0, 0, 149, 152, 1, 0, 0, 0, 150, 148, 1, 0, 0, 0, 150, 151, 1, 0, 0, 0, 151, 11, 1, 0, 0, 0, 152, 150, 1, 0, 0, 0, 153, 154, 5, 26, 0, 0, 154, 157, 7, 4, 0, 0, 155, 158, 3, 4, 2, 0, 156, 158, 3, 10, 5, 0, 157, 155, 1, 0, 0, 0, 157, 156, 1, 0, 0, 0, 158, 13, 1, 0, 0, 0, 159, 168, 5, 22, 0, 0, 160, 165, 3, 12, 6, 0, 161, 162, 5, 4, 0, 0, 162, 164, 3, 12, 6, 0, 163, 161, 1, 0, 0, 0, 164, 167, 1, 0, 0, 0, 165, 163, 1, 0, 0, 0, 165, 166, 1, 0, 0, 0, 166, 169, 1, 0, 0, 0, 167, 165, 1, 0, 0, 0, 168, 160, 1, 0, 0, 0, 168, 169, 1, 0, 0, 0, 169, 170, 1, 0, 0, 0, 170, 171, 5, 23, 0, 0, 171, 15, 1, 0, 0, 0, 172, 175, 3, 10, 5, 0, 173, 175, 5, 27, 0, 0, 174, 172, 1, 0, 0, 0, 174, 173, 1, 0, 0, 0, 175, 178, 1, 0, 0, 0, 176, 177, 5, 4, 0, 0, 177, 179, 3, 16, 8, 0, 178, 176, 1, 0, 0, 0, 178, 179, 1, 0, 0, 0, 179, 17, 1, 0, 0, 0, 180, 183, 3, 10, 5, 0, 181, 182, 5, 4, 0, 0, 182, 184, 3, 18, 9, 0, 183, 181, 1, 0, 0, 0, 183, 184, 1, 0, 0, 0, 184, 19, 1, 0, 0, 0, 185, 188, 7, 5, 0, 0, 186, 187, 5, 4, 0, 0, 187, 189, 3, 20, 10, 0, 188, 186, 1, 0, 0, 0, 188, 189, 1, 0, 0, 0, 189, 198, 1, 0, 0, 0, 190, 191, 5, 20, 0, 0, 191, 194, 7, 5, 0, 0, 192, 193, 5, 4, 0, 0, 193, 195, 3, 20, 10, 0, 194, 192, 1, 0, 0, 0, 194, 195, 1, 0, 0, 0, 195, 196, 1, 0, 0, 0, 196, 198, 5, 21, 0, 0, 197, 185, 1, 0, 0, 0, 197, 190, 1, 0, 0, 0, 198, 21, 1, 0, 0, 0, 199, 202, 5, 26, 0, 0, 200, 201, 5, 4, 0, 0, 201, 203, 3, 22, 11, 0, 202, 200, 1, 0, 0, 0, 202, 203, 1, 0, 0, 0, 203, 212, 1, 0, 0, 0, 204, 205, 5, 20, 0, 0, 205, 208, 5, 26, 0, 0, 206, 207, 5, 4, 0, 0, 207, 209, 3, 22, 11, 0, 208, 206, 1, 0, 0, 0, 208, 209, 1, 0, 0, 0, 209, 210, 1, 0, 0, 0, 210, 212, 5, 21, 0, 0, 211, 199, 1, 0, 0, 0, 211, 204, 1, 0, 0, 0, 212, 23, 1, 0, 0, 0, 213, 218, 3, 28, 14, 0, 214, 218, 5, 24, 0, 0, 215, 218, 5, 25, 0, 0, 216, 218, 5, 26, 0, 0, 217, 213, 1, 0, 0, 0, 217, 214, 1, 0, 0, 0, 217, 215, 1, 0, 0, 0, 217, 216, 1, 0, 0, 0, 218, 25, 1, 0, 0, 0, 219, 222, 5, 16, 0, 0, 220, 222, 5, 17, 0, 0, 221, 219, 1, 0, 0, 0, 221, 220, 1, 0, 0, 0, 222, 27, 1, 0, 0, 0, 223, 224, 5, 26, 0, 0, 224, 225, 5, 20, 0, 0, 225, 226, 3, 18, 9, 0, 226, 227, 5, 21, 0, 0, 227, 29, 1, 0, 0, 0, 26, 41, 50, 71, 80, 91, 98, 111, 124, 128, 131, 148, 150, 157, 165, 168, 174, 178, 183, 188, 194, 197, 202, 208, 211, 217, 221] \ No newline at end of file +[4, 1, 32, 229, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 3, 0, 42, 8, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 51, 8, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 3, 2, 72, 8, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 3, 2, 81, 8, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 3, 2, 92, 8, 2, 1, 2, 1, 2, 1, 2, 5, 2, 97, 8, 2, 10, 2, 12, 2, 100, 9, 2, 1, 3, 1, 3, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 3, 4, 112, 8, 4, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 3, 5, 125, 8, 5, 1, 5, 1, 5, 3, 5, 129, 8, 5, 1, 5, 3, 5, 132, 8, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 5, 5, 149, 8, 5, 10, 5, 12, 5, 152, 9, 5, 1, 6, 1, 6, 1, 6, 1, 6, 3, 6, 158, 8, 6, 1, 7, 1, 7, 1, 7, 1, 7, 5, 7, 164, 8, 7, 10, 7, 12, 7, 167, 9, 7, 3, 7, 169, 8, 7, 1, 7, 1, 7, 1, 8, 1, 8, 3, 8, 175, 8, 8, 1, 8, 1, 8, 3, 8, 179, 8, 8, 1, 9, 1, 9, 1, 9, 3, 9, 184, 8, 9, 1, 10, 1, 10, 1, 10, 3, 10, 189, 8, 10, 1, 10, 1, 10, 1, 10, 1, 10, 3, 10, 195, 8, 10, 1, 10, 3, 10, 198, 8, 10, 1, 11, 1, 11, 1, 11, 3, 11, 203, 8, 11, 1, 11, 1, 11, 1, 11, 1, 11, 3, 11, 209, 8, 11, 1, 11, 3, 11, 212, 8, 11, 1, 12, 1, 12, 1, 12, 1, 12, 3, 12, 218, 8, 12, 1, 13, 1, 13, 3, 13, 222, 8, 13, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 0, 2, 4, 10, 15, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 0, 6, 1, 0, 5, 7, 1, 0, 1, 2, 1, 0, 14, 15, 1, 0, 16, 17, 2, 0, 3, 3, 9, 9, 1, 0, 27, 28, 254, 0, 41, 1, 0, 0, 0, 2, 50, 1, 0, 0, 0, 4, 91, 1, 0, 0, 0, 6, 101, 1, 0, 0, 0, 8, 111, 1, 0, 0, 0, 10, 131, 1, 0, 0, 0, 12, 153, 1, 0, 0, 0, 14, 159, 1, 0, 0, 0, 16, 174, 1, 0, 0, 0, 18, 180, 1, 0, 0, 0, 20, 197, 1, 0, 0, 0, 22, 211, 1, 0, 0, 0, 24, 217, 1, 0, 0, 0, 26, 221, 1, 0, 0, 0, 28, 223, 1, 0, 0, 0, 30, 31, 3, 2, 1, 0, 31, 32, 5, 0, 0, 1, 32, 42, 1, 0, 0, 0, 33, 34, 3, 4, 2, 0, 34, 35, 5, 0, 0, 1, 35, 42, 1, 0, 0, 0, 36, 37, 3, 18, 9, 0, 37, 38, 5, 0, 0, 1, 38, 42, 1, 0, 0, 0, 39, 40, 5, 28, 0, 0, 40, 42, 5, 0, 0, 1, 41, 30, 1, 0, 0, 0, 41, 33, 1, 0, 0, 0, 41, 36, 1, 0, 0, 0, 41, 39, 1, 0, 0, 0, 42, 1, 1, 0, 0, 0, 43, 44, 3, 22, 11, 0, 44, 45, 5, 9, 0, 0, 45, 46, 3, 18, 9, 0, 46, 51, 1, 0, 0, 0, 47, 48, 5, 28, 0, 0, 48, 49, 5, 9, 0, 0, 49, 51, 3, 8, 4, 0, 50, 43, 1, 0, 0, 0, 50, 47, 1, 0, 0, 0, 51, 3, 1, 0, 0, 0, 52, 53, 6, 2, -1, 0, 53, 54, 3, 10, 5, 0, 54, 55, 5, 9, 0, 0, 55, 56, 5, 9, 0, 0, 56, 57, 3, 10, 5, 0, 57, 92, 1, 0, 0, 0, 58, 59, 3, 10, 5, 0, 59, 60, 5, 10, 0, 0, 60, 61, 3, 10, 5, 0, 61, 92, 1, 0, 0, 0, 62, 63, 3, 10, 5, 0, 63, 64, 5, 11, 0, 0, 64, 65, 3, 10, 5, 0, 65, 92, 1, 0, 0, 0, 66, 71, 3, 10, 5, 0, 67, 68, 5, 10, 0, 0, 68, 72, 5, 9, 0, 0, 69, 70, 5, 9, 0, 0, 70, 72, 5, 10, 0, 0, 71, 67, 1, 0, 0, 0, 71, 69, 1, 0, 0, 0, 72, 73, 1, 0, 0, 0, 73, 74, 3, 10, 5, 0, 74, 92, 1, 0, 0, 0, 75, 80, 3, 10, 5, 0, 76, 77, 5, 11, 0, 0, 77, 81, 5, 9, 0, 0, 78, 79, 5, 9, 0, 0, 79, 81, 5, 11, 0, 0, 80, 76, 1, 0, 0, 0, 80, 78, 1, 0, 0, 0, 81, 82, 1, 0, 0, 0, 82, 83, 3, 10, 5, 0, 83, 92, 1, 0, 0, 0, 84, 85, 5, 8, 0, 0, 85, 92, 3, 4, 2, 3, 86, 87, 5, 20, 0, 0, 87, 88, 3, 4, 2, 0, 88, 89, 5, 21, 0, 0, 89, 92, 1, 0, 0, 0, 90, 92, 3, 6, 3, 0, 91, 52, 1, 0, 0, 0, 91, 58, 1, 0, 0, 0, 91, 62, 1, 0, 0, 0, 91, 66, 1, 0, 0, 0, 91, 75, 1, 0, 0, 0, 91, 84, 1, 0, 0, 0, 91, 86, 1, 0, 0, 0, 91, 90, 1, 0, 0, 0, 92, 98, 1, 0, 0, 0, 93, 94, 10, 4, 0, 0, 94, 95, 7, 0, 0, 0, 95, 97, 3, 4, 2, 5, 96, 93, 1, 0, 0, 0, 97, 100, 1, 0, 0, 0, 98, 96, 1, 0, 0, 0, 98, 99, 1, 0, 0, 0, 99, 5, 1, 0, 0, 0, 100, 98, 1, 0, 0, 0, 101, 102, 7, 1, 0, 0, 102, 7, 1, 0, 0, 0, 103, 104, 3, 20, 10, 0, 104, 105, 5, 12, 0, 0, 105, 106, 3, 18, 9, 0, 106, 112, 1, 0, 0, 0, 107, 108, 5, 20, 0, 0, 108, 109, 5, 21, 0, 0, 109, 110, 5, 12, 0, 0, 110, 112, 3, 18, 9, 0, 111, 103, 1, 0, 0, 0, 111, 107, 1, 0, 0, 0, 112, 9, 1, 0, 0, 0, 113, 114, 6, 5, -1, 0, 114, 115, 3, 26, 13, 0, 115, 116, 3, 10, 5, 9, 116, 132, 1, 0, 0, 0, 117, 118, 5, 20, 0, 0, 118, 119, 3, 10, 5, 0, 119, 120, 5, 21, 0, 0, 120, 132, 1, 0, 0, 0, 121, 122, 5, 28, 0, 0, 122, 124, 5, 20, 0, 0, 123, 125, 3, 16, 8, 0, 124, 123, 1, 0, 0, 0, 124, 125, 1, 0, 0, 0, 125, 126, 1, 0, 0, 0, 126, 128, 5, 21, 0, 0, 127, 129, 3, 14, 7, 0, 128, 127, 1, 0, 0, 0, 128, 129, 1, 0, 0, 0, 129, 132, 1, 0, 0, 0, 130, 132, 3, 24, 12, 0, 131, 113, 1, 0, 0, 0, 131, 117, 1, 0, 0, 0, 131, 121, 1, 0, 0, 0, 131, 130, 1, 0, 0, 0, 132, 150, 1, 0, 0, 0, 133, 134, 10, 7, 0, 0, 134, 135, 5, 13, 0, 0, 135, 149, 3, 10, 5, 8, 136, 137, 10, 6, 0, 0, 137, 138, 5, 18, 0, 0, 138, 139, 5, 18, 0, 0, 139, 149, 3, 10, 5, 7, 140, 141, 10, 5, 0, 0, 141, 142, 7, 2, 0, 0, 142, 149, 3, 10, 5, 6, 143, 144, 10, 4, 0, 0, 144, 145, 7, 3, 0, 0, 145, 149, 3, 10, 5, 5, 146, 147, 10, 8, 0, 0, 147, 149, 5, 18, 0, 0, 148, 133, 1, 0, 0, 0, 148, 136, 1, 0, 0, 0, 148, 140, 1, 0, 0, 0, 148, 143, 1, 0, 0, 0, 148, 146, 1, 0, 0, 0, 149, 152, 1, 0, 0, 0, 150, 148, 1, 0, 0, 0, 150, 151, 1, 0, 0, 0, 151, 11, 1, 0, 0, 0, 152, 150, 1, 0, 0, 0, 153, 154, 5, 27, 0, 0, 154, 157, 7, 4, 0, 0, 155, 158, 3, 4, 2, 0, 156, 158, 3, 10, 5, 0, 157, 155, 1, 0, 0, 0, 157, 156, 1, 0, 0, 0, 158, 13, 1, 0, 0, 0, 159, 168, 5, 22, 0, 0, 160, 165, 3, 12, 6, 0, 161, 162, 5, 4, 0, 0, 162, 164, 3, 12, 6, 0, 163, 161, 1, 0, 0, 0, 164, 167, 1, 0, 0, 0, 165, 163, 1, 0, 0, 0, 165, 166, 1, 0, 0, 0, 166, 169, 1, 0, 0, 0, 167, 165, 1, 0, 0, 0, 168, 160, 1, 0, 0, 0, 168, 169, 1, 0, 0, 0, 169, 170, 1, 0, 0, 0, 170, 171, 5, 23, 0, 0, 171, 15, 1, 0, 0, 0, 172, 175, 3, 10, 5, 0, 173, 175, 5, 28, 0, 0, 174, 172, 1, 0, 0, 0, 174, 173, 1, 0, 0, 0, 175, 178, 1, 0, 0, 0, 176, 177, 5, 4, 0, 0, 177, 179, 3, 16, 8, 0, 178, 176, 1, 0, 0, 0, 178, 179, 1, 0, 0, 0, 179, 17, 1, 0, 0, 0, 180, 183, 3, 10, 5, 0, 181, 182, 5, 4, 0, 0, 182, 184, 3, 18, 9, 0, 183, 181, 1, 0, 0, 0, 183, 184, 1, 0, 0, 0, 184, 19, 1, 0, 0, 0, 185, 188, 7, 5, 0, 0, 186, 187, 5, 4, 0, 0, 187, 189, 3, 20, 10, 0, 188, 186, 1, 0, 0, 0, 188, 189, 1, 0, 0, 0, 189, 198, 1, 0, 0, 0, 190, 191, 5, 20, 0, 0, 191, 194, 7, 5, 0, 0, 192, 193, 5, 4, 0, 0, 193, 195, 3, 20, 10, 0, 194, 192, 1, 0, 0, 0, 194, 195, 1, 0, 0, 0, 195, 196, 1, 0, 0, 0, 196, 198, 5, 21, 0, 0, 197, 185, 1, 0, 0, 0, 197, 190, 1, 0, 0, 0, 198, 21, 1, 0, 0, 0, 199, 202, 5, 27, 0, 0, 200, 201, 5, 4, 0, 0, 201, 203, 3, 22, 11, 0, 202, 200, 1, 0, 0, 0, 202, 203, 1, 0, 0, 0, 203, 212, 1, 0, 0, 0, 204, 205, 5, 20, 0, 0, 205, 208, 5, 27, 0, 0, 206, 207, 5, 4, 0, 0, 207, 209, 3, 22, 11, 0, 208, 206, 1, 0, 0, 0, 208, 209, 1, 0, 0, 0, 209, 210, 1, 0, 0, 0, 210, 212, 5, 21, 0, 0, 211, 199, 1, 0, 0, 0, 211, 204, 1, 0, 0, 0, 212, 23, 1, 0, 0, 0, 213, 218, 3, 28, 14, 0, 214, 218, 5, 24, 0, 0, 215, 218, 5, 25, 0, 0, 216, 218, 5, 27, 0, 0, 217, 213, 1, 0, 0, 0, 217, 214, 1, 0, 0, 0, 217, 215, 1, 0, 0, 0, 217, 216, 1, 0, 0, 0, 218, 25, 1, 0, 0, 0, 219, 222, 5, 16, 0, 0, 220, 222, 5, 17, 0, 0, 221, 219, 1, 0, 0, 0, 221, 220, 1, 0, 0, 0, 222, 27, 1, 0, 0, 0, 223, 224, 5, 27, 0, 0, 224, 225, 5, 20, 0, 0, 225, 226, 3, 18, 9, 0, 226, 227, 5, 21, 0, 0, 227, 29, 1, 0, 0, 0, 26, 41, 50, 71, 80, 91, 98, 111, 124, 128, 131, 148, 150, 157, 165, 168, 174, 178, 183, 188, 194, 197, 202, 208, 211, 217, 221] \ No newline at end of file diff --git a/parser/Abacus.tokens b/parser/Abacus.tokens index 359c0a6..122d91a 100644 --- a/parser/Abacus.tokens +++ b/parser/Abacus.tokens @@ -23,12 +23,13 @@ LSQPAREN=22 RSQPAREN=23 CONSTANT=24 SCIENTIFIC_NUMBER=25 -VARIABLE=26 -LAMBDA_VARIABLE=27 -DIGITS=28 -UPPERCASE=29 -LOWERCASE=30 -WHITESPACE=31 +NUMBER=26 +VARIABLE=27 +LAMBDA_VARIABLE=28 +DIGITS=29 +UPPERCASE=30 +LOWERCASE=31 +WHITESPACE=32 'true'=1 'false'=2 ':'=3 diff --git a/parser/AbacusLexer.interp b/parser/AbacusLexer.interp index aa14902..129c975 100644 --- a/parser/AbacusLexer.interp +++ b/parser/AbacusLexer.interp @@ -31,6 +31,7 @@ null null null null +null token symbolic names: null @@ -59,6 +60,7 @@ LSQPAREN RSQPAREN CONSTANT SCIENTIFIC_NUMBER +NUMBER VARIABLE LAMBDA_VARIABLE DIGITS @@ -92,8 +94,10 @@ LSQPAREN RSQPAREN CONSTANT SCIENTIFIC_NUMBER -SIGN NUMBER +WHOLE_NUMBER +DECIMAL_NUMBER +SIGN VARIABLE LAMBDA_VARIABLE VALID_ID_START @@ -111,4 +115,4 @@ mode names: DEFAULT_MODE atn: -[4, 0, 31, 202, 6, -1, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30, 7, 30, 2, 31, 7, 31, 2, 32, 7, 32, 2, 33, 7, 33, 2, 34, 7, 34, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 3, 1, 3, 1, 4, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, 6, 1, 6, 1, 6, 1, 6, 1, 7, 1, 7, 1, 8, 1, 8, 1, 9, 1, 9, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 1, 11, 3, 11, 109, 8, 11, 1, 12, 1, 12, 1, 12, 3, 12, 114, 8, 12, 1, 13, 1, 13, 1, 14, 1, 14, 1, 15, 1, 15, 1, 16, 1, 16, 1, 17, 1, 17, 1, 18, 1, 18, 1, 19, 1, 19, 1, 20, 1, 20, 1, 21, 1, 21, 1, 22, 1, 22, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 3, 23, 142, 8, 23, 1, 24, 1, 24, 1, 24, 3, 24, 147, 8, 24, 1, 24, 3, 24, 150, 8, 24, 1, 25, 1, 25, 1, 26, 4, 26, 155, 8, 26, 11, 26, 12, 26, 156, 1, 26, 1, 26, 4, 26, 161, 8, 26, 11, 26, 12, 26, 162, 3, 26, 165, 8, 26, 1, 27, 1, 27, 5, 27, 169, 8, 27, 10, 27, 12, 27, 172, 9, 27, 1, 28, 1, 28, 5, 28, 176, 8, 28, 10, 28, 12, 28, 179, 9, 28, 1, 29, 1, 29, 3, 29, 183, 8, 29, 1, 30, 1, 30, 1, 30, 3, 30, 188, 8, 30, 1, 31, 1, 31, 1, 32, 1, 32, 1, 33, 1, 33, 1, 34, 4, 34, 197, 8, 34, 11, 34, 12, 34, 198, 1, 34, 1, 34, 0, 0, 35, 1, 1, 3, 2, 5, 3, 7, 4, 9, 5, 11, 6, 13, 7, 15, 8, 17, 9, 19, 10, 21, 11, 23, 12, 25, 13, 27, 14, 29, 15, 31, 16, 33, 17, 35, 18, 37, 19, 39, 20, 41, 21, 43, 22, 45, 23, 47, 24, 49, 25, 51, 0, 53, 0, 55, 26, 57, 27, 59, 0, 61, 0, 63, 28, 65, 29, 67, 30, 69, 31, 1, 0, 4, 3, 0, 33, 33, 126, 126, 172, 172, 2, 0, 69, 69, 101, 101, 2, 0, 43, 43, 45, 45, 3, 0, 9, 10, 13, 13, 32, 32, 212, 0, 1, 1, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 5, 1, 0, 0, 0, 0, 7, 1, 0, 0, 0, 0, 9, 1, 0, 0, 0, 0, 11, 1, 0, 0, 0, 0, 13, 1, 0, 0, 0, 0, 15, 1, 0, 0, 0, 0, 17, 1, 0, 0, 0, 0, 19, 1, 0, 0, 0, 0, 21, 1, 0, 0, 0, 0, 23, 1, 0, 0, 0, 0, 25, 1, 0, 0, 0, 0, 27, 1, 0, 0, 0, 0, 29, 1, 0, 0, 0, 0, 31, 1, 0, 0, 0, 0, 33, 1, 0, 0, 0, 0, 35, 1, 0, 0, 0, 0, 37, 1, 0, 0, 0, 0, 39, 1, 0, 0, 0, 0, 41, 1, 0, 0, 0, 0, 43, 1, 0, 0, 0, 0, 45, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 49, 1, 0, 0, 0, 0, 55, 1, 0, 0, 0, 0, 57, 1, 0, 0, 0, 0, 63, 1, 0, 0, 0, 0, 65, 1, 0, 0, 0, 0, 67, 1, 0, 0, 0, 0, 69, 1, 0, 0, 0, 1, 71, 1, 0, 0, 0, 3, 76, 1, 0, 0, 0, 5, 82, 1, 0, 0, 0, 7, 84, 1, 0, 0, 0, 9, 86, 1, 0, 0, 0, 11, 89, 1, 0, 0, 0, 13, 92, 1, 0, 0, 0, 15, 96, 1, 0, 0, 0, 17, 98, 1, 0, 0, 0, 19, 100, 1, 0, 0, 0, 21, 102, 1, 0, 0, 0, 23, 108, 1, 0, 0, 0, 25, 113, 1, 0, 0, 0, 27, 115, 1, 0, 0, 0, 29, 117, 1, 0, 0, 0, 31, 119, 1, 0, 0, 0, 33, 121, 1, 0, 0, 0, 35, 123, 1, 0, 0, 0, 37, 125, 1, 0, 0, 0, 39, 127, 1, 0, 0, 0, 41, 129, 1, 0, 0, 0, 43, 131, 1, 0, 0, 0, 45, 133, 1, 0, 0, 0, 47, 141, 1, 0, 0, 0, 49, 143, 1, 0, 0, 0, 51, 151, 1, 0, 0, 0, 53, 154, 1, 0, 0, 0, 55, 166, 1, 0, 0, 0, 57, 173, 1, 0, 0, 0, 59, 182, 1, 0, 0, 0, 61, 187, 1, 0, 0, 0, 63, 189, 1, 0, 0, 0, 65, 191, 1, 0, 0, 0, 67, 193, 1, 0, 0, 0, 69, 196, 1, 0, 0, 0, 71, 72, 5, 116, 0, 0, 72, 73, 5, 114, 0, 0, 73, 74, 5, 117, 0, 0, 74, 75, 5, 101, 0, 0, 75, 2, 1, 0, 0, 0, 76, 77, 5, 102, 0, 0, 77, 78, 5, 97, 0, 0, 78, 79, 5, 108, 0, 0, 79, 80, 5, 115, 0, 0, 80, 81, 5, 101, 0, 0, 81, 4, 1, 0, 0, 0, 82, 83, 5, 58, 0, 0, 83, 6, 1, 0, 0, 0, 84, 85, 5, 44, 0, 0, 85, 8, 1, 0, 0, 0, 86, 87, 5, 38, 0, 0, 87, 88, 5, 38, 0, 0, 88, 10, 1, 0, 0, 0, 89, 90, 5, 124, 0, 0, 90, 91, 5, 124, 0, 0, 91, 12, 1, 0, 0, 0, 92, 93, 5, 120, 0, 0, 93, 94, 5, 111, 0, 0, 94, 95, 5, 114, 0, 0, 95, 14, 1, 0, 0, 0, 96, 97, 7, 0, 0, 0, 97, 16, 1, 0, 0, 0, 98, 99, 5, 61, 0, 0, 99, 18, 1, 0, 0, 0, 100, 101, 5, 60, 0, 0, 101, 20, 1, 0, 0, 0, 102, 103, 5, 62, 0, 0, 103, 22, 1, 0, 0, 0, 104, 105, 5, 45, 0, 0, 105, 109, 5, 62, 0, 0, 106, 107, 5, 61, 0, 0, 107, 109, 5, 62, 0, 0, 108, 104, 1, 0, 0, 0, 108, 106, 1, 0, 0, 0, 109, 24, 1, 0, 0, 0, 110, 114, 5, 94, 0, 0, 111, 112, 5, 42, 0, 0, 112, 114, 5, 42, 0, 0, 113, 110, 1, 0, 0, 0, 113, 111, 1, 0, 0, 0, 114, 26, 1, 0, 0, 0, 115, 116, 5, 42, 0, 0, 116, 28, 1, 0, 0, 0, 117, 118, 5, 47, 0, 0, 118, 30, 1, 0, 0, 0, 119, 120, 5, 43, 0, 0, 120, 32, 1, 0, 0, 0, 121, 122, 5, 45, 0, 0, 122, 34, 1, 0, 0, 0, 123, 124, 5, 37, 0, 0, 124, 36, 1, 0, 0, 0, 125, 126, 5, 46, 0, 0, 126, 38, 1, 0, 0, 0, 127, 128, 5, 40, 0, 0, 128, 40, 1, 0, 0, 0, 129, 130, 5, 41, 0, 0, 130, 42, 1, 0, 0, 0, 131, 132, 5, 91, 0, 0, 132, 44, 1, 0, 0, 0, 133, 134, 5, 93, 0, 0, 134, 46, 1, 0, 0, 0, 135, 136, 5, 112, 0, 0, 136, 142, 5, 105, 0, 0, 137, 142, 5, 101, 0, 0, 138, 139, 5, 112, 0, 0, 139, 140, 5, 104, 0, 0, 140, 142, 5, 105, 0, 0, 141, 135, 1, 0, 0, 0, 141, 137, 1, 0, 0, 0, 141, 138, 1, 0, 0, 0, 142, 48, 1, 0, 0, 0, 143, 149, 3, 53, 26, 0, 144, 146, 7, 1, 0, 0, 145, 147, 3, 51, 25, 0, 146, 145, 1, 0, 0, 0, 146, 147, 1, 0, 0, 0, 147, 148, 1, 0, 0, 0, 148, 150, 3, 53, 26, 0, 149, 144, 1, 0, 0, 0, 149, 150, 1, 0, 0, 0, 150, 50, 1, 0, 0, 0, 151, 152, 7, 2, 0, 0, 152, 52, 1, 0, 0, 0, 153, 155, 3, 63, 31, 0, 154, 153, 1, 0, 0, 0, 155, 156, 1, 0, 0, 0, 156, 154, 1, 0, 0, 0, 156, 157, 1, 0, 0, 0, 157, 164, 1, 0, 0, 0, 158, 160, 3, 37, 18, 0, 159, 161, 3, 63, 31, 0, 160, 159, 1, 0, 0, 0, 161, 162, 1, 0, 0, 0, 162, 160, 1, 0, 0, 0, 162, 163, 1, 0, 0, 0, 163, 165, 1, 0, 0, 0, 164, 158, 1, 0, 0, 0, 164, 165, 1, 0, 0, 0, 165, 54, 1, 0, 0, 0, 166, 170, 3, 59, 29, 0, 167, 169, 3, 61, 30, 0, 168, 167, 1, 0, 0, 0, 169, 172, 1, 0, 0, 0, 170, 168, 1, 0, 0, 0, 170, 171, 1, 0, 0, 0, 171, 56, 1, 0, 0, 0, 172, 170, 1, 0, 0, 0, 173, 177, 3, 65, 32, 0, 174, 176, 3, 61, 30, 0, 175, 174, 1, 0, 0, 0, 176, 179, 1, 0, 0, 0, 177, 175, 1, 0, 0, 0, 177, 178, 1, 0, 0, 0, 178, 58, 1, 0, 0, 0, 179, 177, 1, 0, 0, 0, 180, 183, 3, 67, 33, 0, 181, 183, 5, 95, 0, 0, 182, 180, 1, 0, 0, 0, 182, 181, 1, 0, 0, 0, 183, 60, 1, 0, 0, 0, 184, 188, 3, 59, 29, 0, 185, 188, 3, 65, 32, 0, 186, 188, 3, 63, 31, 0, 187, 184, 1, 0, 0, 0, 187, 185, 1, 0, 0, 0, 187, 186, 1, 0, 0, 0, 188, 62, 1, 0, 0, 0, 189, 190, 2, 48, 57, 0, 190, 64, 1, 0, 0, 0, 191, 192, 2, 65, 90, 0, 192, 66, 1, 0, 0, 0, 193, 194, 2, 97, 122, 0, 194, 68, 1, 0, 0, 0, 195, 197, 7, 3, 0, 0, 196, 195, 1, 0, 0, 0, 197, 198, 1, 0, 0, 0, 198, 196, 1, 0, 0, 0, 198, 199, 1, 0, 0, 0, 199, 200, 1, 0, 0, 0, 200, 201, 6, 34, 0, 0, 201, 70, 1, 0, 0, 0, 14, 0, 108, 113, 141, 146, 149, 156, 162, 164, 170, 177, 182, 187, 198, 1, 6, 0, 0] \ No newline at end of file +[4, 0, 32, 216, 6, -1, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30, 7, 30, 2, 31, 7, 31, 2, 32, 7, 32, 2, 33, 7, 33, 2, 34, 7, 34, 2, 35, 7, 35, 2, 36, 7, 36, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 3, 1, 3, 1, 4, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, 6, 1, 6, 1, 6, 1, 6, 1, 7, 1, 7, 1, 8, 1, 8, 1, 9, 1, 9, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 1, 11, 3, 11, 113, 8, 11, 1, 12, 1, 12, 1, 12, 3, 12, 118, 8, 12, 1, 13, 1, 13, 1, 14, 1, 14, 1, 15, 1, 15, 1, 16, 1, 16, 1, 17, 1, 17, 1, 18, 1, 18, 1, 19, 1, 19, 1, 20, 1, 20, 1, 21, 1, 21, 1, 22, 1, 22, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 3, 23, 146, 8, 23, 1, 24, 1, 24, 1, 24, 3, 24, 151, 8, 24, 1, 24, 3, 24, 154, 8, 24, 1, 25, 1, 25, 3, 25, 158, 8, 25, 1, 26, 4, 26, 161, 8, 26, 11, 26, 12, 26, 162, 1, 26, 1, 26, 4, 26, 167, 8, 26, 11, 26, 12, 26, 168, 3, 26, 171, 8, 26, 1, 27, 1, 27, 4, 27, 175, 8, 27, 11, 27, 12, 27, 176, 1, 28, 1, 28, 1, 29, 1, 29, 5, 29, 183, 8, 29, 10, 29, 12, 29, 186, 9, 29, 1, 30, 1, 30, 5, 30, 190, 8, 30, 10, 30, 12, 30, 193, 9, 30, 1, 31, 1, 31, 3, 31, 197, 8, 31, 1, 32, 1, 32, 1, 32, 3, 32, 202, 8, 32, 1, 33, 1, 33, 1, 34, 1, 34, 1, 35, 1, 35, 1, 36, 4, 36, 211, 8, 36, 11, 36, 12, 36, 212, 1, 36, 1, 36, 0, 0, 37, 1, 1, 3, 2, 5, 3, 7, 4, 9, 5, 11, 6, 13, 7, 15, 8, 17, 9, 19, 10, 21, 11, 23, 12, 25, 13, 27, 14, 29, 15, 31, 16, 33, 17, 35, 18, 37, 19, 39, 20, 41, 21, 43, 22, 45, 23, 47, 24, 49, 25, 51, 26, 53, 0, 55, 0, 57, 0, 59, 27, 61, 28, 63, 0, 65, 0, 67, 29, 69, 30, 71, 31, 73, 32, 1, 0, 4, 3, 0, 33, 33, 126, 126, 172, 172, 2, 0, 69, 69, 101, 101, 2, 0, 43, 43, 45, 45, 3, 0, 9, 10, 13, 13, 32, 32, 227, 0, 1, 1, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 5, 1, 0, 0, 0, 0, 7, 1, 0, 0, 0, 0, 9, 1, 0, 0, 0, 0, 11, 1, 0, 0, 0, 0, 13, 1, 0, 0, 0, 0, 15, 1, 0, 0, 0, 0, 17, 1, 0, 0, 0, 0, 19, 1, 0, 0, 0, 0, 21, 1, 0, 0, 0, 0, 23, 1, 0, 0, 0, 0, 25, 1, 0, 0, 0, 0, 27, 1, 0, 0, 0, 0, 29, 1, 0, 0, 0, 0, 31, 1, 0, 0, 0, 0, 33, 1, 0, 0, 0, 0, 35, 1, 0, 0, 0, 0, 37, 1, 0, 0, 0, 0, 39, 1, 0, 0, 0, 0, 41, 1, 0, 0, 0, 0, 43, 1, 0, 0, 0, 0, 45, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 49, 1, 0, 0, 0, 0, 51, 1, 0, 0, 0, 0, 59, 1, 0, 0, 0, 0, 61, 1, 0, 0, 0, 0, 67, 1, 0, 0, 0, 0, 69, 1, 0, 0, 0, 0, 71, 1, 0, 0, 0, 0, 73, 1, 0, 0, 0, 1, 75, 1, 0, 0, 0, 3, 80, 1, 0, 0, 0, 5, 86, 1, 0, 0, 0, 7, 88, 1, 0, 0, 0, 9, 90, 1, 0, 0, 0, 11, 93, 1, 0, 0, 0, 13, 96, 1, 0, 0, 0, 15, 100, 1, 0, 0, 0, 17, 102, 1, 0, 0, 0, 19, 104, 1, 0, 0, 0, 21, 106, 1, 0, 0, 0, 23, 112, 1, 0, 0, 0, 25, 117, 1, 0, 0, 0, 27, 119, 1, 0, 0, 0, 29, 121, 1, 0, 0, 0, 31, 123, 1, 0, 0, 0, 33, 125, 1, 0, 0, 0, 35, 127, 1, 0, 0, 0, 37, 129, 1, 0, 0, 0, 39, 131, 1, 0, 0, 0, 41, 133, 1, 0, 0, 0, 43, 135, 1, 0, 0, 0, 45, 137, 1, 0, 0, 0, 47, 145, 1, 0, 0, 0, 49, 147, 1, 0, 0, 0, 51, 157, 1, 0, 0, 0, 53, 160, 1, 0, 0, 0, 55, 172, 1, 0, 0, 0, 57, 178, 1, 0, 0, 0, 59, 180, 1, 0, 0, 0, 61, 187, 1, 0, 0, 0, 63, 196, 1, 0, 0, 0, 65, 201, 1, 0, 0, 0, 67, 203, 1, 0, 0, 0, 69, 205, 1, 0, 0, 0, 71, 207, 1, 0, 0, 0, 73, 210, 1, 0, 0, 0, 75, 76, 5, 116, 0, 0, 76, 77, 5, 114, 0, 0, 77, 78, 5, 117, 0, 0, 78, 79, 5, 101, 0, 0, 79, 2, 1, 0, 0, 0, 80, 81, 5, 102, 0, 0, 81, 82, 5, 97, 0, 0, 82, 83, 5, 108, 0, 0, 83, 84, 5, 115, 0, 0, 84, 85, 5, 101, 0, 0, 85, 4, 1, 0, 0, 0, 86, 87, 5, 58, 0, 0, 87, 6, 1, 0, 0, 0, 88, 89, 5, 44, 0, 0, 89, 8, 1, 0, 0, 0, 90, 91, 5, 38, 0, 0, 91, 92, 5, 38, 0, 0, 92, 10, 1, 0, 0, 0, 93, 94, 5, 124, 0, 0, 94, 95, 5, 124, 0, 0, 95, 12, 1, 0, 0, 0, 96, 97, 5, 120, 0, 0, 97, 98, 5, 111, 0, 0, 98, 99, 5, 114, 0, 0, 99, 14, 1, 0, 0, 0, 100, 101, 7, 0, 0, 0, 101, 16, 1, 0, 0, 0, 102, 103, 5, 61, 0, 0, 103, 18, 1, 0, 0, 0, 104, 105, 5, 60, 0, 0, 105, 20, 1, 0, 0, 0, 106, 107, 5, 62, 0, 0, 107, 22, 1, 0, 0, 0, 108, 109, 5, 45, 0, 0, 109, 113, 5, 62, 0, 0, 110, 111, 5, 61, 0, 0, 111, 113, 5, 62, 0, 0, 112, 108, 1, 0, 0, 0, 112, 110, 1, 0, 0, 0, 113, 24, 1, 0, 0, 0, 114, 118, 5, 94, 0, 0, 115, 116, 5, 42, 0, 0, 116, 118, 5, 42, 0, 0, 117, 114, 1, 0, 0, 0, 117, 115, 1, 0, 0, 0, 118, 26, 1, 0, 0, 0, 119, 120, 5, 42, 0, 0, 120, 28, 1, 0, 0, 0, 121, 122, 5, 47, 0, 0, 122, 30, 1, 0, 0, 0, 123, 124, 5, 43, 0, 0, 124, 32, 1, 0, 0, 0, 125, 126, 5, 45, 0, 0, 126, 34, 1, 0, 0, 0, 127, 128, 5, 37, 0, 0, 128, 36, 1, 0, 0, 0, 129, 130, 5, 46, 0, 0, 130, 38, 1, 0, 0, 0, 131, 132, 5, 40, 0, 0, 132, 40, 1, 0, 0, 0, 133, 134, 5, 41, 0, 0, 134, 42, 1, 0, 0, 0, 135, 136, 5, 91, 0, 0, 136, 44, 1, 0, 0, 0, 137, 138, 5, 93, 0, 0, 138, 46, 1, 0, 0, 0, 139, 140, 5, 112, 0, 0, 140, 146, 5, 105, 0, 0, 141, 146, 5, 101, 0, 0, 142, 143, 5, 112, 0, 0, 143, 144, 5, 104, 0, 0, 144, 146, 5, 105, 0, 0, 145, 139, 1, 0, 0, 0, 145, 141, 1, 0, 0, 0, 145, 142, 1, 0, 0, 0, 146, 48, 1, 0, 0, 0, 147, 153, 3, 51, 25, 0, 148, 150, 7, 1, 0, 0, 149, 151, 3, 57, 28, 0, 150, 149, 1, 0, 0, 0, 150, 151, 1, 0, 0, 0, 151, 152, 1, 0, 0, 0, 152, 154, 3, 51, 25, 0, 153, 148, 1, 0, 0, 0, 153, 154, 1, 0, 0, 0, 154, 50, 1, 0, 0, 0, 155, 158, 3, 53, 26, 0, 156, 158, 3, 55, 27, 0, 157, 155, 1, 0, 0, 0, 157, 156, 1, 0, 0, 0, 158, 52, 1, 0, 0, 0, 159, 161, 3, 67, 33, 0, 160, 159, 1, 0, 0, 0, 161, 162, 1, 0, 0, 0, 162, 160, 1, 0, 0, 0, 162, 163, 1, 0, 0, 0, 163, 170, 1, 0, 0, 0, 164, 166, 3, 37, 18, 0, 165, 167, 3, 67, 33, 0, 166, 165, 1, 0, 0, 0, 167, 168, 1, 0, 0, 0, 168, 166, 1, 0, 0, 0, 168, 169, 1, 0, 0, 0, 169, 171, 1, 0, 0, 0, 170, 164, 1, 0, 0, 0, 170, 171, 1, 0, 0, 0, 171, 54, 1, 0, 0, 0, 172, 174, 3, 37, 18, 0, 173, 175, 3, 67, 33, 0, 174, 173, 1, 0, 0, 0, 175, 176, 1, 0, 0, 0, 176, 174, 1, 0, 0, 0, 176, 177, 1, 0, 0, 0, 177, 56, 1, 0, 0, 0, 178, 179, 7, 2, 0, 0, 179, 58, 1, 0, 0, 0, 180, 184, 3, 63, 31, 0, 181, 183, 3, 65, 32, 0, 182, 181, 1, 0, 0, 0, 183, 186, 1, 0, 0, 0, 184, 182, 1, 0, 0, 0, 184, 185, 1, 0, 0, 0, 185, 60, 1, 0, 0, 0, 186, 184, 1, 0, 0, 0, 187, 191, 3, 69, 34, 0, 188, 190, 3, 65, 32, 0, 189, 188, 1, 0, 0, 0, 190, 193, 1, 0, 0, 0, 191, 189, 1, 0, 0, 0, 191, 192, 1, 0, 0, 0, 192, 62, 1, 0, 0, 0, 193, 191, 1, 0, 0, 0, 194, 197, 3, 71, 35, 0, 195, 197, 5, 95, 0, 0, 196, 194, 1, 0, 0, 0, 196, 195, 1, 0, 0, 0, 197, 64, 1, 0, 0, 0, 198, 202, 3, 63, 31, 0, 199, 202, 3, 69, 34, 0, 200, 202, 3, 67, 33, 0, 201, 198, 1, 0, 0, 0, 201, 199, 1, 0, 0, 0, 201, 200, 1, 0, 0, 0, 202, 66, 1, 0, 0, 0, 203, 204, 2, 48, 57, 0, 204, 68, 1, 0, 0, 0, 205, 206, 2, 65, 90, 0, 206, 70, 1, 0, 0, 0, 207, 208, 2, 97, 122, 0, 208, 72, 1, 0, 0, 0, 209, 211, 7, 3, 0, 0, 210, 209, 1, 0, 0, 0, 211, 212, 1, 0, 0, 0, 212, 210, 1, 0, 0, 0, 212, 213, 1, 0, 0, 0, 213, 214, 1, 0, 0, 0, 214, 215, 6, 36, 0, 0, 215, 74, 1, 0, 0, 0, 16, 0, 112, 117, 145, 150, 153, 157, 162, 168, 170, 176, 184, 191, 196, 201, 212, 1, 6, 0, 0] \ No newline at end of file diff --git a/parser/AbacusLexer.tokens b/parser/AbacusLexer.tokens index 359c0a6..122d91a 100644 --- a/parser/AbacusLexer.tokens +++ b/parser/AbacusLexer.tokens @@ -23,12 +23,13 @@ LSQPAREN=22 RSQPAREN=23 CONSTANT=24 SCIENTIFIC_NUMBER=25 -VARIABLE=26 -LAMBDA_VARIABLE=27 -DIGITS=28 -UPPERCASE=29 -LOWERCASE=30 -WHITESPACE=31 +NUMBER=26 +VARIABLE=27 +LAMBDA_VARIABLE=28 +DIGITS=29 +UPPERCASE=30 +LOWERCASE=31 +WHITESPACE=32 'true'=1 'false'=2 ':'=3 diff --git a/parser/abacus_lexer.go b/parser/abacus_lexer.go index dd0f1ca..b0114dc 100644 --- a/parser/abacus_lexer.go +++ b/parser/abacus_lexer.go @@ -51,108 +51,115 @@ func abacuslexerLexerInit() { staticData.symbolicNames = []string{ "", "", "", "", "", "AND", "OR", "XOR", "NOT", "EQ", "LS", "GR", "ARROW", "POW", "MUL", "DIV", "ADD", "SUB", "PER", "POINT", "LPAREN", "RPAREN", - "LSQPAREN", "RSQPAREN", "CONSTANT", "SCIENTIFIC_NUMBER", "VARIABLE", + "LSQPAREN", "RSQPAREN", "CONSTANT", "SCIENTIFIC_NUMBER", "NUMBER", "VARIABLE", "LAMBDA_VARIABLE", "DIGITS", "UPPERCASE", "LOWERCASE", "WHITESPACE", } staticData.ruleNames = []string{ "T__0", "T__1", "T__2", "T__3", "AND", "OR", "XOR", "NOT", "EQ", "LS", "GR", "ARROW", "POW", "MUL", "DIV", "ADD", "SUB", "PER", "POINT", "LPAREN", - "RPAREN", "LSQPAREN", "RSQPAREN", "CONSTANT", "SCIENTIFIC_NUMBER", "SIGN", - "NUMBER", "VARIABLE", "LAMBDA_VARIABLE", "VALID_ID_START", "VALID_ID_CHAR", - "DIGITS", "UPPERCASE", "LOWERCASE", "WHITESPACE", + "RPAREN", "LSQPAREN", "RSQPAREN", "CONSTANT", "SCIENTIFIC_NUMBER", "NUMBER", + "WHOLE_NUMBER", "DECIMAL_NUMBER", "SIGN", "VARIABLE", "LAMBDA_VARIABLE", + "VALID_ID_START", "VALID_ID_CHAR", "DIGITS", "UPPERCASE", "LOWERCASE", + "WHITESPACE", } staticData.predictionContextCache = antlr.NewPredictionContextCache() staticData.serializedATN = []int32{ - 4, 0, 31, 202, 6, -1, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, + 4, 0, 32, 216, 6, -1, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30, 7, 30, 2, - 31, 7, 31, 2, 32, 7, 32, 2, 33, 7, 33, 2, 34, 7, 34, 1, 0, 1, 0, 1, 0, - 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 3, 1, 3, - 1, 4, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, 6, 1, 6, 1, 6, 1, 6, 1, 7, 1, 7, - 1, 8, 1, 8, 1, 9, 1, 9, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 1, 11, 3, 11, - 109, 8, 11, 1, 12, 1, 12, 1, 12, 3, 12, 114, 8, 12, 1, 13, 1, 13, 1, 14, - 1, 14, 1, 15, 1, 15, 1, 16, 1, 16, 1, 17, 1, 17, 1, 18, 1, 18, 1, 19, 1, - 19, 1, 20, 1, 20, 1, 21, 1, 21, 1, 22, 1, 22, 1, 23, 1, 23, 1, 23, 1, 23, - 1, 23, 1, 23, 3, 23, 142, 8, 23, 1, 24, 1, 24, 1, 24, 3, 24, 147, 8, 24, - 1, 24, 3, 24, 150, 8, 24, 1, 25, 1, 25, 1, 26, 4, 26, 155, 8, 26, 11, 26, - 12, 26, 156, 1, 26, 1, 26, 4, 26, 161, 8, 26, 11, 26, 12, 26, 162, 3, 26, - 165, 8, 26, 1, 27, 1, 27, 5, 27, 169, 8, 27, 10, 27, 12, 27, 172, 9, 27, - 1, 28, 1, 28, 5, 28, 176, 8, 28, 10, 28, 12, 28, 179, 9, 28, 1, 29, 1, - 29, 3, 29, 183, 8, 29, 1, 30, 1, 30, 1, 30, 3, 30, 188, 8, 30, 1, 31, 1, - 31, 1, 32, 1, 32, 1, 33, 1, 33, 1, 34, 4, 34, 197, 8, 34, 11, 34, 12, 34, - 198, 1, 34, 1, 34, 0, 0, 35, 1, 1, 3, 2, 5, 3, 7, 4, 9, 5, 11, 6, 13, 7, - 15, 8, 17, 9, 19, 10, 21, 11, 23, 12, 25, 13, 27, 14, 29, 15, 31, 16, 33, - 17, 35, 18, 37, 19, 39, 20, 41, 21, 43, 22, 45, 23, 47, 24, 49, 25, 51, - 0, 53, 0, 55, 26, 57, 27, 59, 0, 61, 0, 63, 28, 65, 29, 67, 30, 69, 31, - 1, 0, 4, 3, 0, 33, 33, 126, 126, 172, 172, 2, 0, 69, 69, 101, 101, 2, 0, - 43, 43, 45, 45, 3, 0, 9, 10, 13, 13, 32, 32, 212, 0, 1, 1, 0, 0, 0, 0, - 3, 1, 0, 0, 0, 0, 5, 1, 0, 0, 0, 0, 7, 1, 0, 0, 0, 0, 9, 1, 0, 0, 0, 0, - 11, 1, 0, 0, 0, 0, 13, 1, 0, 0, 0, 0, 15, 1, 0, 0, 0, 0, 17, 1, 0, 0, 0, - 0, 19, 1, 0, 0, 0, 0, 21, 1, 0, 0, 0, 0, 23, 1, 0, 0, 0, 0, 25, 1, 0, 0, - 0, 0, 27, 1, 0, 0, 0, 0, 29, 1, 0, 0, 0, 0, 31, 1, 0, 0, 0, 0, 33, 1, 0, - 0, 0, 0, 35, 1, 0, 0, 0, 0, 37, 1, 0, 0, 0, 0, 39, 1, 0, 0, 0, 0, 41, 1, - 0, 0, 0, 0, 43, 1, 0, 0, 0, 0, 45, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 49, - 1, 0, 0, 0, 0, 55, 1, 0, 0, 0, 0, 57, 1, 0, 0, 0, 0, 63, 1, 0, 0, 0, 0, - 65, 1, 0, 0, 0, 0, 67, 1, 0, 0, 0, 0, 69, 1, 0, 0, 0, 1, 71, 1, 0, 0, 0, - 3, 76, 1, 0, 0, 0, 5, 82, 1, 0, 0, 0, 7, 84, 1, 0, 0, 0, 9, 86, 1, 0, 0, - 0, 11, 89, 1, 0, 0, 0, 13, 92, 1, 0, 0, 0, 15, 96, 1, 0, 0, 0, 17, 98, - 1, 0, 0, 0, 19, 100, 1, 0, 0, 0, 21, 102, 1, 0, 0, 0, 23, 108, 1, 0, 0, - 0, 25, 113, 1, 0, 0, 0, 27, 115, 1, 0, 0, 0, 29, 117, 1, 0, 0, 0, 31, 119, - 1, 0, 0, 0, 33, 121, 1, 0, 0, 0, 35, 123, 1, 0, 0, 0, 37, 125, 1, 0, 0, - 0, 39, 127, 1, 0, 0, 0, 41, 129, 1, 0, 0, 0, 43, 131, 1, 0, 0, 0, 45, 133, - 1, 0, 0, 0, 47, 141, 1, 0, 0, 0, 49, 143, 1, 0, 0, 0, 51, 151, 1, 0, 0, - 0, 53, 154, 1, 0, 0, 0, 55, 166, 1, 0, 0, 0, 57, 173, 1, 0, 0, 0, 59, 182, - 1, 0, 0, 0, 61, 187, 1, 0, 0, 0, 63, 189, 1, 0, 0, 0, 65, 191, 1, 0, 0, - 0, 67, 193, 1, 0, 0, 0, 69, 196, 1, 0, 0, 0, 71, 72, 5, 116, 0, 0, 72, - 73, 5, 114, 0, 0, 73, 74, 5, 117, 0, 0, 74, 75, 5, 101, 0, 0, 75, 2, 1, - 0, 0, 0, 76, 77, 5, 102, 0, 0, 77, 78, 5, 97, 0, 0, 78, 79, 5, 108, 0, - 0, 79, 80, 5, 115, 0, 0, 80, 81, 5, 101, 0, 0, 81, 4, 1, 0, 0, 0, 82, 83, - 5, 58, 0, 0, 83, 6, 1, 0, 0, 0, 84, 85, 5, 44, 0, 0, 85, 8, 1, 0, 0, 0, - 86, 87, 5, 38, 0, 0, 87, 88, 5, 38, 0, 0, 88, 10, 1, 0, 0, 0, 89, 90, 5, - 124, 0, 0, 90, 91, 5, 124, 0, 0, 91, 12, 1, 0, 0, 0, 92, 93, 5, 120, 0, - 0, 93, 94, 5, 111, 0, 0, 94, 95, 5, 114, 0, 0, 95, 14, 1, 0, 0, 0, 96, - 97, 7, 0, 0, 0, 97, 16, 1, 0, 0, 0, 98, 99, 5, 61, 0, 0, 99, 18, 1, 0, - 0, 0, 100, 101, 5, 60, 0, 0, 101, 20, 1, 0, 0, 0, 102, 103, 5, 62, 0, 0, - 103, 22, 1, 0, 0, 0, 104, 105, 5, 45, 0, 0, 105, 109, 5, 62, 0, 0, 106, - 107, 5, 61, 0, 0, 107, 109, 5, 62, 0, 0, 108, 104, 1, 0, 0, 0, 108, 106, - 1, 0, 0, 0, 109, 24, 1, 0, 0, 0, 110, 114, 5, 94, 0, 0, 111, 112, 5, 42, - 0, 0, 112, 114, 5, 42, 0, 0, 113, 110, 1, 0, 0, 0, 113, 111, 1, 0, 0, 0, - 114, 26, 1, 0, 0, 0, 115, 116, 5, 42, 0, 0, 116, 28, 1, 0, 0, 0, 117, 118, - 5, 47, 0, 0, 118, 30, 1, 0, 0, 0, 119, 120, 5, 43, 0, 0, 120, 32, 1, 0, - 0, 0, 121, 122, 5, 45, 0, 0, 122, 34, 1, 0, 0, 0, 123, 124, 5, 37, 0, 0, - 124, 36, 1, 0, 0, 0, 125, 126, 5, 46, 0, 0, 126, 38, 1, 0, 0, 0, 127, 128, - 5, 40, 0, 0, 128, 40, 1, 0, 0, 0, 129, 130, 5, 41, 0, 0, 130, 42, 1, 0, - 0, 0, 131, 132, 5, 91, 0, 0, 132, 44, 1, 0, 0, 0, 133, 134, 5, 93, 0, 0, - 134, 46, 1, 0, 0, 0, 135, 136, 5, 112, 0, 0, 136, 142, 5, 105, 0, 0, 137, - 142, 5, 101, 0, 0, 138, 139, 5, 112, 0, 0, 139, 140, 5, 104, 0, 0, 140, - 142, 5, 105, 0, 0, 141, 135, 1, 0, 0, 0, 141, 137, 1, 0, 0, 0, 141, 138, - 1, 0, 0, 0, 142, 48, 1, 0, 0, 0, 143, 149, 3, 53, 26, 0, 144, 146, 7, 1, - 0, 0, 145, 147, 3, 51, 25, 0, 146, 145, 1, 0, 0, 0, 146, 147, 1, 0, 0, - 0, 147, 148, 1, 0, 0, 0, 148, 150, 3, 53, 26, 0, 149, 144, 1, 0, 0, 0, - 149, 150, 1, 0, 0, 0, 150, 50, 1, 0, 0, 0, 151, 152, 7, 2, 0, 0, 152, 52, - 1, 0, 0, 0, 153, 155, 3, 63, 31, 0, 154, 153, 1, 0, 0, 0, 155, 156, 1, - 0, 0, 0, 156, 154, 1, 0, 0, 0, 156, 157, 1, 0, 0, 0, 157, 164, 1, 0, 0, - 0, 158, 160, 3, 37, 18, 0, 159, 161, 3, 63, 31, 0, 160, 159, 1, 0, 0, 0, - 161, 162, 1, 0, 0, 0, 162, 160, 1, 0, 0, 0, 162, 163, 1, 0, 0, 0, 163, - 165, 1, 0, 0, 0, 164, 158, 1, 0, 0, 0, 164, 165, 1, 0, 0, 0, 165, 54, 1, - 0, 0, 0, 166, 170, 3, 59, 29, 0, 167, 169, 3, 61, 30, 0, 168, 167, 1, 0, - 0, 0, 169, 172, 1, 0, 0, 0, 170, 168, 1, 0, 0, 0, 170, 171, 1, 0, 0, 0, - 171, 56, 1, 0, 0, 0, 172, 170, 1, 0, 0, 0, 173, 177, 3, 65, 32, 0, 174, - 176, 3, 61, 30, 0, 175, 174, 1, 0, 0, 0, 176, 179, 1, 0, 0, 0, 177, 175, - 1, 0, 0, 0, 177, 178, 1, 0, 0, 0, 178, 58, 1, 0, 0, 0, 179, 177, 1, 0, - 0, 0, 180, 183, 3, 67, 33, 0, 181, 183, 5, 95, 0, 0, 182, 180, 1, 0, 0, - 0, 182, 181, 1, 0, 0, 0, 183, 60, 1, 0, 0, 0, 184, 188, 3, 59, 29, 0, 185, - 188, 3, 65, 32, 0, 186, 188, 3, 63, 31, 0, 187, 184, 1, 0, 0, 0, 187, 185, - 1, 0, 0, 0, 187, 186, 1, 0, 0, 0, 188, 62, 1, 0, 0, 0, 189, 190, 2, 48, - 57, 0, 190, 64, 1, 0, 0, 0, 191, 192, 2, 65, 90, 0, 192, 66, 1, 0, 0, 0, - 193, 194, 2, 97, 122, 0, 194, 68, 1, 0, 0, 0, 195, 197, 7, 3, 0, 0, 196, - 195, 1, 0, 0, 0, 197, 198, 1, 0, 0, 0, 198, 196, 1, 0, 0, 0, 198, 199, - 1, 0, 0, 0, 199, 200, 1, 0, 0, 0, 200, 201, 6, 34, 0, 0, 201, 70, 1, 0, - 0, 0, 14, 0, 108, 113, 141, 146, 149, 156, 162, 164, 170, 177, 182, 187, - 198, 1, 6, 0, 0, + 31, 7, 31, 2, 32, 7, 32, 2, 33, 7, 33, 2, 34, 7, 34, 2, 35, 7, 35, 2, 36, + 7, 36, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 2, 1, 2, 1, 3, 1, 3, 1, 4, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, 6, 1, 6, + 1, 6, 1, 6, 1, 7, 1, 7, 1, 8, 1, 8, 1, 9, 1, 9, 1, 10, 1, 10, 1, 11, 1, + 11, 1, 11, 1, 11, 3, 11, 113, 8, 11, 1, 12, 1, 12, 1, 12, 3, 12, 118, 8, + 12, 1, 13, 1, 13, 1, 14, 1, 14, 1, 15, 1, 15, 1, 16, 1, 16, 1, 17, 1, 17, + 1, 18, 1, 18, 1, 19, 1, 19, 1, 20, 1, 20, 1, 21, 1, 21, 1, 22, 1, 22, 1, + 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 3, 23, 146, 8, 23, 1, 24, 1, 24, + 1, 24, 3, 24, 151, 8, 24, 1, 24, 3, 24, 154, 8, 24, 1, 25, 1, 25, 3, 25, + 158, 8, 25, 1, 26, 4, 26, 161, 8, 26, 11, 26, 12, 26, 162, 1, 26, 1, 26, + 4, 26, 167, 8, 26, 11, 26, 12, 26, 168, 3, 26, 171, 8, 26, 1, 27, 1, 27, + 4, 27, 175, 8, 27, 11, 27, 12, 27, 176, 1, 28, 1, 28, 1, 29, 1, 29, 5, + 29, 183, 8, 29, 10, 29, 12, 29, 186, 9, 29, 1, 30, 1, 30, 5, 30, 190, 8, + 30, 10, 30, 12, 30, 193, 9, 30, 1, 31, 1, 31, 3, 31, 197, 8, 31, 1, 32, + 1, 32, 1, 32, 3, 32, 202, 8, 32, 1, 33, 1, 33, 1, 34, 1, 34, 1, 35, 1, + 35, 1, 36, 4, 36, 211, 8, 36, 11, 36, 12, 36, 212, 1, 36, 1, 36, 0, 0, + 37, 1, 1, 3, 2, 5, 3, 7, 4, 9, 5, 11, 6, 13, 7, 15, 8, 17, 9, 19, 10, 21, + 11, 23, 12, 25, 13, 27, 14, 29, 15, 31, 16, 33, 17, 35, 18, 37, 19, 39, + 20, 41, 21, 43, 22, 45, 23, 47, 24, 49, 25, 51, 26, 53, 0, 55, 0, 57, 0, + 59, 27, 61, 28, 63, 0, 65, 0, 67, 29, 69, 30, 71, 31, 73, 32, 1, 0, 4, + 3, 0, 33, 33, 126, 126, 172, 172, 2, 0, 69, 69, 101, 101, 2, 0, 43, 43, + 45, 45, 3, 0, 9, 10, 13, 13, 32, 32, 227, 0, 1, 1, 0, 0, 0, 0, 3, 1, 0, + 0, 0, 0, 5, 1, 0, 0, 0, 0, 7, 1, 0, 0, 0, 0, 9, 1, 0, 0, 0, 0, 11, 1, 0, + 0, 0, 0, 13, 1, 0, 0, 0, 0, 15, 1, 0, 0, 0, 0, 17, 1, 0, 0, 0, 0, 19, 1, + 0, 0, 0, 0, 21, 1, 0, 0, 0, 0, 23, 1, 0, 0, 0, 0, 25, 1, 0, 0, 0, 0, 27, + 1, 0, 0, 0, 0, 29, 1, 0, 0, 0, 0, 31, 1, 0, 0, 0, 0, 33, 1, 0, 0, 0, 0, + 35, 1, 0, 0, 0, 0, 37, 1, 0, 0, 0, 0, 39, 1, 0, 0, 0, 0, 41, 1, 0, 0, 0, + 0, 43, 1, 0, 0, 0, 0, 45, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 49, 1, 0, 0, + 0, 0, 51, 1, 0, 0, 0, 0, 59, 1, 0, 0, 0, 0, 61, 1, 0, 0, 0, 0, 67, 1, 0, + 0, 0, 0, 69, 1, 0, 0, 0, 0, 71, 1, 0, 0, 0, 0, 73, 1, 0, 0, 0, 1, 75, 1, + 0, 0, 0, 3, 80, 1, 0, 0, 0, 5, 86, 1, 0, 0, 0, 7, 88, 1, 0, 0, 0, 9, 90, + 1, 0, 0, 0, 11, 93, 1, 0, 0, 0, 13, 96, 1, 0, 0, 0, 15, 100, 1, 0, 0, 0, + 17, 102, 1, 0, 0, 0, 19, 104, 1, 0, 0, 0, 21, 106, 1, 0, 0, 0, 23, 112, + 1, 0, 0, 0, 25, 117, 1, 0, 0, 0, 27, 119, 1, 0, 0, 0, 29, 121, 1, 0, 0, + 0, 31, 123, 1, 0, 0, 0, 33, 125, 1, 0, 0, 0, 35, 127, 1, 0, 0, 0, 37, 129, + 1, 0, 0, 0, 39, 131, 1, 0, 0, 0, 41, 133, 1, 0, 0, 0, 43, 135, 1, 0, 0, + 0, 45, 137, 1, 0, 0, 0, 47, 145, 1, 0, 0, 0, 49, 147, 1, 0, 0, 0, 51, 157, + 1, 0, 0, 0, 53, 160, 1, 0, 0, 0, 55, 172, 1, 0, 0, 0, 57, 178, 1, 0, 0, + 0, 59, 180, 1, 0, 0, 0, 61, 187, 1, 0, 0, 0, 63, 196, 1, 0, 0, 0, 65, 201, + 1, 0, 0, 0, 67, 203, 1, 0, 0, 0, 69, 205, 1, 0, 0, 0, 71, 207, 1, 0, 0, + 0, 73, 210, 1, 0, 0, 0, 75, 76, 5, 116, 0, 0, 76, 77, 5, 114, 0, 0, 77, + 78, 5, 117, 0, 0, 78, 79, 5, 101, 0, 0, 79, 2, 1, 0, 0, 0, 80, 81, 5, 102, + 0, 0, 81, 82, 5, 97, 0, 0, 82, 83, 5, 108, 0, 0, 83, 84, 5, 115, 0, 0, + 84, 85, 5, 101, 0, 0, 85, 4, 1, 0, 0, 0, 86, 87, 5, 58, 0, 0, 87, 6, 1, + 0, 0, 0, 88, 89, 5, 44, 0, 0, 89, 8, 1, 0, 0, 0, 90, 91, 5, 38, 0, 0, 91, + 92, 5, 38, 0, 0, 92, 10, 1, 0, 0, 0, 93, 94, 5, 124, 0, 0, 94, 95, 5, 124, + 0, 0, 95, 12, 1, 0, 0, 0, 96, 97, 5, 120, 0, 0, 97, 98, 5, 111, 0, 0, 98, + 99, 5, 114, 0, 0, 99, 14, 1, 0, 0, 0, 100, 101, 7, 0, 0, 0, 101, 16, 1, + 0, 0, 0, 102, 103, 5, 61, 0, 0, 103, 18, 1, 0, 0, 0, 104, 105, 5, 60, 0, + 0, 105, 20, 1, 0, 0, 0, 106, 107, 5, 62, 0, 0, 107, 22, 1, 0, 0, 0, 108, + 109, 5, 45, 0, 0, 109, 113, 5, 62, 0, 0, 110, 111, 5, 61, 0, 0, 111, 113, + 5, 62, 0, 0, 112, 108, 1, 0, 0, 0, 112, 110, 1, 0, 0, 0, 113, 24, 1, 0, + 0, 0, 114, 118, 5, 94, 0, 0, 115, 116, 5, 42, 0, 0, 116, 118, 5, 42, 0, + 0, 117, 114, 1, 0, 0, 0, 117, 115, 1, 0, 0, 0, 118, 26, 1, 0, 0, 0, 119, + 120, 5, 42, 0, 0, 120, 28, 1, 0, 0, 0, 121, 122, 5, 47, 0, 0, 122, 30, + 1, 0, 0, 0, 123, 124, 5, 43, 0, 0, 124, 32, 1, 0, 0, 0, 125, 126, 5, 45, + 0, 0, 126, 34, 1, 0, 0, 0, 127, 128, 5, 37, 0, 0, 128, 36, 1, 0, 0, 0, + 129, 130, 5, 46, 0, 0, 130, 38, 1, 0, 0, 0, 131, 132, 5, 40, 0, 0, 132, + 40, 1, 0, 0, 0, 133, 134, 5, 41, 0, 0, 134, 42, 1, 0, 0, 0, 135, 136, 5, + 91, 0, 0, 136, 44, 1, 0, 0, 0, 137, 138, 5, 93, 0, 0, 138, 46, 1, 0, 0, + 0, 139, 140, 5, 112, 0, 0, 140, 146, 5, 105, 0, 0, 141, 146, 5, 101, 0, + 0, 142, 143, 5, 112, 0, 0, 143, 144, 5, 104, 0, 0, 144, 146, 5, 105, 0, + 0, 145, 139, 1, 0, 0, 0, 145, 141, 1, 0, 0, 0, 145, 142, 1, 0, 0, 0, 146, + 48, 1, 0, 0, 0, 147, 153, 3, 51, 25, 0, 148, 150, 7, 1, 0, 0, 149, 151, + 3, 57, 28, 0, 150, 149, 1, 0, 0, 0, 150, 151, 1, 0, 0, 0, 151, 152, 1, + 0, 0, 0, 152, 154, 3, 51, 25, 0, 153, 148, 1, 0, 0, 0, 153, 154, 1, 0, + 0, 0, 154, 50, 1, 0, 0, 0, 155, 158, 3, 53, 26, 0, 156, 158, 3, 55, 27, + 0, 157, 155, 1, 0, 0, 0, 157, 156, 1, 0, 0, 0, 158, 52, 1, 0, 0, 0, 159, + 161, 3, 67, 33, 0, 160, 159, 1, 0, 0, 0, 161, 162, 1, 0, 0, 0, 162, 160, + 1, 0, 0, 0, 162, 163, 1, 0, 0, 0, 163, 170, 1, 0, 0, 0, 164, 166, 3, 37, + 18, 0, 165, 167, 3, 67, 33, 0, 166, 165, 1, 0, 0, 0, 167, 168, 1, 0, 0, + 0, 168, 166, 1, 0, 0, 0, 168, 169, 1, 0, 0, 0, 169, 171, 1, 0, 0, 0, 170, + 164, 1, 0, 0, 0, 170, 171, 1, 0, 0, 0, 171, 54, 1, 0, 0, 0, 172, 174, 3, + 37, 18, 0, 173, 175, 3, 67, 33, 0, 174, 173, 1, 0, 0, 0, 175, 176, 1, 0, + 0, 0, 176, 174, 1, 0, 0, 0, 176, 177, 1, 0, 0, 0, 177, 56, 1, 0, 0, 0, + 178, 179, 7, 2, 0, 0, 179, 58, 1, 0, 0, 0, 180, 184, 3, 63, 31, 0, 181, + 183, 3, 65, 32, 0, 182, 181, 1, 0, 0, 0, 183, 186, 1, 0, 0, 0, 184, 182, + 1, 0, 0, 0, 184, 185, 1, 0, 0, 0, 185, 60, 1, 0, 0, 0, 186, 184, 1, 0, + 0, 0, 187, 191, 3, 69, 34, 0, 188, 190, 3, 65, 32, 0, 189, 188, 1, 0, 0, + 0, 190, 193, 1, 0, 0, 0, 191, 189, 1, 0, 0, 0, 191, 192, 1, 0, 0, 0, 192, + 62, 1, 0, 0, 0, 193, 191, 1, 0, 0, 0, 194, 197, 3, 71, 35, 0, 195, 197, + 5, 95, 0, 0, 196, 194, 1, 0, 0, 0, 196, 195, 1, 0, 0, 0, 197, 64, 1, 0, + 0, 0, 198, 202, 3, 63, 31, 0, 199, 202, 3, 69, 34, 0, 200, 202, 3, 67, + 33, 0, 201, 198, 1, 0, 0, 0, 201, 199, 1, 0, 0, 0, 201, 200, 1, 0, 0, 0, + 202, 66, 1, 0, 0, 0, 203, 204, 2, 48, 57, 0, 204, 68, 1, 0, 0, 0, 205, + 206, 2, 65, 90, 0, 206, 70, 1, 0, 0, 0, 207, 208, 2, 97, 122, 0, 208, 72, + 1, 0, 0, 0, 209, 211, 7, 3, 0, 0, 210, 209, 1, 0, 0, 0, 211, 212, 1, 0, + 0, 0, 212, 210, 1, 0, 0, 0, 212, 213, 1, 0, 0, 0, 213, 214, 1, 0, 0, 0, + 214, 215, 6, 36, 0, 0, 215, 74, 1, 0, 0, 0, 16, 0, 112, 117, 145, 150, + 153, 157, 162, 168, 170, 176, 184, 191, 196, 201, 212, 1, 6, 0, 0, } deserializer := antlr.NewATNDeserializer(nil) staticData.atn = deserializer.Deserialize(staticData.serializedATN) @@ -218,10 +225,11 @@ const ( AbacusLexerRSQPAREN = 23 AbacusLexerCONSTANT = 24 AbacusLexerSCIENTIFIC_NUMBER = 25 - AbacusLexerVARIABLE = 26 - AbacusLexerLAMBDA_VARIABLE = 27 - AbacusLexerDIGITS = 28 - AbacusLexerUPPERCASE = 29 - AbacusLexerLOWERCASE = 30 - AbacusLexerWHITESPACE = 31 + AbacusLexerNUMBER = 26 + AbacusLexerVARIABLE = 27 + AbacusLexerLAMBDA_VARIABLE = 28 + AbacusLexerDIGITS = 29 + AbacusLexerUPPERCASE = 30 + AbacusLexerLOWERCASE = 31 + AbacusLexerWHITESPACE = 32 ) diff --git a/parser/abacus_parser.go b/parser/abacus_parser.go index 365f8b8..930d700 100644 --- a/parser/abacus_parser.go +++ b/parser/abacus_parser.go @@ -40,7 +40,7 @@ func abacusParserInit() { staticData.symbolicNames = []string{ "", "", "", "", "", "AND", "OR", "XOR", "NOT", "EQ", "LS", "GR", "ARROW", "POW", "MUL", "DIV", "ADD", "SUB", "PER", "POINT", "LPAREN", "RPAREN", - "LSQPAREN", "RSQPAREN", "CONSTANT", "SCIENTIFIC_NUMBER", "VARIABLE", + "LSQPAREN", "RSQPAREN", "CONSTANT", "SCIENTIFIC_NUMBER", "NUMBER", "VARIABLE", "LAMBDA_VARIABLE", "DIGITS", "UPPERCASE", "LOWERCASE", "WHITESPACE", } staticData.ruleNames = []string{ @@ -50,7 +50,7 @@ func abacusParserInit() { } staticData.predictionContextCache = antlr.NewPredictionContextCache() staticData.serializedATN = []int32{ - 4, 1, 31, 229, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, + 4, 1, 32, 229, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 3, 0, 42, 8, 0, 1, @@ -73,18 +73,18 @@ func abacusParserInit() { 212, 8, 11, 1, 12, 1, 12, 1, 12, 1, 12, 3, 12, 218, 8, 12, 1, 13, 1, 13, 3, 13, 222, 8, 13, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 0, 2, 4, 10, 15, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 0, 6, 1, 0, - 5, 7, 1, 0, 1, 2, 1, 0, 14, 15, 1, 0, 16, 17, 2, 0, 3, 3, 9, 9, 1, 0, 26, - 27, 254, 0, 41, 1, 0, 0, 0, 2, 50, 1, 0, 0, 0, 4, 91, 1, 0, 0, 0, 6, 101, + 5, 7, 1, 0, 1, 2, 1, 0, 14, 15, 1, 0, 16, 17, 2, 0, 3, 3, 9, 9, 1, 0, 27, + 28, 254, 0, 41, 1, 0, 0, 0, 2, 50, 1, 0, 0, 0, 4, 91, 1, 0, 0, 0, 6, 101, 1, 0, 0, 0, 8, 111, 1, 0, 0, 0, 10, 131, 1, 0, 0, 0, 12, 153, 1, 0, 0, 0, 14, 159, 1, 0, 0, 0, 16, 174, 1, 0, 0, 0, 18, 180, 1, 0, 0, 0, 20, 197, 1, 0, 0, 0, 22, 211, 1, 0, 0, 0, 24, 217, 1, 0, 0, 0, 26, 221, 1, 0, 0, 0, 28, 223, 1, 0, 0, 0, 30, 31, 3, 2, 1, 0, 31, 32, 5, 0, 0, 1, 32, 42, 1, 0, 0, 0, 33, 34, 3, 4, 2, 0, 34, 35, 5, 0, 0, 1, 35, 42, 1, 0, 0, 0, 36, 37, 3, 18, 9, 0, 37, 38, 5, 0, 0, 1, 38, 42, 1, 0, 0, 0, 39, 40, 5, - 27, 0, 0, 40, 42, 5, 0, 0, 1, 41, 30, 1, 0, 0, 0, 41, 33, 1, 0, 0, 0, 41, + 28, 0, 0, 40, 42, 5, 0, 0, 1, 41, 30, 1, 0, 0, 0, 41, 33, 1, 0, 0, 0, 41, 36, 1, 0, 0, 0, 41, 39, 1, 0, 0, 0, 42, 1, 1, 0, 0, 0, 43, 44, 3, 22, 11, 0, 44, 45, 5, 9, 0, 0, 45, 46, 3, 18, 9, 0, 46, 51, 1, 0, 0, 0, 47, 48, - 5, 27, 0, 0, 48, 49, 5, 9, 0, 0, 49, 51, 3, 8, 4, 0, 50, 43, 1, 0, 0, 0, + 5, 28, 0, 0, 48, 49, 5, 9, 0, 0, 49, 51, 3, 8, 4, 0, 50, 43, 1, 0, 0, 0, 50, 47, 1, 0, 0, 0, 51, 3, 1, 0, 0, 0, 52, 53, 6, 2, -1, 0, 53, 54, 3, 10, 5, 0, 54, 55, 5, 9, 0, 0, 55, 56, 5, 9, 0, 0, 56, 57, 3, 10, 5, 0, 57, 92, 1, 0, 0, 0, 58, 59, 3, 10, 5, 0, 59, 60, 5, 10, 0, 0, 60, 61, 3, @@ -108,7 +108,7 @@ func abacusParserInit() { 0, 110, 112, 3, 18, 9, 0, 111, 103, 1, 0, 0, 0, 111, 107, 1, 0, 0, 0, 112, 9, 1, 0, 0, 0, 113, 114, 6, 5, -1, 0, 114, 115, 3, 26, 13, 0, 115, 116, 3, 10, 5, 9, 116, 132, 1, 0, 0, 0, 117, 118, 5, 20, 0, 0, 118, 119, 3, - 10, 5, 0, 119, 120, 5, 21, 0, 0, 120, 132, 1, 0, 0, 0, 121, 122, 5, 27, + 10, 5, 0, 119, 120, 5, 21, 0, 0, 120, 132, 1, 0, 0, 0, 121, 122, 5, 28, 0, 0, 122, 124, 5, 20, 0, 0, 123, 125, 3, 16, 8, 0, 124, 123, 1, 0, 0, 0, 124, 125, 1, 0, 0, 0, 125, 126, 1, 0, 0, 0, 126, 128, 5, 21, 0, 0, 127, 129, 3, 14, 7, 0, 128, 127, 1, 0, 0, 0, 128, 129, 1, 0, 0, 0, 129, 132, @@ -122,14 +122,14 @@ func abacusParserInit() { 0, 0, 148, 136, 1, 0, 0, 0, 148, 140, 1, 0, 0, 0, 148, 143, 1, 0, 0, 0, 148, 146, 1, 0, 0, 0, 149, 152, 1, 0, 0, 0, 150, 148, 1, 0, 0, 0, 150, 151, 1, 0, 0, 0, 151, 11, 1, 0, 0, 0, 152, 150, 1, 0, 0, 0, 153, 154, 5, - 26, 0, 0, 154, 157, 7, 4, 0, 0, 155, 158, 3, 4, 2, 0, 156, 158, 3, 10, + 27, 0, 0, 154, 157, 7, 4, 0, 0, 155, 158, 3, 4, 2, 0, 156, 158, 3, 10, 5, 0, 157, 155, 1, 0, 0, 0, 157, 156, 1, 0, 0, 0, 158, 13, 1, 0, 0, 0, 159, 168, 5, 22, 0, 0, 160, 165, 3, 12, 6, 0, 161, 162, 5, 4, 0, 0, 162, 164, 3, 12, 6, 0, 163, 161, 1, 0, 0, 0, 164, 167, 1, 0, 0, 0, 165, 163, 1, 0, 0, 0, 165, 166, 1, 0, 0, 0, 166, 169, 1, 0, 0, 0, 167, 165, 1, 0, 0, 0, 168, 160, 1, 0, 0, 0, 168, 169, 1, 0, 0, 0, 169, 170, 1, 0, 0, 0, 170, 171, 5, 23, 0, 0, 171, 15, 1, 0, 0, 0, 172, 175, 3, 10, 5, 0, 173, - 175, 5, 27, 0, 0, 174, 172, 1, 0, 0, 0, 174, 173, 1, 0, 0, 0, 175, 178, + 175, 5, 28, 0, 0, 174, 172, 1, 0, 0, 0, 174, 173, 1, 0, 0, 0, 175, 178, 1, 0, 0, 0, 176, 177, 5, 4, 0, 0, 177, 179, 3, 16, 8, 0, 178, 176, 1, 0, 0, 0, 178, 179, 1, 0, 0, 0, 179, 17, 1, 0, 0, 0, 180, 183, 3, 10, 5, 0, 181, 182, 5, 4, 0, 0, 182, 184, 3, 18, 9, 0, 183, 181, 1, 0, 0, 0, 183, @@ -138,17 +138,17 @@ func abacusParserInit() { 0, 0, 189, 198, 1, 0, 0, 0, 190, 191, 5, 20, 0, 0, 191, 194, 7, 5, 0, 0, 192, 193, 5, 4, 0, 0, 193, 195, 3, 20, 10, 0, 194, 192, 1, 0, 0, 0, 194, 195, 1, 0, 0, 0, 195, 196, 1, 0, 0, 0, 196, 198, 5, 21, 0, 0, 197, 185, - 1, 0, 0, 0, 197, 190, 1, 0, 0, 0, 198, 21, 1, 0, 0, 0, 199, 202, 5, 26, + 1, 0, 0, 0, 197, 190, 1, 0, 0, 0, 198, 21, 1, 0, 0, 0, 199, 202, 5, 27, 0, 0, 200, 201, 5, 4, 0, 0, 201, 203, 3, 22, 11, 0, 202, 200, 1, 0, 0, 0, 202, 203, 1, 0, 0, 0, 203, 212, 1, 0, 0, 0, 204, 205, 5, 20, 0, 0, 205, - 208, 5, 26, 0, 0, 206, 207, 5, 4, 0, 0, 207, 209, 3, 22, 11, 0, 208, 206, + 208, 5, 27, 0, 0, 206, 207, 5, 4, 0, 0, 207, 209, 3, 22, 11, 0, 208, 206, 1, 0, 0, 0, 208, 209, 1, 0, 0, 0, 209, 210, 1, 0, 0, 0, 210, 212, 5, 21, 0, 0, 211, 199, 1, 0, 0, 0, 211, 204, 1, 0, 0, 0, 212, 23, 1, 0, 0, 0, 213, 218, 3, 28, 14, 0, 214, 218, 5, 24, 0, 0, 215, 218, 5, 25, 0, 0, 216, - 218, 5, 26, 0, 0, 217, 213, 1, 0, 0, 0, 217, 214, 1, 0, 0, 0, 217, 215, + 218, 5, 27, 0, 0, 217, 213, 1, 0, 0, 0, 217, 214, 1, 0, 0, 0, 217, 215, 1, 0, 0, 0, 217, 216, 1, 0, 0, 0, 218, 25, 1, 0, 0, 0, 219, 222, 5, 16, 0, 0, 220, 222, 5, 17, 0, 0, 221, 219, 1, 0, 0, 0, 221, 220, 1, 0, 0, 0, - 222, 27, 1, 0, 0, 0, 223, 224, 5, 26, 0, 0, 224, 225, 5, 20, 0, 0, 225, + 222, 27, 1, 0, 0, 0, 223, 224, 5, 27, 0, 0, 224, 225, 5, 20, 0, 0, 225, 226, 3, 18, 9, 0, 226, 227, 5, 21, 0, 0, 227, 29, 1, 0, 0, 0, 26, 41, 50, 71, 80, 91, 98, 111, 124, 128, 131, 148, 150, 157, 165, 168, 174, 178, 183, 188, 194, 197, 202, 208, 211, 217, 221, @@ -215,12 +215,13 @@ const ( AbacusParserRSQPAREN = 23 AbacusParserCONSTANT = 24 AbacusParserSCIENTIFIC_NUMBER = 25 - AbacusParserVARIABLE = 26 - AbacusParserLAMBDA_VARIABLE = 27 - AbacusParserDIGITS = 28 - AbacusParserUPPERCASE = 29 - AbacusParserLOWERCASE = 30 - AbacusParserWHITESPACE = 31 + AbacusParserNUMBER = 26 + AbacusParserVARIABLE = 27 + AbacusParserLAMBDA_VARIABLE = 28 + AbacusParserDIGITS = 29 + AbacusParserUPPERCASE = 30 + AbacusParserLOWERCASE = 31 + AbacusParserWHITESPACE = 32 ) // AbacusParser rules. @@ -2930,7 +2931,7 @@ func (p *AbacusParser) expression(_p int) (localctx IExpressionContext) { p.GetErrorHandler().Sync(p) _la = p.GetTokenStream().LA(1) - if (int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&252903424) != 0 { + if (int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&454230016) != 0 { { p.SetState(123) p.MixedTuple()