From d0dd25eb89eb339b847a62dccc64273c1fed3185 Mon Sep 17 00:00:00 2001 From: Leo dev Date: Thu, 22 Aug 2024 18:59:55 +0200 Subject: [PATCH] comments --- Wyst.g4 | 2 + parser/Wyst.interp | 6 +- parser/Wyst.tokens | 18 +-- parser/WystLexer.interp | 8 +- parser/WystLexer.tokens | 18 +-- parser/wyst_lexer.go | 284 +++++++++++++++++++++------------------- parser/wyst_parser.go | 102 ++++++++------- 7 files changed, 236 insertions(+), 202 deletions(-) diff --git a/Wyst.g4 b/Wyst.g4 index f68572f..31f639c 100644 --- a/Wyst.g4 +++ b/Wyst.g4 @@ -1,5 +1,7 @@ grammar Wyst; +COMMENT: '//' ~[\r\n]* -> skip; +MULTILINE_COMMENT: '/*' .*? '*/' -> skip; WS: [ \t\r\n]+ -> skip; NUMBER: [1-9][0-9]* | '0'; HEX: '0x' [a-fA-F0-9]*; diff --git a/parser/Wyst.interp b/parser/Wyst.interp index 835eb08..deaed1b 100644 --- a/parser/Wyst.interp +++ b/parser/Wyst.interp @@ -26,6 +26,8 @@ null null null null +null +null token symbolic names: null @@ -47,6 +49,8 @@ null null null null +COMMENT +MULTILINE_COMMENT WS NUMBER HEX @@ -83,4 +87,4 @@ top atn: -[4, 1, 26, 244, 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, 1, 0, 1, 0, 1, 0, 1, 0, 5, 0, 51, 8, 0, 10, 0, 12, 0, 54, 9, 0, 1, 0, 3, 0, 57, 8, 0, 3, 0, 59, 8, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 5, 1, 67, 8, 1, 10, 1, 12, 1, 70, 9, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 5, 2, 78, 8, 2, 10, 2, 12, 2, 81, 9, 2, 1, 2, 3, 2, 84, 8, 2, 3, 2, 86, 8, 2, 1, 2, 1, 2, 1, 3, 1, 3, 1, 3, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, 6, 1, 6, 1, 6, 1, 6, 1, 7, 1, 7, 3, 7, 107, 8, 7, 1, 7, 1, 7, 1, 7, 3, 7, 112, 8, 7, 5, 7, 114, 8, 7, 10, 7, 12, 7, 117, 9, 7, 1, 8, 1, 8, 1, 8, 1, 8, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 3, 9, 128, 8, 9, 1, 9, 1, 9, 1, 9, 5, 9, 133, 8, 9, 10, 9, 12, 9, 136, 9, 9, 1, 9, 1, 9, 1, 10, 1, 10, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 1, 11, 1, 12, 1, 12, 1, 12, 1, 12, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 14, 1, 14, 1, 14, 1, 15, 1, 15, 1, 15, 1, 15, 5, 15, 165, 8, 15, 10, 15, 12, 15, 168, 9, 15, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 5, 16, 175, 8, 16, 10, 16, 12, 16, 178, 9, 16, 1, 17, 1, 17, 1, 17, 1, 18, 1, 18, 5, 18, 185, 8, 18, 10, 18, 12, 18, 188, 9, 18, 1, 19, 1, 19, 5, 19, 192, 8, 19, 10, 19, 12, 19, 195, 9, 19, 1, 19, 3, 19, 198, 8, 19, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 3, 20, 207, 8, 20, 1, 20, 1, 20, 5, 20, 211, 8, 20, 10, 20, 12, 20, 214, 9, 20, 1, 21, 1, 21, 1, 21, 1, 21, 3, 21, 220, 8, 21, 1, 21, 1, 21, 1, 21, 5, 21, 225, 8, 21, 10, 21, 12, 21, 228, 9, 21, 1, 21, 1, 21, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 5, 22, 239, 8, 22, 10, 22, 12, 22, 242, 9, 22, 1, 22, 0, 0, 23, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 0, 1, 1, 0, 15, 16, 256, 0, 46, 1, 0, 0, 0, 2, 62, 1, 0, 0, 0, 4, 73, 1, 0, 0, 0, 6, 89, 1, 0, 0, 0, 8, 92, 1, 0, 0, 0, 10, 97, 1, 0, 0, 0, 12, 100, 1, 0, 0, 0, 14, 106, 1, 0, 0, 0, 16, 118, 1, 0, 0, 0, 18, 122, 1, 0, 0, 0, 20, 139, 1, 0, 0, 0, 22, 143, 1, 0, 0, 0, 24, 147, 1, 0, 0, 0, 26, 151, 1, 0, 0, 0, 28, 157, 1, 0, 0, 0, 30, 160, 1, 0, 0, 0, 32, 171, 1, 0, 0, 0, 34, 179, 1, 0, 0, 0, 36, 182, 1, 0, 0, 0, 38, 189, 1, 0, 0, 0, 40, 206, 1, 0, 0, 0, 42, 215, 1, 0, 0, 0, 44, 240, 1, 0, 0, 0, 46, 58, 5, 1, 0, 0, 47, 52, 3, 10, 5, 0, 48, 49, 5, 2, 0, 0, 49, 51, 3, 10, 5, 0, 50, 48, 1, 0, 0, 0, 51, 54, 1, 0, 0, 0, 52, 50, 1, 0, 0, 0, 52, 53, 1, 0, 0, 0, 53, 56, 1, 0, 0, 0, 54, 52, 1, 0, 0, 0, 55, 57, 5, 2, 0, 0, 56, 55, 1, 0, 0, 0, 56, 57, 1, 0, 0, 0, 57, 59, 1, 0, 0, 0, 58, 47, 1, 0, 0, 0, 58, 59, 1, 0, 0, 0, 59, 60, 1, 0, 0, 0, 60, 61, 5, 3, 0, 0, 61, 1, 1, 0, 0, 0, 62, 68, 5, 4, 0, 0, 63, 64, 3, 10, 5, 0, 64, 65, 5, 5, 0, 0, 65, 67, 1, 0, 0, 0, 66, 63, 1, 0, 0, 0, 67, 70, 1, 0, 0, 0, 68, 66, 1, 0, 0, 0, 68, 69, 1, 0, 0, 0, 69, 71, 1, 0, 0, 0, 70, 68, 1, 0, 0, 0, 71, 72, 5, 6, 0, 0, 72, 3, 1, 0, 0, 0, 73, 85, 5, 1, 0, 0, 74, 79, 3, 40, 20, 0, 75, 76, 5, 2, 0, 0, 76, 78, 3, 40, 20, 0, 77, 75, 1, 0, 0, 0, 78, 81, 1, 0, 0, 0, 79, 77, 1, 0, 0, 0, 79, 80, 1, 0, 0, 0, 80, 83, 1, 0, 0, 0, 81, 79, 1, 0, 0, 0, 82, 84, 5, 2, 0, 0, 83, 82, 1, 0, 0, 0, 83, 84, 1, 0, 0, 0, 84, 86, 1, 0, 0, 0, 85, 74, 1, 0, 0, 0, 85, 86, 1, 0, 0, 0, 86, 87, 1, 0, 0, 0, 87, 88, 5, 3, 0, 0, 88, 5, 1, 0, 0, 0, 89, 90, 5, 22, 0, 0, 90, 91, 3, 4, 2, 0, 91, 7, 1, 0, 0, 0, 92, 93, 5, 22, 0, 0, 93, 94, 5, 22, 0, 0, 94, 95, 3, 0, 0, 0, 95, 96, 3, 42, 21, 0, 96, 9, 1, 0, 0, 0, 97, 98, 5, 22, 0, 0, 98, 99, 5, 22, 0, 0, 99, 11, 1, 0, 0, 0, 100, 101, 3, 10, 5, 0, 101, 102, 5, 7, 0, 0, 102, 103, 3, 40, 20, 0, 103, 13, 1, 0, 0, 0, 104, 107, 3, 6, 3, 0, 105, 107, 5, 22, 0, 0, 106, 104, 1, 0, 0, 0, 106, 105, 1, 0, 0, 0, 107, 115, 1, 0, 0, 0, 108, 111, 5, 8, 0, 0, 109, 112, 3, 6, 3, 0, 110, 112, 5, 22, 0, 0, 111, 109, 1, 0, 0, 0, 111, 110, 1, 0, 0, 0, 112, 114, 1, 0, 0, 0, 113, 108, 1, 0, 0, 0, 114, 117, 1, 0, 0, 0, 115, 113, 1, 0, 0, 0, 115, 116, 1, 0, 0, 0, 116, 15, 1, 0, 0, 0, 117, 115, 1, 0, 0, 0, 118, 119, 5, 9, 0, 0, 119, 120, 5, 22, 0, 0, 120, 121, 3, 2, 1, 0, 121, 17, 1, 0, 0, 0, 122, 123, 5, 10, 0, 0, 123, 124, 5, 22, 0, 0, 124, 134, 5, 4, 0, 0, 125, 128, 3, 10, 5, 0, 126, 128, 3, 12, 6, 0, 127, 125, 1, 0, 0, 0, 127, 126, 1, 0, 0, 0, 128, 129, 1, 0, 0, 0, 129, 130, 5, 5, 0, 0, 130, 133, 1, 0, 0, 0, 131, 133, 3, 8, 4, 0, 132, 127, 1, 0, 0, 0, 132, 131, 1, 0, 0, 0, 133, 136, 1, 0, 0, 0, 134, 132, 1, 0, 0, 0, 134, 135, 1, 0, 0, 0, 135, 137, 1, 0, 0, 0, 136, 134, 1, 0, 0, 0, 137, 138, 5, 6, 0, 0, 138, 19, 1, 0, 0, 0, 139, 140, 5, 11, 0, 0, 140, 141, 5, 26, 0, 0, 141, 142, 5, 5, 0, 0, 142, 21, 1, 0, 0, 0, 143, 144, 5, 12, 0, 0, 144, 145, 5, 22, 0, 0, 145, 146, 5, 5, 0, 0, 146, 23, 1, 0, 0, 0, 147, 148, 5, 13, 0, 0, 148, 149, 5, 25, 0, 0, 149, 150, 5, 5, 0, 0, 150, 25, 1, 0, 0, 0, 151, 152, 5, 14, 0, 0, 152, 153, 5, 22, 0, 0, 153, 154, 5, 2, 0, 0, 154, 155, 5, 22, 0, 0, 155, 156, 5, 5, 0, 0, 156, 27, 1, 0, 0, 0, 157, 158, 5, 23, 0, 0, 158, 159, 3, 4, 2, 0, 159, 29, 1, 0, 0, 0, 160, 161, 5, 1, 0, 0, 161, 166, 3, 40, 20, 0, 162, 163, 7, 0, 0, 0, 163, 165, 3, 40, 20, 0, 164, 162, 1, 0, 0, 0, 165, 168, 1, 0, 0, 0, 166, 164, 1, 0, 0, 0, 166, 167, 1, 0, 0, 0, 167, 169, 1, 0, 0, 0, 168, 166, 1, 0, 0, 0, 169, 170, 5, 3, 0, 0, 170, 31, 1, 0, 0, 0, 171, 172, 5, 17, 0, 0, 172, 176, 3, 30, 15, 0, 173, 175, 3, 42, 21, 0, 174, 173, 1, 0, 0, 0, 175, 178, 1, 0, 0, 0, 176, 174, 1, 0, 0, 0, 176, 177, 1, 0, 0, 0, 177, 33, 1, 0, 0, 0, 178, 176, 1, 0, 0, 0, 179, 180, 5, 18, 0, 0, 180, 181, 3, 32, 16, 0, 181, 35, 1, 0, 0, 0, 182, 186, 5, 18, 0, 0, 183, 185, 3, 42, 21, 0, 184, 183, 1, 0, 0, 0, 185, 188, 1, 0, 0, 0, 186, 184, 1, 0, 0, 0, 186, 187, 1, 0, 0, 0, 187, 37, 1, 0, 0, 0, 188, 186, 1, 0, 0, 0, 189, 193, 3, 32, 16, 0, 190, 192, 3, 34, 17, 0, 191, 190, 1, 0, 0, 0, 192, 195, 1, 0, 0, 0, 193, 191, 1, 0, 0, 0, 193, 194, 1, 0, 0, 0, 194, 197, 1, 0, 0, 0, 195, 193, 1, 0, 0, 0, 196, 198, 3, 36, 18, 0, 197, 196, 1, 0, 0, 0, 197, 198, 1, 0, 0, 0, 198, 39, 1, 0, 0, 0, 199, 207, 3, 14, 7, 0, 200, 207, 5, 20, 0, 0, 201, 207, 5, 21, 0, 0, 202, 207, 5, 22, 0, 0, 203, 207, 5, 25, 0, 0, 204, 207, 3, 28, 14, 0, 205, 207, 5, 23, 0, 0, 206, 199, 1, 0, 0, 0, 206, 200, 1, 0, 0, 0, 206, 201, 1, 0, 0, 0, 206, 202, 1, 0, 0, 0, 206, 203, 1, 0, 0, 0, 206, 204, 1, 0, 0, 0, 206, 205, 1, 0, 0, 0, 207, 212, 1, 0, 0, 0, 208, 209, 5, 24, 0, 0, 209, 211, 3, 40, 20, 0, 210, 208, 1, 0, 0, 0, 211, 214, 1, 0, 0, 0, 212, 210, 1, 0, 0, 0, 212, 213, 1, 0, 0, 0, 213, 41, 1, 0, 0, 0, 214, 212, 1, 0, 0, 0, 215, 226, 5, 4, 0, 0, 216, 220, 3, 40, 20, 0, 217, 220, 3, 10, 5, 0, 218, 220, 3, 12, 6, 0, 219, 216, 1, 0, 0, 0, 219, 217, 1, 0, 0, 0, 219, 218, 1, 0, 0, 0, 220, 221, 1, 0, 0, 0, 221, 222, 5, 5, 0, 0, 222, 225, 1, 0, 0, 0, 223, 225, 3, 38, 19, 0, 224, 219, 1, 0, 0, 0, 224, 223, 1, 0, 0, 0, 225, 228, 1, 0, 0, 0, 226, 224, 1, 0, 0, 0, 226, 227, 1, 0, 0, 0, 227, 229, 1, 0, 0, 0, 228, 226, 1, 0, 0, 0, 229, 230, 5, 6, 0, 0, 230, 43, 1, 0, 0, 0, 231, 239, 3, 8, 4, 0, 232, 239, 3, 16, 8, 0, 233, 239, 3, 18, 9, 0, 234, 239, 3, 20, 10, 0, 235, 239, 3, 22, 11, 0, 236, 239, 3, 24, 12, 0, 237, 239, 3, 26, 13, 0, 238, 231, 1, 0, 0, 0, 238, 232, 1, 0, 0, 0, 238, 233, 1, 0, 0, 0, 238, 234, 1, 0, 0, 0, 238, 235, 1, 0, 0, 0, 238, 236, 1, 0, 0, 0, 238, 237, 1, 0, 0, 0, 239, 242, 1, 0, 0, 0, 240, 238, 1, 0, 0, 0, 240, 241, 1, 0, 0, 0, 241, 45, 1, 0, 0, 0, 242, 240, 1, 0, 0, 0, 25, 52, 56, 58, 68, 79, 83, 85, 106, 111, 115, 127, 132, 134, 166, 176, 186, 193, 197, 206, 212, 219, 224, 226, 238, 240] \ No newline at end of file +[4, 1, 28, 244, 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, 1, 0, 1, 0, 1, 0, 1, 0, 5, 0, 51, 8, 0, 10, 0, 12, 0, 54, 9, 0, 1, 0, 3, 0, 57, 8, 0, 3, 0, 59, 8, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 5, 1, 67, 8, 1, 10, 1, 12, 1, 70, 9, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 5, 2, 78, 8, 2, 10, 2, 12, 2, 81, 9, 2, 1, 2, 3, 2, 84, 8, 2, 3, 2, 86, 8, 2, 1, 2, 1, 2, 1, 3, 1, 3, 1, 3, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, 6, 1, 6, 1, 6, 1, 6, 1, 7, 1, 7, 3, 7, 107, 8, 7, 1, 7, 1, 7, 1, 7, 3, 7, 112, 8, 7, 5, 7, 114, 8, 7, 10, 7, 12, 7, 117, 9, 7, 1, 8, 1, 8, 1, 8, 1, 8, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 3, 9, 128, 8, 9, 1, 9, 1, 9, 1, 9, 5, 9, 133, 8, 9, 10, 9, 12, 9, 136, 9, 9, 1, 9, 1, 9, 1, 10, 1, 10, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 1, 11, 1, 12, 1, 12, 1, 12, 1, 12, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 14, 1, 14, 1, 14, 1, 15, 1, 15, 1, 15, 1, 15, 5, 15, 165, 8, 15, 10, 15, 12, 15, 168, 9, 15, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 5, 16, 175, 8, 16, 10, 16, 12, 16, 178, 9, 16, 1, 17, 1, 17, 1, 17, 1, 18, 1, 18, 5, 18, 185, 8, 18, 10, 18, 12, 18, 188, 9, 18, 1, 19, 1, 19, 5, 19, 192, 8, 19, 10, 19, 12, 19, 195, 9, 19, 1, 19, 3, 19, 198, 8, 19, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 3, 20, 207, 8, 20, 1, 20, 1, 20, 5, 20, 211, 8, 20, 10, 20, 12, 20, 214, 9, 20, 1, 21, 1, 21, 1, 21, 1, 21, 3, 21, 220, 8, 21, 1, 21, 1, 21, 1, 21, 5, 21, 225, 8, 21, 10, 21, 12, 21, 228, 9, 21, 1, 21, 1, 21, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 5, 22, 239, 8, 22, 10, 22, 12, 22, 242, 9, 22, 1, 22, 0, 0, 23, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 0, 1, 1, 0, 15, 16, 256, 0, 46, 1, 0, 0, 0, 2, 62, 1, 0, 0, 0, 4, 73, 1, 0, 0, 0, 6, 89, 1, 0, 0, 0, 8, 92, 1, 0, 0, 0, 10, 97, 1, 0, 0, 0, 12, 100, 1, 0, 0, 0, 14, 106, 1, 0, 0, 0, 16, 118, 1, 0, 0, 0, 18, 122, 1, 0, 0, 0, 20, 139, 1, 0, 0, 0, 22, 143, 1, 0, 0, 0, 24, 147, 1, 0, 0, 0, 26, 151, 1, 0, 0, 0, 28, 157, 1, 0, 0, 0, 30, 160, 1, 0, 0, 0, 32, 171, 1, 0, 0, 0, 34, 179, 1, 0, 0, 0, 36, 182, 1, 0, 0, 0, 38, 189, 1, 0, 0, 0, 40, 206, 1, 0, 0, 0, 42, 215, 1, 0, 0, 0, 44, 240, 1, 0, 0, 0, 46, 58, 5, 1, 0, 0, 47, 52, 3, 10, 5, 0, 48, 49, 5, 2, 0, 0, 49, 51, 3, 10, 5, 0, 50, 48, 1, 0, 0, 0, 51, 54, 1, 0, 0, 0, 52, 50, 1, 0, 0, 0, 52, 53, 1, 0, 0, 0, 53, 56, 1, 0, 0, 0, 54, 52, 1, 0, 0, 0, 55, 57, 5, 2, 0, 0, 56, 55, 1, 0, 0, 0, 56, 57, 1, 0, 0, 0, 57, 59, 1, 0, 0, 0, 58, 47, 1, 0, 0, 0, 58, 59, 1, 0, 0, 0, 59, 60, 1, 0, 0, 0, 60, 61, 5, 3, 0, 0, 61, 1, 1, 0, 0, 0, 62, 68, 5, 4, 0, 0, 63, 64, 3, 10, 5, 0, 64, 65, 5, 5, 0, 0, 65, 67, 1, 0, 0, 0, 66, 63, 1, 0, 0, 0, 67, 70, 1, 0, 0, 0, 68, 66, 1, 0, 0, 0, 68, 69, 1, 0, 0, 0, 69, 71, 1, 0, 0, 0, 70, 68, 1, 0, 0, 0, 71, 72, 5, 6, 0, 0, 72, 3, 1, 0, 0, 0, 73, 85, 5, 1, 0, 0, 74, 79, 3, 40, 20, 0, 75, 76, 5, 2, 0, 0, 76, 78, 3, 40, 20, 0, 77, 75, 1, 0, 0, 0, 78, 81, 1, 0, 0, 0, 79, 77, 1, 0, 0, 0, 79, 80, 1, 0, 0, 0, 80, 83, 1, 0, 0, 0, 81, 79, 1, 0, 0, 0, 82, 84, 5, 2, 0, 0, 83, 82, 1, 0, 0, 0, 83, 84, 1, 0, 0, 0, 84, 86, 1, 0, 0, 0, 85, 74, 1, 0, 0, 0, 85, 86, 1, 0, 0, 0, 86, 87, 1, 0, 0, 0, 87, 88, 5, 3, 0, 0, 88, 5, 1, 0, 0, 0, 89, 90, 5, 24, 0, 0, 90, 91, 3, 4, 2, 0, 91, 7, 1, 0, 0, 0, 92, 93, 5, 24, 0, 0, 93, 94, 5, 24, 0, 0, 94, 95, 3, 0, 0, 0, 95, 96, 3, 42, 21, 0, 96, 9, 1, 0, 0, 0, 97, 98, 5, 24, 0, 0, 98, 99, 5, 24, 0, 0, 99, 11, 1, 0, 0, 0, 100, 101, 3, 10, 5, 0, 101, 102, 5, 7, 0, 0, 102, 103, 3, 40, 20, 0, 103, 13, 1, 0, 0, 0, 104, 107, 3, 6, 3, 0, 105, 107, 5, 24, 0, 0, 106, 104, 1, 0, 0, 0, 106, 105, 1, 0, 0, 0, 107, 115, 1, 0, 0, 0, 108, 111, 5, 8, 0, 0, 109, 112, 3, 6, 3, 0, 110, 112, 5, 24, 0, 0, 111, 109, 1, 0, 0, 0, 111, 110, 1, 0, 0, 0, 112, 114, 1, 0, 0, 0, 113, 108, 1, 0, 0, 0, 114, 117, 1, 0, 0, 0, 115, 113, 1, 0, 0, 0, 115, 116, 1, 0, 0, 0, 116, 15, 1, 0, 0, 0, 117, 115, 1, 0, 0, 0, 118, 119, 5, 9, 0, 0, 119, 120, 5, 24, 0, 0, 120, 121, 3, 2, 1, 0, 121, 17, 1, 0, 0, 0, 122, 123, 5, 10, 0, 0, 123, 124, 5, 24, 0, 0, 124, 134, 5, 4, 0, 0, 125, 128, 3, 10, 5, 0, 126, 128, 3, 12, 6, 0, 127, 125, 1, 0, 0, 0, 127, 126, 1, 0, 0, 0, 128, 129, 1, 0, 0, 0, 129, 130, 5, 5, 0, 0, 130, 133, 1, 0, 0, 0, 131, 133, 3, 8, 4, 0, 132, 127, 1, 0, 0, 0, 132, 131, 1, 0, 0, 0, 133, 136, 1, 0, 0, 0, 134, 132, 1, 0, 0, 0, 134, 135, 1, 0, 0, 0, 135, 137, 1, 0, 0, 0, 136, 134, 1, 0, 0, 0, 137, 138, 5, 6, 0, 0, 138, 19, 1, 0, 0, 0, 139, 140, 5, 11, 0, 0, 140, 141, 5, 28, 0, 0, 141, 142, 5, 5, 0, 0, 142, 21, 1, 0, 0, 0, 143, 144, 5, 12, 0, 0, 144, 145, 5, 24, 0, 0, 145, 146, 5, 5, 0, 0, 146, 23, 1, 0, 0, 0, 147, 148, 5, 13, 0, 0, 148, 149, 5, 27, 0, 0, 149, 150, 5, 5, 0, 0, 150, 25, 1, 0, 0, 0, 151, 152, 5, 14, 0, 0, 152, 153, 5, 24, 0, 0, 153, 154, 5, 2, 0, 0, 154, 155, 5, 24, 0, 0, 155, 156, 5, 5, 0, 0, 156, 27, 1, 0, 0, 0, 157, 158, 5, 25, 0, 0, 158, 159, 3, 4, 2, 0, 159, 29, 1, 0, 0, 0, 160, 161, 5, 1, 0, 0, 161, 166, 3, 40, 20, 0, 162, 163, 7, 0, 0, 0, 163, 165, 3, 40, 20, 0, 164, 162, 1, 0, 0, 0, 165, 168, 1, 0, 0, 0, 166, 164, 1, 0, 0, 0, 166, 167, 1, 0, 0, 0, 167, 169, 1, 0, 0, 0, 168, 166, 1, 0, 0, 0, 169, 170, 5, 3, 0, 0, 170, 31, 1, 0, 0, 0, 171, 172, 5, 17, 0, 0, 172, 176, 3, 30, 15, 0, 173, 175, 3, 42, 21, 0, 174, 173, 1, 0, 0, 0, 175, 178, 1, 0, 0, 0, 176, 174, 1, 0, 0, 0, 176, 177, 1, 0, 0, 0, 177, 33, 1, 0, 0, 0, 178, 176, 1, 0, 0, 0, 179, 180, 5, 18, 0, 0, 180, 181, 3, 32, 16, 0, 181, 35, 1, 0, 0, 0, 182, 186, 5, 18, 0, 0, 183, 185, 3, 42, 21, 0, 184, 183, 1, 0, 0, 0, 185, 188, 1, 0, 0, 0, 186, 184, 1, 0, 0, 0, 186, 187, 1, 0, 0, 0, 187, 37, 1, 0, 0, 0, 188, 186, 1, 0, 0, 0, 189, 193, 3, 32, 16, 0, 190, 192, 3, 34, 17, 0, 191, 190, 1, 0, 0, 0, 192, 195, 1, 0, 0, 0, 193, 191, 1, 0, 0, 0, 193, 194, 1, 0, 0, 0, 194, 197, 1, 0, 0, 0, 195, 193, 1, 0, 0, 0, 196, 198, 3, 36, 18, 0, 197, 196, 1, 0, 0, 0, 197, 198, 1, 0, 0, 0, 198, 39, 1, 0, 0, 0, 199, 207, 3, 14, 7, 0, 200, 207, 5, 22, 0, 0, 201, 207, 5, 23, 0, 0, 202, 207, 5, 24, 0, 0, 203, 207, 5, 27, 0, 0, 204, 207, 3, 28, 14, 0, 205, 207, 5, 25, 0, 0, 206, 199, 1, 0, 0, 0, 206, 200, 1, 0, 0, 0, 206, 201, 1, 0, 0, 0, 206, 202, 1, 0, 0, 0, 206, 203, 1, 0, 0, 0, 206, 204, 1, 0, 0, 0, 206, 205, 1, 0, 0, 0, 207, 212, 1, 0, 0, 0, 208, 209, 5, 26, 0, 0, 209, 211, 3, 40, 20, 0, 210, 208, 1, 0, 0, 0, 211, 214, 1, 0, 0, 0, 212, 210, 1, 0, 0, 0, 212, 213, 1, 0, 0, 0, 213, 41, 1, 0, 0, 0, 214, 212, 1, 0, 0, 0, 215, 226, 5, 4, 0, 0, 216, 220, 3, 40, 20, 0, 217, 220, 3, 10, 5, 0, 218, 220, 3, 12, 6, 0, 219, 216, 1, 0, 0, 0, 219, 217, 1, 0, 0, 0, 219, 218, 1, 0, 0, 0, 220, 221, 1, 0, 0, 0, 221, 222, 5, 5, 0, 0, 222, 225, 1, 0, 0, 0, 223, 225, 3, 38, 19, 0, 224, 219, 1, 0, 0, 0, 224, 223, 1, 0, 0, 0, 225, 228, 1, 0, 0, 0, 226, 224, 1, 0, 0, 0, 226, 227, 1, 0, 0, 0, 227, 229, 1, 0, 0, 0, 228, 226, 1, 0, 0, 0, 229, 230, 5, 6, 0, 0, 230, 43, 1, 0, 0, 0, 231, 239, 3, 8, 4, 0, 232, 239, 3, 16, 8, 0, 233, 239, 3, 18, 9, 0, 234, 239, 3, 20, 10, 0, 235, 239, 3, 22, 11, 0, 236, 239, 3, 24, 12, 0, 237, 239, 3, 26, 13, 0, 238, 231, 1, 0, 0, 0, 238, 232, 1, 0, 0, 0, 238, 233, 1, 0, 0, 0, 238, 234, 1, 0, 0, 0, 238, 235, 1, 0, 0, 0, 238, 236, 1, 0, 0, 0, 238, 237, 1, 0, 0, 0, 239, 242, 1, 0, 0, 0, 240, 238, 1, 0, 0, 0, 240, 241, 1, 0, 0, 0, 241, 45, 1, 0, 0, 0, 242, 240, 1, 0, 0, 0, 25, 52, 56, 58, 68, 79, 83, 85, 106, 111, 115, 127, 132, 134, 166, 176, 186, 193, 197, 206, 212, 219, 224, 226, 238, 240] \ No newline at end of file diff --git a/parser/Wyst.tokens b/parser/Wyst.tokens index 4e30725..b140c2d 100644 --- a/parser/Wyst.tokens +++ b/parser/Wyst.tokens @@ -16,14 +16,16 @@ T__14=15 T__15=16 T__16=17 T__17=18 -WS=19 -NUMBER=20 -HEX=21 -IDENTIFIER=22 -GOIDENTIFIER=23 -MATH=24 -STRING=25 -MODULE_NAME=26 +COMMENT=19 +MULTILINE_COMMENT=20 +WS=21 +NUMBER=22 +HEX=23 +IDENTIFIER=24 +GOIDENTIFIER=25 +MATH=26 +STRING=27 +MODULE_NAME=28 '('=1 ','=2 ')'=3 diff --git a/parser/WystLexer.interp b/parser/WystLexer.interp index d3108b2..7c89c6c 100644 --- a/parser/WystLexer.interp +++ b/parser/WystLexer.interp @@ -26,6 +26,8 @@ null null null null +null +null token symbolic names: null @@ -47,6 +49,8 @@ null null null null +COMMENT +MULTILINE_COMMENT WS NUMBER HEX @@ -75,6 +79,8 @@ T__14 T__15 T__16 T__17 +COMMENT +MULTILINE_COMMENT WS NUMBER HEX @@ -93,4 +99,4 @@ mode names: DEFAULT_MODE atn: -[4, 0, 26, 237, 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, 1, 0, 1, 0, 1, 1, 1, 1, 1, 2, 1, 2, 1, 3, 1, 3, 1, 4, 1, 4, 1, 5, 1, 5, 1, 6, 1, 6, 1, 7, 1, 7, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 1, 11, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 14, 1, 14, 1, 14, 1, 15, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 18, 4, 18, 129, 8, 18, 11, 18, 12, 18, 130, 1, 18, 1, 18, 1, 19, 1, 19, 5, 19, 137, 8, 19, 10, 19, 12, 19, 140, 9, 19, 1, 19, 3, 19, 143, 8, 19, 1, 20, 1, 20, 1, 20, 1, 20, 5, 20, 149, 8, 20, 10, 20, 12, 20, 152, 9, 20, 1, 21, 1, 21, 5, 21, 156, 8, 21, 10, 21, 12, 21, 159, 9, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 5, 21, 166, 8, 21, 10, 21, 12, 21, 169, 9, 21, 5, 21, 171, 8, 21, 10, 21, 12, 21, 174, 9, 21, 1, 22, 1, 22, 1, 22, 5, 22, 179, 8, 22, 10, 22, 12, 22, 182, 9, 22, 1, 22, 1, 22, 1, 22, 5, 22, 187, 8, 22, 10, 22, 12, 22, 190, 9, 22, 5, 22, 192, 8, 22, 10, 22, 12, 22, 195, 9, 22, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 3, 23, 206, 8, 23, 1, 24, 1, 24, 1, 24, 1, 25, 1, 25, 1, 25, 5, 25, 214, 8, 25, 10, 25, 12, 25, 217, 9, 25, 1, 25, 1, 25, 1, 25, 1, 25, 5, 25, 223, 8, 25, 10, 25, 12, 25, 226, 9, 25, 1, 25, 3, 25, 229, 8, 25, 1, 26, 1, 26, 5, 26, 233, 8, 26, 10, 26, 12, 26, 236, 9, 26, 0, 0, 27, 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, 0, 51, 25, 53, 26, 1, 0, 8, 3, 0, 9, 10, 13, 13, 32, 32, 1, 0, 49, 57, 1, 0, 48, 57, 3, 0, 48, 57, 65, 70, 97, 102, 3, 0, 65, 90, 95, 95, 97, 122, 4, 0, 48, 57, 65, 90, 95, 95, 97, 122, 3, 0, 42, 43, 45, 45, 47, 47, 2, 0, 34, 34, 92, 92, 255, 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, 51, 1, 0, 0, 0, 0, 53, 1, 0, 0, 0, 1, 55, 1, 0, 0, 0, 3, 57, 1, 0, 0, 0, 5, 59, 1, 0, 0, 0, 7, 61, 1, 0, 0, 0, 9, 63, 1, 0, 0, 0, 11, 65, 1, 0, 0, 0, 13, 67, 1, 0, 0, 0, 15, 69, 1, 0, 0, 0, 17, 71, 1, 0, 0, 0, 19, 78, 1, 0, 0, 0, 21, 88, 1, 0, 0, 0, 23, 96, 1, 0, 0, 0, 25, 100, 1, 0, 0, 0, 27, 108, 1, 0, 0, 0, 29, 113, 1, 0, 0, 0, 31, 116, 1, 0, 0, 0, 33, 119, 1, 0, 0, 0, 35, 122, 1, 0, 0, 0, 37, 128, 1, 0, 0, 0, 39, 142, 1, 0, 0, 0, 41, 144, 1, 0, 0, 0, 43, 153, 1, 0, 0, 0, 45, 175, 1, 0, 0, 0, 47, 205, 1, 0, 0, 0, 49, 207, 1, 0, 0, 0, 51, 228, 1, 0, 0, 0, 53, 230, 1, 0, 0, 0, 55, 56, 5, 40, 0, 0, 56, 2, 1, 0, 0, 0, 57, 58, 5, 44, 0, 0, 58, 4, 1, 0, 0, 0, 59, 60, 5, 41, 0, 0, 60, 6, 1, 0, 0, 0, 61, 62, 5, 123, 0, 0, 62, 8, 1, 0, 0, 0, 63, 64, 5, 59, 0, 0, 64, 10, 1, 0, 0, 0, 65, 66, 5, 125, 0, 0, 66, 12, 1, 0, 0, 0, 67, 68, 5, 61, 0, 0, 68, 14, 1, 0, 0, 0, 69, 70, 5, 46, 0, 0, 70, 16, 1, 0, 0, 0, 71, 72, 5, 115, 0, 0, 72, 73, 5, 116, 0, 0, 73, 74, 5, 114, 0, 0, 74, 75, 5, 117, 0, 0, 75, 76, 5, 99, 0, 0, 76, 77, 5, 116, 0, 0, 77, 18, 1, 0, 0, 0, 78, 79, 5, 110, 0, 0, 79, 80, 5, 97, 0, 0, 80, 81, 5, 109, 0, 0, 81, 82, 5, 101, 0, 0, 82, 83, 5, 115, 0, 0, 83, 84, 5, 112, 0, 0, 84, 85, 5, 97, 0, 0, 85, 86, 5, 99, 0, 0, 86, 87, 5, 101, 0, 0, 87, 20, 1, 0, 0, 0, 88, 89, 5, 105, 0, 0, 89, 90, 5, 110, 0, 0, 90, 91, 5, 99, 0, 0, 91, 92, 5, 108, 0, 0, 92, 93, 5, 117, 0, 0, 93, 94, 5, 100, 0, 0, 94, 95, 5, 101, 0, 0, 95, 22, 1, 0, 0, 0, 96, 97, 5, 117, 0, 0, 97, 98, 5, 115, 0, 0, 98, 99, 5, 101, 0, 0, 99, 24, 1, 0, 0, 0, 100, 101, 5, 37, 0, 0, 101, 102, 5, 105, 0, 0, 102, 103, 5, 109, 0, 0, 103, 104, 5, 112, 0, 0, 104, 105, 5, 111, 0, 0, 105, 106, 5, 114, 0, 0, 106, 107, 5, 116, 0, 0, 107, 26, 1, 0, 0, 0, 108, 109, 5, 37, 0, 0, 109, 110, 5, 109, 0, 0, 110, 111, 5, 97, 0, 0, 111, 112, 5, 112, 0, 0, 112, 28, 1, 0, 0, 0, 113, 114, 5, 38, 0, 0, 114, 115, 5, 38, 0, 0, 115, 30, 1, 0, 0, 0, 116, 117, 5, 124, 0, 0, 117, 118, 5, 124, 0, 0, 118, 32, 1, 0, 0, 0, 119, 120, 5, 105, 0, 0, 120, 121, 5, 102, 0, 0, 121, 34, 1, 0, 0, 0, 122, 123, 5, 101, 0, 0, 123, 124, 5, 108, 0, 0, 124, 125, 5, 115, 0, 0, 125, 126, 5, 101, 0, 0, 126, 36, 1, 0, 0, 0, 127, 129, 7, 0, 0, 0, 128, 127, 1, 0, 0, 0, 129, 130, 1, 0, 0, 0, 130, 128, 1, 0, 0, 0, 130, 131, 1, 0, 0, 0, 131, 132, 1, 0, 0, 0, 132, 133, 6, 18, 0, 0, 133, 38, 1, 0, 0, 0, 134, 138, 7, 1, 0, 0, 135, 137, 7, 2, 0, 0, 136, 135, 1, 0, 0, 0, 137, 140, 1, 0, 0, 0, 138, 136, 1, 0, 0, 0, 138, 139, 1, 0, 0, 0, 139, 143, 1, 0, 0, 0, 140, 138, 1, 0, 0, 0, 141, 143, 5, 48, 0, 0, 142, 134, 1, 0, 0, 0, 142, 141, 1, 0, 0, 0, 143, 40, 1, 0, 0, 0, 144, 145, 5, 48, 0, 0, 145, 146, 5, 120, 0, 0, 146, 150, 1, 0, 0, 0, 147, 149, 7, 3, 0, 0, 148, 147, 1, 0, 0, 0, 149, 152, 1, 0, 0, 0, 150, 148, 1, 0, 0, 0, 150, 151, 1, 0, 0, 0, 151, 42, 1, 0, 0, 0, 152, 150, 1, 0, 0, 0, 153, 157, 7, 4, 0, 0, 154, 156, 7, 5, 0, 0, 155, 154, 1, 0, 0, 0, 156, 159, 1, 0, 0, 0, 157, 155, 1, 0, 0, 0, 157, 158, 1, 0, 0, 0, 158, 172, 1, 0, 0, 0, 159, 157, 1, 0, 0, 0, 160, 161, 5, 58, 0, 0, 161, 162, 5, 58, 0, 0, 162, 163, 1, 0, 0, 0, 163, 167, 7, 4, 0, 0, 164, 166, 7, 5, 0, 0, 165, 164, 1, 0, 0, 0, 166, 169, 1, 0, 0, 0, 167, 165, 1, 0, 0, 0, 167, 168, 1, 0, 0, 0, 168, 171, 1, 0, 0, 0, 169, 167, 1, 0, 0, 0, 170, 160, 1, 0, 0, 0, 171, 174, 1, 0, 0, 0, 172, 170, 1, 0, 0, 0, 172, 173, 1, 0, 0, 0, 173, 44, 1, 0, 0, 0, 174, 172, 1, 0, 0, 0, 175, 176, 5, 94, 0, 0, 176, 180, 7, 4, 0, 0, 177, 179, 7, 5, 0, 0, 178, 177, 1, 0, 0, 0, 179, 182, 1, 0, 0, 0, 180, 178, 1, 0, 0, 0, 180, 181, 1, 0, 0, 0, 181, 193, 1, 0, 0, 0, 182, 180, 1, 0, 0, 0, 183, 184, 5, 46, 0, 0, 184, 188, 7, 4, 0, 0, 185, 187, 7, 5, 0, 0, 186, 185, 1, 0, 0, 0, 187, 190, 1, 0, 0, 0, 188, 186, 1, 0, 0, 0, 188, 189, 1, 0, 0, 0, 189, 192, 1, 0, 0, 0, 190, 188, 1, 0, 0, 0, 191, 183, 1, 0, 0, 0, 192, 195, 1, 0, 0, 0, 193, 191, 1, 0, 0, 0, 193, 194, 1, 0, 0, 0, 194, 46, 1, 0, 0, 0, 195, 193, 1, 0, 0, 0, 196, 206, 7, 6, 0, 0, 197, 198, 5, 61, 0, 0, 198, 206, 5, 61, 0, 0, 199, 200, 5, 33, 0, 0, 200, 206, 5, 61, 0, 0, 201, 202, 5, 62, 0, 0, 202, 206, 5, 61, 0, 0, 203, 204, 5, 60, 0, 0, 204, 206, 5, 61, 0, 0, 205, 196, 1, 0, 0, 0, 205, 197, 1, 0, 0, 0, 205, 199, 1, 0, 0, 0, 205, 201, 1, 0, 0, 0, 205, 203, 1, 0, 0, 0, 206, 48, 1, 0, 0, 0, 207, 208, 5, 92, 0, 0, 208, 209, 9, 0, 0, 0, 209, 50, 1, 0, 0, 0, 210, 215, 5, 34, 0, 0, 211, 214, 3, 49, 24, 0, 212, 214, 8, 7, 0, 0, 213, 211, 1, 0, 0, 0, 213, 212, 1, 0, 0, 0, 214, 217, 1, 0, 0, 0, 215, 213, 1, 0, 0, 0, 215, 216, 1, 0, 0, 0, 216, 218, 1, 0, 0, 0, 217, 215, 1, 0, 0, 0, 218, 229, 5, 34, 0, 0, 219, 224, 5, 39, 0, 0, 220, 223, 3, 49, 24, 0, 221, 223, 8, 7, 0, 0, 222, 220, 1, 0, 0, 0, 222, 221, 1, 0, 0, 0, 223, 226, 1, 0, 0, 0, 224, 222, 1, 0, 0, 0, 224, 225, 1, 0, 0, 0, 225, 227, 1, 0, 0, 0, 226, 224, 1, 0, 0, 0, 227, 229, 5, 39, 0, 0, 228, 210, 1, 0, 0, 0, 228, 219, 1, 0, 0, 0, 229, 52, 1, 0, 0, 0, 230, 234, 7, 4, 0, 0, 231, 233, 7, 5, 0, 0, 232, 231, 1, 0, 0, 0, 233, 236, 1, 0, 0, 0, 234, 232, 1, 0, 0, 0, 234, 235, 1, 0, 0, 0, 235, 54, 1, 0, 0, 0, 236, 234, 1, 0, 0, 0, 18, 0, 130, 138, 142, 150, 157, 167, 172, 180, 188, 193, 205, 213, 215, 222, 224, 228, 234, 1, 6, 0, 0] \ No newline at end of file +[4, 0, 28, 266, 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, 1, 0, 1, 0, 1, 1, 1, 1, 1, 2, 1, 2, 1, 3, 1, 3, 1, 4, 1, 4, 1, 5, 1, 5, 1, 6, 1, 6, 1, 7, 1, 7, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 1, 11, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 14, 1, 14, 1, 14, 1, 15, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 18, 1, 18, 1, 18, 1, 18, 5, 18, 136, 8, 18, 10, 18, 12, 18, 139, 9, 18, 1, 18, 1, 18, 1, 19, 1, 19, 1, 19, 1, 19, 5, 19, 147, 8, 19, 10, 19, 12, 19, 150, 9, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 20, 4, 20, 158, 8, 20, 11, 20, 12, 20, 159, 1, 20, 1, 20, 1, 21, 1, 21, 5, 21, 166, 8, 21, 10, 21, 12, 21, 169, 9, 21, 1, 21, 3, 21, 172, 8, 21, 1, 22, 1, 22, 1, 22, 1, 22, 5, 22, 178, 8, 22, 10, 22, 12, 22, 181, 9, 22, 1, 23, 1, 23, 5, 23, 185, 8, 23, 10, 23, 12, 23, 188, 9, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 5, 23, 195, 8, 23, 10, 23, 12, 23, 198, 9, 23, 5, 23, 200, 8, 23, 10, 23, 12, 23, 203, 9, 23, 1, 24, 1, 24, 1, 24, 5, 24, 208, 8, 24, 10, 24, 12, 24, 211, 9, 24, 1, 24, 1, 24, 1, 24, 5, 24, 216, 8, 24, 10, 24, 12, 24, 219, 9, 24, 5, 24, 221, 8, 24, 10, 24, 12, 24, 224, 9, 24, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 3, 25, 235, 8, 25, 1, 26, 1, 26, 1, 26, 1, 27, 1, 27, 1, 27, 5, 27, 243, 8, 27, 10, 27, 12, 27, 246, 9, 27, 1, 27, 1, 27, 1, 27, 1, 27, 5, 27, 252, 8, 27, 10, 27, 12, 27, 255, 9, 27, 1, 27, 3, 27, 258, 8, 27, 1, 28, 1, 28, 5, 28, 262, 8, 28, 10, 28, 12, 28, 265, 9, 28, 1, 148, 0, 29, 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, 27, 57, 28, 1, 0, 9, 2, 0, 10, 10, 13, 13, 3, 0, 9, 10, 13, 13, 32, 32, 1, 0, 49, 57, 1, 0, 48, 57, 3, 0, 48, 57, 65, 70, 97, 102, 3, 0, 65, 90, 95, 95, 97, 122, 4, 0, 48, 57, 65, 90, 95, 95, 97, 122, 3, 0, 42, 43, 45, 45, 47, 47, 2, 0, 34, 34, 92, 92, 286, 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, 55, 1, 0, 0, 0, 0, 57, 1, 0, 0, 0, 1, 59, 1, 0, 0, 0, 3, 61, 1, 0, 0, 0, 5, 63, 1, 0, 0, 0, 7, 65, 1, 0, 0, 0, 9, 67, 1, 0, 0, 0, 11, 69, 1, 0, 0, 0, 13, 71, 1, 0, 0, 0, 15, 73, 1, 0, 0, 0, 17, 75, 1, 0, 0, 0, 19, 82, 1, 0, 0, 0, 21, 92, 1, 0, 0, 0, 23, 100, 1, 0, 0, 0, 25, 104, 1, 0, 0, 0, 27, 112, 1, 0, 0, 0, 29, 117, 1, 0, 0, 0, 31, 120, 1, 0, 0, 0, 33, 123, 1, 0, 0, 0, 35, 126, 1, 0, 0, 0, 37, 131, 1, 0, 0, 0, 39, 142, 1, 0, 0, 0, 41, 157, 1, 0, 0, 0, 43, 171, 1, 0, 0, 0, 45, 173, 1, 0, 0, 0, 47, 182, 1, 0, 0, 0, 49, 204, 1, 0, 0, 0, 51, 234, 1, 0, 0, 0, 53, 236, 1, 0, 0, 0, 55, 257, 1, 0, 0, 0, 57, 259, 1, 0, 0, 0, 59, 60, 5, 40, 0, 0, 60, 2, 1, 0, 0, 0, 61, 62, 5, 44, 0, 0, 62, 4, 1, 0, 0, 0, 63, 64, 5, 41, 0, 0, 64, 6, 1, 0, 0, 0, 65, 66, 5, 123, 0, 0, 66, 8, 1, 0, 0, 0, 67, 68, 5, 59, 0, 0, 68, 10, 1, 0, 0, 0, 69, 70, 5, 125, 0, 0, 70, 12, 1, 0, 0, 0, 71, 72, 5, 61, 0, 0, 72, 14, 1, 0, 0, 0, 73, 74, 5, 46, 0, 0, 74, 16, 1, 0, 0, 0, 75, 76, 5, 115, 0, 0, 76, 77, 5, 116, 0, 0, 77, 78, 5, 114, 0, 0, 78, 79, 5, 117, 0, 0, 79, 80, 5, 99, 0, 0, 80, 81, 5, 116, 0, 0, 81, 18, 1, 0, 0, 0, 82, 83, 5, 110, 0, 0, 83, 84, 5, 97, 0, 0, 84, 85, 5, 109, 0, 0, 85, 86, 5, 101, 0, 0, 86, 87, 5, 115, 0, 0, 87, 88, 5, 112, 0, 0, 88, 89, 5, 97, 0, 0, 89, 90, 5, 99, 0, 0, 90, 91, 5, 101, 0, 0, 91, 20, 1, 0, 0, 0, 92, 93, 5, 105, 0, 0, 93, 94, 5, 110, 0, 0, 94, 95, 5, 99, 0, 0, 95, 96, 5, 108, 0, 0, 96, 97, 5, 117, 0, 0, 97, 98, 5, 100, 0, 0, 98, 99, 5, 101, 0, 0, 99, 22, 1, 0, 0, 0, 100, 101, 5, 117, 0, 0, 101, 102, 5, 115, 0, 0, 102, 103, 5, 101, 0, 0, 103, 24, 1, 0, 0, 0, 104, 105, 5, 37, 0, 0, 105, 106, 5, 105, 0, 0, 106, 107, 5, 109, 0, 0, 107, 108, 5, 112, 0, 0, 108, 109, 5, 111, 0, 0, 109, 110, 5, 114, 0, 0, 110, 111, 5, 116, 0, 0, 111, 26, 1, 0, 0, 0, 112, 113, 5, 37, 0, 0, 113, 114, 5, 109, 0, 0, 114, 115, 5, 97, 0, 0, 115, 116, 5, 112, 0, 0, 116, 28, 1, 0, 0, 0, 117, 118, 5, 38, 0, 0, 118, 119, 5, 38, 0, 0, 119, 30, 1, 0, 0, 0, 120, 121, 5, 124, 0, 0, 121, 122, 5, 124, 0, 0, 122, 32, 1, 0, 0, 0, 123, 124, 5, 105, 0, 0, 124, 125, 5, 102, 0, 0, 125, 34, 1, 0, 0, 0, 126, 127, 5, 101, 0, 0, 127, 128, 5, 108, 0, 0, 128, 129, 5, 115, 0, 0, 129, 130, 5, 101, 0, 0, 130, 36, 1, 0, 0, 0, 131, 132, 5, 47, 0, 0, 132, 133, 5, 47, 0, 0, 133, 137, 1, 0, 0, 0, 134, 136, 8, 0, 0, 0, 135, 134, 1, 0, 0, 0, 136, 139, 1, 0, 0, 0, 137, 135, 1, 0, 0, 0, 137, 138, 1, 0, 0, 0, 138, 140, 1, 0, 0, 0, 139, 137, 1, 0, 0, 0, 140, 141, 6, 18, 0, 0, 141, 38, 1, 0, 0, 0, 142, 143, 5, 47, 0, 0, 143, 144, 5, 42, 0, 0, 144, 148, 1, 0, 0, 0, 145, 147, 9, 0, 0, 0, 146, 145, 1, 0, 0, 0, 147, 150, 1, 0, 0, 0, 148, 149, 1, 0, 0, 0, 148, 146, 1, 0, 0, 0, 149, 151, 1, 0, 0, 0, 150, 148, 1, 0, 0, 0, 151, 152, 5, 42, 0, 0, 152, 153, 5, 47, 0, 0, 153, 154, 1, 0, 0, 0, 154, 155, 6, 19, 0, 0, 155, 40, 1, 0, 0, 0, 156, 158, 7, 1, 0, 0, 157, 156, 1, 0, 0, 0, 158, 159, 1, 0, 0, 0, 159, 157, 1, 0, 0, 0, 159, 160, 1, 0, 0, 0, 160, 161, 1, 0, 0, 0, 161, 162, 6, 20, 0, 0, 162, 42, 1, 0, 0, 0, 163, 167, 7, 2, 0, 0, 164, 166, 7, 3, 0, 0, 165, 164, 1, 0, 0, 0, 166, 169, 1, 0, 0, 0, 167, 165, 1, 0, 0, 0, 167, 168, 1, 0, 0, 0, 168, 172, 1, 0, 0, 0, 169, 167, 1, 0, 0, 0, 170, 172, 5, 48, 0, 0, 171, 163, 1, 0, 0, 0, 171, 170, 1, 0, 0, 0, 172, 44, 1, 0, 0, 0, 173, 174, 5, 48, 0, 0, 174, 175, 5, 120, 0, 0, 175, 179, 1, 0, 0, 0, 176, 178, 7, 4, 0, 0, 177, 176, 1, 0, 0, 0, 178, 181, 1, 0, 0, 0, 179, 177, 1, 0, 0, 0, 179, 180, 1, 0, 0, 0, 180, 46, 1, 0, 0, 0, 181, 179, 1, 0, 0, 0, 182, 186, 7, 5, 0, 0, 183, 185, 7, 6, 0, 0, 184, 183, 1, 0, 0, 0, 185, 188, 1, 0, 0, 0, 186, 184, 1, 0, 0, 0, 186, 187, 1, 0, 0, 0, 187, 201, 1, 0, 0, 0, 188, 186, 1, 0, 0, 0, 189, 190, 5, 58, 0, 0, 190, 191, 5, 58, 0, 0, 191, 192, 1, 0, 0, 0, 192, 196, 7, 5, 0, 0, 193, 195, 7, 6, 0, 0, 194, 193, 1, 0, 0, 0, 195, 198, 1, 0, 0, 0, 196, 194, 1, 0, 0, 0, 196, 197, 1, 0, 0, 0, 197, 200, 1, 0, 0, 0, 198, 196, 1, 0, 0, 0, 199, 189, 1, 0, 0, 0, 200, 203, 1, 0, 0, 0, 201, 199, 1, 0, 0, 0, 201, 202, 1, 0, 0, 0, 202, 48, 1, 0, 0, 0, 203, 201, 1, 0, 0, 0, 204, 205, 5, 94, 0, 0, 205, 209, 7, 5, 0, 0, 206, 208, 7, 6, 0, 0, 207, 206, 1, 0, 0, 0, 208, 211, 1, 0, 0, 0, 209, 207, 1, 0, 0, 0, 209, 210, 1, 0, 0, 0, 210, 222, 1, 0, 0, 0, 211, 209, 1, 0, 0, 0, 212, 213, 5, 46, 0, 0, 213, 217, 7, 5, 0, 0, 214, 216, 7, 6, 0, 0, 215, 214, 1, 0, 0, 0, 216, 219, 1, 0, 0, 0, 217, 215, 1, 0, 0, 0, 217, 218, 1, 0, 0, 0, 218, 221, 1, 0, 0, 0, 219, 217, 1, 0, 0, 0, 220, 212, 1, 0, 0, 0, 221, 224, 1, 0, 0, 0, 222, 220, 1, 0, 0, 0, 222, 223, 1, 0, 0, 0, 223, 50, 1, 0, 0, 0, 224, 222, 1, 0, 0, 0, 225, 235, 7, 7, 0, 0, 226, 227, 5, 61, 0, 0, 227, 235, 5, 61, 0, 0, 228, 229, 5, 33, 0, 0, 229, 235, 5, 61, 0, 0, 230, 231, 5, 62, 0, 0, 231, 235, 5, 61, 0, 0, 232, 233, 5, 60, 0, 0, 233, 235, 5, 61, 0, 0, 234, 225, 1, 0, 0, 0, 234, 226, 1, 0, 0, 0, 234, 228, 1, 0, 0, 0, 234, 230, 1, 0, 0, 0, 234, 232, 1, 0, 0, 0, 235, 52, 1, 0, 0, 0, 236, 237, 5, 92, 0, 0, 237, 238, 9, 0, 0, 0, 238, 54, 1, 0, 0, 0, 239, 244, 5, 34, 0, 0, 240, 243, 3, 53, 26, 0, 241, 243, 8, 8, 0, 0, 242, 240, 1, 0, 0, 0, 242, 241, 1, 0, 0, 0, 243, 246, 1, 0, 0, 0, 244, 242, 1, 0, 0, 0, 244, 245, 1, 0, 0, 0, 245, 247, 1, 0, 0, 0, 246, 244, 1, 0, 0, 0, 247, 258, 5, 34, 0, 0, 248, 253, 5, 39, 0, 0, 249, 252, 3, 53, 26, 0, 250, 252, 8, 8, 0, 0, 251, 249, 1, 0, 0, 0, 251, 250, 1, 0, 0, 0, 252, 255, 1, 0, 0, 0, 253, 251, 1, 0, 0, 0, 253, 254, 1, 0, 0, 0, 254, 256, 1, 0, 0, 0, 255, 253, 1, 0, 0, 0, 256, 258, 5, 39, 0, 0, 257, 239, 1, 0, 0, 0, 257, 248, 1, 0, 0, 0, 258, 56, 1, 0, 0, 0, 259, 263, 7, 5, 0, 0, 260, 262, 7, 6, 0, 0, 261, 260, 1, 0, 0, 0, 262, 265, 1, 0, 0, 0, 263, 261, 1, 0, 0, 0, 263, 264, 1, 0, 0, 0, 264, 58, 1, 0, 0, 0, 265, 263, 1, 0, 0, 0, 20, 0, 137, 148, 159, 167, 171, 179, 186, 196, 201, 209, 217, 222, 234, 242, 244, 251, 253, 257, 263, 1, 6, 0, 0] \ No newline at end of file diff --git a/parser/WystLexer.tokens b/parser/WystLexer.tokens index 4e30725..b140c2d 100644 --- a/parser/WystLexer.tokens +++ b/parser/WystLexer.tokens @@ -16,14 +16,16 @@ T__14=15 T__15=16 T__16=17 T__17=18 -WS=19 -NUMBER=20 -HEX=21 -IDENTIFIER=22 -GOIDENTIFIER=23 -MATH=24 -STRING=25 -MODULE_NAME=26 +COMMENT=19 +MULTILINE_COMMENT=20 +WS=21 +NUMBER=22 +HEX=23 +IDENTIFIER=24 +GOIDENTIFIER=25 +MATH=26 +STRING=27 +MODULE_NAME=28 '('=1 ','=2 ')'=3 diff --git a/parser/wyst_lexer.go b/parser/wyst_lexer.go index 232d5d0..3ca83c1 100644 --- a/parser/wyst_lexer.go +++ b/parser/wyst_lexer.go @@ -49,125 +49,139 @@ func wystlexerLexerInit() { } staticData.SymbolicNames = []string{ "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", - "", "", "WS", "NUMBER", "HEX", "IDENTIFIER", "GOIDENTIFIER", "MATH", - "STRING", "MODULE_NAME", + "", "", "COMMENT", "MULTILINE_COMMENT", "WS", "NUMBER", "HEX", "IDENTIFIER", + "GOIDENTIFIER", "MATH", "STRING", "MODULE_NAME", } staticData.RuleNames = []string{ "T__0", "T__1", "T__2", "T__3", "T__4", "T__5", "T__6", "T__7", "T__8", "T__9", "T__10", "T__11", "T__12", "T__13", "T__14", "T__15", "T__16", - "T__17", "WS", "NUMBER", "HEX", "IDENTIFIER", "GOIDENTIFIER", "MATH", - "ESC", "STRING", "MODULE_NAME", + "T__17", "COMMENT", "MULTILINE_COMMENT", "WS", "NUMBER", "HEX", "IDENTIFIER", + "GOIDENTIFIER", "MATH", "ESC", "STRING", "MODULE_NAME", } staticData.PredictionContextCache = antlr.NewPredictionContextCache() staticData.serializedATN = []int32{ - 4, 0, 26, 237, 6, -1, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, + 4, 0, 28, 266, 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, 1, 0, 1, 0, 1, 1, 1, 1, 1, 2, 1, 2, 1, 3, 1, 3, 1, 4, 1, - 4, 1, 5, 1, 5, 1, 6, 1, 6, 1, 7, 1, 7, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, - 8, 1, 8, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, - 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, - 1, 11, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 13, 1, - 13, 1, 13, 1, 13, 1, 13, 1, 14, 1, 14, 1, 14, 1, 15, 1, 15, 1, 15, 1, 16, - 1, 16, 1, 16, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 18, 4, 18, 129, 8, - 18, 11, 18, 12, 18, 130, 1, 18, 1, 18, 1, 19, 1, 19, 5, 19, 137, 8, 19, - 10, 19, 12, 19, 140, 9, 19, 1, 19, 3, 19, 143, 8, 19, 1, 20, 1, 20, 1, - 20, 1, 20, 5, 20, 149, 8, 20, 10, 20, 12, 20, 152, 9, 20, 1, 21, 1, 21, - 5, 21, 156, 8, 21, 10, 21, 12, 21, 159, 9, 21, 1, 21, 1, 21, 1, 21, 1, - 21, 1, 21, 5, 21, 166, 8, 21, 10, 21, 12, 21, 169, 9, 21, 5, 21, 171, 8, - 21, 10, 21, 12, 21, 174, 9, 21, 1, 22, 1, 22, 1, 22, 5, 22, 179, 8, 22, - 10, 22, 12, 22, 182, 9, 22, 1, 22, 1, 22, 1, 22, 5, 22, 187, 8, 22, 10, - 22, 12, 22, 190, 9, 22, 5, 22, 192, 8, 22, 10, 22, 12, 22, 195, 9, 22, - 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 3, 23, 206, - 8, 23, 1, 24, 1, 24, 1, 24, 1, 25, 1, 25, 1, 25, 5, 25, 214, 8, 25, 10, - 25, 12, 25, 217, 9, 25, 1, 25, 1, 25, 1, 25, 1, 25, 5, 25, 223, 8, 25, - 10, 25, 12, 25, 226, 9, 25, 1, 25, 3, 25, 229, 8, 25, 1, 26, 1, 26, 5, - 26, 233, 8, 26, 10, 26, 12, 26, 236, 9, 26, 0, 0, 27, 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, 0, 51, 25, 53, 26, 1, 0, 8, 3, 0, 9, 10, 13, 13, 32, - 32, 1, 0, 49, 57, 1, 0, 48, 57, 3, 0, 48, 57, 65, 70, 97, 102, 3, 0, 65, - 90, 95, 95, 97, 122, 4, 0, 48, 57, 65, 90, 95, 95, 97, 122, 3, 0, 42, 43, - 45, 45, 47, 47, 2, 0, 34, 34, 92, 92, 255, 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, 51, 1, 0, 0, - 0, 0, 53, 1, 0, 0, 0, 1, 55, 1, 0, 0, 0, 3, 57, 1, 0, 0, 0, 5, 59, 1, 0, - 0, 0, 7, 61, 1, 0, 0, 0, 9, 63, 1, 0, 0, 0, 11, 65, 1, 0, 0, 0, 13, 67, - 1, 0, 0, 0, 15, 69, 1, 0, 0, 0, 17, 71, 1, 0, 0, 0, 19, 78, 1, 0, 0, 0, - 21, 88, 1, 0, 0, 0, 23, 96, 1, 0, 0, 0, 25, 100, 1, 0, 0, 0, 27, 108, 1, - 0, 0, 0, 29, 113, 1, 0, 0, 0, 31, 116, 1, 0, 0, 0, 33, 119, 1, 0, 0, 0, - 35, 122, 1, 0, 0, 0, 37, 128, 1, 0, 0, 0, 39, 142, 1, 0, 0, 0, 41, 144, - 1, 0, 0, 0, 43, 153, 1, 0, 0, 0, 45, 175, 1, 0, 0, 0, 47, 205, 1, 0, 0, - 0, 49, 207, 1, 0, 0, 0, 51, 228, 1, 0, 0, 0, 53, 230, 1, 0, 0, 0, 55, 56, - 5, 40, 0, 0, 56, 2, 1, 0, 0, 0, 57, 58, 5, 44, 0, 0, 58, 4, 1, 0, 0, 0, - 59, 60, 5, 41, 0, 0, 60, 6, 1, 0, 0, 0, 61, 62, 5, 123, 0, 0, 62, 8, 1, - 0, 0, 0, 63, 64, 5, 59, 0, 0, 64, 10, 1, 0, 0, 0, 65, 66, 5, 125, 0, 0, - 66, 12, 1, 0, 0, 0, 67, 68, 5, 61, 0, 0, 68, 14, 1, 0, 0, 0, 69, 70, 5, - 46, 0, 0, 70, 16, 1, 0, 0, 0, 71, 72, 5, 115, 0, 0, 72, 73, 5, 116, 0, - 0, 73, 74, 5, 114, 0, 0, 74, 75, 5, 117, 0, 0, 75, 76, 5, 99, 0, 0, 76, - 77, 5, 116, 0, 0, 77, 18, 1, 0, 0, 0, 78, 79, 5, 110, 0, 0, 79, 80, 5, - 97, 0, 0, 80, 81, 5, 109, 0, 0, 81, 82, 5, 101, 0, 0, 82, 83, 5, 115, 0, - 0, 83, 84, 5, 112, 0, 0, 84, 85, 5, 97, 0, 0, 85, 86, 5, 99, 0, 0, 86, - 87, 5, 101, 0, 0, 87, 20, 1, 0, 0, 0, 88, 89, 5, 105, 0, 0, 89, 90, 5, - 110, 0, 0, 90, 91, 5, 99, 0, 0, 91, 92, 5, 108, 0, 0, 92, 93, 5, 117, 0, - 0, 93, 94, 5, 100, 0, 0, 94, 95, 5, 101, 0, 0, 95, 22, 1, 0, 0, 0, 96, - 97, 5, 117, 0, 0, 97, 98, 5, 115, 0, 0, 98, 99, 5, 101, 0, 0, 99, 24, 1, - 0, 0, 0, 100, 101, 5, 37, 0, 0, 101, 102, 5, 105, 0, 0, 102, 103, 5, 109, - 0, 0, 103, 104, 5, 112, 0, 0, 104, 105, 5, 111, 0, 0, 105, 106, 5, 114, - 0, 0, 106, 107, 5, 116, 0, 0, 107, 26, 1, 0, 0, 0, 108, 109, 5, 37, 0, - 0, 109, 110, 5, 109, 0, 0, 110, 111, 5, 97, 0, 0, 111, 112, 5, 112, 0, - 0, 112, 28, 1, 0, 0, 0, 113, 114, 5, 38, 0, 0, 114, 115, 5, 38, 0, 0, 115, - 30, 1, 0, 0, 0, 116, 117, 5, 124, 0, 0, 117, 118, 5, 124, 0, 0, 118, 32, - 1, 0, 0, 0, 119, 120, 5, 105, 0, 0, 120, 121, 5, 102, 0, 0, 121, 34, 1, - 0, 0, 0, 122, 123, 5, 101, 0, 0, 123, 124, 5, 108, 0, 0, 124, 125, 5, 115, - 0, 0, 125, 126, 5, 101, 0, 0, 126, 36, 1, 0, 0, 0, 127, 129, 7, 0, 0, 0, - 128, 127, 1, 0, 0, 0, 129, 130, 1, 0, 0, 0, 130, 128, 1, 0, 0, 0, 130, - 131, 1, 0, 0, 0, 131, 132, 1, 0, 0, 0, 132, 133, 6, 18, 0, 0, 133, 38, - 1, 0, 0, 0, 134, 138, 7, 1, 0, 0, 135, 137, 7, 2, 0, 0, 136, 135, 1, 0, - 0, 0, 137, 140, 1, 0, 0, 0, 138, 136, 1, 0, 0, 0, 138, 139, 1, 0, 0, 0, - 139, 143, 1, 0, 0, 0, 140, 138, 1, 0, 0, 0, 141, 143, 5, 48, 0, 0, 142, - 134, 1, 0, 0, 0, 142, 141, 1, 0, 0, 0, 143, 40, 1, 0, 0, 0, 144, 145, 5, - 48, 0, 0, 145, 146, 5, 120, 0, 0, 146, 150, 1, 0, 0, 0, 147, 149, 7, 3, - 0, 0, 148, 147, 1, 0, 0, 0, 149, 152, 1, 0, 0, 0, 150, 148, 1, 0, 0, 0, - 150, 151, 1, 0, 0, 0, 151, 42, 1, 0, 0, 0, 152, 150, 1, 0, 0, 0, 153, 157, - 7, 4, 0, 0, 154, 156, 7, 5, 0, 0, 155, 154, 1, 0, 0, 0, 156, 159, 1, 0, - 0, 0, 157, 155, 1, 0, 0, 0, 157, 158, 1, 0, 0, 0, 158, 172, 1, 0, 0, 0, - 159, 157, 1, 0, 0, 0, 160, 161, 5, 58, 0, 0, 161, 162, 5, 58, 0, 0, 162, - 163, 1, 0, 0, 0, 163, 167, 7, 4, 0, 0, 164, 166, 7, 5, 0, 0, 165, 164, - 1, 0, 0, 0, 166, 169, 1, 0, 0, 0, 167, 165, 1, 0, 0, 0, 167, 168, 1, 0, - 0, 0, 168, 171, 1, 0, 0, 0, 169, 167, 1, 0, 0, 0, 170, 160, 1, 0, 0, 0, - 171, 174, 1, 0, 0, 0, 172, 170, 1, 0, 0, 0, 172, 173, 1, 0, 0, 0, 173, - 44, 1, 0, 0, 0, 174, 172, 1, 0, 0, 0, 175, 176, 5, 94, 0, 0, 176, 180, - 7, 4, 0, 0, 177, 179, 7, 5, 0, 0, 178, 177, 1, 0, 0, 0, 179, 182, 1, 0, - 0, 0, 180, 178, 1, 0, 0, 0, 180, 181, 1, 0, 0, 0, 181, 193, 1, 0, 0, 0, - 182, 180, 1, 0, 0, 0, 183, 184, 5, 46, 0, 0, 184, 188, 7, 4, 0, 0, 185, - 187, 7, 5, 0, 0, 186, 185, 1, 0, 0, 0, 187, 190, 1, 0, 0, 0, 188, 186, - 1, 0, 0, 0, 188, 189, 1, 0, 0, 0, 189, 192, 1, 0, 0, 0, 190, 188, 1, 0, - 0, 0, 191, 183, 1, 0, 0, 0, 192, 195, 1, 0, 0, 0, 193, 191, 1, 0, 0, 0, - 193, 194, 1, 0, 0, 0, 194, 46, 1, 0, 0, 0, 195, 193, 1, 0, 0, 0, 196, 206, - 7, 6, 0, 0, 197, 198, 5, 61, 0, 0, 198, 206, 5, 61, 0, 0, 199, 200, 5, - 33, 0, 0, 200, 206, 5, 61, 0, 0, 201, 202, 5, 62, 0, 0, 202, 206, 5, 61, - 0, 0, 203, 204, 5, 60, 0, 0, 204, 206, 5, 61, 0, 0, 205, 196, 1, 0, 0, - 0, 205, 197, 1, 0, 0, 0, 205, 199, 1, 0, 0, 0, 205, 201, 1, 0, 0, 0, 205, - 203, 1, 0, 0, 0, 206, 48, 1, 0, 0, 0, 207, 208, 5, 92, 0, 0, 208, 209, - 9, 0, 0, 0, 209, 50, 1, 0, 0, 0, 210, 215, 5, 34, 0, 0, 211, 214, 3, 49, - 24, 0, 212, 214, 8, 7, 0, 0, 213, 211, 1, 0, 0, 0, 213, 212, 1, 0, 0, 0, - 214, 217, 1, 0, 0, 0, 215, 213, 1, 0, 0, 0, 215, 216, 1, 0, 0, 0, 216, - 218, 1, 0, 0, 0, 217, 215, 1, 0, 0, 0, 218, 229, 5, 34, 0, 0, 219, 224, - 5, 39, 0, 0, 220, 223, 3, 49, 24, 0, 221, 223, 8, 7, 0, 0, 222, 220, 1, - 0, 0, 0, 222, 221, 1, 0, 0, 0, 223, 226, 1, 0, 0, 0, 224, 222, 1, 0, 0, - 0, 224, 225, 1, 0, 0, 0, 225, 227, 1, 0, 0, 0, 226, 224, 1, 0, 0, 0, 227, - 229, 5, 39, 0, 0, 228, 210, 1, 0, 0, 0, 228, 219, 1, 0, 0, 0, 229, 52, - 1, 0, 0, 0, 230, 234, 7, 4, 0, 0, 231, 233, 7, 5, 0, 0, 232, 231, 1, 0, - 0, 0, 233, 236, 1, 0, 0, 0, 234, 232, 1, 0, 0, 0, 234, 235, 1, 0, 0, 0, - 235, 54, 1, 0, 0, 0, 236, 234, 1, 0, 0, 0, 18, 0, 130, 138, 142, 150, 157, - 167, 172, 180, 188, 193, 205, 213, 215, 222, 224, 228, 234, 1, 6, 0, 0, + 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, 1, 0, 1, 0, 1, 1, 1, 1, 1, 2, + 1, 2, 1, 3, 1, 3, 1, 4, 1, 4, 1, 5, 1, 5, 1, 6, 1, 6, 1, 7, 1, 7, 1, 8, + 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, + 1, 9, 1, 9, 1, 9, 1, 9, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, + 1, 10, 1, 11, 1, 11, 1, 11, 1, 11, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, + 12, 1, 12, 1, 12, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 14, 1, 14, 1, 14, + 1, 15, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 1, 17, 1, 17, 1, 17, 1, 17, 1, + 17, 1, 18, 1, 18, 1, 18, 1, 18, 5, 18, 136, 8, 18, 10, 18, 12, 18, 139, + 9, 18, 1, 18, 1, 18, 1, 19, 1, 19, 1, 19, 1, 19, 5, 19, 147, 8, 19, 10, + 19, 12, 19, 150, 9, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 20, 4, 20, + 158, 8, 20, 11, 20, 12, 20, 159, 1, 20, 1, 20, 1, 21, 1, 21, 5, 21, 166, + 8, 21, 10, 21, 12, 21, 169, 9, 21, 1, 21, 3, 21, 172, 8, 21, 1, 22, 1, + 22, 1, 22, 1, 22, 5, 22, 178, 8, 22, 10, 22, 12, 22, 181, 9, 22, 1, 23, + 1, 23, 5, 23, 185, 8, 23, 10, 23, 12, 23, 188, 9, 23, 1, 23, 1, 23, 1, + 23, 1, 23, 1, 23, 5, 23, 195, 8, 23, 10, 23, 12, 23, 198, 9, 23, 5, 23, + 200, 8, 23, 10, 23, 12, 23, 203, 9, 23, 1, 24, 1, 24, 1, 24, 5, 24, 208, + 8, 24, 10, 24, 12, 24, 211, 9, 24, 1, 24, 1, 24, 1, 24, 5, 24, 216, 8, + 24, 10, 24, 12, 24, 219, 9, 24, 5, 24, 221, 8, 24, 10, 24, 12, 24, 224, + 9, 24, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 3, + 25, 235, 8, 25, 1, 26, 1, 26, 1, 26, 1, 27, 1, 27, 1, 27, 5, 27, 243, 8, + 27, 10, 27, 12, 27, 246, 9, 27, 1, 27, 1, 27, 1, 27, 1, 27, 5, 27, 252, + 8, 27, 10, 27, 12, 27, 255, 9, 27, 1, 27, 3, 27, 258, 8, 27, 1, 28, 1, + 28, 5, 28, 262, 8, 28, 10, 28, 12, 28, 265, 9, 28, 1, 148, 0, 29, 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, 27, 57, 28, 1, 0, + 9, 2, 0, 10, 10, 13, 13, 3, 0, 9, 10, 13, 13, 32, 32, 1, 0, 49, 57, 1, + 0, 48, 57, 3, 0, 48, 57, 65, 70, 97, 102, 3, 0, 65, 90, 95, 95, 97, 122, + 4, 0, 48, 57, 65, 90, 95, 95, 97, 122, 3, 0, 42, 43, 45, 45, 47, 47, 2, + 0, 34, 34, 92, 92, 286, 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, 55, 1, 0, 0, 0, 0, 57, 1, 0, 0, 0, 1, 59, 1, 0, 0, 0, 3, 61, 1, + 0, 0, 0, 5, 63, 1, 0, 0, 0, 7, 65, 1, 0, 0, 0, 9, 67, 1, 0, 0, 0, 11, 69, + 1, 0, 0, 0, 13, 71, 1, 0, 0, 0, 15, 73, 1, 0, 0, 0, 17, 75, 1, 0, 0, 0, + 19, 82, 1, 0, 0, 0, 21, 92, 1, 0, 0, 0, 23, 100, 1, 0, 0, 0, 25, 104, 1, + 0, 0, 0, 27, 112, 1, 0, 0, 0, 29, 117, 1, 0, 0, 0, 31, 120, 1, 0, 0, 0, + 33, 123, 1, 0, 0, 0, 35, 126, 1, 0, 0, 0, 37, 131, 1, 0, 0, 0, 39, 142, + 1, 0, 0, 0, 41, 157, 1, 0, 0, 0, 43, 171, 1, 0, 0, 0, 45, 173, 1, 0, 0, + 0, 47, 182, 1, 0, 0, 0, 49, 204, 1, 0, 0, 0, 51, 234, 1, 0, 0, 0, 53, 236, + 1, 0, 0, 0, 55, 257, 1, 0, 0, 0, 57, 259, 1, 0, 0, 0, 59, 60, 5, 40, 0, + 0, 60, 2, 1, 0, 0, 0, 61, 62, 5, 44, 0, 0, 62, 4, 1, 0, 0, 0, 63, 64, 5, + 41, 0, 0, 64, 6, 1, 0, 0, 0, 65, 66, 5, 123, 0, 0, 66, 8, 1, 0, 0, 0, 67, + 68, 5, 59, 0, 0, 68, 10, 1, 0, 0, 0, 69, 70, 5, 125, 0, 0, 70, 12, 1, 0, + 0, 0, 71, 72, 5, 61, 0, 0, 72, 14, 1, 0, 0, 0, 73, 74, 5, 46, 0, 0, 74, + 16, 1, 0, 0, 0, 75, 76, 5, 115, 0, 0, 76, 77, 5, 116, 0, 0, 77, 78, 5, + 114, 0, 0, 78, 79, 5, 117, 0, 0, 79, 80, 5, 99, 0, 0, 80, 81, 5, 116, 0, + 0, 81, 18, 1, 0, 0, 0, 82, 83, 5, 110, 0, 0, 83, 84, 5, 97, 0, 0, 84, 85, + 5, 109, 0, 0, 85, 86, 5, 101, 0, 0, 86, 87, 5, 115, 0, 0, 87, 88, 5, 112, + 0, 0, 88, 89, 5, 97, 0, 0, 89, 90, 5, 99, 0, 0, 90, 91, 5, 101, 0, 0, 91, + 20, 1, 0, 0, 0, 92, 93, 5, 105, 0, 0, 93, 94, 5, 110, 0, 0, 94, 95, 5, + 99, 0, 0, 95, 96, 5, 108, 0, 0, 96, 97, 5, 117, 0, 0, 97, 98, 5, 100, 0, + 0, 98, 99, 5, 101, 0, 0, 99, 22, 1, 0, 0, 0, 100, 101, 5, 117, 0, 0, 101, + 102, 5, 115, 0, 0, 102, 103, 5, 101, 0, 0, 103, 24, 1, 0, 0, 0, 104, 105, + 5, 37, 0, 0, 105, 106, 5, 105, 0, 0, 106, 107, 5, 109, 0, 0, 107, 108, + 5, 112, 0, 0, 108, 109, 5, 111, 0, 0, 109, 110, 5, 114, 0, 0, 110, 111, + 5, 116, 0, 0, 111, 26, 1, 0, 0, 0, 112, 113, 5, 37, 0, 0, 113, 114, 5, + 109, 0, 0, 114, 115, 5, 97, 0, 0, 115, 116, 5, 112, 0, 0, 116, 28, 1, 0, + 0, 0, 117, 118, 5, 38, 0, 0, 118, 119, 5, 38, 0, 0, 119, 30, 1, 0, 0, 0, + 120, 121, 5, 124, 0, 0, 121, 122, 5, 124, 0, 0, 122, 32, 1, 0, 0, 0, 123, + 124, 5, 105, 0, 0, 124, 125, 5, 102, 0, 0, 125, 34, 1, 0, 0, 0, 126, 127, + 5, 101, 0, 0, 127, 128, 5, 108, 0, 0, 128, 129, 5, 115, 0, 0, 129, 130, + 5, 101, 0, 0, 130, 36, 1, 0, 0, 0, 131, 132, 5, 47, 0, 0, 132, 133, 5, + 47, 0, 0, 133, 137, 1, 0, 0, 0, 134, 136, 8, 0, 0, 0, 135, 134, 1, 0, 0, + 0, 136, 139, 1, 0, 0, 0, 137, 135, 1, 0, 0, 0, 137, 138, 1, 0, 0, 0, 138, + 140, 1, 0, 0, 0, 139, 137, 1, 0, 0, 0, 140, 141, 6, 18, 0, 0, 141, 38, + 1, 0, 0, 0, 142, 143, 5, 47, 0, 0, 143, 144, 5, 42, 0, 0, 144, 148, 1, + 0, 0, 0, 145, 147, 9, 0, 0, 0, 146, 145, 1, 0, 0, 0, 147, 150, 1, 0, 0, + 0, 148, 149, 1, 0, 0, 0, 148, 146, 1, 0, 0, 0, 149, 151, 1, 0, 0, 0, 150, + 148, 1, 0, 0, 0, 151, 152, 5, 42, 0, 0, 152, 153, 5, 47, 0, 0, 153, 154, + 1, 0, 0, 0, 154, 155, 6, 19, 0, 0, 155, 40, 1, 0, 0, 0, 156, 158, 7, 1, + 0, 0, 157, 156, 1, 0, 0, 0, 158, 159, 1, 0, 0, 0, 159, 157, 1, 0, 0, 0, + 159, 160, 1, 0, 0, 0, 160, 161, 1, 0, 0, 0, 161, 162, 6, 20, 0, 0, 162, + 42, 1, 0, 0, 0, 163, 167, 7, 2, 0, 0, 164, 166, 7, 3, 0, 0, 165, 164, 1, + 0, 0, 0, 166, 169, 1, 0, 0, 0, 167, 165, 1, 0, 0, 0, 167, 168, 1, 0, 0, + 0, 168, 172, 1, 0, 0, 0, 169, 167, 1, 0, 0, 0, 170, 172, 5, 48, 0, 0, 171, + 163, 1, 0, 0, 0, 171, 170, 1, 0, 0, 0, 172, 44, 1, 0, 0, 0, 173, 174, 5, + 48, 0, 0, 174, 175, 5, 120, 0, 0, 175, 179, 1, 0, 0, 0, 176, 178, 7, 4, + 0, 0, 177, 176, 1, 0, 0, 0, 178, 181, 1, 0, 0, 0, 179, 177, 1, 0, 0, 0, + 179, 180, 1, 0, 0, 0, 180, 46, 1, 0, 0, 0, 181, 179, 1, 0, 0, 0, 182, 186, + 7, 5, 0, 0, 183, 185, 7, 6, 0, 0, 184, 183, 1, 0, 0, 0, 185, 188, 1, 0, + 0, 0, 186, 184, 1, 0, 0, 0, 186, 187, 1, 0, 0, 0, 187, 201, 1, 0, 0, 0, + 188, 186, 1, 0, 0, 0, 189, 190, 5, 58, 0, 0, 190, 191, 5, 58, 0, 0, 191, + 192, 1, 0, 0, 0, 192, 196, 7, 5, 0, 0, 193, 195, 7, 6, 0, 0, 194, 193, + 1, 0, 0, 0, 195, 198, 1, 0, 0, 0, 196, 194, 1, 0, 0, 0, 196, 197, 1, 0, + 0, 0, 197, 200, 1, 0, 0, 0, 198, 196, 1, 0, 0, 0, 199, 189, 1, 0, 0, 0, + 200, 203, 1, 0, 0, 0, 201, 199, 1, 0, 0, 0, 201, 202, 1, 0, 0, 0, 202, + 48, 1, 0, 0, 0, 203, 201, 1, 0, 0, 0, 204, 205, 5, 94, 0, 0, 205, 209, + 7, 5, 0, 0, 206, 208, 7, 6, 0, 0, 207, 206, 1, 0, 0, 0, 208, 211, 1, 0, + 0, 0, 209, 207, 1, 0, 0, 0, 209, 210, 1, 0, 0, 0, 210, 222, 1, 0, 0, 0, + 211, 209, 1, 0, 0, 0, 212, 213, 5, 46, 0, 0, 213, 217, 7, 5, 0, 0, 214, + 216, 7, 6, 0, 0, 215, 214, 1, 0, 0, 0, 216, 219, 1, 0, 0, 0, 217, 215, + 1, 0, 0, 0, 217, 218, 1, 0, 0, 0, 218, 221, 1, 0, 0, 0, 219, 217, 1, 0, + 0, 0, 220, 212, 1, 0, 0, 0, 221, 224, 1, 0, 0, 0, 222, 220, 1, 0, 0, 0, + 222, 223, 1, 0, 0, 0, 223, 50, 1, 0, 0, 0, 224, 222, 1, 0, 0, 0, 225, 235, + 7, 7, 0, 0, 226, 227, 5, 61, 0, 0, 227, 235, 5, 61, 0, 0, 228, 229, 5, + 33, 0, 0, 229, 235, 5, 61, 0, 0, 230, 231, 5, 62, 0, 0, 231, 235, 5, 61, + 0, 0, 232, 233, 5, 60, 0, 0, 233, 235, 5, 61, 0, 0, 234, 225, 1, 0, 0, + 0, 234, 226, 1, 0, 0, 0, 234, 228, 1, 0, 0, 0, 234, 230, 1, 0, 0, 0, 234, + 232, 1, 0, 0, 0, 235, 52, 1, 0, 0, 0, 236, 237, 5, 92, 0, 0, 237, 238, + 9, 0, 0, 0, 238, 54, 1, 0, 0, 0, 239, 244, 5, 34, 0, 0, 240, 243, 3, 53, + 26, 0, 241, 243, 8, 8, 0, 0, 242, 240, 1, 0, 0, 0, 242, 241, 1, 0, 0, 0, + 243, 246, 1, 0, 0, 0, 244, 242, 1, 0, 0, 0, 244, 245, 1, 0, 0, 0, 245, + 247, 1, 0, 0, 0, 246, 244, 1, 0, 0, 0, 247, 258, 5, 34, 0, 0, 248, 253, + 5, 39, 0, 0, 249, 252, 3, 53, 26, 0, 250, 252, 8, 8, 0, 0, 251, 249, 1, + 0, 0, 0, 251, 250, 1, 0, 0, 0, 252, 255, 1, 0, 0, 0, 253, 251, 1, 0, 0, + 0, 253, 254, 1, 0, 0, 0, 254, 256, 1, 0, 0, 0, 255, 253, 1, 0, 0, 0, 256, + 258, 5, 39, 0, 0, 257, 239, 1, 0, 0, 0, 257, 248, 1, 0, 0, 0, 258, 56, + 1, 0, 0, 0, 259, 263, 7, 5, 0, 0, 260, 262, 7, 6, 0, 0, 261, 260, 1, 0, + 0, 0, 262, 265, 1, 0, 0, 0, 263, 261, 1, 0, 0, 0, 263, 264, 1, 0, 0, 0, + 264, 58, 1, 0, 0, 0, 265, 263, 1, 0, 0, 0, 20, 0, 137, 148, 159, 167, 171, + 179, 186, 196, 201, 209, 217, 222, 234, 242, 244, 251, 253, 257, 263, 1, + 6, 0, 0, } deserializer := antlr.NewATNDeserializer(nil) staticData.atn = deserializer.Deserialize(staticData.serializedATN) @@ -208,30 +222,32 @@ func NewWystLexer(input antlr.CharStream) *WystLexer { // WystLexer tokens. const ( - WystLexerT__0 = 1 - WystLexerT__1 = 2 - WystLexerT__2 = 3 - WystLexerT__3 = 4 - WystLexerT__4 = 5 - WystLexerT__5 = 6 - WystLexerT__6 = 7 - WystLexerT__7 = 8 - WystLexerT__8 = 9 - WystLexerT__9 = 10 - WystLexerT__10 = 11 - WystLexerT__11 = 12 - WystLexerT__12 = 13 - WystLexerT__13 = 14 - WystLexerT__14 = 15 - WystLexerT__15 = 16 - WystLexerT__16 = 17 - WystLexerT__17 = 18 - WystLexerWS = 19 - WystLexerNUMBER = 20 - WystLexerHEX = 21 - WystLexerIDENTIFIER = 22 - WystLexerGOIDENTIFIER = 23 - WystLexerMATH = 24 - WystLexerSTRING = 25 - WystLexerMODULE_NAME = 26 + WystLexerT__0 = 1 + WystLexerT__1 = 2 + WystLexerT__2 = 3 + WystLexerT__3 = 4 + WystLexerT__4 = 5 + WystLexerT__5 = 6 + WystLexerT__6 = 7 + WystLexerT__7 = 8 + WystLexerT__8 = 9 + WystLexerT__9 = 10 + WystLexerT__10 = 11 + WystLexerT__11 = 12 + WystLexerT__12 = 13 + WystLexerT__13 = 14 + WystLexerT__14 = 15 + WystLexerT__15 = 16 + WystLexerT__16 = 17 + WystLexerT__17 = 18 + WystLexerCOMMENT = 19 + WystLexerMULTILINE_COMMENT = 20 + WystLexerWS = 21 + WystLexerNUMBER = 22 + WystLexerHEX = 23 + WystLexerIDENTIFIER = 24 + WystLexerGOIDENTIFIER = 25 + WystLexerMATH = 26 + WystLexerSTRING = 27 + WystLexerMODULE_NAME = 28 ) diff --git a/parser/wyst_parser.go b/parser/wyst_parser.go index 06ec700..ff89397 100644 --- a/parser/wyst_parser.go +++ b/parser/wyst_parser.go @@ -39,8 +39,8 @@ func wystParserInit() { } staticData.SymbolicNames = []string{ "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", - "", "", "WS", "NUMBER", "HEX", "IDENTIFIER", "GOIDENTIFIER", "MATH", - "STRING", "MODULE_NAME", + "", "", "COMMENT", "MULTILINE_COMMENT", "WS", "NUMBER", "HEX", "IDENTIFIER", + "GOIDENTIFIER", "MATH", "STRING", "MODULE_NAME", } staticData.RuleNames = []string{ "round_def", "enum_curly", "round_call", "fn_call", "func_def", "var_def", @@ -51,7 +51,7 @@ func wystParserInit() { } staticData.PredictionContextCache = antlr.NewPredictionContextCache() staticData.serializedATN = []int32{ - 4, 1, 26, 244, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, + 4, 1, 28, 244, 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, @@ -97,30 +97,30 @@ func wystParserInit() { 81, 1, 0, 0, 0, 79, 77, 1, 0, 0, 0, 79, 80, 1, 0, 0, 0, 80, 83, 1, 0, 0, 0, 81, 79, 1, 0, 0, 0, 82, 84, 5, 2, 0, 0, 83, 82, 1, 0, 0, 0, 83, 84, 1, 0, 0, 0, 84, 86, 1, 0, 0, 0, 85, 74, 1, 0, 0, 0, 85, 86, 1, 0, 0, 0, - 86, 87, 1, 0, 0, 0, 87, 88, 5, 3, 0, 0, 88, 5, 1, 0, 0, 0, 89, 90, 5, 22, - 0, 0, 90, 91, 3, 4, 2, 0, 91, 7, 1, 0, 0, 0, 92, 93, 5, 22, 0, 0, 93, 94, - 5, 22, 0, 0, 94, 95, 3, 0, 0, 0, 95, 96, 3, 42, 21, 0, 96, 9, 1, 0, 0, - 0, 97, 98, 5, 22, 0, 0, 98, 99, 5, 22, 0, 0, 99, 11, 1, 0, 0, 0, 100, 101, + 86, 87, 1, 0, 0, 0, 87, 88, 5, 3, 0, 0, 88, 5, 1, 0, 0, 0, 89, 90, 5, 24, + 0, 0, 90, 91, 3, 4, 2, 0, 91, 7, 1, 0, 0, 0, 92, 93, 5, 24, 0, 0, 93, 94, + 5, 24, 0, 0, 94, 95, 3, 0, 0, 0, 95, 96, 3, 42, 21, 0, 96, 9, 1, 0, 0, + 0, 97, 98, 5, 24, 0, 0, 98, 99, 5, 24, 0, 0, 99, 11, 1, 0, 0, 0, 100, 101, 3, 10, 5, 0, 101, 102, 5, 7, 0, 0, 102, 103, 3, 40, 20, 0, 103, 13, 1, - 0, 0, 0, 104, 107, 3, 6, 3, 0, 105, 107, 5, 22, 0, 0, 106, 104, 1, 0, 0, + 0, 0, 0, 104, 107, 3, 6, 3, 0, 105, 107, 5, 24, 0, 0, 106, 104, 1, 0, 0, 0, 106, 105, 1, 0, 0, 0, 107, 115, 1, 0, 0, 0, 108, 111, 5, 8, 0, 0, 109, - 112, 3, 6, 3, 0, 110, 112, 5, 22, 0, 0, 111, 109, 1, 0, 0, 0, 111, 110, + 112, 3, 6, 3, 0, 110, 112, 5, 24, 0, 0, 111, 109, 1, 0, 0, 0, 111, 110, 1, 0, 0, 0, 112, 114, 1, 0, 0, 0, 113, 108, 1, 0, 0, 0, 114, 117, 1, 0, 0, 0, 115, 113, 1, 0, 0, 0, 115, 116, 1, 0, 0, 0, 116, 15, 1, 0, 0, 0, - 117, 115, 1, 0, 0, 0, 118, 119, 5, 9, 0, 0, 119, 120, 5, 22, 0, 0, 120, + 117, 115, 1, 0, 0, 0, 118, 119, 5, 9, 0, 0, 119, 120, 5, 24, 0, 0, 120, 121, 3, 2, 1, 0, 121, 17, 1, 0, 0, 0, 122, 123, 5, 10, 0, 0, 123, 124, - 5, 22, 0, 0, 124, 134, 5, 4, 0, 0, 125, 128, 3, 10, 5, 0, 126, 128, 3, + 5, 24, 0, 0, 124, 134, 5, 4, 0, 0, 125, 128, 3, 10, 5, 0, 126, 128, 3, 12, 6, 0, 127, 125, 1, 0, 0, 0, 127, 126, 1, 0, 0, 0, 128, 129, 1, 0, 0, 0, 129, 130, 5, 5, 0, 0, 130, 133, 1, 0, 0, 0, 131, 133, 3, 8, 4, 0, 132, 127, 1, 0, 0, 0, 132, 131, 1, 0, 0, 0, 133, 136, 1, 0, 0, 0, 134, 132, 1, 0, 0, 0, 134, 135, 1, 0, 0, 0, 135, 137, 1, 0, 0, 0, 136, 134, 1, 0, 0, 0, 137, 138, 5, 6, 0, 0, 138, 19, 1, 0, 0, 0, 139, 140, 5, 11, 0, 0, - 140, 141, 5, 26, 0, 0, 141, 142, 5, 5, 0, 0, 142, 21, 1, 0, 0, 0, 143, - 144, 5, 12, 0, 0, 144, 145, 5, 22, 0, 0, 145, 146, 5, 5, 0, 0, 146, 23, - 1, 0, 0, 0, 147, 148, 5, 13, 0, 0, 148, 149, 5, 25, 0, 0, 149, 150, 5, - 5, 0, 0, 150, 25, 1, 0, 0, 0, 151, 152, 5, 14, 0, 0, 152, 153, 5, 22, 0, - 0, 153, 154, 5, 2, 0, 0, 154, 155, 5, 22, 0, 0, 155, 156, 5, 5, 0, 0, 156, - 27, 1, 0, 0, 0, 157, 158, 5, 23, 0, 0, 158, 159, 3, 4, 2, 0, 159, 29, 1, + 140, 141, 5, 28, 0, 0, 141, 142, 5, 5, 0, 0, 142, 21, 1, 0, 0, 0, 143, + 144, 5, 12, 0, 0, 144, 145, 5, 24, 0, 0, 145, 146, 5, 5, 0, 0, 146, 23, + 1, 0, 0, 0, 147, 148, 5, 13, 0, 0, 148, 149, 5, 27, 0, 0, 149, 150, 5, + 5, 0, 0, 150, 25, 1, 0, 0, 0, 151, 152, 5, 14, 0, 0, 152, 153, 5, 24, 0, + 0, 153, 154, 5, 2, 0, 0, 154, 155, 5, 24, 0, 0, 155, 156, 5, 5, 0, 0, 156, + 27, 1, 0, 0, 0, 157, 158, 5, 25, 0, 0, 158, 159, 3, 4, 2, 0, 159, 29, 1, 0, 0, 0, 160, 161, 5, 1, 0, 0, 161, 166, 3, 40, 20, 0, 162, 163, 7, 0, 0, 0, 163, 165, 3, 40, 20, 0, 164, 162, 1, 0, 0, 0, 165, 168, 1, 0, 0, 0, 166, 164, 1, 0, 0, 0, 166, 167, 1, 0, 0, 0, 167, 169, 1, 0, 0, 0, 168, @@ -135,11 +135,11 @@ func wystParserInit() { 192, 195, 1, 0, 0, 0, 193, 191, 1, 0, 0, 0, 193, 194, 1, 0, 0, 0, 194, 197, 1, 0, 0, 0, 195, 193, 1, 0, 0, 0, 196, 198, 3, 36, 18, 0, 197, 196, 1, 0, 0, 0, 197, 198, 1, 0, 0, 0, 198, 39, 1, 0, 0, 0, 199, 207, 3, 14, - 7, 0, 200, 207, 5, 20, 0, 0, 201, 207, 5, 21, 0, 0, 202, 207, 5, 22, 0, - 0, 203, 207, 5, 25, 0, 0, 204, 207, 3, 28, 14, 0, 205, 207, 5, 23, 0, 0, + 7, 0, 200, 207, 5, 22, 0, 0, 201, 207, 5, 23, 0, 0, 202, 207, 5, 24, 0, + 0, 203, 207, 5, 27, 0, 0, 204, 207, 3, 28, 14, 0, 205, 207, 5, 25, 0, 0, 206, 199, 1, 0, 0, 0, 206, 200, 1, 0, 0, 0, 206, 201, 1, 0, 0, 0, 206, 202, 1, 0, 0, 0, 206, 203, 1, 0, 0, 0, 206, 204, 1, 0, 0, 0, 206, 205, - 1, 0, 0, 0, 207, 212, 1, 0, 0, 0, 208, 209, 5, 24, 0, 0, 209, 211, 3, 40, + 1, 0, 0, 0, 207, 212, 1, 0, 0, 0, 208, 209, 5, 26, 0, 0, 209, 211, 3, 40, 20, 0, 210, 208, 1, 0, 0, 0, 211, 214, 1, 0, 0, 0, 212, 210, 1, 0, 0, 0, 212, 213, 1, 0, 0, 0, 213, 41, 1, 0, 0, 0, 214, 212, 1, 0, 0, 0, 215, 226, 5, 4, 0, 0, 216, 220, 3, 40, 20, 0, 217, 220, 3, 10, 5, 0, 218, 220, 3, @@ -193,33 +193,35 @@ func NewWystParser(input antlr.TokenStream) *WystParser { // WystParser tokens. const ( - WystParserEOF = antlr.TokenEOF - WystParserT__0 = 1 - WystParserT__1 = 2 - WystParserT__2 = 3 - WystParserT__3 = 4 - WystParserT__4 = 5 - WystParserT__5 = 6 - WystParserT__6 = 7 - WystParserT__7 = 8 - WystParserT__8 = 9 - WystParserT__9 = 10 - WystParserT__10 = 11 - WystParserT__11 = 12 - WystParserT__12 = 13 - WystParserT__13 = 14 - WystParserT__14 = 15 - WystParserT__15 = 16 - WystParserT__16 = 17 - WystParserT__17 = 18 - WystParserWS = 19 - WystParserNUMBER = 20 - WystParserHEX = 21 - WystParserIDENTIFIER = 22 - WystParserGOIDENTIFIER = 23 - WystParserMATH = 24 - WystParserSTRING = 25 - WystParserMODULE_NAME = 26 + WystParserEOF = antlr.TokenEOF + WystParserT__0 = 1 + WystParserT__1 = 2 + WystParserT__2 = 3 + WystParserT__3 = 4 + WystParserT__4 = 5 + WystParserT__5 = 6 + WystParserT__6 = 7 + WystParserT__7 = 8 + WystParserT__8 = 9 + WystParserT__9 = 10 + WystParserT__10 = 11 + WystParserT__11 = 12 + WystParserT__12 = 13 + WystParserT__13 = 14 + WystParserT__14 = 15 + WystParserT__15 = 16 + WystParserT__16 = 17 + WystParserT__17 = 18 + WystParserCOMMENT = 19 + WystParserMULTILINE_COMMENT = 20 + WystParserWS = 21 + WystParserNUMBER = 22 + WystParserHEX = 23 + WystParserIDENTIFIER = 24 + WystParserGOIDENTIFIER = 25 + WystParserMATH = 26 + WystParserSTRING = 27 + WystParserMODULE_NAME = 28 ) // WystParser rules. @@ -765,7 +767,7 @@ func (p *WystParser) Round_call() (localctx IRound_callContext) { } _la = p.GetTokenStream().LA(1) - if (int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&49283072) != 0 { + if (int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&197132288) != 0 { { p.SetState(74) p.Expr() @@ -3992,7 +3994,7 @@ func (p *WystParser) Code_block() (localctx ICode_blockContext) { } _la = p.GetTokenStream().LA(1) - for (int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&49414144) != 0 { + for (int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&197263360) != 0 { p.SetState(224) p.GetErrorHandler().Sync(p) if p.HasError() { @@ -4457,7 +4459,7 @@ func (p *WystParser) Top() (localctx ITopContext) { } _la = p.GetTokenStream().LA(1) - for (int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&4226560) != 0 { + for (int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&16809472) != 0 { p.SetState(238) p.GetErrorHandler().Sync(p) if p.HasError() {