diff --git a/gen/ElsaLexer.interp b/gen/ElsaLexer.interp new file mode 100644 index 000000000..778a120cb --- /dev/null +++ b/gen/ElsaLexer.interp @@ -0,0 +1,163 @@ +token literal names: +null +'=' +'>' +'++' +'--' +'new' +'variable' +'let' +'if' +'then' +'else' +'for' +'return' +'void' +'float' +'int' +'string' +'object' +'expression' +null +':' +';' +',' +'+' +'-' +'*' +'==' +'!=' +'>=' +'<' +'<=' +'=>' +'(' +')' +'[' +']' +'{' +'}' +'!' +'|' +'||' +'.' +null +null +null +null +null +null +'\\|' + +token symbolic names: +null +EQ +GREATER +INCREMENT +DECREMENT +NEW +VARIABLE +LET +IF +THEN +ELSE +FOR +RETURN +VOID +FLOAT +INT +STRING +OBJECT +EXPRESSION_MARKER +SYMBOL +COLON +SEMICOLON +COMMA +PLUS +MINUS +STAR +EQUALS +NOT_EQUALS +GREATER_EQUALS +LESS +LESS_EQUALS +LAMBDA +PARENTHESES_OPEN +PARENTHESES_CLOSE +BRACKET_OPEN +BRACKET_CLOSE +CURLYBRACE_OPEN +CURLYBRACE_CLOSE +EXCLAMATION +PIPE +PIPE_DBL +PERIOD +STRING_VAL +BACKTICKSTRING_VAL +LINE_COMMENT +INTEGER_VAL +ID +WS +ESC + +rule names: +EQ +GREATER +INCREMENT +DECREMENT +NEW +VARIABLE +LET +IF +THEN +ELSE +FOR +RETURN +VOID +FLOAT +INT +STRING +OBJECT +EXPRESSION_MARKER +SYMBOL +COLON +SEMICOLON +COMMA +PLUS +MINUS +STAR +EQUALS +NOT_EQUALS +GREATER_EQUALS +LESS +LESS_EQUALS +LAMBDA +PARENTHESES_OPEN +PARENTHESES_CLOSE +BRACKET_OPEN +BRACKET_CLOSE +CURLYBRACE_OPEN +CURLYBRACE_CLOSE +EXCLAMATION +PIPE +PIPE_DBL +PERIOD +STRING_VAL +BACKTICKSTRING_VAL +LINE_COMMENT +INTEGER_VAL +ID +WS +LETTER +DIGIT +ESC + +channel names: +DEFAULT_TOKEN_CHANNEL +HIDDEN + +mode names: +DEFAULT_MODE + +atn: +[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 50, 308, 8, 1, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 4, 12, 9, 12, 4, 13, 9, 13, 4, 14, 9, 14, 4, 15, 9, 15, 4, 16, 9, 16, 4, 17, 9, 17, 4, 18, 9, 18, 4, 19, 9, 19, 4, 20, 9, 20, 4, 21, 9, 21, 4, 22, 9, 22, 4, 23, 9, 23, 4, 24, 9, 24, 4, 25, 9, 25, 4, 26, 9, 26, 4, 27, 9, 27, 4, 28, 9, 28, 4, 29, 9, 29, 4, 30, 9, 30, 4, 31, 9, 31, 4, 32, 9, 32, 4, 33, 9, 33, 4, 34, 9, 34, 4, 35, 9, 35, 4, 36, 9, 36, 4, 37, 9, 37, 4, 38, 9, 38, 4, 39, 9, 39, 4, 40, 9, 40, 4, 41, 9, 41, 4, 42, 9, 42, 4, 43, 9, 43, 4, 44, 9, 44, 4, 45, 9, 45, 4, 46, 9, 46, 4, 47, 9, 47, 4, 48, 9, 48, 4, 49, 9, 49, 4, 50, 9, 50, 4, 51, 9, 51, 3, 2, 3, 2, 3, 3, 3, 3, 3, 4, 3, 4, 3, 4, 3, 5, 3, 5, 3, 5, 3, 6, 3, 6, 3, 6, 3, 6, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 12, 3, 12, 3, 12, 3, 12, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 16, 3, 16, 3, 16, 3, 16, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 20, 3, 20, 3, 21, 3, 21, 3, 22, 3, 22, 3, 23, 3, 23, 3, 24, 3, 24, 3, 25, 3, 25, 3, 26, 3, 26, 3, 27, 3, 27, 3, 27, 3, 28, 3, 28, 3, 28, 3, 29, 3, 29, 3, 29, 3, 30, 3, 30, 3, 31, 3, 31, 3, 31, 3, 32, 3, 32, 3, 32, 3, 33, 3, 33, 3, 34, 3, 34, 3, 35, 3, 35, 3, 36, 3, 36, 3, 37, 3, 37, 3, 38, 3, 38, 3, 39, 3, 39, 3, 40, 3, 40, 3, 41, 3, 41, 3, 41, 3, 42, 3, 42, 3, 43, 3, 43, 3, 43, 3, 43, 7, 43, 251, 10, 43, 12, 43, 14, 43, 254, 11, 43, 3, 43, 3, 43, 3, 44, 3, 44, 3, 44, 3, 44, 7, 44, 262, 10, 44, 12, 44, 14, 44, 265, 11, 44, 3, 44, 3, 44, 3, 45, 3, 45, 3, 45, 3, 45, 7, 45, 273, 10, 45, 12, 45, 14, 45, 276, 11, 45, 3, 45, 5, 45, 279, 10, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 46, 6, 46, 286, 10, 46, 13, 46, 14, 46, 287, 3, 47, 3, 47, 3, 47, 7, 47, 293, 10, 47, 12, 47, 14, 47, 296, 11, 47, 3, 48, 3, 48, 3, 48, 3, 48, 3, 49, 3, 49, 3, 50, 3, 50, 3, 51, 3, 51, 3, 51, 5, 252, 263, 274, 2, 52, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13, 8, 15, 9, 17, 10, 19, 11, 21, 12, 23, 13, 25, 14, 27, 15, 29, 16, 31, 17, 33, 18, 35, 19, 37, 20, 39, 21, 41, 22, 43, 23, 45, 24, 47, 25, 49, 26, 51, 27, 53, 28, 55, 29, 57, 30, 59, 31, 61, 32, 63, 33, 65, 34, 67, 35, 69, 36, 71, 37, 73, 38, 75, 39, 77, 40, 79, 41, 81, 42, 83, 43, 85, 44, 87, 45, 89, 46, 91, 47, 93, 48, 95, 49, 97, 2, 99, 2, 101, 50, 3, 2, 6, 6, 2, 38, 38, 45, 45, 63, 64, 98, 98, 5, 2, 11, 12, 15, 15, 34, 34, 5, 2, 67, 92, 97, 97, 99, 124, 3, 2, 50, 59, 2, 314, 2, 3, 3, 2, 2, 2, 2, 5, 3, 2, 2, 2, 2, 7, 3, 2, 2, 2, 2, 9, 3, 2, 2, 2, 2, 11, 3, 2, 2, 2, 2, 13, 3, 2, 2, 2, 2, 15, 3, 2, 2, 2, 2, 17, 3, 2, 2, 2, 2, 19, 3, 2, 2, 2, 2, 21, 3, 2, 2, 2, 2, 23, 3, 2, 2, 2, 2, 25, 3, 2, 2, 2, 2, 27, 3, 2, 2, 2, 2, 29, 3, 2, 2, 2, 2, 31, 3, 2, 2, 2, 2, 33, 3, 2, 2, 2, 2, 35, 3, 2, 2, 2, 2, 37, 3, 2, 2, 2, 2, 39, 3, 2, 2, 2, 2, 41, 3, 2, 2, 2, 2, 43, 3, 2, 2, 2, 2, 45, 3, 2, 2, 2, 2, 47, 3, 2, 2, 2, 2, 49, 3, 2, 2, 2, 2, 51, 3, 2, 2, 2, 2, 53, 3, 2, 2, 2, 2, 55, 3, 2, 2, 2, 2, 57, 3, 2, 2, 2, 2, 59, 3, 2, 2, 2, 2, 61, 3, 2, 2, 2, 2, 63, 3, 2, 2, 2, 2, 65, 3, 2, 2, 2, 2, 67, 3, 2, 2, 2, 2, 69, 3, 2, 2, 2, 2, 71, 3, 2, 2, 2, 2, 73, 3, 2, 2, 2, 2, 75, 3, 2, 2, 2, 2, 77, 3, 2, 2, 2, 2, 79, 3, 2, 2, 2, 2, 81, 3, 2, 2, 2, 2, 83, 3, 2, 2, 2, 2, 85, 3, 2, 2, 2, 2, 87, 3, 2, 2, 2, 2, 89, 3, 2, 2, 2, 2, 91, 3, 2, 2, 2, 2, 93, 3, 2, 2, 2, 2, 95, 3, 2, 2, 2, 2, 101, 3, 2, 2, 2, 3, 103, 3, 2, 2, 2, 5, 105, 3, 2, 2, 2, 7, 107, 3, 2, 2, 2, 9, 110, 3, 2, 2, 2, 11, 113, 3, 2, 2, 2, 13, 117, 3, 2, 2, 2, 15, 126, 3, 2, 2, 2, 17, 130, 3, 2, 2, 2, 19, 133, 3, 2, 2, 2, 21, 138, 3, 2, 2, 2, 23, 143, 3, 2, 2, 2, 25, 147, 3, 2, 2, 2, 27, 154, 3, 2, 2, 2, 29, 159, 3, 2, 2, 2, 31, 165, 3, 2, 2, 2, 33, 169, 3, 2, 2, 2, 35, 176, 3, 2, 2, 2, 37, 183, 3, 2, 2, 2, 39, 194, 3, 2, 2, 2, 41, 196, 3, 2, 2, 2, 43, 198, 3, 2, 2, 2, 45, 200, 3, 2, 2, 2, 47, 202, 3, 2, 2, 2, 49, 204, 3, 2, 2, 2, 51, 206, 3, 2, 2, 2, 53, 208, 3, 2, 2, 2, 55, 211, 3, 2, 2, 2, 57, 214, 3, 2, 2, 2, 59, 217, 3, 2, 2, 2, 61, 219, 3, 2, 2, 2, 63, 222, 3, 2, 2, 2, 65, 225, 3, 2, 2, 2, 67, 227, 3, 2, 2, 2, 69, 229, 3, 2, 2, 2, 71, 231, 3, 2, 2, 2, 73, 233, 3, 2, 2, 2, 75, 235, 3, 2, 2, 2, 77, 237, 3, 2, 2, 2, 79, 239, 3, 2, 2, 2, 81, 241, 3, 2, 2, 2, 83, 244, 3, 2, 2, 2, 85, 246, 3, 2, 2, 2, 87, 257, 3, 2, 2, 2, 89, 268, 3, 2, 2, 2, 91, 285, 3, 2, 2, 2, 93, 289, 3, 2, 2, 2, 95, 297, 3, 2, 2, 2, 97, 301, 3, 2, 2, 2, 99, 303, 3, 2, 2, 2, 101, 305, 3, 2, 2, 2, 103, 104, 7, 63, 2, 2, 104, 4, 3, 2, 2, 2, 105, 106, 7, 64, 2, 2, 106, 6, 3, 2, 2, 2, 107, 108, 7, 45, 2, 2, 108, 109, 7, 45, 2, 2, 109, 8, 3, 2, 2, 2, 110, 111, 7, 47, 2, 2, 111, 112, 7, 47, 2, 2, 112, 10, 3, 2, 2, 2, 113, 114, 7, 112, 2, 2, 114, 115, 7, 103, 2, 2, 115, 116, 7, 121, 2, 2, 116, 12, 3, 2, 2, 2, 117, 118, 7, 120, 2, 2, 118, 119, 7, 99, 2, 2, 119, 120, 7, 116, 2, 2, 120, 121, 7, 107, 2, 2, 121, 122, 7, 99, 2, 2, 122, 123, 7, 100, 2, 2, 123, 124, 7, 110, 2, 2, 124, 125, 7, 103, 2, 2, 125, 14, 3, 2, 2, 2, 126, 127, 7, 110, 2, 2, 127, 128, 7, 103, 2, 2, 128, 129, 7, 118, 2, 2, 129, 16, 3, 2, 2, 2, 130, 131, 7, 107, 2, 2, 131, 132, 7, 104, 2, 2, 132, 18, 3, 2, 2, 2, 133, 134, 7, 118, 2, 2, 134, 135, 7, 106, 2, 2, 135, 136, 7, 103, 2, 2, 136, 137, 7, 112, 2, 2, 137, 20, 3, 2, 2, 2, 138, 139, 7, 103, 2, 2, 139, 140, 7, 110, 2, 2, 140, 141, 7, 117, 2, 2, 141, 142, 7, 103, 2, 2, 142, 22, 3, 2, 2, 2, 143, 144, 7, 104, 2, 2, 144, 145, 7, 113, 2, 2, 145, 146, 7, 116, 2, 2, 146, 24, 3, 2, 2, 2, 147, 148, 7, 116, 2, 2, 148, 149, 7, 103, 2, 2, 149, 150, 7, 118, 2, 2, 150, 151, 7, 119, 2, 2, 151, 152, 7, 116, 2, 2, 152, 153, 7, 112, 2, 2, 153, 26, 3, 2, 2, 2, 154, 155, 7, 120, 2, 2, 155, 156, 7, 113, 2, 2, 156, 157, 7, 107, 2, 2, 157, 158, 7, 102, 2, 2, 158, 28, 3, 2, 2, 2, 159, 160, 7, 104, 2, 2, 160, 161, 7, 110, 2, 2, 161, 162, 7, 113, 2, 2, 162, 163, 7, 99, 2, 2, 163, 164, 7, 118, 2, 2, 164, 30, 3, 2, 2, 2, 165, 166, 7, 107, 2, 2, 166, 167, 7, 112, 2, 2, 167, 168, 7, 118, 2, 2, 168, 32, 3, 2, 2, 2, 169, 170, 7, 117, 2, 2, 170, 171, 7, 118, 2, 2, 171, 172, 7, 116, 2, 2, 172, 173, 7, 107, 2, 2, 173, 174, 7, 112, 2, 2, 174, 175, 7, 105, 2, 2, 175, 34, 3, 2, 2, 2, 176, 177, 7, 113, 2, 2, 177, 178, 7, 100, 2, 2, 178, 179, 7, 108, 2, 2, 179, 180, 7, 103, 2, 2, 180, 181, 7, 101, 2, 2, 181, 182, 7, 118, 2, 2, 182, 36, 3, 2, 2, 2, 183, 184, 7, 103, 2, 2, 184, 185, 7, 122, 2, 2, 185, 186, 7, 114, 2, 2, 186, 187, 7, 116, 2, 2, 187, 188, 7, 103, 2, 2, 188, 189, 7, 117, 2, 2, 189, 190, 7, 117, 2, 2, 190, 191, 7, 107, 2, 2, 191, 192, 7, 113, 2, 2, 192, 193, 7, 112, 2, 2, 193, 38, 3, 2, 2, 2, 194, 195, 9, 2, 2, 2, 195, 40, 3, 2, 2, 2, 196, 197, 7, 60, 2, 2, 197, 42, 3, 2, 2, 2, 198, 199, 7, 61, 2, 2, 199, 44, 3, 2, 2, 2, 200, 201, 7, 46, 2, 2, 201, 46, 3, 2, 2, 2, 202, 203, 7, 45, 2, 2, 203, 48, 3, 2, 2, 2, 204, 205, 7, 47, 2, 2, 205, 50, 3, 2, 2, 2, 206, 207, 7, 44, 2, 2, 207, 52, 3, 2, 2, 2, 208, 209, 7, 63, 2, 2, 209, 210, 7, 63, 2, 2, 210, 54, 3, 2, 2, 2, 211, 212, 7, 35, 2, 2, 212, 213, 7, 63, 2, 2, 213, 56, 3, 2, 2, 2, 214, 215, 7, 64, 2, 2, 215, 216, 7, 63, 2, 2, 216, 58, 3, 2, 2, 2, 217, 218, 7, 62, 2, 2, 218, 60, 3, 2, 2, 2, 219, 220, 7, 62, 2, 2, 220, 221, 7, 63, 2, 2, 221, 62, 3, 2, 2, 2, 222, 223, 7, 63, 2, 2, 223, 224, 7, 64, 2, 2, 224, 64, 3, 2, 2, 2, 225, 226, 7, 42, 2, 2, 226, 66, 3, 2, 2, 2, 227, 228, 7, 43, 2, 2, 228, 68, 3, 2, 2, 2, 229, 230, 7, 93, 2, 2, 230, 70, 3, 2, 2, 2, 231, 232, 7, 95, 2, 2, 232, 72, 3, 2, 2, 2, 233, 234, 7, 125, 2, 2, 234, 74, 3, 2, 2, 2, 235, 236, 7, 127, 2, 2, 236, 76, 3, 2, 2, 2, 237, 238, 7, 35, 2, 2, 238, 78, 3, 2, 2, 2, 239, 240, 7, 126, 2, 2, 240, 80, 3, 2, 2, 2, 241, 242, 7, 126, 2, 2, 242, 243, 7, 126, 2, 2, 243, 82, 3, 2, 2, 2, 244, 245, 7, 48, 2, 2, 245, 84, 3, 2, 2, 2, 246, 252, 7, 36, 2, 2, 247, 248, 7, 94, 2, 2, 248, 251, 7, 36, 2, 2, 249, 251, 11, 2, 2, 2, 250, 247, 3, 2, 2, 2, 250, 249, 3, 2, 2, 2, 251, 254, 3, 2, 2, 2, 252, 253, 3, 2, 2, 2, 252, 250, 3, 2, 2, 2, 253, 255, 3, 2, 2, 2, 254, 252, 3, 2, 2, 2, 255, 256, 7, 36, 2, 2, 256, 86, 3, 2, 2, 2, 257, 263, 7, 98, 2, 2, 258, 259, 7, 94, 2, 2, 259, 262, 7, 36, 2, 2, 260, 262, 11, 2, 2, 2, 261, 258, 3, 2, 2, 2, 261, 260, 3, 2, 2, 2, 262, 265, 3, 2, 2, 2, 263, 264, 3, 2, 2, 2, 263, 261, 3, 2, 2, 2, 264, 266, 3, 2, 2, 2, 265, 263, 3, 2, 2, 2, 266, 267, 7, 98, 2, 2, 267, 88, 3, 2, 2, 2, 268, 269, 7, 49, 2, 2, 269, 270, 7, 49, 2, 2, 270, 274, 3, 2, 2, 2, 271, 273, 11, 2, 2, 2, 272, 271, 3, 2, 2, 2, 273, 276, 3, 2, 2, 2, 274, 275, 3, 2, 2, 2, 274, 272, 3, 2, 2, 2, 275, 278, 3, 2, 2, 2, 276, 274, 3, 2, 2, 2, 277, 279, 7, 15, 2, 2, 278, 277, 3, 2, 2, 2, 278, 279, 3, 2, 2, 2, 279, 280, 3, 2, 2, 2, 280, 281, 7, 12, 2, 2, 281, 282, 3, 2, 2, 2, 282, 283, 8, 45, 2, 2, 283, 90, 3, 2, 2, 2, 284, 286, 5, 99, 50, 2, 285, 284, 3, 2, 2, 2, 286, 287, 3, 2, 2, 2, 287, 285, 3, 2, 2, 2, 287, 288, 3, 2, 2, 2, 288, 92, 3, 2, 2, 2, 289, 294, 5, 97, 49, 2, 290, 293, 5, 97, 49, 2, 291, 293, 5, 99, 50, 2, 292, 290, 3, 2, 2, 2, 292, 291, 3, 2, 2, 2, 293, 296, 3, 2, 2, 2, 294, 292, 3, 2, 2, 2, 294, 295, 3, 2, 2, 2, 295, 94, 3, 2, 2, 2, 296, 294, 3, 2, 2, 2, 297, 298, 9, 3, 2, 2, 298, 299, 3, 2, 2, 2, 299, 300, 8, 48, 2, 2, 300, 96, 3, 2, 2, 2, 301, 302, 9, 4, 2, 2, 302, 98, 3, 2, 2, 2, 303, 304, 9, 5, 2, 2, 304, 100, 3, 2, 2, 2, 305, 306, 7, 94, 2, 2, 306, 307, 7, 126, 2, 2, 307, 102, 3, 2, 2, 2, 12, 2, 250, 252, 261, 263, 274, 278, 287, 292, 294, 3, 8, 2, 2] \ No newline at end of file diff --git a/gen/ElsaLexer.java b/gen/ElsaLexer.java new file mode 100644 index 000000000..83a2c7139 --- /dev/null +++ b/gen/ElsaLexer.java @@ -0,0 +1,236 @@ +// Generated from C:/Projects/Elsa/v3/src/dsl/Elsa.Dsl/Dsl\ElsaLexer.g4 by ANTLR 4.9.2 +import org.antlr.v4.runtime.Lexer; +import org.antlr.v4.runtime.CharStream; +import org.antlr.v4.runtime.Token; +import org.antlr.v4.runtime.TokenStream; +import org.antlr.v4.runtime.*; +import org.antlr.v4.runtime.atn.*; +import org.antlr.v4.runtime.dfa.DFA; +import org.antlr.v4.runtime.misc.*; + +@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) +public class ElsaLexer extends Lexer { + static { RuntimeMetaData.checkVersion("4.9.2", RuntimeMetaData.VERSION); } + + protected static final DFA[] _decisionToDFA; + protected static final PredictionContextCache _sharedContextCache = + new PredictionContextCache(); + public static final int + EQ=1, GREATER=2, INCREMENT=3, DECREMENT=4, NEW=5, VARIABLE=6, LET=7, IF=8, + THEN=9, ELSE=10, FOR=11, RETURN=12, VOID=13, FLOAT=14, INT=15, STRING=16, + OBJECT=17, EXPRESSION_MARKER=18, SYMBOL=19, COLON=20, SEMICOLON=21, COMMA=22, + PLUS=23, MINUS=24, STAR=25, EQUALS=26, NOT_EQUALS=27, GREATER_EQUALS=28, + LESS=29, LESS_EQUALS=30, LAMBDA=31, PARENTHESES_OPEN=32, PARENTHESES_CLOSE=33, + BRACKET_OPEN=34, BRACKET_CLOSE=35, CURLYBRACE_OPEN=36, CURLYBRACE_CLOSE=37, + EXCLAMATION=38, PIPE=39, PIPE_DBL=40, PERIOD=41, STRING_VAL=42, BACKTICKSTRING_VAL=43, + LINE_COMMENT=44, INTEGER_VAL=45, ID=46, WS=47, ESC=48; + public static String[] channelNames = { + "DEFAULT_TOKEN_CHANNEL", "HIDDEN" + }; + + public static String[] modeNames = { + "DEFAULT_MODE" + }; + + private static String[] makeRuleNames() { + return new String[] { + "EQ", "GREATER", "INCREMENT", "DECREMENT", "NEW", "VARIABLE", "LET", + "IF", "THEN", "ELSE", "FOR", "RETURN", "VOID", "FLOAT", "INT", "STRING", + "OBJECT", "EXPRESSION_MARKER", "SYMBOL", "COLON", "SEMICOLON", "COMMA", + "PLUS", "MINUS", "STAR", "EQUALS", "NOT_EQUALS", "GREATER_EQUALS", "LESS", + "LESS_EQUALS", "LAMBDA", "PARENTHESES_OPEN", "PARENTHESES_CLOSE", "BRACKET_OPEN", + "BRACKET_CLOSE", "CURLYBRACE_OPEN", "CURLYBRACE_CLOSE", "EXCLAMATION", + "PIPE", "PIPE_DBL", "PERIOD", "STRING_VAL", "BACKTICKSTRING_VAL", "LINE_COMMENT", + "INTEGER_VAL", "ID", "WS", "LETTER", "DIGIT", "ESC" + }; + } + public static final String[] ruleNames = makeRuleNames(); + + private static String[] makeLiteralNames() { + return new String[] { + null, "'='", "'>'", "'++'", "'--'", "'new'", "'variable'", "'let'", "'if'", + "'then'", "'else'", "'for'", "'return'", "'void'", "'float'", "'int'", + "'string'", "'object'", "'expression'", null, "':'", "';'", "','", "'+'", + "'-'", "'*'", "'=='", "'!='", "'>='", "'<'", "'<='", "'=>'", "'('", "')'", + "'['", "']'", "'{'", "'}'", "'!'", "'|'", "'||'", "'.'", null, null, + null, null, null, null, "'\\|'" + }; + } + private static final String[] _LITERAL_NAMES = makeLiteralNames(); + private static String[] makeSymbolicNames() { + return new String[] { + null, "EQ", "GREATER", "INCREMENT", "DECREMENT", "NEW", "VARIABLE", "LET", + "IF", "THEN", "ELSE", "FOR", "RETURN", "VOID", "FLOAT", "INT", "STRING", + "OBJECT", "EXPRESSION_MARKER", "SYMBOL", "COLON", "SEMICOLON", "COMMA", + "PLUS", "MINUS", "STAR", "EQUALS", "NOT_EQUALS", "GREATER_EQUALS", "LESS", + "LESS_EQUALS", "LAMBDA", "PARENTHESES_OPEN", "PARENTHESES_CLOSE", "BRACKET_OPEN", + "BRACKET_CLOSE", "CURLYBRACE_OPEN", "CURLYBRACE_CLOSE", "EXCLAMATION", + "PIPE", "PIPE_DBL", "PERIOD", "STRING_VAL", "BACKTICKSTRING_VAL", "LINE_COMMENT", + "INTEGER_VAL", "ID", "WS", "ESC" + }; + } + private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); + public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); + + /** + * @deprecated Use {@link #VOCABULARY} instead. + */ + @Deprecated + public static final String[] tokenNames; + static { + tokenNames = new String[_SYMBOLIC_NAMES.length]; + for (int i = 0; i < tokenNames.length; i++) { + tokenNames[i] = VOCABULARY.getLiteralName(i); + if (tokenNames[i] == null) { + tokenNames[i] = VOCABULARY.getSymbolicName(i); + } + + if (tokenNames[i] == null) { + tokenNames[i] = ""; + } + } + } + + @Override + @Deprecated + public String[] getTokenNames() { + return tokenNames; + } + + @Override + + public Vocabulary getVocabulary() { + return VOCABULARY; + } + + + public ElsaLexer(CharStream input) { + super(input); + _interp = new LexerATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); + } + + @Override + public String getGrammarFileName() { return "ElsaLexer.g4"; } + + @Override + public String[] getRuleNames() { return ruleNames; } + + @Override + public String getSerializedATN() { return _serializedATN; } + + @Override + public String[] getChannelNames() { return channelNames; } + + @Override + public String[] getModeNames() { return modeNames; } + + @Override + public ATN getATN() { return _ATN; } + + public static final String _serializedATN = + "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2\62\u0134\b\1\4\2"+ + "\t\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4"+ + "\13\t\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22"+ + "\t\22\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31"+ + "\t\31\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t"+ + " \4!\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t"+ + "+\4,\t,\4-\t-\4.\t.\4/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\3\2"+ + "\3\2\3\3\3\3\3\4\3\4\3\4\3\5\3\5\3\5\3\6\3\6\3\6\3\6\3\7\3\7\3\7\3\7\3"+ + "\7\3\7\3\7\3\7\3\7\3\b\3\b\3\b\3\b\3\t\3\t\3\t\3\n\3\n\3\n\3\n\3\n\3\13"+ + "\3\13\3\13\3\13\3\13\3\f\3\f\3\f\3\f\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\16"+ + "\3\16\3\16\3\16\3\16\3\17\3\17\3\17\3\17\3\17\3\17\3\20\3\20\3\20\3\20"+ + "\3\21\3\21\3\21\3\21\3\21\3\21\3\21\3\22\3\22\3\22\3\22\3\22\3\22\3\22"+ + "\3\23\3\23\3\23\3\23\3\23\3\23\3\23\3\23\3\23\3\23\3\23\3\24\3\24\3\25"+ + "\3\25\3\26\3\26\3\27\3\27\3\30\3\30\3\31\3\31\3\32\3\32\3\33\3\33\3\33"+ + "\3\34\3\34\3\34\3\35\3\35\3\35\3\36\3\36\3\37\3\37\3\37\3 \3 \3 \3!\3"+ + "!\3\"\3\"\3#\3#\3$\3$\3%\3%\3&\3&\3\'\3\'\3(\3(\3)\3)\3)\3*\3*\3+\3+\3"+ + "+\3+\7+\u00fb\n+\f+\16+\u00fe\13+\3+\3+\3,\3,\3,\3,\7,\u0106\n,\f,\16"+ + ",\u0109\13,\3,\3,\3-\3-\3-\3-\7-\u0111\n-\f-\16-\u0114\13-\3-\5-\u0117"+ + "\n-\3-\3-\3-\3-\3.\6.\u011e\n.\r.\16.\u011f\3/\3/\3/\7/\u0125\n/\f/\16"+ + "/\u0128\13/\3\60\3\60\3\60\3\60\3\61\3\61\3\62\3\62\3\63\3\63\3\63\5\u00fc"+ + "\u0107\u0112\2\64\3\3\5\4\7\5\t\6\13\7\r\b\17\t\21\n\23\13\25\f\27\r\31"+ + "\16\33\17\35\20\37\21!\22#\23%\24\'\25)\26+\27-\30/\31\61\32\63\33\65"+ + "\34\67\359\36;\37= ?!A\"C#E$G%I&K\'M(O)Q*S+U,W-Y.[/]\60_\61a\2c\2e\62"+ + "\3\2\6\6\2&&--?@bb\5\2\13\f\17\17\"\"\5\2C\\aac|\3\2\62;\2\u013a\2\3\3"+ + "\2\2\2\2\5\3\2\2\2\2\7\3\2\2\2\2\t\3\2\2\2\2\13\3\2\2\2\2\r\3\2\2\2\2"+ + "\17\3\2\2\2\2\21\3\2\2\2\2\23\3\2\2\2\2\25\3\2\2\2\2\27\3\2\2\2\2\31\3"+ + "\2\2\2\2\33\3\2\2\2\2\35\3\2\2\2\2\37\3\2\2\2\2!\3\2\2\2\2#\3\2\2\2\2"+ + "%\3\2\2\2\2\'\3\2\2\2\2)\3\2\2\2\2+\3\2\2\2\2-\3\2\2\2\2/\3\2\2\2\2\61"+ + "\3\2\2\2\2\63\3\2\2\2\2\65\3\2\2\2\2\67\3\2\2\2\29\3\2\2\2\2;\3\2\2\2"+ + "\2=\3\2\2\2\2?\3\2\2\2\2A\3\2\2\2\2C\3\2\2\2\2E\3\2\2\2\2G\3\2\2\2\2I"+ + "\3\2\2\2\2K\3\2\2\2\2M\3\2\2\2\2O\3\2\2\2\2Q\3\2\2\2\2S\3\2\2\2\2U\3\2"+ + "\2\2\2W\3\2\2\2\2Y\3\2\2\2\2[\3\2\2\2\2]\3\2\2\2\2_\3\2\2\2\2e\3\2\2\2"+ + "\3g\3\2\2\2\5i\3\2\2\2\7k\3\2\2\2\tn\3\2\2\2\13q\3\2\2\2\ru\3\2\2\2\17"+ + "~\3\2\2\2\21\u0082\3\2\2\2\23\u0085\3\2\2\2\25\u008a\3\2\2\2\27\u008f"+ + "\3\2\2\2\31\u0093\3\2\2\2\33\u009a\3\2\2\2\35\u009f\3\2\2\2\37\u00a5\3"+ + "\2\2\2!\u00a9\3\2\2\2#\u00b0\3\2\2\2%\u00b7\3\2\2\2\'\u00c2\3\2\2\2)\u00c4"+ + "\3\2\2\2+\u00c6\3\2\2\2-\u00c8\3\2\2\2/\u00ca\3\2\2\2\61\u00cc\3\2\2\2"+ + "\63\u00ce\3\2\2\2\65\u00d0\3\2\2\2\67\u00d3\3\2\2\29\u00d6\3\2\2\2;\u00d9"+ + "\3\2\2\2=\u00db\3\2\2\2?\u00de\3\2\2\2A\u00e1\3\2\2\2C\u00e3\3\2\2\2E"+ + "\u00e5\3\2\2\2G\u00e7\3\2\2\2I\u00e9\3\2\2\2K\u00eb\3\2\2\2M\u00ed\3\2"+ + "\2\2O\u00ef\3\2\2\2Q\u00f1\3\2\2\2S\u00f4\3\2\2\2U\u00f6\3\2\2\2W\u0101"+ + "\3\2\2\2Y\u010c\3\2\2\2[\u011d\3\2\2\2]\u0121\3\2\2\2_\u0129\3\2\2\2a"+ + "\u012d\3\2\2\2c\u012f\3\2\2\2e\u0131\3\2\2\2gh\7?\2\2h\4\3\2\2\2ij\7@"+ + "\2\2j\6\3\2\2\2kl\7-\2\2lm\7-\2\2m\b\3\2\2\2no\7/\2\2op\7/\2\2p\n\3\2"+ + "\2\2qr\7p\2\2rs\7g\2\2st\7y\2\2t\f\3\2\2\2uv\7x\2\2vw\7c\2\2wx\7t\2\2"+ + "xy\7k\2\2yz\7c\2\2z{\7d\2\2{|\7n\2\2|}\7g\2\2}\16\3\2\2\2~\177\7n\2\2"+ + "\177\u0080\7g\2\2\u0080\u0081\7v\2\2\u0081\20\3\2\2\2\u0082\u0083\7k\2"+ + "\2\u0083\u0084\7h\2\2\u0084\22\3\2\2\2\u0085\u0086\7v\2\2\u0086\u0087"+ + "\7j\2\2\u0087\u0088\7g\2\2\u0088\u0089\7p\2\2\u0089\24\3\2\2\2\u008a\u008b"+ + "\7g\2\2\u008b\u008c\7n\2\2\u008c\u008d\7u\2\2\u008d\u008e\7g\2\2\u008e"+ + "\26\3\2\2\2\u008f\u0090\7h\2\2\u0090\u0091\7q\2\2\u0091\u0092\7t\2\2\u0092"+ + "\30\3\2\2\2\u0093\u0094\7t\2\2\u0094\u0095\7g\2\2\u0095\u0096\7v\2\2\u0096"+ + "\u0097\7w\2\2\u0097\u0098\7t\2\2\u0098\u0099\7p\2\2\u0099\32\3\2\2\2\u009a"+ + "\u009b\7x\2\2\u009b\u009c\7q\2\2\u009c\u009d\7k\2\2\u009d\u009e\7f\2\2"+ + "\u009e\34\3\2\2\2\u009f\u00a0\7h\2\2\u00a0\u00a1\7n\2\2\u00a1\u00a2\7"+ + "q\2\2\u00a2\u00a3\7c\2\2\u00a3\u00a4\7v\2\2\u00a4\36\3\2\2\2\u00a5\u00a6"+ + "\7k\2\2\u00a6\u00a7\7p\2\2\u00a7\u00a8\7v\2\2\u00a8 \3\2\2\2\u00a9\u00aa"+ + "\7u\2\2\u00aa\u00ab\7v\2\2\u00ab\u00ac\7t\2\2\u00ac\u00ad\7k\2\2\u00ad"+ + "\u00ae\7p\2\2\u00ae\u00af\7i\2\2\u00af\"\3\2\2\2\u00b0\u00b1\7q\2\2\u00b1"+ + "\u00b2\7d\2\2\u00b2\u00b3\7l\2\2\u00b3\u00b4\7g\2\2\u00b4\u00b5\7e\2\2"+ + "\u00b5\u00b6\7v\2\2\u00b6$\3\2\2\2\u00b7\u00b8\7g\2\2\u00b8\u00b9\7z\2"+ + "\2\u00b9\u00ba\7r\2\2\u00ba\u00bb\7t\2\2\u00bb\u00bc\7g\2\2\u00bc\u00bd"+ + "\7u\2\2\u00bd\u00be\7u\2\2\u00be\u00bf\7k\2\2\u00bf\u00c0\7q\2\2\u00c0"+ + "\u00c1\7p\2\2\u00c1&\3\2\2\2\u00c2\u00c3\t\2\2\2\u00c3(\3\2\2\2\u00c4"+ + "\u00c5\7<\2\2\u00c5*\3\2\2\2\u00c6\u00c7\7=\2\2\u00c7,\3\2\2\2\u00c8\u00c9"+ + "\7.\2\2\u00c9.\3\2\2\2\u00ca\u00cb\7-\2\2\u00cb\60\3\2\2\2\u00cc\u00cd"+ + "\7/\2\2\u00cd\62\3\2\2\2\u00ce\u00cf\7,\2\2\u00cf\64\3\2\2\2\u00d0\u00d1"+ + "\7?\2\2\u00d1\u00d2\7?\2\2\u00d2\66\3\2\2\2\u00d3\u00d4\7#\2\2\u00d4\u00d5"+ + "\7?\2\2\u00d58\3\2\2\2\u00d6\u00d7\7@\2\2\u00d7\u00d8\7?\2\2\u00d8:\3"+ + "\2\2\2\u00d9\u00da\7>\2\2\u00da<\3\2\2\2\u00db\u00dc\7>\2\2\u00dc\u00dd"+ + "\7?\2\2\u00dd>\3\2\2\2\u00de\u00df\7?\2\2\u00df\u00e0\7@\2\2\u00e0@\3"+ + "\2\2\2\u00e1\u00e2\7*\2\2\u00e2B\3\2\2\2\u00e3\u00e4\7+\2\2\u00e4D\3\2"+ + "\2\2\u00e5\u00e6\7]\2\2\u00e6F\3\2\2\2\u00e7\u00e8\7_\2\2\u00e8H\3\2\2"+ + "\2\u00e9\u00ea\7}\2\2\u00eaJ\3\2\2\2\u00eb\u00ec\7\177\2\2\u00ecL\3\2"+ + "\2\2\u00ed\u00ee\7#\2\2\u00eeN\3\2\2\2\u00ef\u00f0\7~\2\2\u00f0P\3\2\2"+ + "\2\u00f1\u00f2\7~\2\2\u00f2\u00f3\7~\2\2\u00f3R\3\2\2\2\u00f4\u00f5\7"+ + "\60\2\2\u00f5T\3\2\2\2\u00f6\u00fc\7$\2\2\u00f7\u00f8\7^\2\2\u00f8\u00fb"+ + "\7$\2\2\u00f9\u00fb\13\2\2\2\u00fa\u00f7\3\2\2\2\u00fa\u00f9\3\2\2\2\u00fb"+ + "\u00fe\3\2\2\2\u00fc\u00fd\3\2\2\2\u00fc\u00fa\3\2\2\2\u00fd\u00ff\3\2"+ + "\2\2\u00fe\u00fc\3\2\2\2\u00ff\u0100\7$\2\2\u0100V\3\2\2\2\u0101\u0107"+ + "\7b\2\2\u0102\u0103\7^\2\2\u0103\u0106\7$\2\2\u0104\u0106\13\2\2\2\u0105"+ + "\u0102\3\2\2\2\u0105\u0104\3\2\2\2\u0106\u0109\3\2\2\2\u0107\u0108\3\2"+ + "\2\2\u0107\u0105\3\2\2\2\u0108\u010a\3\2\2\2\u0109\u0107\3\2\2\2\u010a"+ + "\u010b\7b\2\2\u010bX\3\2\2\2\u010c\u010d\7\61\2\2\u010d\u010e\7\61\2\2"+ + "\u010e\u0112\3\2\2\2\u010f\u0111\13\2\2\2\u0110\u010f\3\2\2\2\u0111\u0114"+ + "\3\2\2\2\u0112\u0113\3\2\2\2\u0112\u0110\3\2\2\2\u0113\u0116\3\2\2\2\u0114"+ + "\u0112\3\2\2\2\u0115\u0117\7\17\2\2\u0116\u0115\3\2\2\2\u0116\u0117\3"+ + "\2\2\2\u0117\u0118\3\2\2\2\u0118\u0119\7\f\2\2\u0119\u011a\3\2\2\2\u011a"+ + "\u011b\b-\2\2\u011bZ\3\2\2\2\u011c\u011e\5c\62\2\u011d\u011c\3\2\2\2\u011e"+ + "\u011f\3\2\2\2\u011f\u011d\3\2\2\2\u011f\u0120\3\2\2\2\u0120\\\3\2\2\2"+ + "\u0121\u0126\5a\61\2\u0122\u0125\5a\61\2\u0123\u0125\5c\62\2\u0124\u0122"+ + "\3\2\2\2\u0124\u0123\3\2\2\2\u0125\u0128\3\2\2\2\u0126\u0124\3\2\2\2\u0126"+ + "\u0127\3\2\2\2\u0127^\3\2\2\2\u0128\u0126\3\2\2\2\u0129\u012a\t\3\2\2"+ + "\u012a\u012b\3\2\2\2\u012b\u012c\b\60\2\2\u012c`\3\2\2\2\u012d\u012e\t"+ + "\4\2\2\u012eb\3\2\2\2\u012f\u0130\t\5\2\2\u0130d\3\2\2\2\u0131\u0132\7"+ + "^\2\2\u0132\u0133\7~\2\2\u0133f\3\2\2\2\f\2\u00fa\u00fc\u0105\u0107\u0112"+ + "\u0116\u011f\u0124\u0126\3\b\2\2"; + public static final ATN _ATN = + new ATNDeserializer().deserialize(_serializedATN.toCharArray()); + static { + _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; + for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { + _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); + } + } +} \ No newline at end of file diff --git a/src/dsl/Elsa.Dsl/Dsl/gen/ElsaLexer.tokens b/gen/ElsaLexer.tokens similarity index 68% rename from src/dsl/Elsa.Dsl/Dsl/gen/ElsaLexer.tokens rename to gen/ElsaLexer.tokens index 0a1dc959d..0d4fb8cb2 100644 --- a/src/dsl/Elsa.Dsl/Dsl/gen/ElsaLexer.tokens +++ b/gen/ElsaLexer.tokens @@ -3,19 +3,19 @@ GREATER=2 INCREMENT=3 DECREMENT=4 NEW=5 -TRIGGER=6 -VARIABLE=7 -LET=8 -IF=9 -THEN=10 -ELSE=11 -FOR=12 -RETURN=13 -VOID=14 -FLOAT=15 -INT=16 -STRING=17 -OBJECT=18 +VARIABLE=6 +LET=7 +IF=8 +THEN=9 +ELSE=10 +FOR=11 +RETURN=12 +VOID=13 +FLOAT=14 +INT=15 +STRING=16 +OBJECT=17 +EXPRESSION_MARKER=18 SYMBOL=19 COLON=20 SEMICOLON=21 @@ -40,7 +40,7 @@ PIPE=39 PIPE_DBL=40 PERIOD=41 STRING_VAL=42 -STRINGTICK_VAL=43 +BACKTICKSTRING_VAL=43 LINE_COMMENT=44 INTEGER_VAL=45 ID=46 @@ -51,19 +51,19 @@ ESC=48 '++'=3 '--'=4 'new'=5 -'trigger'=6 -'variable'=7 -'let'=8 -'if'=9 -'then'=10 -'else'=11 -'for'=12 -'return'=13 -'void'=14 -'float'=15 -'int'=16 -'string'=17 -'object'=18 +'variable'=6 +'let'=7 +'if'=8 +'then'=9 +'else'=10 +'for'=11 +'return'=12 +'void'=13 +'float'=14 +'int'=15 +'string'=16 +'object'=17 +'expression'=18 ':'=20 ';'=21 ','=22 diff --git a/gen/ElsaParser.interp b/gen/ElsaParser.interp new file mode 100644 index 000000000..e2a3357de --- /dev/null +++ b/gen/ElsaParser.interp @@ -0,0 +1,128 @@ +token literal names: +null +'=' +'>' +'++' +'--' +'new' +'variable' +'let' +'if' +'then' +'else' +'for' +'return' +'void' +'float' +'int' +'string' +'object' +'expression' +null +':' +';' +',' +'+' +'-' +'*' +'==' +'!=' +'>=' +'<' +'<=' +'=>' +'(' +')' +'[' +']' +'{' +'}' +'!' +'|' +'||' +'.' +null +null +null +null +null +null +'\\|' + +token symbolic names: +null +EQ +GREATER +INCREMENT +DECREMENT +NEW +VARIABLE +LET +IF +THEN +ELSE +FOR +RETURN +VOID +FLOAT +INT +STRING +OBJECT +EXPRESSION_MARKER +SYMBOL +COLON +SEMICOLON +COMMA +PLUS +MINUS +STAR +EQUALS +NOT_EQUALS +GREATER_EQUALS +LESS +LESS_EQUALS +LAMBDA +PARENTHESES_OPEN +PARENTHESES_CLOSE +BRACKET_OPEN +BRACKET_CLOSE +CURLYBRACE_OPEN +CURLYBRACE_CLOSE +EXCLAMATION +PIPE +PIPE_DBL +PERIOD +STRING_VAL +BACKTICKSTRING_VAL +LINE_COMMENT +INTEGER_VAL +ID +WS +ESC + +rule names: +program +object +newObject +varDecl +localVarDecl +type +expressionMarker +expressionContent +methodCall +funcCall +args +arg +block +objectInitializer +propertyList +property +stat +thenStat +elseStat +expr +exprList + + +atn: +[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 3, 50, 263, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 4, 12, 9, 12, 4, 13, 9, 13, 4, 14, 9, 14, 4, 15, 9, 15, 4, 16, 9, 16, 4, 17, 9, 17, 4, 18, 9, 18, 4, 19, 9, 19, 4, 20, 9, 20, 4, 21, 9, 21, 4, 22, 9, 22, 3, 2, 3, 2, 7, 2, 47, 10, 2, 12, 2, 14, 2, 50, 11, 2, 3, 3, 3, 3, 5, 3, 54, 10, 3, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 5, 4, 62, 10, 4, 3, 4, 3, 4, 5, 4, 66, 10, 4, 3, 4, 3, 4, 3, 5, 3, 5, 3, 5, 3, 5, 5, 5, 74, 10, 5, 3, 5, 3, 5, 5, 5, 78, 10, 5, 3, 6, 3, 6, 3, 6, 3, 6, 5, 6, 84, 10, 6, 3, 6, 3, 6, 5, 6, 88, 10, 6, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 5, 8, 102, 10, 8, 3, 9, 7, 9, 105, 10, 9, 12, 9, 14, 9, 108, 11, 9, 3, 10, 3, 10, 3, 10, 3, 10, 3, 11, 3, 11, 3, 11, 5, 11, 117, 10, 11, 3, 11, 3, 11, 3, 12, 3, 12, 3, 12, 7, 12, 124, 10, 12, 12, 12, 14, 12, 127, 11, 12, 3, 13, 3, 13, 5, 13, 131, 10, 13, 3, 14, 3, 14, 7, 14, 135, 10, 14, 12, 14, 14, 14, 138, 11, 14, 3, 14, 3, 14, 3, 15, 3, 15, 5, 15, 144, 10, 15, 3, 15, 3, 15, 3, 16, 3, 16, 3, 16, 7, 16, 151, 10, 16, 12, 16, 14, 16, 154, 11, 16, 3, 17, 3, 17, 3, 17, 3, 17, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 5, 18, 169, 10, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 5, 18, 185, 10, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 5, 18, 203, 10, 18, 3, 19, 3, 19, 3, 20, 3, 20, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 5, 21, 222, 10, 21, 3, 21, 3, 21, 3, 21, 5, 21, 227, 10, 21, 3, 21, 3, 21, 3, 21, 5, 21, 232, 10, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 7, 21, 250, 10, 21, 12, 21, 14, 21, 253, 11, 21, 3, 22, 3, 22, 3, 22, 7, 22, 258, 10, 22, 12, 22, 14, 22, 261, 11, 22, 3, 22, 3, 106, 3, 40, 23, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 2, 4, 4, 2, 15, 19, 48, 48, 5, 2, 4, 4, 28, 28, 31, 31, 2, 288, 2, 48, 3, 2, 2, 2, 4, 51, 3, 2, 2, 2, 6, 55, 3, 2, 2, 2, 8, 69, 3, 2, 2, 2, 10, 79, 3, 2, 2, 2, 12, 89, 3, 2, 2, 2, 14, 101, 3, 2, 2, 2, 16, 106, 3, 2, 2, 2, 18, 109, 3, 2, 2, 2, 20, 113, 3, 2, 2, 2, 22, 120, 3, 2, 2, 2, 24, 130, 3, 2, 2, 2, 26, 132, 3, 2, 2, 2, 28, 141, 3, 2, 2, 2, 30, 147, 3, 2, 2, 2, 32, 155, 3, 2, 2, 2, 34, 202, 3, 2, 2, 2, 36, 204, 3, 2, 2, 2, 38, 206, 3, 2, 2, 2, 40, 231, 3, 2, 2, 2, 42, 254, 3, 2, 2, 2, 44, 47, 5, 34, 18, 2, 45, 47, 7, 46, 2, 2, 46, 44, 3, 2, 2, 2, 46, 45, 3, 2, 2, 2, 47, 50, 3, 2, 2, 2, 48, 46, 3, 2, 2, 2, 48, 49, 3, 2, 2, 2, 49, 3, 3, 2, 2, 2, 50, 48, 3, 2, 2, 2, 51, 53, 7, 48, 2, 2, 52, 54, 5, 28, 15, 2, 53, 52, 3, 2, 2, 2, 53, 54, 3, 2, 2, 2, 54, 5, 3, 2, 2, 2, 55, 56, 7, 7, 2, 2, 56, 61, 7, 48, 2, 2, 57, 58, 7, 31, 2, 2, 58, 59, 5, 12, 7, 2, 59, 60, 7, 4, 2, 2, 60, 62, 3, 2, 2, 2, 61, 57, 3, 2, 2, 2, 61, 62, 3, 2, 2, 2, 62, 63, 3, 2, 2, 2, 63, 65, 7, 34, 2, 2, 64, 66, 5, 22, 12, 2, 65, 64, 3, 2, 2, 2, 65, 66, 3, 2, 2, 2, 66, 67, 3, 2, 2, 2, 67, 68, 7, 35, 2, 2, 68, 7, 3, 2, 2, 2, 69, 70, 7, 8, 2, 2, 70, 73, 7, 48, 2, 2, 71, 72, 7, 22, 2, 2, 72, 74, 5, 12, 7, 2, 73, 71, 3, 2, 2, 2, 73, 74, 3, 2, 2, 2, 74, 77, 3, 2, 2, 2, 75, 76, 7, 3, 2, 2, 76, 78, 5, 40, 21, 2, 77, 75, 3, 2, 2, 2, 77, 78, 3, 2, 2, 2, 78, 9, 3, 2, 2, 2, 79, 80, 7, 9, 2, 2, 80, 83, 7, 48, 2, 2, 81, 82, 7, 22, 2, 2, 82, 84, 5, 12, 7, 2, 83, 81, 3, 2, 2, 2, 83, 84, 3, 2, 2, 2, 84, 87, 3, 2, 2, 2, 85, 86, 7, 3, 2, 2, 86, 88, 5, 40, 21, 2, 87, 85, 3, 2, 2, 2, 87, 88, 3, 2, 2, 2, 88, 11, 3, 2, 2, 2, 89, 90, 9, 2, 2, 2, 90, 13, 3, 2, 2, 2, 91, 92, 7, 20, 2, 2, 92, 93, 7, 34, 2, 2, 93, 94, 7, 48, 2, 2, 94, 95, 7, 24, 2, 2, 95, 96, 5, 16, 9, 2, 96, 97, 7, 35, 2, 2, 97, 102, 3, 2, 2, 2, 98, 99, 7, 48, 2, 2, 99, 100, 7, 33, 2, 2, 100, 102, 5, 16, 9, 2, 101, 91, 3, 2, 2, 2, 101, 98, 3, 2, 2, 2, 102, 15, 3, 2, 2, 2, 103, 105, 11, 2, 2, 2, 104, 103, 3, 2, 2, 2, 105, 108, 3, 2, 2, 2, 106, 107, 3, 2, 2, 2, 106, 104, 3, 2, 2, 2, 107, 17, 3, 2, 2, 2, 108, 106, 3, 2, 2, 2, 109, 110, 7, 48, 2, 2, 110, 111, 7, 43, 2, 2, 111, 112, 5, 20, 11, 2, 112, 19, 3, 2, 2, 2, 113, 114, 7, 48, 2, 2, 114, 116, 7, 34, 2, 2, 115, 117, 5, 22, 12, 2, 116, 115, 3, 2, 2, 2, 116, 117, 3, 2, 2, 2, 117, 118, 3, 2, 2, 2, 118, 119, 7, 35, 2, 2, 119, 21, 3, 2, 2, 2, 120, 125, 5, 24, 13, 2, 121, 122, 7, 24, 2, 2, 122, 124, 5, 24, 13, 2, 123, 121, 3, 2, 2, 2, 124, 127, 3, 2, 2, 2, 125, 123, 3, 2, 2, 2, 125, 126, 3, 2, 2, 2, 126, 23, 3, 2, 2, 2, 127, 125, 3, 2, 2, 2, 128, 131, 5, 40, 21, 2, 129, 131, 5, 14, 8, 2, 130, 128, 3, 2, 2, 2, 130, 129, 3, 2, 2, 2, 131, 25, 3, 2, 2, 2, 132, 136, 7, 38, 2, 2, 133, 135, 5, 34, 18, 2, 134, 133, 3, 2, 2, 2, 135, 138, 3, 2, 2, 2, 136, 134, 3, 2, 2, 2, 136, 137, 3, 2, 2, 2, 137, 139, 3, 2, 2, 2, 138, 136, 3, 2, 2, 2, 139, 140, 7, 39, 2, 2, 140, 27, 3, 2, 2, 2, 141, 143, 7, 38, 2, 2, 142, 144, 5, 30, 16, 2, 143, 142, 3, 2, 2, 2, 143, 144, 3, 2, 2, 2, 144, 145, 3, 2, 2, 2, 145, 146, 7, 39, 2, 2, 146, 29, 3, 2, 2, 2, 147, 152, 5, 32, 17, 2, 148, 149, 7, 24, 2, 2, 149, 151, 5, 32, 17, 2, 150, 148, 3, 2, 2, 2, 151, 154, 3, 2, 2, 2, 152, 150, 3, 2, 2, 2, 152, 153, 3, 2, 2, 2, 153, 31, 3, 2, 2, 2, 154, 152, 3, 2, 2, 2, 155, 156, 7, 48, 2, 2, 156, 157, 7, 22, 2, 2, 157, 158, 5, 40, 21, 2, 158, 33, 3, 2, 2, 2, 159, 160, 5, 4, 3, 2, 160, 161, 7, 23, 2, 2, 161, 203, 3, 2, 2, 2, 162, 163, 7, 10, 2, 2, 163, 164, 5, 40, 21, 2, 164, 165, 7, 11, 2, 2, 165, 168, 5, 36, 19, 2, 166, 167, 7, 12, 2, 2, 167, 169, 5, 38, 20, 2, 168, 166, 3, 2, 2, 2, 168, 169, 3, 2, 2, 2, 169, 203, 3, 2, 2, 2, 170, 171, 7, 13, 2, 2, 171, 172, 7, 34, 2, 2, 172, 173, 7, 48, 2, 2, 173, 174, 7, 3, 2, 2, 174, 175, 5, 40, 21, 2, 175, 176, 7, 23, 2, 2, 176, 177, 5, 40, 21, 2, 177, 178, 7, 23, 2, 2, 178, 179, 5, 40, 21, 2, 179, 180, 7, 35, 2, 2, 180, 181, 5, 34, 18, 2, 181, 203, 3, 2, 2, 2, 182, 184, 7, 14, 2, 2, 183, 185, 5, 40, 21, 2, 184, 183, 3, 2, 2, 2, 184, 185, 3, 2, 2, 2, 185, 186, 3, 2, 2, 2, 186, 203, 7, 23, 2, 2, 187, 203, 5, 26, 14, 2, 188, 189, 5, 8, 5, 2, 189, 190, 7, 23, 2, 2, 190, 203, 3, 2, 2, 2, 191, 192, 5, 10, 6, 2, 192, 193, 7, 23, 2, 2, 193, 203, 3, 2, 2, 2, 194, 195, 5, 40, 21, 2, 195, 196, 7, 3, 2, 2, 196, 197, 5, 40, 21, 2, 197, 198, 7, 23, 2, 2, 198, 203, 3, 2, 2, 2, 199, 200, 5, 40, 21, 2, 200, 201, 7, 23, 2, 2, 201, 203, 3, 2, 2, 2, 202, 159, 3, 2, 2, 2, 202, 162, 3, 2, 2, 2, 202, 170, 3, 2, 2, 2, 202, 182, 3, 2, 2, 2, 202, 187, 3, 2, 2, 2, 202, 188, 3, 2, 2, 2, 202, 191, 3, 2, 2, 2, 202, 194, 3, 2, 2, 2, 202, 199, 3, 2, 2, 2, 203, 35, 3, 2, 2, 2, 204, 205, 5, 34, 18, 2, 205, 37, 3, 2, 2, 2, 206, 207, 5, 34, 18, 2, 207, 39, 3, 2, 2, 2, 208, 209, 8, 21, 1, 2, 209, 232, 5, 20, 11, 2, 210, 232, 5, 4, 3, 2, 211, 232, 5, 6, 4, 2, 212, 213, 7, 26, 2, 2, 213, 232, 5, 40, 21, 15, 214, 215, 7, 40, 2, 2, 215, 232, 5, 40, 21, 14, 216, 232, 7, 47, 2, 2, 217, 232, 7, 44, 2, 2, 218, 232, 7, 45, 2, 2, 219, 221, 7, 34, 2, 2, 220, 222, 5, 42, 22, 2, 221, 220, 3, 2, 2, 2, 221, 222, 3, 2, 2, 2, 222, 223, 3, 2, 2, 2, 223, 232, 7, 35, 2, 2, 224, 226, 7, 36, 2, 2, 225, 227, 5, 42, 22, 2, 226, 225, 3, 2, 2, 2, 226, 227, 3, 2, 2, 2, 227, 228, 3, 2, 2, 2, 228, 232, 7, 37, 2, 2, 229, 232, 5, 18, 10, 2, 230, 232, 7, 48, 2, 2, 231, 208, 3, 2, 2, 2, 231, 210, 3, 2, 2, 2, 231, 211, 3, 2, 2, 2, 231, 212, 3, 2, 2, 2, 231, 214, 3, 2, 2, 2, 231, 216, 3, 2, 2, 2, 231, 217, 3, 2, 2, 2, 231, 218, 3, 2, 2, 2, 231, 219, 3, 2, 2, 2, 231, 224, 3, 2, 2, 2, 231, 229, 3, 2, 2, 2, 231, 230, 3, 2, 2, 2, 232, 251, 3, 2, 2, 2, 233, 234, 12, 13, 2, 2, 234, 235, 7, 27, 2, 2, 235, 250, 5, 40, 21, 14, 236, 237, 12, 12, 2, 2, 237, 238, 7, 25, 2, 2, 238, 250, 5, 40, 21, 13, 239, 240, 12, 11, 2, 2, 240, 241, 7, 26, 2, 2, 241, 250, 5, 40, 21, 12, 242, 243, 12, 10, 2, 2, 243, 244, 9, 3, 2, 2, 244, 250, 5, 40, 21, 11, 245, 246, 12, 17, 2, 2, 246, 250, 7, 5, 2, 2, 247, 248, 12, 16, 2, 2, 248, 250, 7, 6, 2, 2, 249, 233, 3, 2, 2, 2, 249, 236, 3, 2, 2, 2, 249, 239, 3, 2, 2, 2, 249, 242, 3, 2, 2, 2, 249, 245, 3, 2, 2, 2, 249, 247, 3, 2, 2, 2, 250, 253, 3, 2, 2, 2, 251, 249, 3, 2, 2, 2, 251, 252, 3, 2, 2, 2, 252, 41, 3, 2, 2, 2, 253, 251, 3, 2, 2, 2, 254, 259, 5, 40, 21, 2, 255, 256, 7, 24, 2, 2, 256, 258, 5, 40, 21, 2, 257, 255, 3, 2, 2, 2, 258, 261, 3, 2, 2, 2, 259, 257, 3, 2, 2, 2, 259, 260, 3, 2, 2, 2, 260, 43, 3, 2, 2, 2, 261, 259, 3, 2, 2, 2, 28, 46, 48, 53, 61, 65, 73, 77, 83, 87, 101, 106, 116, 125, 130, 136, 143, 152, 168, 184, 202, 221, 226, 231, 249, 251, 259] \ No newline at end of file diff --git a/gen/ElsaParser.java b/gen/ElsaParser.java new file mode 100644 index 000000000..fb31992cb --- /dev/null +++ b/gen/ElsaParser.java @@ -0,0 +1,2471 @@ +// Generated from C:/Projects/Elsa/v3/src/dsl/Elsa.Dsl/Dsl\ElsaParser.g4 by ANTLR 4.9.2 +import org.antlr.v4.runtime.atn.*; +import org.antlr.v4.runtime.dfa.DFA; +import org.antlr.v4.runtime.*; +import org.antlr.v4.runtime.misc.*; +import org.antlr.v4.runtime.tree.*; +import java.util.List; +import java.util.Iterator; +import java.util.ArrayList; + +@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) +public class ElsaParser extends Parser { + static { RuntimeMetaData.checkVersion("4.9.2", RuntimeMetaData.VERSION); } + + protected static final DFA[] _decisionToDFA; + protected static final PredictionContextCache _sharedContextCache = + new PredictionContextCache(); + public static final int + EQ=1, GREATER=2, INCREMENT=3, DECREMENT=4, NEW=5, VARIABLE=6, LET=7, IF=8, + THEN=9, ELSE=10, FOR=11, RETURN=12, VOID=13, FLOAT=14, INT=15, STRING=16, + OBJECT=17, EXPRESSION_MARKER=18, SYMBOL=19, COLON=20, SEMICOLON=21, COMMA=22, + PLUS=23, MINUS=24, STAR=25, EQUALS=26, NOT_EQUALS=27, GREATER_EQUALS=28, + LESS=29, LESS_EQUALS=30, LAMBDA=31, PARENTHESES_OPEN=32, PARENTHESES_CLOSE=33, + BRACKET_OPEN=34, BRACKET_CLOSE=35, CURLYBRACE_OPEN=36, CURLYBRACE_CLOSE=37, + EXCLAMATION=38, PIPE=39, PIPE_DBL=40, PERIOD=41, STRING_VAL=42, BACKTICKSTRING_VAL=43, + LINE_COMMENT=44, INTEGER_VAL=45, ID=46, WS=47, ESC=48; + public static final int + RULE_program = 0, RULE_object = 1, RULE_newObject = 2, RULE_varDecl = 3, + RULE_localVarDecl = 4, RULE_type = 5, RULE_expressionMarker = 6, RULE_expressionContent = 7, + RULE_methodCall = 8, RULE_funcCall = 9, RULE_args = 10, RULE_arg = 11, + RULE_block = 12, RULE_objectInitializer = 13, RULE_propertyList = 14, + RULE_property = 15, RULE_stat = 16, RULE_thenStat = 17, RULE_elseStat = 18, + RULE_expr = 19, RULE_exprList = 20; + private static String[] makeRuleNames() { + return new String[] { + "program", "object", "newObject", "varDecl", "localVarDecl", "type", + "expressionMarker", "expressionContent", "methodCall", "funcCall", "args", + "arg", "block", "objectInitializer", "propertyList", "property", "stat", + "thenStat", "elseStat", "expr", "exprList" + }; + } + public static final String[] ruleNames = makeRuleNames(); + + private static String[] makeLiteralNames() { + return new String[] { + null, "'='", "'>'", "'++'", "'--'", "'new'", "'variable'", "'let'", "'if'", + "'then'", "'else'", "'for'", "'return'", "'void'", "'float'", "'int'", + "'string'", "'object'", "'expression'", null, "':'", "';'", "','", "'+'", + "'-'", "'*'", "'=='", "'!='", "'>='", "'<'", "'<='", "'=>'", "'('", "')'", + "'['", "']'", "'{'", "'}'", "'!'", "'|'", "'||'", "'.'", null, null, + null, null, null, null, "'\\|'" + }; + } + private static final String[] _LITERAL_NAMES = makeLiteralNames(); + private static String[] makeSymbolicNames() { + return new String[] { + null, "EQ", "GREATER", "INCREMENT", "DECREMENT", "NEW", "VARIABLE", "LET", + "IF", "THEN", "ELSE", "FOR", "RETURN", "VOID", "FLOAT", "INT", "STRING", + "OBJECT", "EXPRESSION_MARKER", "SYMBOL", "COLON", "SEMICOLON", "COMMA", + "PLUS", "MINUS", "STAR", "EQUALS", "NOT_EQUALS", "GREATER_EQUALS", "LESS", + "LESS_EQUALS", "LAMBDA", "PARENTHESES_OPEN", "PARENTHESES_CLOSE", "BRACKET_OPEN", + "BRACKET_CLOSE", "CURLYBRACE_OPEN", "CURLYBRACE_CLOSE", "EXCLAMATION", + "PIPE", "PIPE_DBL", "PERIOD", "STRING_VAL", "BACKTICKSTRING_VAL", "LINE_COMMENT", + "INTEGER_VAL", "ID", "WS", "ESC" + }; + } + private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); + public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); + + /** + * @deprecated Use {@link #VOCABULARY} instead. + */ + @Deprecated + public static final String[] tokenNames; + static { + tokenNames = new String[_SYMBOLIC_NAMES.length]; + for (int i = 0; i < tokenNames.length; i++) { + tokenNames[i] = VOCABULARY.getLiteralName(i); + if (tokenNames[i] == null) { + tokenNames[i] = VOCABULARY.getSymbolicName(i); + } + + if (tokenNames[i] == null) { + tokenNames[i] = ""; + } + } + } + + @Override + @Deprecated + public String[] getTokenNames() { + return tokenNames; + } + + @Override + + public Vocabulary getVocabulary() { + return VOCABULARY; + } + + @Override + public String getGrammarFileName() { return "ElsaParser.g4"; } + + @Override + public String[] getRuleNames() { return ruleNames; } + + @Override + public String getSerializedATN() { return _serializedATN; } + + @Override + public ATN getATN() { return _ATN; } + + public ElsaParser(TokenStream input) { + super(input); + _interp = new ParserATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); + } + + public static class ProgramContext extends ParserRuleContext { + public List stat() { + return getRuleContexts(StatContext.class); + } + public StatContext stat(int i) { + return getRuleContext(StatContext.class,i); + } + public List LINE_COMMENT() { return getTokens(ElsaParser.LINE_COMMENT); } + public TerminalNode LINE_COMMENT(int i) { + return getToken(ElsaParser.LINE_COMMENT, i); + } + public ProgramContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_program; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).enterProgram(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).exitProgram(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof ElsaParserVisitor ) return ((ElsaParserVisitor)visitor).visitProgram(this); + else return visitor.visitChildren(this); + } + } + + public final ProgramContext program() throws RecognitionException { + ProgramContext _localctx = new ProgramContext(_ctx, getState()); + enterRule(_localctx, 0, RULE_program); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(46); + _errHandler.sync(this); + _la = _input.LA(1); + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << NEW) | (1L << VARIABLE) | (1L << LET) | (1L << IF) | (1L << FOR) | (1L << RETURN) | (1L << MINUS) | (1L << PARENTHESES_OPEN) | (1L << BRACKET_OPEN) | (1L << CURLYBRACE_OPEN) | (1L << EXCLAMATION) | (1L << STRING_VAL) | (1L << BACKTICKSTRING_VAL) | (1L << LINE_COMMENT) | (1L << INTEGER_VAL) | (1L << ID))) != 0)) { + { + setState(44); + _errHandler.sync(this); + switch (_input.LA(1)) { + case NEW: + case VARIABLE: + case LET: + case IF: + case FOR: + case RETURN: + case MINUS: + case PARENTHESES_OPEN: + case BRACKET_OPEN: + case CURLYBRACE_OPEN: + case EXCLAMATION: + case STRING_VAL: + case BACKTICKSTRING_VAL: + case INTEGER_VAL: + case ID: + { + setState(42); + stat(); + } + break; + case LINE_COMMENT: + { + setState(43); + match(LINE_COMMENT); + } + break; + default: + throw new NoViableAltException(this); + } + } + setState(48); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ObjectContext extends ParserRuleContext { + public TerminalNode ID() { return getToken(ElsaParser.ID, 0); } + public ObjectInitializerContext objectInitializer() { + return getRuleContext(ObjectInitializerContext.class,0); + } + public ObjectContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_object; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).enterObject(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).exitObject(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof ElsaParserVisitor ) return ((ElsaParserVisitor)visitor).visitObject(this); + else return visitor.visitChildren(this); + } + } + + public final ObjectContext object() throws RecognitionException { + ObjectContext _localctx = new ObjectContext(_ctx, getState()); + enterRule(_localctx, 2, RULE_object); + try { + enterOuterAlt(_localctx, 1); + { + setState(49); + match(ID); + setState(51); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,2,_ctx) ) { + case 1: + { + setState(50); + objectInitializer(); + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class NewObjectContext extends ParserRuleContext { + public TerminalNode NEW() { return getToken(ElsaParser.NEW, 0); } + public TerminalNode ID() { return getToken(ElsaParser.ID, 0); } + public TerminalNode PARENTHESES_OPEN() { return getToken(ElsaParser.PARENTHESES_OPEN, 0); } + public TerminalNode PARENTHESES_CLOSE() { return getToken(ElsaParser.PARENTHESES_CLOSE, 0); } + public TerminalNode LESS() { return getToken(ElsaParser.LESS, 0); } + public TypeContext type() { + return getRuleContext(TypeContext.class,0); + } + public TerminalNode GREATER() { return getToken(ElsaParser.GREATER, 0); } + public ArgsContext args() { + return getRuleContext(ArgsContext.class,0); + } + public NewObjectContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_newObject; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).enterNewObject(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).exitNewObject(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof ElsaParserVisitor ) return ((ElsaParserVisitor)visitor).visitNewObject(this); + else return visitor.visitChildren(this); + } + } + + public final NewObjectContext newObject() throws RecognitionException { + NewObjectContext _localctx = new NewObjectContext(_ctx, getState()); + enterRule(_localctx, 4, RULE_newObject); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(53); + match(NEW); + setState(54); + match(ID); + setState(59); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==LESS) { + { + setState(55); + match(LESS); + setState(56); + type(); + setState(57); + match(GREATER); + } + } + + setState(61); + match(PARENTHESES_OPEN); + setState(63); + _errHandler.sync(this); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << NEW) | (1L << EXPRESSION_MARKER) | (1L << MINUS) | (1L << PARENTHESES_OPEN) | (1L << BRACKET_OPEN) | (1L << EXCLAMATION) | (1L << STRING_VAL) | (1L << BACKTICKSTRING_VAL) | (1L << INTEGER_VAL) | (1L << ID))) != 0)) { + { + setState(62); + args(); + } + } + + setState(65); + match(PARENTHESES_CLOSE); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class VarDeclContext extends ParserRuleContext { + public TerminalNode VARIABLE() { return getToken(ElsaParser.VARIABLE, 0); } + public TerminalNode ID() { return getToken(ElsaParser.ID, 0); } + public TerminalNode COLON() { return getToken(ElsaParser.COLON, 0); } + public TypeContext type() { + return getRuleContext(TypeContext.class,0); + } + public TerminalNode EQ() { return getToken(ElsaParser.EQ, 0); } + public ExprContext expr() { + return getRuleContext(ExprContext.class,0); + } + public VarDeclContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_varDecl; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).enterVarDecl(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).exitVarDecl(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof ElsaParserVisitor ) return ((ElsaParserVisitor)visitor).visitVarDecl(this); + else return visitor.visitChildren(this); + } + } + + public final VarDeclContext varDecl() throws RecognitionException { + VarDeclContext _localctx = new VarDeclContext(_ctx, getState()); + enterRule(_localctx, 6, RULE_varDecl); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(67); + match(VARIABLE); + setState(68); + match(ID); + setState(71); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==COLON) { + { + setState(69); + match(COLON); + setState(70); + type(); + } + } + + setState(75); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==EQ) { + { + setState(73); + match(EQ); + setState(74); + expr(0); + } + } + + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class LocalVarDeclContext extends ParserRuleContext { + public TerminalNode LET() { return getToken(ElsaParser.LET, 0); } + public TerminalNode ID() { return getToken(ElsaParser.ID, 0); } + public TerminalNode COLON() { return getToken(ElsaParser.COLON, 0); } + public TypeContext type() { + return getRuleContext(TypeContext.class,0); + } + public TerminalNode EQ() { return getToken(ElsaParser.EQ, 0); } + public ExprContext expr() { + return getRuleContext(ExprContext.class,0); + } + public LocalVarDeclContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_localVarDecl; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).enterLocalVarDecl(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).exitLocalVarDecl(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof ElsaParserVisitor ) return ((ElsaParserVisitor)visitor).visitLocalVarDecl(this); + else return visitor.visitChildren(this); + } + } + + public final LocalVarDeclContext localVarDecl() throws RecognitionException { + LocalVarDeclContext _localctx = new LocalVarDeclContext(_ctx, getState()); + enterRule(_localctx, 8, RULE_localVarDecl); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(77); + match(LET); + setState(78); + match(ID); + setState(81); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==COLON) { + { + setState(79); + match(COLON); + setState(80); + type(); + } + } + + setState(85); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==EQ) { + { + setState(83); + match(EQ); + setState(84); + expr(0); + } + } + + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class TypeContext extends ParserRuleContext { + public TerminalNode VOID() { return getToken(ElsaParser.VOID, 0); } + public TerminalNode FLOAT() { return getToken(ElsaParser.FLOAT, 0); } + public TerminalNode INT() { return getToken(ElsaParser.INT, 0); } + public TerminalNode OBJECT() { return getToken(ElsaParser.OBJECT, 0); } + public TerminalNode STRING() { return getToken(ElsaParser.STRING, 0); } + public TerminalNode ID() { return getToken(ElsaParser.ID, 0); } + public TypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_type; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).enterType(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).exitType(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof ElsaParserVisitor ) return ((ElsaParserVisitor)visitor).visitType(this); + else return visitor.visitChildren(this); + } + } + + public final TypeContext type() throws RecognitionException { + TypeContext _localctx = new TypeContext(_ctx, getState()); + enterRule(_localctx, 10, RULE_type); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(87); + _la = _input.LA(1); + if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << VOID) | (1L << FLOAT) | (1L << INT) | (1L << STRING) | (1L << OBJECT) | (1L << ID))) != 0)) ) { + _errHandler.recoverInline(this); + } + else { + if ( _input.LA(1)==Token.EOF ) matchedEOF = true; + _errHandler.reportMatch(this); + consume(); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ExpressionMarkerContext extends ParserRuleContext { + public TerminalNode EXPRESSION_MARKER() { return getToken(ElsaParser.EXPRESSION_MARKER, 0); } + public TerminalNode PARENTHESES_OPEN() { return getToken(ElsaParser.PARENTHESES_OPEN, 0); } + public TerminalNode ID() { return getToken(ElsaParser.ID, 0); } + public TerminalNode COMMA() { return getToken(ElsaParser.COMMA, 0); } + public ExpressionContentContext expressionContent() { + return getRuleContext(ExpressionContentContext.class,0); + } + public TerminalNode PARENTHESES_CLOSE() { return getToken(ElsaParser.PARENTHESES_CLOSE, 0); } + public TerminalNode LAMBDA() { return getToken(ElsaParser.LAMBDA, 0); } + public ExpressionMarkerContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_expressionMarker; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).enterExpressionMarker(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).exitExpressionMarker(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof ElsaParserVisitor ) return ((ElsaParserVisitor)visitor).visitExpressionMarker(this); + else return visitor.visitChildren(this); + } + } + + public final ExpressionMarkerContext expressionMarker() throws RecognitionException { + ExpressionMarkerContext _localctx = new ExpressionMarkerContext(_ctx, getState()); + enterRule(_localctx, 12, RULE_expressionMarker); + try { + setState(99); + _errHandler.sync(this); + switch (_input.LA(1)) { + case EXPRESSION_MARKER: + enterOuterAlt(_localctx, 1); + { + setState(89); + match(EXPRESSION_MARKER); + setState(90); + match(PARENTHESES_OPEN); + setState(91); + match(ID); + setState(92); + match(COMMA); + setState(93); + expressionContent(); + setState(94); + match(PARENTHESES_CLOSE); + } + break; + case ID: + enterOuterAlt(_localctx, 2); + { + setState(96); + match(ID); + setState(97); + match(LAMBDA); + setState(98); + expressionContent(); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ExpressionContentContext extends ParserRuleContext { + public ExpressionContentContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_expressionContent; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).enterExpressionContent(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).exitExpressionContent(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof ElsaParserVisitor ) return ((ElsaParserVisitor)visitor).visitExpressionContent(this); + else return visitor.visitChildren(this); + } + } + + public final ExpressionContentContext expressionContent() throws RecognitionException { + ExpressionContentContext _localctx = new ExpressionContentContext(_ctx, getState()); + enterRule(_localctx, 14, RULE_expressionContent); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + setState(104); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,10,_ctx); + while ( _alt!=1 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1+1 ) { + { + { + setState(101); + matchWildcard(); + } + } + } + setState(106); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,10,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class MethodCallContext extends ParserRuleContext { + public TerminalNode ID() { return getToken(ElsaParser.ID, 0); } + public TerminalNode PERIOD() { return getToken(ElsaParser.PERIOD, 0); } + public FuncCallContext funcCall() { + return getRuleContext(FuncCallContext.class,0); + } + public MethodCallContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_methodCall; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).enterMethodCall(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).exitMethodCall(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof ElsaParserVisitor ) return ((ElsaParserVisitor)visitor).visitMethodCall(this); + else return visitor.visitChildren(this); + } + } + + public final MethodCallContext methodCall() throws RecognitionException { + MethodCallContext _localctx = new MethodCallContext(_ctx, getState()); + enterRule(_localctx, 16, RULE_methodCall); + try { + enterOuterAlt(_localctx, 1); + { + setState(107); + match(ID); + setState(108); + match(PERIOD); + setState(109); + funcCall(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class FuncCallContext extends ParserRuleContext { + public TerminalNode ID() { return getToken(ElsaParser.ID, 0); } + public TerminalNode PARENTHESES_OPEN() { return getToken(ElsaParser.PARENTHESES_OPEN, 0); } + public TerminalNode PARENTHESES_CLOSE() { return getToken(ElsaParser.PARENTHESES_CLOSE, 0); } + public ArgsContext args() { + return getRuleContext(ArgsContext.class,0); + } + public FuncCallContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_funcCall; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).enterFuncCall(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).exitFuncCall(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof ElsaParserVisitor ) return ((ElsaParserVisitor)visitor).visitFuncCall(this); + else return visitor.visitChildren(this); + } + } + + public final FuncCallContext funcCall() throws RecognitionException { + FuncCallContext _localctx = new FuncCallContext(_ctx, getState()); + enterRule(_localctx, 18, RULE_funcCall); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(111); + match(ID); + setState(112); + match(PARENTHESES_OPEN); + setState(114); + _errHandler.sync(this); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << NEW) | (1L << EXPRESSION_MARKER) | (1L << MINUS) | (1L << PARENTHESES_OPEN) | (1L << BRACKET_OPEN) | (1L << EXCLAMATION) | (1L << STRING_VAL) | (1L << BACKTICKSTRING_VAL) | (1L << INTEGER_VAL) | (1L << ID))) != 0)) { + { + setState(113); + args(); + } + } + + setState(116); + match(PARENTHESES_CLOSE); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ArgsContext extends ParserRuleContext { + public List arg() { + return getRuleContexts(ArgContext.class); + } + public ArgContext arg(int i) { + return getRuleContext(ArgContext.class,i); + } + public List COMMA() { return getTokens(ElsaParser.COMMA); } + public TerminalNode COMMA(int i) { + return getToken(ElsaParser.COMMA, i); + } + public ArgsContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_args; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).enterArgs(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).exitArgs(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof ElsaParserVisitor ) return ((ElsaParserVisitor)visitor).visitArgs(this); + else return visitor.visitChildren(this); + } + } + + public final ArgsContext args() throws RecognitionException { + ArgsContext _localctx = new ArgsContext(_ctx, getState()); + enterRule(_localctx, 20, RULE_args); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(118); + arg(); + setState(123); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==COMMA) { + { + { + setState(119); + match(COMMA); + setState(120); + arg(); + } + } + setState(125); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ArgContext extends ParserRuleContext { + public ExprContext expr() { + return getRuleContext(ExprContext.class,0); + } + public ExpressionMarkerContext expressionMarker() { + return getRuleContext(ExpressionMarkerContext.class,0); + } + public ArgContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_arg; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).enterArg(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).exitArg(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof ElsaParserVisitor ) return ((ElsaParserVisitor)visitor).visitArg(this); + else return visitor.visitChildren(this); + } + } + + public final ArgContext arg() throws RecognitionException { + ArgContext _localctx = new ArgContext(_ctx, getState()); + enterRule(_localctx, 22, RULE_arg); + try { + setState(128); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,13,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(126); + expr(0); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(127); + expressionMarker(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class BlockContext extends ParserRuleContext { + public TerminalNode CURLYBRACE_OPEN() { return getToken(ElsaParser.CURLYBRACE_OPEN, 0); } + public TerminalNode CURLYBRACE_CLOSE() { return getToken(ElsaParser.CURLYBRACE_CLOSE, 0); } + public List stat() { + return getRuleContexts(StatContext.class); + } + public StatContext stat(int i) { + return getRuleContext(StatContext.class,i); + } + public BlockContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_block; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).enterBlock(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).exitBlock(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof ElsaParserVisitor ) return ((ElsaParserVisitor)visitor).visitBlock(this); + else return visitor.visitChildren(this); + } + } + + public final BlockContext block() throws RecognitionException { + BlockContext _localctx = new BlockContext(_ctx, getState()); + enterRule(_localctx, 24, RULE_block); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(130); + match(CURLYBRACE_OPEN); + setState(134); + _errHandler.sync(this); + _la = _input.LA(1); + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << NEW) | (1L << VARIABLE) | (1L << LET) | (1L << IF) | (1L << FOR) | (1L << RETURN) | (1L << MINUS) | (1L << PARENTHESES_OPEN) | (1L << BRACKET_OPEN) | (1L << CURLYBRACE_OPEN) | (1L << EXCLAMATION) | (1L << STRING_VAL) | (1L << BACKTICKSTRING_VAL) | (1L << INTEGER_VAL) | (1L << ID))) != 0)) { + { + { + setState(131); + stat(); + } + } + setState(136); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(137); + match(CURLYBRACE_CLOSE); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ObjectInitializerContext extends ParserRuleContext { + public TerminalNode CURLYBRACE_OPEN() { return getToken(ElsaParser.CURLYBRACE_OPEN, 0); } + public TerminalNode CURLYBRACE_CLOSE() { return getToken(ElsaParser.CURLYBRACE_CLOSE, 0); } + public PropertyListContext propertyList() { + return getRuleContext(PropertyListContext.class,0); + } + public ObjectInitializerContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_objectInitializer; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).enterObjectInitializer(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).exitObjectInitializer(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof ElsaParserVisitor ) return ((ElsaParserVisitor)visitor).visitObjectInitializer(this); + else return visitor.visitChildren(this); + } + } + + public final ObjectInitializerContext objectInitializer() throws RecognitionException { + ObjectInitializerContext _localctx = new ObjectInitializerContext(_ctx, getState()); + enterRule(_localctx, 26, RULE_objectInitializer); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(139); + match(CURLYBRACE_OPEN); + setState(141); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==ID) { + { + setState(140); + propertyList(); + } + } + + setState(143); + match(CURLYBRACE_CLOSE); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PropertyListContext extends ParserRuleContext { + public List property() { + return getRuleContexts(PropertyContext.class); + } + public PropertyContext property(int i) { + return getRuleContext(PropertyContext.class,i); + } + public List COMMA() { return getTokens(ElsaParser.COMMA); } + public TerminalNode COMMA(int i) { + return getToken(ElsaParser.COMMA, i); + } + public PropertyListContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_propertyList; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).enterPropertyList(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).exitPropertyList(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof ElsaParserVisitor ) return ((ElsaParserVisitor)visitor).visitPropertyList(this); + else return visitor.visitChildren(this); + } + } + + public final PropertyListContext propertyList() throws RecognitionException { + PropertyListContext _localctx = new PropertyListContext(_ctx, getState()); + enterRule(_localctx, 28, RULE_propertyList); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(145); + property(); + setState(150); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==COMMA) { + { + { + setState(146); + match(COMMA); + setState(147); + property(); + } + } + setState(152); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PropertyContext extends ParserRuleContext { + public TerminalNode ID() { return getToken(ElsaParser.ID, 0); } + public TerminalNode COLON() { return getToken(ElsaParser.COLON, 0); } + public ExprContext expr() { + return getRuleContext(ExprContext.class,0); + } + public PropertyContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_property; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).enterProperty(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).exitProperty(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof ElsaParserVisitor ) return ((ElsaParserVisitor)visitor).visitProperty(this); + else return visitor.visitChildren(this); + } + } + + public final PropertyContext property() throws RecognitionException { + PropertyContext _localctx = new PropertyContext(_ctx, getState()); + enterRule(_localctx, 30, RULE_property); + try { + enterOuterAlt(_localctx, 1); + { + setState(153); + match(ID); + setState(154); + match(COLON); + setState(155); + expr(0); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class StatContext extends ParserRuleContext { + public StatContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_stat; } + + public StatContext() { } + public void copyFrom(StatContext ctx) { + super.copyFrom(ctx); + } + } + public static class IfStatContext extends StatContext { + public TerminalNode IF() { return getToken(ElsaParser.IF, 0); } + public ExprContext expr() { + return getRuleContext(ExprContext.class,0); + } + public TerminalNode THEN() { return getToken(ElsaParser.THEN, 0); } + public ThenStatContext thenStat() { + return getRuleContext(ThenStatContext.class,0); + } + public TerminalNode ELSE() { return getToken(ElsaParser.ELSE, 0); } + public ElseStatContext elseStat() { + return getRuleContext(ElseStatContext.class,0); + } + public IfStatContext(StatContext ctx) { copyFrom(ctx); } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).enterIfStat(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).exitIfStat(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof ElsaParserVisitor ) return ((ElsaParserVisitor)visitor).visitIfStat(this); + else return visitor.visitChildren(this); + } + } + public static class BlockStatContext extends StatContext { + public BlockContext block() { + return getRuleContext(BlockContext.class,0); + } + public BlockStatContext(StatContext ctx) { copyFrom(ctx); } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).enterBlockStat(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).exitBlockStat(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof ElsaParserVisitor ) return ((ElsaParserVisitor)visitor).visitBlockStat(this); + else return visitor.visitChildren(this); + } + } + public static class ExpressionStatContext extends StatContext { + public ExprContext expr() { + return getRuleContext(ExprContext.class,0); + } + public TerminalNode SEMICOLON() { return getToken(ElsaParser.SEMICOLON, 0); } + public ExpressionStatContext(StatContext ctx) { copyFrom(ctx); } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).enterExpressionStat(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).exitExpressionStat(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof ElsaParserVisitor ) return ((ElsaParserVisitor)visitor).visitExpressionStat(this); + else return visitor.visitChildren(this); + } + } + public static class ObjectStatContext extends StatContext { + public ObjectContext object() { + return getRuleContext(ObjectContext.class,0); + } + public TerminalNode SEMICOLON() { return getToken(ElsaParser.SEMICOLON, 0); } + public ObjectStatContext(StatContext ctx) { copyFrom(ctx); } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).enterObjectStat(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).exitObjectStat(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof ElsaParserVisitor ) return ((ElsaParserVisitor)visitor).visitObjectStat(this); + else return visitor.visitChildren(this); + } + } + public static class ReturnStatContext extends StatContext { + public TerminalNode RETURN() { return getToken(ElsaParser.RETURN, 0); } + public TerminalNode SEMICOLON() { return getToken(ElsaParser.SEMICOLON, 0); } + public ExprContext expr() { + return getRuleContext(ExprContext.class,0); + } + public ReturnStatContext(StatContext ctx) { copyFrom(ctx); } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).enterReturnStat(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).exitReturnStat(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof ElsaParserVisitor ) return ((ElsaParserVisitor)visitor).visitReturnStat(this); + else return visitor.visitChildren(this); + } + } + public static class VariableDeclarationStatContext extends StatContext { + public VarDeclContext varDecl() { + return getRuleContext(VarDeclContext.class,0); + } + public TerminalNode SEMICOLON() { return getToken(ElsaParser.SEMICOLON, 0); } + public VariableDeclarationStatContext(StatContext ctx) { copyFrom(ctx); } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).enterVariableDeclarationStat(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).exitVariableDeclarationStat(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof ElsaParserVisitor ) return ((ElsaParserVisitor)visitor).visitVariableDeclarationStat(this); + else return visitor.visitChildren(this); + } + } + public static class AssignmentStatContext extends StatContext { + public List expr() { + return getRuleContexts(ExprContext.class); + } + public ExprContext expr(int i) { + return getRuleContext(ExprContext.class,i); + } + public TerminalNode EQ() { return getToken(ElsaParser.EQ, 0); } + public TerminalNode SEMICOLON() { return getToken(ElsaParser.SEMICOLON, 0); } + public AssignmentStatContext(StatContext ctx) { copyFrom(ctx); } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).enterAssignmentStat(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).exitAssignmentStat(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof ElsaParserVisitor ) return ((ElsaParserVisitor)visitor).visitAssignmentStat(this); + else return visitor.visitChildren(this); + } + } + public static class LocalVariableDeclarationStatContext extends StatContext { + public LocalVarDeclContext localVarDecl() { + return getRuleContext(LocalVarDeclContext.class,0); + } + public TerminalNode SEMICOLON() { return getToken(ElsaParser.SEMICOLON, 0); } + public LocalVariableDeclarationStatContext(StatContext ctx) { copyFrom(ctx); } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).enterLocalVariableDeclarationStat(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).exitLocalVariableDeclarationStat(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof ElsaParserVisitor ) return ((ElsaParserVisitor)visitor).visitLocalVariableDeclarationStat(this); + else return visitor.visitChildren(this); + } + } + public static class ForStatContext extends StatContext { + public TerminalNode FOR() { return getToken(ElsaParser.FOR, 0); } + public TerminalNode PARENTHESES_OPEN() { return getToken(ElsaParser.PARENTHESES_OPEN, 0); } + public TerminalNode ID() { return getToken(ElsaParser.ID, 0); } + public TerminalNode EQ() { return getToken(ElsaParser.EQ, 0); } + public List expr() { + return getRuleContexts(ExprContext.class); + } + public ExprContext expr(int i) { + return getRuleContext(ExprContext.class,i); + } + public List SEMICOLON() { return getTokens(ElsaParser.SEMICOLON); } + public TerminalNode SEMICOLON(int i) { + return getToken(ElsaParser.SEMICOLON, i); + } + public TerminalNode PARENTHESES_CLOSE() { return getToken(ElsaParser.PARENTHESES_CLOSE, 0); } + public StatContext stat() { + return getRuleContext(StatContext.class,0); + } + public ForStatContext(StatContext ctx) { copyFrom(ctx); } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).enterForStat(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).exitForStat(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof ElsaParserVisitor ) return ((ElsaParserVisitor)visitor).visitForStat(this); + else return visitor.visitChildren(this); + } + } + + public final StatContext stat() throws RecognitionException { + StatContext _localctx = new StatContext(_ctx, getState()); + enterRule(_localctx, 32, RULE_stat); + int _la; + try { + setState(200); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,19,_ctx) ) { + case 1: + _localctx = new ObjectStatContext(_localctx); + enterOuterAlt(_localctx, 1); + { + setState(157); + object(); + setState(158); + match(SEMICOLON); + } + break; + case 2: + _localctx = new IfStatContext(_localctx); + enterOuterAlt(_localctx, 2); + { + setState(160); + match(IF); + setState(161); + expr(0); + setState(162); + match(THEN); + setState(163); + thenStat(); + setState(166); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,17,_ctx) ) { + case 1: + { + setState(164); + match(ELSE); + setState(165); + elseStat(); + } + break; + } + } + break; + case 3: + _localctx = new ForStatContext(_localctx); + enterOuterAlt(_localctx, 3); + { + setState(168); + match(FOR); + setState(169); + match(PARENTHESES_OPEN); + setState(170); + match(ID); + setState(171); + match(EQ); + setState(172); + expr(0); + setState(173); + match(SEMICOLON); + setState(174); + expr(0); + setState(175); + match(SEMICOLON); + setState(176); + expr(0); + setState(177); + match(PARENTHESES_CLOSE); + setState(178); + stat(); + } + break; + case 4: + _localctx = new ReturnStatContext(_localctx); + enterOuterAlt(_localctx, 4); + { + setState(180); + match(RETURN); + setState(182); + _errHandler.sync(this); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << NEW) | (1L << MINUS) | (1L << PARENTHESES_OPEN) | (1L << BRACKET_OPEN) | (1L << EXCLAMATION) | (1L << STRING_VAL) | (1L << BACKTICKSTRING_VAL) | (1L << INTEGER_VAL) | (1L << ID))) != 0)) { + { + setState(181); + expr(0); + } + } + + setState(184); + match(SEMICOLON); + } + break; + case 5: + _localctx = new BlockStatContext(_localctx); + enterOuterAlt(_localctx, 5); + { + setState(185); + block(); + } + break; + case 6: + _localctx = new VariableDeclarationStatContext(_localctx); + enterOuterAlt(_localctx, 6); + { + setState(186); + varDecl(); + setState(187); + match(SEMICOLON); + } + break; + case 7: + _localctx = new LocalVariableDeclarationStatContext(_localctx); + enterOuterAlt(_localctx, 7); + { + setState(189); + localVarDecl(); + setState(190); + match(SEMICOLON); + } + break; + case 8: + _localctx = new AssignmentStatContext(_localctx); + enterOuterAlt(_localctx, 8); + { + setState(192); + expr(0); + setState(193); + match(EQ); + setState(194); + expr(0); + setState(195); + match(SEMICOLON); + } + break; + case 9: + _localctx = new ExpressionStatContext(_localctx); + enterOuterAlt(_localctx, 9); + { + setState(197); + expr(0); + setState(198); + match(SEMICOLON); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ThenStatContext extends ParserRuleContext { + public StatContext stat() { + return getRuleContext(StatContext.class,0); + } + public ThenStatContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_thenStat; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).enterThenStat(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).exitThenStat(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof ElsaParserVisitor ) return ((ElsaParserVisitor)visitor).visitThenStat(this); + else return visitor.visitChildren(this); + } + } + + public final ThenStatContext thenStat() throws RecognitionException { + ThenStatContext _localctx = new ThenStatContext(_ctx, getState()); + enterRule(_localctx, 34, RULE_thenStat); + try { + enterOuterAlt(_localctx, 1); + { + setState(202); + stat(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ElseStatContext extends ParserRuleContext { + public StatContext stat() { + return getRuleContext(StatContext.class,0); + } + public ElseStatContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_elseStat; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).enterElseStat(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).exitElseStat(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof ElsaParserVisitor ) return ((ElsaParserVisitor)visitor).visitElseStat(this); + else return visitor.visitChildren(this); + } + } + + public final ElseStatContext elseStat() throws RecognitionException { + ElseStatContext _localctx = new ElseStatContext(_ctx, getState()); + enterRule(_localctx, 36, RULE_elseStat); + try { + enterOuterAlt(_localctx, 1); + { + setState(204); + stat(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ExprContext extends ParserRuleContext { + public ExprContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_expr; } + + public ExprContext() { } + public void copyFrom(ExprContext ctx) { + super.copyFrom(ctx); + } + } + public static class NewObjectExprContext extends ExprContext { + public NewObjectContext newObject() { + return getRuleContext(NewObjectContext.class,0); + } + public NewObjectExprContext(ExprContext ctx) { copyFrom(ctx); } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).enterNewObjectExpr(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).exitNewObjectExpr(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof ElsaParserVisitor ) return ((ElsaParserVisitor)visitor).visitNewObjectExpr(this); + else return visitor.visitChildren(this); + } + } + public static class SubtractExprContext extends ExprContext { + public List expr() { + return getRuleContexts(ExprContext.class); + } + public ExprContext expr(int i) { + return getRuleContext(ExprContext.class,i); + } + public TerminalNode MINUS() { return getToken(ElsaParser.MINUS, 0); } + public SubtractExprContext(ExprContext ctx) { copyFrom(ctx); } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).enterSubtractExpr(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).exitSubtractExpr(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof ElsaParserVisitor ) return ((ElsaParserVisitor)visitor).visitSubtractExpr(this); + else return visitor.visitChildren(this); + } + } + public static class IncrementExprContext extends ExprContext { + public ExprContext expr() { + return getRuleContext(ExprContext.class,0); + } + public TerminalNode INCREMENT() { return getToken(ElsaParser.INCREMENT, 0); } + public IncrementExprContext(ExprContext ctx) { copyFrom(ctx); } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).enterIncrementExpr(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).exitIncrementExpr(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof ElsaParserVisitor ) return ((ElsaParserVisitor)visitor).visitIncrementExpr(this); + else return visitor.visitChildren(this); + } + } + public static class ObjectExprContext extends ExprContext { + public ObjectContext object() { + return getRuleContext(ObjectContext.class,0); + } + public ObjectExprContext(ExprContext ctx) { copyFrom(ctx); } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).enterObjectExpr(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).exitObjectExpr(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof ElsaParserVisitor ) return ((ElsaParserVisitor)visitor).visitObjectExpr(this); + else return visitor.visitChildren(this); + } + } + public static class StringValueExprContext extends ExprContext { + public TerminalNode STRING_VAL() { return getToken(ElsaParser.STRING_VAL, 0); } + public StringValueExprContext(ExprContext ctx) { copyFrom(ctx); } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).enterStringValueExpr(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).exitStringValueExpr(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof ElsaParserVisitor ) return ((ElsaParserVisitor)visitor).visitStringValueExpr(this); + else return visitor.visitChildren(this); + } + } + public static class MultiplyExprContext extends ExprContext { + public List expr() { + return getRuleContexts(ExprContext.class); + } + public ExprContext expr(int i) { + return getRuleContext(ExprContext.class,i); + } + public TerminalNode STAR() { return getToken(ElsaParser.STAR, 0); } + public MultiplyExprContext(ExprContext ctx) { copyFrom(ctx); } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).enterMultiplyExpr(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).exitMultiplyExpr(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof ElsaParserVisitor ) return ((ElsaParserVisitor)visitor).visitMultiplyExpr(this); + else return visitor.visitChildren(this); + } + } + public static class ParenthesesExprContext extends ExprContext { + public TerminalNode PARENTHESES_OPEN() { return getToken(ElsaParser.PARENTHESES_OPEN, 0); } + public TerminalNode PARENTHESES_CLOSE() { return getToken(ElsaParser.PARENTHESES_CLOSE, 0); } + public ExprListContext exprList() { + return getRuleContext(ExprListContext.class,0); + } + public ParenthesesExprContext(ExprContext ctx) { copyFrom(ctx); } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).enterParenthesesExpr(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).exitParenthesesExpr(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof ElsaParserVisitor ) return ((ElsaParserVisitor)visitor).visitParenthesesExpr(this); + else return visitor.visitChildren(this); + } + } + public static class FunctionExprContext extends ExprContext { + public FuncCallContext funcCall() { + return getRuleContext(FuncCallContext.class,0); + } + public FunctionExprContext(ExprContext ctx) { copyFrom(ctx); } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).enterFunctionExpr(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).exitFunctionExpr(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof ElsaParserVisitor ) return ((ElsaParserVisitor)visitor).visitFunctionExpr(this); + else return visitor.visitChildren(this); + } + } + public static class DecrementExprContext extends ExprContext { + public ExprContext expr() { + return getRuleContext(ExprContext.class,0); + } + public TerminalNode DECREMENT() { return getToken(ElsaParser.DECREMENT, 0); } + public DecrementExprContext(ExprContext ctx) { copyFrom(ctx); } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).enterDecrementExpr(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).exitDecrementExpr(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof ElsaParserVisitor ) return ((ElsaParserVisitor)visitor).visitDecrementExpr(this); + else return visitor.visitChildren(this); + } + } + public static class NegateExprContext extends ExprContext { + public TerminalNode MINUS() { return getToken(ElsaParser.MINUS, 0); } + public ExprContext expr() { + return getRuleContext(ExprContext.class,0); + } + public NegateExprContext(ExprContext ctx) { copyFrom(ctx); } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).enterNegateExpr(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).exitNegateExpr(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof ElsaParserVisitor ) return ((ElsaParserVisitor)visitor).visitNegateExpr(this); + else return visitor.visitChildren(this); + } + } + public static class MethodCallExprContext extends ExprContext { + public MethodCallContext methodCall() { + return getRuleContext(MethodCallContext.class,0); + } + public MethodCallExprContext(ExprContext ctx) { copyFrom(ctx); } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).enterMethodCallExpr(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).exitMethodCallExpr(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof ElsaParserVisitor ) return ((ElsaParserVisitor)visitor).visitMethodCallExpr(this); + else return visitor.visitChildren(this); + } + } + public static class VariableExprContext extends ExprContext { + public TerminalNode ID() { return getToken(ElsaParser.ID, 0); } + public VariableExprContext(ExprContext ctx) { copyFrom(ctx); } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).enterVariableExpr(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).exitVariableExpr(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof ElsaParserVisitor ) return ((ElsaParserVisitor)visitor).visitVariableExpr(this); + else return visitor.visitChildren(this); + } + } + public static class NotExprContext extends ExprContext { + public TerminalNode EXCLAMATION() { return getToken(ElsaParser.EXCLAMATION, 0); } + public ExprContext expr() { + return getRuleContext(ExprContext.class,0); + } + public NotExprContext(ExprContext ctx) { copyFrom(ctx); } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).enterNotExpr(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).exitNotExpr(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof ElsaParserVisitor ) return ((ElsaParserVisitor)visitor).visitNotExpr(this); + else return visitor.visitChildren(this); + } + } + public static class IntegerValueExprContext extends ExprContext { + public TerminalNode INTEGER_VAL() { return getToken(ElsaParser.INTEGER_VAL, 0); } + public IntegerValueExprContext(ExprContext ctx) { copyFrom(ctx); } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).enterIntegerValueExpr(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).exitIntegerValueExpr(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof ElsaParserVisitor ) return ((ElsaParserVisitor)visitor).visitIntegerValueExpr(this); + else return visitor.visitChildren(this); + } + } + public static class AddExprContext extends ExprContext { + public List expr() { + return getRuleContexts(ExprContext.class); + } + public ExprContext expr(int i) { + return getRuleContext(ExprContext.class,i); + } + public TerminalNode PLUS() { return getToken(ElsaParser.PLUS, 0); } + public AddExprContext(ExprContext ctx) { copyFrom(ctx); } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).enterAddExpr(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).exitAddExpr(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof ElsaParserVisitor ) return ((ElsaParserVisitor)visitor).visitAddExpr(this); + else return visitor.visitChildren(this); + } + } + public static class BackTickStringValueExprContext extends ExprContext { + public TerminalNode BACKTICKSTRING_VAL() { return getToken(ElsaParser.BACKTICKSTRING_VAL, 0); } + public BackTickStringValueExprContext(ExprContext ctx) { copyFrom(ctx); } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).enterBackTickStringValueExpr(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).exitBackTickStringValueExpr(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof ElsaParserVisitor ) return ((ElsaParserVisitor)visitor).visitBackTickStringValueExpr(this); + else return visitor.visitChildren(this); + } + } + public static class BracketsExprContext extends ExprContext { + public TerminalNode BRACKET_OPEN() { return getToken(ElsaParser.BRACKET_OPEN, 0); } + public TerminalNode BRACKET_CLOSE() { return getToken(ElsaParser.BRACKET_CLOSE, 0); } + public ExprListContext exprList() { + return getRuleContext(ExprListContext.class,0); + } + public BracketsExprContext(ExprContext ctx) { copyFrom(ctx); } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).enterBracketsExpr(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).exitBracketsExpr(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof ElsaParserVisitor ) return ((ElsaParserVisitor)visitor).visitBracketsExpr(this); + else return visitor.visitChildren(this); + } + } + public static class CompareExprContext extends ExprContext { + public List expr() { + return getRuleContexts(ExprContext.class); + } + public ExprContext expr(int i) { + return getRuleContext(ExprContext.class,i); + } + public TerminalNode EQUALS() { return getToken(ElsaParser.EQUALS, 0); } + public TerminalNode GREATER() { return getToken(ElsaParser.GREATER, 0); } + public TerminalNode LESS() { return getToken(ElsaParser.LESS, 0); } + public CompareExprContext(ExprContext ctx) { copyFrom(ctx); } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).enterCompareExpr(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).exitCompareExpr(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof ElsaParserVisitor ) return ((ElsaParserVisitor)visitor).visitCompareExpr(this); + else return visitor.visitChildren(this); + } + } + + public final ExprContext expr() throws RecognitionException { + return expr(0); + } + + private ExprContext expr(int _p) throws RecognitionException { + ParserRuleContext _parentctx = _ctx; + int _parentState = getState(); + ExprContext _localctx = new ExprContext(_ctx, _parentState); + ExprContext _prevctx = _localctx; + int _startState = 38; + enterRecursionRule(_localctx, 38, RULE_expr, _p); + int _la; + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + setState(229); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,22,_ctx) ) { + case 1: + { + _localctx = new FunctionExprContext(_localctx); + _ctx = _localctx; + _prevctx = _localctx; + + setState(207); + funcCall(); + } + break; + case 2: + { + _localctx = new ObjectExprContext(_localctx); + _ctx = _localctx; + _prevctx = _localctx; + setState(208); + object(); + } + break; + case 3: + { + _localctx = new NewObjectExprContext(_localctx); + _ctx = _localctx; + _prevctx = _localctx; + setState(209); + newObject(); + } + break; + case 4: + { + _localctx = new NegateExprContext(_localctx); + _ctx = _localctx; + _prevctx = _localctx; + setState(210); + match(MINUS); + setState(211); + expr(13); + } + break; + case 5: + { + _localctx = new NotExprContext(_localctx); + _ctx = _localctx; + _prevctx = _localctx; + setState(212); + match(EXCLAMATION); + setState(213); + expr(12); + } + break; + case 6: + { + _localctx = new IntegerValueExprContext(_localctx); + _ctx = _localctx; + _prevctx = _localctx; + setState(214); + match(INTEGER_VAL); + } + break; + case 7: + { + _localctx = new StringValueExprContext(_localctx); + _ctx = _localctx; + _prevctx = _localctx; + setState(215); + match(STRING_VAL); + } + break; + case 8: + { + _localctx = new BackTickStringValueExprContext(_localctx); + _ctx = _localctx; + _prevctx = _localctx; + setState(216); + match(BACKTICKSTRING_VAL); + } + break; + case 9: + { + _localctx = new ParenthesesExprContext(_localctx); + _ctx = _localctx; + _prevctx = _localctx; + setState(217); + match(PARENTHESES_OPEN); + setState(219); + _errHandler.sync(this); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << NEW) | (1L << MINUS) | (1L << PARENTHESES_OPEN) | (1L << BRACKET_OPEN) | (1L << EXCLAMATION) | (1L << STRING_VAL) | (1L << BACKTICKSTRING_VAL) | (1L << INTEGER_VAL) | (1L << ID))) != 0)) { + { + setState(218); + exprList(); + } + } + + setState(221); + match(PARENTHESES_CLOSE); + } + break; + case 10: + { + _localctx = new BracketsExprContext(_localctx); + _ctx = _localctx; + _prevctx = _localctx; + setState(222); + match(BRACKET_OPEN); + setState(224); + _errHandler.sync(this); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << NEW) | (1L << MINUS) | (1L << PARENTHESES_OPEN) | (1L << BRACKET_OPEN) | (1L << EXCLAMATION) | (1L << STRING_VAL) | (1L << BACKTICKSTRING_VAL) | (1L << INTEGER_VAL) | (1L << ID))) != 0)) { + { + setState(223); + exprList(); + } + } + + setState(226); + match(BRACKET_CLOSE); + } + break; + case 11: + { + _localctx = new MethodCallExprContext(_localctx); + _ctx = _localctx; + _prevctx = _localctx; + setState(227); + methodCall(); + } + break; + case 12: + { + _localctx = new VariableExprContext(_localctx); + _ctx = _localctx; + _prevctx = _localctx; + setState(228); + match(ID); + } + break; + } + _ctx.stop = _input.LT(-1); + setState(249); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,24,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + if ( _parseListeners!=null ) triggerExitRuleEvent(); + _prevctx = _localctx; + { + setState(247); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,23,_ctx) ) { + case 1: + { + _localctx = new MultiplyExprContext(new ExprContext(_parentctx, _parentState)); + pushNewRecursionContext(_localctx, _startState, RULE_expr); + setState(231); + if (!(precpred(_ctx, 11))) throw new FailedPredicateException(this, "precpred(_ctx, 11)"); + setState(232); + match(STAR); + setState(233); + expr(12); + } + break; + case 2: + { + _localctx = new AddExprContext(new ExprContext(_parentctx, _parentState)); + pushNewRecursionContext(_localctx, _startState, RULE_expr); + setState(234); + if (!(precpred(_ctx, 10))) throw new FailedPredicateException(this, "precpred(_ctx, 10)"); + setState(235); + match(PLUS); + setState(236); + expr(11); + } + break; + case 3: + { + _localctx = new SubtractExprContext(new ExprContext(_parentctx, _parentState)); + pushNewRecursionContext(_localctx, _startState, RULE_expr); + setState(237); + if (!(precpred(_ctx, 9))) throw new FailedPredicateException(this, "precpred(_ctx, 9)"); + setState(238); + match(MINUS); + setState(239); + expr(10); + } + break; + case 4: + { + _localctx = new CompareExprContext(new ExprContext(_parentctx, _parentState)); + pushNewRecursionContext(_localctx, _startState, RULE_expr); + setState(240); + if (!(precpred(_ctx, 8))) throw new FailedPredicateException(this, "precpred(_ctx, 8)"); + setState(241); + _la = _input.LA(1); + if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << GREATER) | (1L << EQUALS) | (1L << LESS))) != 0)) ) { + _errHandler.recoverInline(this); + } + else { + if ( _input.LA(1)==Token.EOF ) matchedEOF = true; + _errHandler.reportMatch(this); + consume(); + } + setState(242); + expr(9); + } + break; + case 5: + { + _localctx = new IncrementExprContext(new ExprContext(_parentctx, _parentState)); + pushNewRecursionContext(_localctx, _startState, RULE_expr); + setState(243); + if (!(precpred(_ctx, 15))) throw new FailedPredicateException(this, "precpred(_ctx, 15)"); + setState(244); + match(INCREMENT); + } + break; + case 6: + { + _localctx = new DecrementExprContext(new ExprContext(_parentctx, _parentState)); + pushNewRecursionContext(_localctx, _startState, RULE_expr); + setState(245); + if (!(precpred(_ctx, 14))) throw new FailedPredicateException(this, "precpred(_ctx, 14)"); + setState(246); + match(DECREMENT); + } + break; + } + } + } + setState(251); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,24,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + unrollRecursionContexts(_parentctx); + } + return _localctx; + } + + public static class ExprListContext extends ParserRuleContext { + public List expr() { + return getRuleContexts(ExprContext.class); + } + public ExprContext expr(int i) { + return getRuleContext(ExprContext.class,i); + } + public List COMMA() { return getTokens(ElsaParser.COMMA); } + public TerminalNode COMMA(int i) { + return getToken(ElsaParser.COMMA, i); + } + public ExprListContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_exprList; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).enterExprList(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof ElsaParserListener ) ((ElsaParserListener)listener).exitExprList(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof ElsaParserVisitor ) return ((ElsaParserVisitor)visitor).visitExprList(this); + else return visitor.visitChildren(this); + } + } + + public final ExprListContext exprList() throws RecognitionException { + ExprListContext _localctx = new ExprListContext(_ctx, getState()); + enterRule(_localctx, 40, RULE_exprList); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(252); + expr(0); + setState(257); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==COMMA) { + { + { + setState(253); + match(COMMA); + setState(254); + expr(0); + } + } + setState(259); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public boolean sempred(RuleContext _localctx, int ruleIndex, int predIndex) { + switch (ruleIndex) { + case 19: + return expr_sempred((ExprContext)_localctx, predIndex); + } + return true; + } + private boolean expr_sempred(ExprContext _localctx, int predIndex) { + switch (predIndex) { + case 0: + return precpred(_ctx, 11); + case 1: + return precpred(_ctx, 10); + case 2: + return precpred(_ctx, 9); + case 3: + return precpred(_ctx, 8); + case 4: + return precpred(_ctx, 15); + case 5: + return precpred(_ctx, 14); + } + return true; + } + + public static final String _serializedATN = + "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\3\62\u0107\4\2\t\2"+ + "\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13"+ + "\t\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+ + "\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\3\2\3\2\7\2/\n\2\f\2\16\2\62"+ + "\13\2\3\3\3\3\5\3\66\n\3\3\4\3\4\3\4\3\4\3\4\3\4\5\4>\n\4\3\4\3\4\5\4"+ + "B\n\4\3\4\3\4\3\5\3\5\3\5\3\5\5\5J\n\5\3\5\3\5\5\5N\n\5\3\6\3\6\3\6\3"+ + "\6\5\6T\n\6\3\6\3\6\5\6X\n\6\3\7\3\7\3\b\3\b\3\b\3\b\3\b\3\b\3\b\3\b\3"+ + "\b\3\b\5\bf\n\b\3\t\7\ti\n\t\f\t\16\tl\13\t\3\n\3\n\3\n\3\n\3\13\3\13"+ + "\3\13\5\13u\n\13\3\13\3\13\3\f\3\f\3\f\7\f|\n\f\f\f\16\f\177\13\f\3\r"+ + "\3\r\5\r\u0083\n\r\3\16\3\16\7\16\u0087\n\16\f\16\16\16\u008a\13\16\3"+ + "\16\3\16\3\17\3\17\5\17\u0090\n\17\3\17\3\17\3\20\3\20\3\20\7\20\u0097"+ + "\n\20\f\20\16\20\u009a\13\20\3\21\3\21\3\21\3\21\3\22\3\22\3\22\3\22\3"+ + "\22\3\22\3\22\3\22\3\22\5\22\u00a9\n\22\3\22\3\22\3\22\3\22\3\22\3\22"+ + "\3\22\3\22\3\22\3\22\3\22\3\22\3\22\3\22\5\22\u00b9\n\22\3\22\3\22\3\22"+ + "\3\22\3\22\3\22\3\22\3\22\3\22\3\22\3\22\3\22\3\22\3\22\3\22\3\22\5\22"+ + "\u00cb\n\22\3\23\3\23\3\24\3\24\3\25\3\25\3\25\3\25\3\25\3\25\3\25\3\25"+ + "\3\25\3\25\3\25\3\25\3\25\5\25\u00de\n\25\3\25\3\25\3\25\5\25\u00e3\n"+ + "\25\3\25\3\25\3\25\5\25\u00e8\n\25\3\25\3\25\3\25\3\25\3\25\3\25\3\25"+ + "\3\25\3\25\3\25\3\25\3\25\3\25\3\25\3\25\3\25\7\25\u00fa\n\25\f\25\16"+ + "\25\u00fd\13\25\3\26\3\26\3\26\7\26\u0102\n\26\f\26\16\26\u0105\13\26"+ + "\3\26\3j\3(\27\2\4\6\b\n\f\16\20\22\24\26\30\32\34\36 \"$&(*\2\4\4\2\17"+ + "\23\60\60\5\2\4\4\34\34\37\37\2\u0120\2\60\3\2\2\2\4\63\3\2\2\2\6\67\3"+ + "\2\2\2\bE\3\2\2\2\nO\3\2\2\2\fY\3\2\2\2\16e\3\2\2\2\20j\3\2\2\2\22m\3"+ + "\2\2\2\24q\3\2\2\2\26x\3\2\2\2\30\u0082\3\2\2\2\32\u0084\3\2\2\2\34\u008d"+ + "\3\2\2\2\36\u0093\3\2\2\2 \u009b\3\2\2\2\"\u00ca\3\2\2\2$\u00cc\3\2\2"+ + "\2&\u00ce\3\2\2\2(\u00e7\3\2\2\2*\u00fe\3\2\2\2,/\5\"\22\2-/\7.\2\2.,"+ + "\3\2\2\2.-\3\2\2\2/\62\3\2\2\2\60.\3\2\2\2\60\61\3\2\2\2\61\3\3\2\2\2"+ + "\62\60\3\2\2\2\63\65\7\60\2\2\64\66\5\34\17\2\65\64\3\2\2\2\65\66\3\2"+ + "\2\2\66\5\3\2\2\2\678\7\7\2\28=\7\60\2\29:\7\37\2\2:;\5\f\7\2;<\7\4\2"+ + "\2<>\3\2\2\2=9\3\2\2\2=>\3\2\2\2>?\3\2\2\2?A\7\"\2\2@B\5\26\f\2A@\3\2"+ + "\2\2AB\3\2\2\2BC\3\2\2\2CD\7#\2\2D\7\3\2\2\2EF\7\b\2\2FI\7\60\2\2GH\7"+ + "\26\2\2HJ\5\f\7\2IG\3\2\2\2IJ\3\2\2\2JM\3\2\2\2KL\7\3\2\2LN\5(\25\2MK"+ + "\3\2\2\2MN\3\2\2\2N\t\3\2\2\2OP\7\t\2\2PS\7\60\2\2QR\7\26\2\2RT\5\f\7"+ + "\2SQ\3\2\2\2ST\3\2\2\2TW\3\2\2\2UV\7\3\2\2VX\5(\25\2WU\3\2\2\2WX\3\2\2"+ + "\2X\13\3\2\2\2YZ\t\2\2\2Z\r\3\2\2\2[\\\7\24\2\2\\]\7\"\2\2]^\7\60\2\2"+ + "^_\7\30\2\2_`\5\20\t\2`a\7#\2\2af\3\2\2\2bc\7\60\2\2cd\7!\2\2df\5\20\t"+ + "\2e[\3\2\2\2eb\3\2\2\2f\17\3\2\2\2gi\13\2\2\2hg\3\2\2\2il\3\2\2\2jk\3"+ + "\2\2\2jh\3\2\2\2k\21\3\2\2\2lj\3\2\2\2mn\7\60\2\2no\7+\2\2op\5\24\13\2"+ + "p\23\3\2\2\2qr\7\60\2\2rt\7\"\2\2su\5\26\f\2ts\3\2\2\2tu\3\2\2\2uv\3\2"+ + "\2\2vw\7#\2\2w\25\3\2\2\2x}\5\30\r\2yz\7\30\2\2z|\5\30\r\2{y\3\2\2\2|"+ + "\177\3\2\2\2}{\3\2\2\2}~\3\2\2\2~\27\3\2\2\2\177}\3\2\2\2\u0080\u0083"+ + "\5(\25\2\u0081\u0083\5\16\b\2\u0082\u0080\3\2\2\2\u0082\u0081\3\2\2\2"+ + "\u0083\31\3\2\2\2\u0084\u0088\7&\2\2\u0085\u0087\5\"\22\2\u0086\u0085"+ + "\3\2\2\2\u0087\u008a\3\2\2\2\u0088\u0086\3\2\2\2\u0088\u0089\3\2\2\2\u0089"+ + "\u008b\3\2\2\2\u008a\u0088\3\2\2\2\u008b\u008c\7\'\2\2\u008c\33\3\2\2"+ + "\2\u008d\u008f\7&\2\2\u008e\u0090\5\36\20\2\u008f\u008e\3\2\2\2\u008f"+ + "\u0090\3\2\2\2\u0090\u0091\3\2\2\2\u0091\u0092\7\'\2\2\u0092\35\3\2\2"+ + "\2\u0093\u0098\5 \21\2\u0094\u0095\7\30\2\2\u0095\u0097\5 \21\2\u0096"+ + "\u0094\3\2\2\2\u0097\u009a\3\2\2\2\u0098\u0096\3\2\2\2\u0098\u0099\3\2"+ + "\2\2\u0099\37\3\2\2\2\u009a\u0098\3\2\2\2\u009b\u009c\7\60\2\2\u009c\u009d"+ + "\7\26\2\2\u009d\u009e\5(\25\2\u009e!\3\2\2\2\u009f\u00a0\5\4\3\2\u00a0"+ + "\u00a1\7\27\2\2\u00a1\u00cb\3\2\2\2\u00a2\u00a3\7\n\2\2\u00a3\u00a4\5"+ + "(\25\2\u00a4\u00a5\7\13\2\2\u00a5\u00a8\5$\23\2\u00a6\u00a7\7\f\2\2\u00a7"+ + "\u00a9\5&\24\2\u00a8\u00a6\3\2\2\2\u00a8\u00a9\3\2\2\2\u00a9\u00cb\3\2"+ + "\2\2\u00aa\u00ab\7\r\2\2\u00ab\u00ac\7\"\2\2\u00ac\u00ad\7\60\2\2\u00ad"+ + "\u00ae\7\3\2\2\u00ae\u00af\5(\25\2\u00af\u00b0\7\27\2\2\u00b0\u00b1\5"+ + "(\25\2\u00b1\u00b2\7\27\2\2\u00b2\u00b3\5(\25\2\u00b3\u00b4\7#\2\2\u00b4"+ + "\u00b5\5\"\22\2\u00b5\u00cb\3\2\2\2\u00b6\u00b8\7\16\2\2\u00b7\u00b9\5"+ + "(\25\2\u00b8\u00b7\3\2\2\2\u00b8\u00b9\3\2\2\2\u00b9\u00ba\3\2\2\2\u00ba"+ + "\u00cb\7\27\2\2\u00bb\u00cb\5\32\16\2\u00bc\u00bd\5\b\5\2\u00bd\u00be"+ + "\7\27\2\2\u00be\u00cb\3\2\2\2\u00bf\u00c0\5\n\6\2\u00c0\u00c1\7\27\2\2"+ + "\u00c1\u00cb\3\2\2\2\u00c2\u00c3\5(\25\2\u00c3\u00c4\7\3\2\2\u00c4\u00c5"+ + "\5(\25\2\u00c5\u00c6\7\27\2\2\u00c6\u00cb\3\2\2\2\u00c7\u00c8\5(\25\2"+ + "\u00c8\u00c9\7\27\2\2\u00c9\u00cb\3\2\2\2\u00ca\u009f\3\2\2\2\u00ca\u00a2"+ + "\3\2\2\2\u00ca\u00aa\3\2\2\2\u00ca\u00b6\3\2\2\2\u00ca\u00bb\3\2\2\2\u00ca"+ + "\u00bc\3\2\2\2\u00ca\u00bf\3\2\2\2\u00ca\u00c2\3\2\2\2\u00ca\u00c7\3\2"+ + "\2\2\u00cb#\3\2\2\2\u00cc\u00cd\5\"\22\2\u00cd%\3\2\2\2\u00ce\u00cf\5"+ + "\"\22\2\u00cf\'\3\2\2\2\u00d0\u00d1\b\25\1\2\u00d1\u00e8\5\24\13\2\u00d2"+ + "\u00e8\5\4\3\2\u00d3\u00e8\5\6\4\2\u00d4\u00d5\7\32\2\2\u00d5\u00e8\5"+ + "(\25\17\u00d6\u00d7\7(\2\2\u00d7\u00e8\5(\25\16\u00d8\u00e8\7/\2\2\u00d9"+ + "\u00e8\7,\2\2\u00da\u00e8\7-\2\2\u00db\u00dd\7\"\2\2\u00dc\u00de\5*\26"+ + "\2\u00dd\u00dc\3\2\2\2\u00dd\u00de\3\2\2\2\u00de\u00df\3\2\2\2\u00df\u00e8"+ + "\7#\2\2\u00e0\u00e2\7$\2\2\u00e1\u00e3\5*\26\2\u00e2\u00e1\3\2\2\2\u00e2"+ + "\u00e3\3\2\2\2\u00e3\u00e4\3\2\2\2\u00e4\u00e8\7%\2\2\u00e5\u00e8\5\22"+ + "\n\2\u00e6\u00e8\7\60\2\2\u00e7\u00d0\3\2\2\2\u00e7\u00d2\3\2\2\2\u00e7"+ + "\u00d3\3\2\2\2\u00e7\u00d4\3\2\2\2\u00e7\u00d6\3\2\2\2\u00e7\u00d8\3\2"+ + "\2\2\u00e7\u00d9\3\2\2\2\u00e7\u00da\3\2\2\2\u00e7\u00db\3\2\2\2\u00e7"+ + "\u00e0\3\2\2\2\u00e7\u00e5\3\2\2\2\u00e7\u00e6\3\2\2\2\u00e8\u00fb\3\2"+ + "\2\2\u00e9\u00ea\f\r\2\2\u00ea\u00eb\7\33\2\2\u00eb\u00fa\5(\25\16\u00ec"+ + "\u00ed\f\f\2\2\u00ed\u00ee\7\31\2\2\u00ee\u00fa\5(\25\r\u00ef\u00f0\f"+ + "\13\2\2\u00f0\u00f1\7\32\2\2\u00f1\u00fa\5(\25\f\u00f2\u00f3\f\n\2\2\u00f3"+ + "\u00f4\t\3\2\2\u00f4\u00fa\5(\25\13\u00f5\u00f6\f\21\2\2\u00f6\u00fa\7"+ + "\5\2\2\u00f7\u00f8\f\20\2\2\u00f8\u00fa\7\6\2\2\u00f9\u00e9\3\2\2\2\u00f9"+ + "\u00ec\3\2\2\2\u00f9\u00ef\3\2\2\2\u00f9\u00f2\3\2\2\2\u00f9\u00f5\3\2"+ + "\2\2\u00f9\u00f7\3\2\2\2\u00fa\u00fd\3\2\2\2\u00fb\u00f9\3\2\2\2\u00fb"+ + "\u00fc\3\2\2\2\u00fc)\3\2\2\2\u00fd\u00fb\3\2\2\2\u00fe\u0103\5(\25\2"+ + "\u00ff\u0100\7\30\2\2\u0100\u0102\5(\25\2\u0101\u00ff\3\2\2\2\u0102\u0105"+ + "\3\2\2\2\u0103\u0101\3\2\2\2\u0103\u0104\3\2\2\2\u0104+\3\2\2\2\u0105"+ + "\u0103\3\2\2\2\34.\60\65=AIMSWejt}\u0082\u0088\u008f\u0098\u00a8\u00b8"+ + "\u00ca\u00dd\u00e2\u00e7\u00f9\u00fb\u0103"; + public static final ATN _ATN = + new ATNDeserializer().deserialize(_serializedATN.toCharArray()); + static { + _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; + for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { + _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); + } + } +} \ No newline at end of file diff --git a/gen/ElsaParser.tokens b/gen/ElsaParser.tokens new file mode 100644 index 000000000..0d4fb8cb2 --- /dev/null +++ b/gen/ElsaParser.tokens @@ -0,0 +1,89 @@ +EQ=1 +GREATER=2 +INCREMENT=3 +DECREMENT=4 +NEW=5 +VARIABLE=6 +LET=7 +IF=8 +THEN=9 +ELSE=10 +FOR=11 +RETURN=12 +VOID=13 +FLOAT=14 +INT=15 +STRING=16 +OBJECT=17 +EXPRESSION_MARKER=18 +SYMBOL=19 +COLON=20 +SEMICOLON=21 +COMMA=22 +PLUS=23 +MINUS=24 +STAR=25 +EQUALS=26 +NOT_EQUALS=27 +GREATER_EQUALS=28 +LESS=29 +LESS_EQUALS=30 +LAMBDA=31 +PARENTHESES_OPEN=32 +PARENTHESES_CLOSE=33 +BRACKET_OPEN=34 +BRACKET_CLOSE=35 +CURLYBRACE_OPEN=36 +CURLYBRACE_CLOSE=37 +EXCLAMATION=38 +PIPE=39 +PIPE_DBL=40 +PERIOD=41 +STRING_VAL=42 +BACKTICKSTRING_VAL=43 +LINE_COMMENT=44 +INTEGER_VAL=45 +ID=46 +WS=47 +ESC=48 +'='=1 +'>'=2 +'++'=3 +'--'=4 +'new'=5 +'variable'=6 +'let'=7 +'if'=8 +'then'=9 +'else'=10 +'for'=11 +'return'=12 +'void'=13 +'float'=14 +'int'=15 +'string'=16 +'object'=17 +'expression'=18 +':'=20 +';'=21 +','=22 +'+'=23 +'-'=24 +'*'=25 +'=='=26 +'!='=27 +'>='=28 +'<'=29 +'<='=30 +'=>'=31 +'('=32 +')'=33 +'['=34 +']'=35 +'{'=36 +'}'=37 +'!'=38 +'|'=39 +'||'=40 +'.'=41 +'\\|'=48 diff --git a/gen/ElsaParserBaseListener.java b/gen/ElsaParserBaseListener.java new file mode 100644 index 000000000..56db6cb1b --- /dev/null +++ b/gen/ElsaParserBaseListener.java @@ -0,0 +1,590 @@ +// Generated from C:/Projects/Elsa/v3/src/dsl/Elsa.Dsl/Dsl\ElsaParser.g4 by ANTLR 4.9.2 + +import org.antlr.v4.runtime.ParserRuleContext; +import org.antlr.v4.runtime.tree.ErrorNode; +import org.antlr.v4.runtime.tree.TerminalNode; + +/** + * This class provides an empty implementation of {@link ElsaParserListener}, + * which can be extended to create a listener which only needs to handle a subset + * of the available methods. + */ +public class ElsaParserBaseListener implements ElsaParserListener { + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterProgram(ElsaParser.ProgramContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitProgram(ElsaParser.ProgramContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterObject(ElsaParser.ObjectContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitObject(ElsaParser.ObjectContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterNewObject(ElsaParser.NewObjectContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitNewObject(ElsaParser.NewObjectContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterVarDecl(ElsaParser.VarDeclContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitVarDecl(ElsaParser.VarDeclContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterLocalVarDecl(ElsaParser.LocalVarDeclContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitLocalVarDecl(ElsaParser.LocalVarDeclContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterType(ElsaParser.TypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitType(ElsaParser.TypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterExpressionMarker(ElsaParser.ExpressionMarkerContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitExpressionMarker(ElsaParser.ExpressionMarkerContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterExpressionContent(ElsaParser.ExpressionContentContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitExpressionContent(ElsaParser.ExpressionContentContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterMethodCall(ElsaParser.MethodCallContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitMethodCall(ElsaParser.MethodCallContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterFuncCall(ElsaParser.FuncCallContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitFuncCall(ElsaParser.FuncCallContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterArgs(ElsaParser.ArgsContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitArgs(ElsaParser.ArgsContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterArg(ElsaParser.ArgContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitArg(ElsaParser.ArgContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterBlock(ElsaParser.BlockContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitBlock(ElsaParser.BlockContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterObjectInitializer(ElsaParser.ObjectInitializerContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitObjectInitializer(ElsaParser.ObjectInitializerContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterPropertyList(ElsaParser.PropertyListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitPropertyList(ElsaParser.PropertyListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterProperty(ElsaParser.PropertyContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitProperty(ElsaParser.PropertyContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterObjectStat(ElsaParser.ObjectStatContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitObjectStat(ElsaParser.ObjectStatContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterIfStat(ElsaParser.IfStatContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitIfStat(ElsaParser.IfStatContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterForStat(ElsaParser.ForStatContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitForStat(ElsaParser.ForStatContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterReturnStat(ElsaParser.ReturnStatContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitReturnStat(ElsaParser.ReturnStatContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterBlockStat(ElsaParser.BlockStatContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitBlockStat(ElsaParser.BlockStatContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterVariableDeclarationStat(ElsaParser.VariableDeclarationStatContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitVariableDeclarationStat(ElsaParser.VariableDeclarationStatContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterLocalVariableDeclarationStat(ElsaParser.LocalVariableDeclarationStatContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitLocalVariableDeclarationStat(ElsaParser.LocalVariableDeclarationStatContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterAssignmentStat(ElsaParser.AssignmentStatContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitAssignmentStat(ElsaParser.AssignmentStatContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterExpressionStat(ElsaParser.ExpressionStatContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitExpressionStat(ElsaParser.ExpressionStatContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterThenStat(ElsaParser.ThenStatContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitThenStat(ElsaParser.ThenStatContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterElseStat(ElsaParser.ElseStatContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitElseStat(ElsaParser.ElseStatContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterNewObjectExpr(ElsaParser.NewObjectExprContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitNewObjectExpr(ElsaParser.NewObjectExprContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterSubtractExpr(ElsaParser.SubtractExprContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitSubtractExpr(ElsaParser.SubtractExprContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterIncrementExpr(ElsaParser.IncrementExprContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitIncrementExpr(ElsaParser.IncrementExprContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterObjectExpr(ElsaParser.ObjectExprContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitObjectExpr(ElsaParser.ObjectExprContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterStringValueExpr(ElsaParser.StringValueExprContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitStringValueExpr(ElsaParser.StringValueExprContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterMultiplyExpr(ElsaParser.MultiplyExprContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitMultiplyExpr(ElsaParser.MultiplyExprContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterParenthesesExpr(ElsaParser.ParenthesesExprContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitParenthesesExpr(ElsaParser.ParenthesesExprContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterFunctionExpr(ElsaParser.FunctionExprContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitFunctionExpr(ElsaParser.FunctionExprContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterDecrementExpr(ElsaParser.DecrementExprContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitDecrementExpr(ElsaParser.DecrementExprContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterNegateExpr(ElsaParser.NegateExprContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitNegateExpr(ElsaParser.NegateExprContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterMethodCallExpr(ElsaParser.MethodCallExprContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitMethodCallExpr(ElsaParser.MethodCallExprContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterVariableExpr(ElsaParser.VariableExprContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitVariableExpr(ElsaParser.VariableExprContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterNotExpr(ElsaParser.NotExprContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitNotExpr(ElsaParser.NotExprContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterIntegerValueExpr(ElsaParser.IntegerValueExprContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitIntegerValueExpr(ElsaParser.IntegerValueExprContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterAddExpr(ElsaParser.AddExprContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitAddExpr(ElsaParser.AddExprContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterBackTickStringValueExpr(ElsaParser.BackTickStringValueExprContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitBackTickStringValueExpr(ElsaParser.BackTickStringValueExprContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterBracketsExpr(ElsaParser.BracketsExprContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitBracketsExpr(ElsaParser.BracketsExprContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterCompareExpr(ElsaParser.CompareExprContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitCompareExpr(ElsaParser.CompareExprContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterExprList(ElsaParser.ExprListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitExprList(ElsaParser.ExprListContext ctx) { } + + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterEveryRule(ParserRuleContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitEveryRule(ParserRuleContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void visitTerminal(TerminalNode node) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void visitErrorNode(ErrorNode node) { } +} \ No newline at end of file diff --git a/gen/ElsaParserBaseVisitor.java b/gen/ElsaParserBaseVisitor.java new file mode 100644 index 000000000..391b17460 --- /dev/null +++ b/gen/ElsaParserBaseVisitor.java @@ -0,0 +1,335 @@ +// Generated from C:/Projects/Elsa/v3/src/dsl/Elsa.Dsl/Dsl\ElsaParser.g4 by ANTLR 4.9.2 +import org.antlr.v4.runtime.tree.AbstractParseTreeVisitor; + +/** + * This class provides an empty implementation of {@link ElsaParserVisitor}, + * which can be extended to create a visitor which only needs to handle a subset + * of the available methods. + * + * @param The return type of the visit operation. Use {@link Void} for + * operations with no return type. + */ +public class ElsaParserBaseVisitor extends AbstractParseTreeVisitor implements ElsaParserVisitor { + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitProgram(ElsaParser.ProgramContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitObject(ElsaParser.ObjectContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitNewObject(ElsaParser.NewObjectContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitVarDecl(ElsaParser.VarDeclContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitLocalVarDecl(ElsaParser.LocalVarDeclContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitType(ElsaParser.TypeContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitExpressionMarker(ElsaParser.ExpressionMarkerContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitExpressionContent(ElsaParser.ExpressionContentContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitMethodCall(ElsaParser.MethodCallContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitFuncCall(ElsaParser.FuncCallContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitArgs(ElsaParser.ArgsContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitArg(ElsaParser.ArgContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitBlock(ElsaParser.BlockContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitObjectInitializer(ElsaParser.ObjectInitializerContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitPropertyList(ElsaParser.PropertyListContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitProperty(ElsaParser.PropertyContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitObjectStat(ElsaParser.ObjectStatContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitIfStat(ElsaParser.IfStatContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitForStat(ElsaParser.ForStatContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitReturnStat(ElsaParser.ReturnStatContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitBlockStat(ElsaParser.BlockStatContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitVariableDeclarationStat(ElsaParser.VariableDeclarationStatContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitLocalVariableDeclarationStat(ElsaParser.LocalVariableDeclarationStatContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitAssignmentStat(ElsaParser.AssignmentStatContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitExpressionStat(ElsaParser.ExpressionStatContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitThenStat(ElsaParser.ThenStatContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitElseStat(ElsaParser.ElseStatContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitNewObjectExpr(ElsaParser.NewObjectExprContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitSubtractExpr(ElsaParser.SubtractExprContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitIncrementExpr(ElsaParser.IncrementExprContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitObjectExpr(ElsaParser.ObjectExprContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitStringValueExpr(ElsaParser.StringValueExprContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitMultiplyExpr(ElsaParser.MultiplyExprContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitParenthesesExpr(ElsaParser.ParenthesesExprContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitFunctionExpr(ElsaParser.FunctionExprContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitDecrementExpr(ElsaParser.DecrementExprContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitNegateExpr(ElsaParser.NegateExprContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitMethodCallExpr(ElsaParser.MethodCallExprContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitVariableExpr(ElsaParser.VariableExprContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitNotExpr(ElsaParser.NotExprContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitIntegerValueExpr(ElsaParser.IntegerValueExprContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitAddExpr(ElsaParser.AddExprContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitBackTickStringValueExpr(ElsaParser.BackTickStringValueExprContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitBracketsExpr(ElsaParser.BracketsExprContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitCompareExpr(ElsaParser.CompareExprContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitExprList(ElsaParser.ExprListContext ctx) { return visitChildren(ctx); } +} \ No newline at end of file diff --git a/gen/ElsaParserListener.java b/gen/ElsaParserListener.java new file mode 100644 index 000000000..2d8168e8f --- /dev/null +++ b/gen/ElsaParserListener.java @@ -0,0 +1,523 @@ +// Generated from C:/Projects/Elsa/v3/src/dsl/Elsa.Dsl/Dsl\ElsaParser.g4 by ANTLR 4.9.2 +import org.antlr.v4.runtime.tree.ParseTreeListener; + +/** + * This interface defines a complete listener for a parse tree produced by + * {@link ElsaParser}. + */ +public interface ElsaParserListener extends ParseTreeListener { + /** + * Enter a parse tree produced by {@link ElsaParser#program}. + * @param ctx the parse tree + */ + void enterProgram(ElsaParser.ProgramContext ctx); + /** + * Exit a parse tree produced by {@link ElsaParser#program}. + * @param ctx the parse tree + */ + void exitProgram(ElsaParser.ProgramContext ctx); + /** + * Enter a parse tree produced by {@link ElsaParser#object}. + * @param ctx the parse tree + */ + void enterObject(ElsaParser.ObjectContext ctx); + /** + * Exit a parse tree produced by {@link ElsaParser#object}. + * @param ctx the parse tree + */ + void exitObject(ElsaParser.ObjectContext ctx); + /** + * Enter a parse tree produced by {@link ElsaParser#newObject}. + * @param ctx the parse tree + */ + void enterNewObject(ElsaParser.NewObjectContext ctx); + /** + * Exit a parse tree produced by {@link ElsaParser#newObject}. + * @param ctx the parse tree + */ + void exitNewObject(ElsaParser.NewObjectContext ctx); + /** + * Enter a parse tree produced by {@link ElsaParser#varDecl}. + * @param ctx the parse tree + */ + void enterVarDecl(ElsaParser.VarDeclContext ctx); + /** + * Exit a parse tree produced by {@link ElsaParser#varDecl}. + * @param ctx the parse tree + */ + void exitVarDecl(ElsaParser.VarDeclContext ctx); + /** + * Enter a parse tree produced by {@link ElsaParser#localVarDecl}. + * @param ctx the parse tree + */ + void enterLocalVarDecl(ElsaParser.LocalVarDeclContext ctx); + /** + * Exit a parse tree produced by {@link ElsaParser#localVarDecl}. + * @param ctx the parse tree + */ + void exitLocalVarDecl(ElsaParser.LocalVarDeclContext ctx); + /** + * Enter a parse tree produced by {@link ElsaParser#type}. + * @param ctx the parse tree + */ + void enterType(ElsaParser.TypeContext ctx); + /** + * Exit a parse tree produced by {@link ElsaParser#type}. + * @param ctx the parse tree + */ + void exitType(ElsaParser.TypeContext ctx); + /** + * Enter a parse tree produced by {@link ElsaParser#expressionMarker}. + * @param ctx the parse tree + */ + void enterExpressionMarker(ElsaParser.ExpressionMarkerContext ctx); + /** + * Exit a parse tree produced by {@link ElsaParser#expressionMarker}. + * @param ctx the parse tree + */ + void exitExpressionMarker(ElsaParser.ExpressionMarkerContext ctx); + /** + * Enter a parse tree produced by {@link ElsaParser#expressionContent}. + * @param ctx the parse tree + */ + void enterExpressionContent(ElsaParser.ExpressionContentContext ctx); + /** + * Exit a parse tree produced by {@link ElsaParser#expressionContent}. + * @param ctx the parse tree + */ + void exitExpressionContent(ElsaParser.ExpressionContentContext ctx); + /** + * Enter a parse tree produced by {@link ElsaParser#methodCall}. + * @param ctx the parse tree + */ + void enterMethodCall(ElsaParser.MethodCallContext ctx); + /** + * Exit a parse tree produced by {@link ElsaParser#methodCall}. + * @param ctx the parse tree + */ + void exitMethodCall(ElsaParser.MethodCallContext ctx); + /** + * Enter a parse tree produced by {@link ElsaParser#funcCall}. + * @param ctx the parse tree + */ + void enterFuncCall(ElsaParser.FuncCallContext ctx); + /** + * Exit a parse tree produced by {@link ElsaParser#funcCall}. + * @param ctx the parse tree + */ + void exitFuncCall(ElsaParser.FuncCallContext ctx); + /** + * Enter a parse tree produced by {@link ElsaParser#args}. + * @param ctx the parse tree + */ + void enterArgs(ElsaParser.ArgsContext ctx); + /** + * Exit a parse tree produced by {@link ElsaParser#args}. + * @param ctx the parse tree + */ + void exitArgs(ElsaParser.ArgsContext ctx); + /** + * Enter a parse tree produced by {@link ElsaParser#arg}. + * @param ctx the parse tree + */ + void enterArg(ElsaParser.ArgContext ctx); + /** + * Exit a parse tree produced by {@link ElsaParser#arg}. + * @param ctx the parse tree + */ + void exitArg(ElsaParser.ArgContext ctx); + /** + * Enter a parse tree produced by {@link ElsaParser#block}. + * @param ctx the parse tree + */ + void enterBlock(ElsaParser.BlockContext ctx); + /** + * Exit a parse tree produced by {@link ElsaParser#block}. + * @param ctx the parse tree + */ + void exitBlock(ElsaParser.BlockContext ctx); + /** + * Enter a parse tree produced by {@link ElsaParser#objectInitializer}. + * @param ctx the parse tree + */ + void enterObjectInitializer(ElsaParser.ObjectInitializerContext ctx); + /** + * Exit a parse tree produced by {@link ElsaParser#objectInitializer}. + * @param ctx the parse tree + */ + void exitObjectInitializer(ElsaParser.ObjectInitializerContext ctx); + /** + * Enter a parse tree produced by {@link ElsaParser#propertyList}. + * @param ctx the parse tree + */ + void enterPropertyList(ElsaParser.PropertyListContext ctx); + /** + * Exit a parse tree produced by {@link ElsaParser#propertyList}. + * @param ctx the parse tree + */ + void exitPropertyList(ElsaParser.PropertyListContext ctx); + /** + * Enter a parse tree produced by {@link ElsaParser#property}. + * @param ctx the parse tree + */ + void enterProperty(ElsaParser.PropertyContext ctx); + /** + * Exit a parse tree produced by {@link ElsaParser#property}. + * @param ctx the parse tree + */ + void exitProperty(ElsaParser.PropertyContext ctx); + /** + * Enter a parse tree produced by the {@code objectStat} + * labeled alternative in {@link ElsaParser#stat}. + * @param ctx the parse tree + */ + void enterObjectStat(ElsaParser.ObjectStatContext ctx); + /** + * Exit a parse tree produced by the {@code objectStat} + * labeled alternative in {@link ElsaParser#stat}. + * @param ctx the parse tree + */ + void exitObjectStat(ElsaParser.ObjectStatContext ctx); + /** + * Enter a parse tree produced by the {@code ifStat} + * labeled alternative in {@link ElsaParser#stat}. + * @param ctx the parse tree + */ + void enterIfStat(ElsaParser.IfStatContext ctx); + /** + * Exit a parse tree produced by the {@code ifStat} + * labeled alternative in {@link ElsaParser#stat}. + * @param ctx the parse tree + */ + void exitIfStat(ElsaParser.IfStatContext ctx); + /** + * Enter a parse tree produced by the {@code forStat} + * labeled alternative in {@link ElsaParser#stat}. + * @param ctx the parse tree + */ + void enterForStat(ElsaParser.ForStatContext ctx); + /** + * Exit a parse tree produced by the {@code forStat} + * labeled alternative in {@link ElsaParser#stat}. + * @param ctx the parse tree + */ + void exitForStat(ElsaParser.ForStatContext ctx); + /** + * Enter a parse tree produced by the {@code returnStat} + * labeled alternative in {@link ElsaParser#stat}. + * @param ctx the parse tree + */ + void enterReturnStat(ElsaParser.ReturnStatContext ctx); + /** + * Exit a parse tree produced by the {@code returnStat} + * labeled alternative in {@link ElsaParser#stat}. + * @param ctx the parse tree + */ + void exitReturnStat(ElsaParser.ReturnStatContext ctx); + /** + * Enter a parse tree produced by the {@code blockStat} + * labeled alternative in {@link ElsaParser#stat}. + * @param ctx the parse tree + */ + void enterBlockStat(ElsaParser.BlockStatContext ctx); + /** + * Exit a parse tree produced by the {@code blockStat} + * labeled alternative in {@link ElsaParser#stat}. + * @param ctx the parse tree + */ + void exitBlockStat(ElsaParser.BlockStatContext ctx); + /** + * Enter a parse tree produced by the {@code variableDeclarationStat} + * labeled alternative in {@link ElsaParser#stat}. + * @param ctx the parse tree + */ + void enterVariableDeclarationStat(ElsaParser.VariableDeclarationStatContext ctx); + /** + * Exit a parse tree produced by the {@code variableDeclarationStat} + * labeled alternative in {@link ElsaParser#stat}. + * @param ctx the parse tree + */ + void exitVariableDeclarationStat(ElsaParser.VariableDeclarationStatContext ctx); + /** + * Enter a parse tree produced by the {@code localVariableDeclarationStat} + * labeled alternative in {@link ElsaParser#stat}. + * @param ctx the parse tree + */ + void enterLocalVariableDeclarationStat(ElsaParser.LocalVariableDeclarationStatContext ctx); + /** + * Exit a parse tree produced by the {@code localVariableDeclarationStat} + * labeled alternative in {@link ElsaParser#stat}. + * @param ctx the parse tree + */ + void exitLocalVariableDeclarationStat(ElsaParser.LocalVariableDeclarationStatContext ctx); + /** + * Enter a parse tree produced by the {@code assignmentStat} + * labeled alternative in {@link ElsaParser#stat}. + * @param ctx the parse tree + */ + void enterAssignmentStat(ElsaParser.AssignmentStatContext ctx); + /** + * Exit a parse tree produced by the {@code assignmentStat} + * labeled alternative in {@link ElsaParser#stat}. + * @param ctx the parse tree + */ + void exitAssignmentStat(ElsaParser.AssignmentStatContext ctx); + /** + * Enter a parse tree produced by the {@code expressionStat} + * labeled alternative in {@link ElsaParser#stat}. + * @param ctx the parse tree + */ + void enterExpressionStat(ElsaParser.ExpressionStatContext ctx); + /** + * Exit a parse tree produced by the {@code expressionStat} + * labeled alternative in {@link ElsaParser#stat}. + * @param ctx the parse tree + */ + void exitExpressionStat(ElsaParser.ExpressionStatContext ctx); + /** + * Enter a parse tree produced by {@link ElsaParser#thenStat}. + * @param ctx the parse tree + */ + void enterThenStat(ElsaParser.ThenStatContext ctx); + /** + * Exit a parse tree produced by {@link ElsaParser#thenStat}. + * @param ctx the parse tree + */ + void exitThenStat(ElsaParser.ThenStatContext ctx); + /** + * Enter a parse tree produced by {@link ElsaParser#elseStat}. + * @param ctx the parse tree + */ + void enterElseStat(ElsaParser.ElseStatContext ctx); + /** + * Exit a parse tree produced by {@link ElsaParser#elseStat}. + * @param ctx the parse tree + */ + void exitElseStat(ElsaParser.ElseStatContext ctx); + /** + * Enter a parse tree produced by the {@code newObjectExpr} + * labeled alternative in {@link ElsaParser#expr}. + * @param ctx the parse tree + */ + void enterNewObjectExpr(ElsaParser.NewObjectExprContext ctx); + /** + * Exit a parse tree produced by the {@code newObjectExpr} + * labeled alternative in {@link ElsaParser#expr}. + * @param ctx the parse tree + */ + void exitNewObjectExpr(ElsaParser.NewObjectExprContext ctx); + /** + * Enter a parse tree produced by the {@code subtractExpr} + * labeled alternative in {@link ElsaParser#expr}. + * @param ctx the parse tree + */ + void enterSubtractExpr(ElsaParser.SubtractExprContext ctx); + /** + * Exit a parse tree produced by the {@code subtractExpr} + * labeled alternative in {@link ElsaParser#expr}. + * @param ctx the parse tree + */ + void exitSubtractExpr(ElsaParser.SubtractExprContext ctx); + /** + * Enter a parse tree produced by the {@code incrementExpr} + * labeled alternative in {@link ElsaParser#expr}. + * @param ctx the parse tree + */ + void enterIncrementExpr(ElsaParser.IncrementExprContext ctx); + /** + * Exit a parse tree produced by the {@code incrementExpr} + * labeled alternative in {@link ElsaParser#expr}. + * @param ctx the parse tree + */ + void exitIncrementExpr(ElsaParser.IncrementExprContext ctx); + /** + * Enter a parse tree produced by the {@code objectExpr} + * labeled alternative in {@link ElsaParser#expr}. + * @param ctx the parse tree + */ + void enterObjectExpr(ElsaParser.ObjectExprContext ctx); + /** + * Exit a parse tree produced by the {@code objectExpr} + * labeled alternative in {@link ElsaParser#expr}. + * @param ctx the parse tree + */ + void exitObjectExpr(ElsaParser.ObjectExprContext ctx); + /** + * Enter a parse tree produced by the {@code stringValueExpr} + * labeled alternative in {@link ElsaParser#expr}. + * @param ctx the parse tree + */ + void enterStringValueExpr(ElsaParser.StringValueExprContext ctx); + /** + * Exit a parse tree produced by the {@code stringValueExpr} + * labeled alternative in {@link ElsaParser#expr}. + * @param ctx the parse tree + */ + void exitStringValueExpr(ElsaParser.StringValueExprContext ctx); + /** + * Enter a parse tree produced by the {@code multiplyExpr} + * labeled alternative in {@link ElsaParser#expr}. + * @param ctx the parse tree + */ + void enterMultiplyExpr(ElsaParser.MultiplyExprContext ctx); + /** + * Exit a parse tree produced by the {@code multiplyExpr} + * labeled alternative in {@link ElsaParser#expr}. + * @param ctx the parse tree + */ + void exitMultiplyExpr(ElsaParser.MultiplyExprContext ctx); + /** + * Enter a parse tree produced by the {@code parenthesesExpr} + * labeled alternative in {@link ElsaParser#expr}. + * @param ctx the parse tree + */ + void enterParenthesesExpr(ElsaParser.ParenthesesExprContext ctx); + /** + * Exit a parse tree produced by the {@code parenthesesExpr} + * labeled alternative in {@link ElsaParser#expr}. + * @param ctx the parse tree + */ + void exitParenthesesExpr(ElsaParser.ParenthesesExprContext ctx); + /** + * Enter a parse tree produced by the {@code functionExpr} + * labeled alternative in {@link ElsaParser#expr}. + * @param ctx the parse tree + */ + void enterFunctionExpr(ElsaParser.FunctionExprContext ctx); + /** + * Exit a parse tree produced by the {@code functionExpr} + * labeled alternative in {@link ElsaParser#expr}. + * @param ctx the parse tree + */ + void exitFunctionExpr(ElsaParser.FunctionExprContext ctx); + /** + * Enter a parse tree produced by the {@code decrementExpr} + * labeled alternative in {@link ElsaParser#expr}. + * @param ctx the parse tree + */ + void enterDecrementExpr(ElsaParser.DecrementExprContext ctx); + /** + * Exit a parse tree produced by the {@code decrementExpr} + * labeled alternative in {@link ElsaParser#expr}. + * @param ctx the parse tree + */ + void exitDecrementExpr(ElsaParser.DecrementExprContext ctx); + /** + * Enter a parse tree produced by the {@code negateExpr} + * labeled alternative in {@link ElsaParser#expr}. + * @param ctx the parse tree + */ + void enterNegateExpr(ElsaParser.NegateExprContext ctx); + /** + * Exit a parse tree produced by the {@code negateExpr} + * labeled alternative in {@link ElsaParser#expr}. + * @param ctx the parse tree + */ + void exitNegateExpr(ElsaParser.NegateExprContext ctx); + /** + * Enter a parse tree produced by the {@code methodCallExpr} + * labeled alternative in {@link ElsaParser#expr}. + * @param ctx the parse tree + */ + void enterMethodCallExpr(ElsaParser.MethodCallExprContext ctx); + /** + * Exit a parse tree produced by the {@code methodCallExpr} + * labeled alternative in {@link ElsaParser#expr}. + * @param ctx the parse tree + */ + void exitMethodCallExpr(ElsaParser.MethodCallExprContext ctx); + /** + * Enter a parse tree produced by the {@code variableExpr} + * labeled alternative in {@link ElsaParser#expr}. + * @param ctx the parse tree + */ + void enterVariableExpr(ElsaParser.VariableExprContext ctx); + /** + * Exit a parse tree produced by the {@code variableExpr} + * labeled alternative in {@link ElsaParser#expr}. + * @param ctx the parse tree + */ + void exitVariableExpr(ElsaParser.VariableExprContext ctx); + /** + * Enter a parse tree produced by the {@code notExpr} + * labeled alternative in {@link ElsaParser#expr}. + * @param ctx the parse tree + */ + void enterNotExpr(ElsaParser.NotExprContext ctx); + /** + * Exit a parse tree produced by the {@code notExpr} + * labeled alternative in {@link ElsaParser#expr}. + * @param ctx the parse tree + */ + void exitNotExpr(ElsaParser.NotExprContext ctx); + /** + * Enter a parse tree produced by the {@code integerValueExpr} + * labeled alternative in {@link ElsaParser#expr}. + * @param ctx the parse tree + */ + void enterIntegerValueExpr(ElsaParser.IntegerValueExprContext ctx); + /** + * Exit a parse tree produced by the {@code integerValueExpr} + * labeled alternative in {@link ElsaParser#expr}. + * @param ctx the parse tree + */ + void exitIntegerValueExpr(ElsaParser.IntegerValueExprContext ctx); + /** + * Enter a parse tree produced by the {@code addExpr} + * labeled alternative in {@link ElsaParser#expr}. + * @param ctx the parse tree + */ + void enterAddExpr(ElsaParser.AddExprContext ctx); + /** + * Exit a parse tree produced by the {@code addExpr} + * labeled alternative in {@link ElsaParser#expr}. + * @param ctx the parse tree + */ + void exitAddExpr(ElsaParser.AddExprContext ctx); + /** + * Enter a parse tree produced by the {@code backTickStringValueExpr} + * labeled alternative in {@link ElsaParser#expr}. + * @param ctx the parse tree + */ + void enterBackTickStringValueExpr(ElsaParser.BackTickStringValueExprContext ctx); + /** + * Exit a parse tree produced by the {@code backTickStringValueExpr} + * labeled alternative in {@link ElsaParser#expr}. + * @param ctx the parse tree + */ + void exitBackTickStringValueExpr(ElsaParser.BackTickStringValueExprContext ctx); + /** + * Enter a parse tree produced by the {@code bracketsExpr} + * labeled alternative in {@link ElsaParser#expr}. + * @param ctx the parse tree + */ + void enterBracketsExpr(ElsaParser.BracketsExprContext ctx); + /** + * Exit a parse tree produced by the {@code bracketsExpr} + * labeled alternative in {@link ElsaParser#expr}. + * @param ctx the parse tree + */ + void exitBracketsExpr(ElsaParser.BracketsExprContext ctx); + /** + * Enter a parse tree produced by the {@code compareExpr} + * labeled alternative in {@link ElsaParser#expr}. + * @param ctx the parse tree + */ + void enterCompareExpr(ElsaParser.CompareExprContext ctx); + /** + * Exit a parse tree produced by the {@code compareExpr} + * labeled alternative in {@link ElsaParser#expr}. + * @param ctx the parse tree + */ + void exitCompareExpr(ElsaParser.CompareExprContext ctx); + /** + * Enter a parse tree produced by {@link ElsaParser#exprList}. + * @param ctx the parse tree + */ + void enterExprList(ElsaParser.ExprListContext ctx); + /** + * Exit a parse tree produced by {@link ElsaParser#exprList}. + * @param ctx the parse tree + */ + void exitExprList(ElsaParser.ExprListContext ctx); +} \ No newline at end of file diff --git a/gen/ElsaParserVisitor.java b/gen/ElsaParserVisitor.java new file mode 100644 index 000000000..691211592 --- /dev/null +++ b/gen/ElsaParserVisitor.java @@ -0,0 +1,315 @@ +// Generated from C:/Projects/Elsa/v3/src/dsl/Elsa.Dsl/Dsl\ElsaParser.g4 by ANTLR 4.9.2 +import org.antlr.v4.runtime.tree.ParseTreeVisitor; + +/** + * This interface defines a complete generic visitor for a parse tree produced + * by {@link ElsaParser}. + * + * @param The return type of the visit operation. Use {@link Void} for + * operations with no return type. + */ +public interface ElsaParserVisitor extends ParseTreeVisitor { + /** + * Visit a parse tree produced by {@link ElsaParser#program}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitProgram(ElsaParser.ProgramContext ctx); + /** + * Visit a parse tree produced by {@link ElsaParser#object}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitObject(ElsaParser.ObjectContext ctx); + /** + * Visit a parse tree produced by {@link ElsaParser#newObject}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitNewObject(ElsaParser.NewObjectContext ctx); + /** + * Visit a parse tree produced by {@link ElsaParser#varDecl}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitVarDecl(ElsaParser.VarDeclContext ctx); + /** + * Visit a parse tree produced by {@link ElsaParser#localVarDecl}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitLocalVarDecl(ElsaParser.LocalVarDeclContext ctx); + /** + * Visit a parse tree produced by {@link ElsaParser#type}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitType(ElsaParser.TypeContext ctx); + /** + * Visit a parse tree produced by {@link ElsaParser#expressionMarker}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitExpressionMarker(ElsaParser.ExpressionMarkerContext ctx); + /** + * Visit a parse tree produced by {@link ElsaParser#expressionContent}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitExpressionContent(ElsaParser.ExpressionContentContext ctx); + /** + * Visit a parse tree produced by {@link ElsaParser#methodCall}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitMethodCall(ElsaParser.MethodCallContext ctx); + /** + * Visit a parse tree produced by {@link ElsaParser#funcCall}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitFuncCall(ElsaParser.FuncCallContext ctx); + /** + * Visit a parse tree produced by {@link ElsaParser#args}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitArgs(ElsaParser.ArgsContext ctx); + /** + * Visit a parse tree produced by {@link ElsaParser#arg}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitArg(ElsaParser.ArgContext ctx); + /** + * Visit a parse tree produced by {@link ElsaParser#block}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitBlock(ElsaParser.BlockContext ctx); + /** + * Visit a parse tree produced by {@link ElsaParser#objectInitializer}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitObjectInitializer(ElsaParser.ObjectInitializerContext ctx); + /** + * Visit a parse tree produced by {@link ElsaParser#propertyList}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitPropertyList(ElsaParser.PropertyListContext ctx); + /** + * Visit a parse tree produced by {@link ElsaParser#property}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitProperty(ElsaParser.PropertyContext ctx); + /** + * Visit a parse tree produced by the {@code objectStat} + * labeled alternative in {@link ElsaParser#stat}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitObjectStat(ElsaParser.ObjectStatContext ctx); + /** + * Visit a parse tree produced by the {@code ifStat} + * labeled alternative in {@link ElsaParser#stat}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitIfStat(ElsaParser.IfStatContext ctx); + /** + * Visit a parse tree produced by the {@code forStat} + * labeled alternative in {@link ElsaParser#stat}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitForStat(ElsaParser.ForStatContext ctx); + /** + * Visit a parse tree produced by the {@code returnStat} + * labeled alternative in {@link ElsaParser#stat}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitReturnStat(ElsaParser.ReturnStatContext ctx); + /** + * Visit a parse tree produced by the {@code blockStat} + * labeled alternative in {@link ElsaParser#stat}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitBlockStat(ElsaParser.BlockStatContext ctx); + /** + * Visit a parse tree produced by the {@code variableDeclarationStat} + * labeled alternative in {@link ElsaParser#stat}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitVariableDeclarationStat(ElsaParser.VariableDeclarationStatContext ctx); + /** + * Visit a parse tree produced by the {@code localVariableDeclarationStat} + * labeled alternative in {@link ElsaParser#stat}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitLocalVariableDeclarationStat(ElsaParser.LocalVariableDeclarationStatContext ctx); + /** + * Visit a parse tree produced by the {@code assignmentStat} + * labeled alternative in {@link ElsaParser#stat}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitAssignmentStat(ElsaParser.AssignmentStatContext ctx); + /** + * Visit a parse tree produced by the {@code expressionStat} + * labeled alternative in {@link ElsaParser#stat}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitExpressionStat(ElsaParser.ExpressionStatContext ctx); + /** + * Visit a parse tree produced by {@link ElsaParser#thenStat}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitThenStat(ElsaParser.ThenStatContext ctx); + /** + * Visit a parse tree produced by {@link ElsaParser#elseStat}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitElseStat(ElsaParser.ElseStatContext ctx); + /** + * Visit a parse tree produced by the {@code newObjectExpr} + * labeled alternative in {@link ElsaParser#expr}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitNewObjectExpr(ElsaParser.NewObjectExprContext ctx); + /** + * Visit a parse tree produced by the {@code subtractExpr} + * labeled alternative in {@link ElsaParser#expr}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitSubtractExpr(ElsaParser.SubtractExprContext ctx); + /** + * Visit a parse tree produced by the {@code incrementExpr} + * labeled alternative in {@link ElsaParser#expr}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitIncrementExpr(ElsaParser.IncrementExprContext ctx); + /** + * Visit a parse tree produced by the {@code objectExpr} + * labeled alternative in {@link ElsaParser#expr}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitObjectExpr(ElsaParser.ObjectExprContext ctx); + /** + * Visit a parse tree produced by the {@code stringValueExpr} + * labeled alternative in {@link ElsaParser#expr}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitStringValueExpr(ElsaParser.StringValueExprContext ctx); + /** + * Visit a parse tree produced by the {@code multiplyExpr} + * labeled alternative in {@link ElsaParser#expr}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitMultiplyExpr(ElsaParser.MultiplyExprContext ctx); + /** + * Visit a parse tree produced by the {@code parenthesesExpr} + * labeled alternative in {@link ElsaParser#expr}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitParenthesesExpr(ElsaParser.ParenthesesExprContext ctx); + /** + * Visit a parse tree produced by the {@code functionExpr} + * labeled alternative in {@link ElsaParser#expr}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitFunctionExpr(ElsaParser.FunctionExprContext ctx); + /** + * Visit a parse tree produced by the {@code decrementExpr} + * labeled alternative in {@link ElsaParser#expr}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitDecrementExpr(ElsaParser.DecrementExprContext ctx); + /** + * Visit a parse tree produced by the {@code negateExpr} + * labeled alternative in {@link ElsaParser#expr}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitNegateExpr(ElsaParser.NegateExprContext ctx); + /** + * Visit a parse tree produced by the {@code methodCallExpr} + * labeled alternative in {@link ElsaParser#expr}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitMethodCallExpr(ElsaParser.MethodCallExprContext ctx); + /** + * Visit a parse tree produced by the {@code variableExpr} + * labeled alternative in {@link ElsaParser#expr}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitVariableExpr(ElsaParser.VariableExprContext ctx); + /** + * Visit a parse tree produced by the {@code notExpr} + * labeled alternative in {@link ElsaParser#expr}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitNotExpr(ElsaParser.NotExprContext ctx); + /** + * Visit a parse tree produced by the {@code integerValueExpr} + * labeled alternative in {@link ElsaParser#expr}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitIntegerValueExpr(ElsaParser.IntegerValueExprContext ctx); + /** + * Visit a parse tree produced by the {@code addExpr} + * labeled alternative in {@link ElsaParser#expr}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitAddExpr(ElsaParser.AddExprContext ctx); + /** + * Visit a parse tree produced by the {@code backTickStringValueExpr} + * labeled alternative in {@link ElsaParser#expr}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitBackTickStringValueExpr(ElsaParser.BackTickStringValueExprContext ctx); + /** + * Visit a parse tree produced by the {@code bracketsExpr} + * labeled alternative in {@link ElsaParser#expr}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitBracketsExpr(ElsaParser.BracketsExprContext ctx); + /** + * Visit a parse tree produced by the {@code compareExpr} + * labeled alternative in {@link ElsaParser#expr}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitCompareExpr(ElsaParser.CompareExprContext ctx); + /** + * Visit a parse tree produced by {@link ElsaParser#exprList}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitExprList(ElsaParser.ExprListContext ctx); +} \ No newline at end of file diff --git a/src/core/Elsa/Extensions/ServiceCollectionExtensions.cs b/src/core/Elsa/Extensions/ServiceCollectionExtensions.cs index e102030fb..797e795a1 100644 --- a/src/core/Elsa/Extensions/ServiceCollectionExtensions.cs +++ b/src/core/Elsa/Extensions/ServiceCollectionExtensions.cs @@ -1,6 +1,7 @@ using Elsa.ActivityNodeResolvers; using Elsa.Contracts; using Elsa.Expressions; +using Elsa.Mediator.Extensions; using Elsa.Modules.Activities.Extensions; using Elsa.Options; using Elsa.Persistence.Extensions; @@ -52,6 +53,9 @@ public static class ServiceCollectionExtensions // Persistence services. .AddPersistenceServices() + + // Mediator. + .AddMediator() // Logging .AddLogging(); diff --git a/src/dsl/Elsa.Dsl/Abstractions/ElsaLexer.cs b/src/dsl/Elsa.Dsl/Abstractions/ElsaLexer.cs index a52530c36..419937c86 100644 --- a/src/dsl/Elsa.Dsl/Abstractions/ElsaLexer.cs +++ b/src/dsl/Elsa.Dsl/Abstractions/ElsaLexer.cs @@ -1,14 +1,14 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// ANTLR Version: 4.9.1 +// ANTLR Version: 4.9.2 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // //------------------------------------------------------------------------------ -// Generated from C:/Projects/Elsa/experimental/src/dsl/Elsa.Dsl/Dsl\ElsaLexer.g4 by ANTLR 4.9.1 +// Generated from C:/Projects/Elsa/v3/src/dsl/Elsa.Dsl/Dsl\ElsaLexer.g4 by ANTLR 4.9.2 // Unreachable code detected #pragma warning disable 0162 @@ -27,20 +27,20 @@ using Antlr4.Runtime.Atn; using Antlr4.Runtime.Misc; using DFA = Antlr4.Runtime.Dfa.DFA; -[System.CodeDom.Compiler.GeneratedCode("ANTLR", "4.9.1")] +[System.CodeDom.Compiler.GeneratedCode("ANTLR", "4.9.2")] [System.CLSCompliant(false)] public partial class ElsaLexer : Lexer { protected static DFA[] decisionToDFA; protected static PredictionContextCache sharedContextCache = new PredictionContextCache(); public const int - EQ=1, GREATER=2, INCREMENT=3, DECREMENT=4, NEW=5, TRIGGER=6, VARIABLE=7, - LET=8, IF=9, THEN=10, ELSE=11, FOR=12, RETURN=13, VOID=14, FLOAT=15, INT=16, - STRING=17, OBJECT=18, EXPRESSION_MARKER=19, SYMBOL=20, COLON=21, SEMICOLON=22, - COMMA=23, PLUS=24, MINUS=25, STAR=26, EQUALS=27, NOT_EQUALS=28, GREATER_EQUALS=29, - LESS=30, LESS_EQUALS=31, LAMBDA=32, PARENTHESES_OPEN=33, PARENTHESES_CLOSE=34, - BRACKET_OPEN=35, BRACKET_CLOSE=36, CURLYBRACE_OPEN=37, CURLYBRACE_CLOSE=38, - EXCLAMATION=39, PIPE=40, PIPE_DBL=41, PERIOD=42, STRING_VAL=43, BACKTICKSTRING_VAL=44, - LINE_COMMENT=45, INTEGER_VAL=46, ID=47, WS=48, ESC=49; + EQ=1, GREATER=2, INCREMENT=3, DECREMENT=4, NEW=5, VARIABLE=6, LET=7, IF=8, + THEN=9, ELSE=10, FOR=11, RETURN=12, VOID=13, FLOAT=14, INT=15, STRING=16, + OBJECT=17, EXPRESSION_MARKER=18, SYMBOL=19, COLON=20, SEMICOLON=21, COMMA=22, + PLUS=23, MINUS=24, STAR=25, EQUALS=26, NOT_EQUALS=27, GREATER_EQUALS=28, + LESS=29, LESS_EQUALS=30, LAMBDA=31, PARENTHESES_OPEN=32, PARENTHESES_CLOSE=33, + BRACKET_OPEN=34, BRACKET_CLOSE=35, CURLYBRACE_OPEN=36, CURLYBRACE_CLOSE=37, + EXCLAMATION=38, PIPE=39, PIPE_DBL=40, PERIOD=41, STRING_VAL=42, BACKTICKSTRING_VAL=43, + LINE_COMMENT=44, INTEGER_VAL=45, ID=46, WS=47, ESC=48; public static string[] channelNames = { "DEFAULT_TOKEN_CHANNEL", "HIDDEN" }; @@ -50,14 +50,14 @@ public partial class ElsaLexer : Lexer { }; public static readonly string[] ruleNames = { - "EQ", "GREATER", "INCREMENT", "DECREMENT", "NEW", "TRIGGER", "VARIABLE", - "LET", "IF", "THEN", "ELSE", "FOR", "RETURN", "VOID", "FLOAT", "INT", - "STRING", "OBJECT", "EXPRESSION_MARKER", "SYMBOL", "COLON", "SEMICOLON", - "COMMA", "PLUS", "MINUS", "STAR", "EQUALS", "NOT_EQUALS", "GREATER_EQUALS", - "LESS", "LESS_EQUALS", "LAMBDA", "PARENTHESES_OPEN", "PARENTHESES_CLOSE", - "BRACKET_OPEN", "BRACKET_CLOSE", "CURLYBRACE_OPEN", "CURLYBRACE_CLOSE", - "EXCLAMATION", "PIPE", "PIPE_DBL", "PERIOD", "STRING_VAL", "BACKTICKSTRING_VAL", - "LINE_COMMENT", "INTEGER_VAL", "ID", "WS", "LETTER", "DIGIT", "ESC" + "EQ", "GREATER", "INCREMENT", "DECREMENT", "NEW", "VARIABLE", "LET", "IF", + "THEN", "ELSE", "FOR", "RETURN", "VOID", "FLOAT", "INT", "STRING", "OBJECT", + "EXPRESSION_MARKER", "SYMBOL", "COLON", "SEMICOLON", "COMMA", "PLUS", + "MINUS", "STAR", "EQUALS", "NOT_EQUALS", "GREATER_EQUALS", "LESS", "LESS_EQUALS", + "LAMBDA", "PARENTHESES_OPEN", "PARENTHESES_CLOSE", "BRACKET_OPEN", "BRACKET_CLOSE", + "CURLYBRACE_OPEN", "CURLYBRACE_CLOSE", "EXCLAMATION", "PIPE", "PIPE_DBL", + "PERIOD", "STRING_VAL", "BACKTICKSTRING_VAL", "LINE_COMMENT", "INTEGER_VAL", + "ID", "WS", "LETTER", "DIGIT", "ESC" }; @@ -71,22 +71,22 @@ public partial class ElsaLexer : Lexer { } private static readonly string[] _LiteralNames = { - null, "'='", "'>'", "'++'", "'--'", "'new'", "'trigger'", "'variable'", - "'let'", "'if'", "'then'", "'else'", "'for'", "'return'", "'void'", "'float'", - "'int'", "'string'", "'object'", "'expression'", null, "':'", "';'", "','", - "'+'", "'-'", "'*'", "'=='", "'!='", "'>='", "'<'", "'<='", "'=>'", "'('", - "')'", "'['", "']'", "'{'", "'}'", "'!'", "'|'", "'||'", "'.'", null, - null, null, null, null, null, "'\\|'" + null, "'='", "'>'", "'++'", "'--'", "'new'", "'variable'", "'let'", "'if'", + "'then'", "'else'", "'for'", "'return'", "'void'", "'float'", "'int'", + "'string'", "'object'", "'expression'", null, "':'", "';'", "','", "'+'", + "'-'", "'*'", "'=='", "'!='", "'>='", "'<'", "'<='", "'=>'", "'('", "')'", + "'['", "']'", "'{'", "'}'", "'!'", "'|'", "'||'", "'.'", null, null, null, + null, null, null, "'\\|'" }; private static readonly string[] _SymbolicNames = { - null, "EQ", "GREATER", "INCREMENT", "DECREMENT", "NEW", "TRIGGER", "VARIABLE", - "LET", "IF", "THEN", "ELSE", "FOR", "RETURN", "VOID", "FLOAT", "INT", - "STRING", "OBJECT", "EXPRESSION_MARKER", "SYMBOL", "COLON", "SEMICOLON", - "COMMA", "PLUS", "MINUS", "STAR", "EQUALS", "NOT_EQUALS", "GREATER_EQUALS", - "LESS", "LESS_EQUALS", "LAMBDA", "PARENTHESES_OPEN", "PARENTHESES_CLOSE", - "BRACKET_OPEN", "BRACKET_CLOSE", "CURLYBRACE_OPEN", "CURLYBRACE_CLOSE", - "EXCLAMATION", "PIPE", "PIPE_DBL", "PERIOD", "STRING_VAL", "BACKTICKSTRING_VAL", - "LINE_COMMENT", "INTEGER_VAL", "ID", "WS", "ESC" + null, "EQ", "GREATER", "INCREMENT", "DECREMENT", "NEW", "VARIABLE", "LET", + "IF", "THEN", "ELSE", "FOR", "RETURN", "VOID", "FLOAT", "INT", "STRING", + "OBJECT", "EXPRESSION_MARKER", "SYMBOL", "COLON", "SEMICOLON", "COMMA", + "PLUS", "MINUS", "STAR", "EQUALS", "NOT_EQUALS", "GREATER_EQUALS", "LESS", + "LESS_EQUALS", "LAMBDA", "PARENTHESES_OPEN", "PARENTHESES_CLOSE", "BRACKET_OPEN", + "BRACKET_CLOSE", "CURLYBRACE_OPEN", "CURLYBRACE_CLOSE", "EXCLAMATION", + "PIPE", "PIPE_DBL", "PERIOD", "STRING_VAL", "BACKTICKSTRING_VAL", "LINE_COMMENT", + "INTEGER_VAL", "ID", "WS", "ESC" }; public static readonly IVocabulary DefaultVocabulary = new Vocabulary(_LiteralNames, _SymbolicNames); @@ -117,7 +117,7 @@ public partial class ElsaLexer : Lexer { } private static char[] _serializedATN = { '\x3', '\x608B', '\xA72A', '\x8133', '\xB9ED', '\x417C', '\x3BE7', '\x7786', - '\x5964', '\x2', '\x33', '\x13E', '\b', '\x1', '\x4', '\x2', '\t', '\x2', + '\x5964', '\x2', '\x32', '\x134', '\b', '\x1', '\x4', '\x2', '\t', '\x2', '\x4', '\x3', '\t', '\x3', '\x4', '\x4', '\t', '\x4', '\x4', '\x5', '\t', '\x5', '\x4', '\x6', '\t', '\x6', '\x4', '\a', '\t', '\a', '\x4', '\b', '\t', '\b', '\x4', '\t', '\t', '\t', '\x4', '\n', '\t', '\n', '\x4', '\v', @@ -135,248 +135,240 @@ public partial class ElsaLexer : Lexer { '\t', ')', '\x4', '*', '\t', '*', '\x4', '+', '\t', '+', '\x4', ',', '\t', ',', '\x4', '-', '\t', '-', '\x4', '.', '\t', '.', '\x4', '/', '\t', '/', '\x4', '\x30', '\t', '\x30', '\x4', '\x31', '\t', '\x31', '\x4', '\x32', - '\t', '\x32', '\x4', '\x33', '\t', '\x33', '\x4', '\x34', '\t', '\x34', - '\x3', '\x2', '\x3', '\x2', '\x3', '\x3', '\x3', '\x3', '\x3', '\x4', - '\x3', '\x4', '\x3', '\x4', '\x3', '\x5', '\x3', '\x5', '\x3', '\x5', - '\x3', '\x6', '\x3', '\x6', '\x3', '\x6', '\x3', '\x6', '\x3', '\a', '\x3', + '\t', '\x32', '\x4', '\x33', '\t', '\x33', '\x3', '\x2', '\x3', '\x2', + '\x3', '\x3', '\x3', '\x3', '\x3', '\x4', '\x3', '\x4', '\x3', '\x4', + '\x3', '\x5', '\x3', '\x5', '\x3', '\x5', '\x3', '\x6', '\x3', '\x6', + '\x3', '\x6', '\x3', '\x6', '\x3', '\a', '\x3', '\a', '\x3', '\a', '\x3', '\a', '\x3', '\a', '\x3', '\a', '\x3', '\a', '\x3', '\a', '\x3', '\a', - '\x3', '\a', '\x3', '\b', '\x3', '\b', '\x3', '\b', '\x3', '\b', '\x3', - '\b', '\x3', '\b', '\x3', '\b', '\x3', '\b', '\x3', '\b', '\x3', '\t', - '\x3', '\t', '\x3', '\t', '\x3', '\t', '\x3', '\n', '\x3', '\n', '\x3', - '\n', '\x3', '\v', '\x3', '\v', '\x3', '\v', '\x3', '\v', '\x3', '\v', - '\x3', '\f', '\x3', '\f', '\x3', '\f', '\x3', '\f', '\x3', '\f', '\x3', - '\r', '\x3', '\r', '\x3', '\r', '\x3', '\r', '\x3', '\xE', '\x3', '\xE', - '\x3', '\xE', '\x3', '\xE', '\x3', '\xE', '\x3', '\xE', '\x3', '\xE', + '\x3', '\b', '\x3', '\b', '\x3', '\b', '\x3', '\b', '\x3', '\t', '\x3', + '\t', '\x3', '\t', '\x3', '\n', '\x3', '\n', '\x3', '\n', '\x3', '\n', + '\x3', '\n', '\x3', '\v', '\x3', '\v', '\x3', '\v', '\x3', '\v', '\x3', + '\v', '\x3', '\f', '\x3', '\f', '\x3', '\f', '\x3', '\f', '\x3', '\r', + '\x3', '\r', '\x3', '\r', '\x3', '\r', '\x3', '\r', '\x3', '\r', '\x3', + '\r', '\x3', '\xE', '\x3', '\xE', '\x3', '\xE', '\x3', '\xE', '\x3', '\xE', '\x3', '\xF', '\x3', '\xF', '\x3', '\xF', '\x3', '\xF', '\x3', '\xF', - '\x3', '\x10', '\x3', '\x10', '\x3', '\x10', '\x3', '\x10', '\x3', '\x10', - '\x3', '\x10', '\x3', '\x11', '\x3', '\x11', '\x3', '\x11', '\x3', '\x11', - '\x3', '\x12', '\x3', '\x12', '\x3', '\x12', '\x3', '\x12', '\x3', '\x12', - '\x3', '\x12', '\x3', '\x12', '\x3', '\x13', '\x3', '\x13', '\x3', '\x13', - '\x3', '\x13', '\x3', '\x13', '\x3', '\x13', '\x3', '\x13', '\x3', '\x14', - '\x3', '\x14', '\x3', '\x14', '\x3', '\x14', '\x3', '\x14', '\x3', '\x14', - '\x3', '\x14', '\x3', '\x14', '\x3', '\x14', '\x3', '\x14', '\x3', '\x14', - '\x3', '\x15', '\x3', '\x15', '\x3', '\x16', '\x3', '\x16', '\x3', '\x17', - '\x3', '\x17', '\x3', '\x18', '\x3', '\x18', '\x3', '\x19', '\x3', '\x19', - '\x3', '\x1A', '\x3', '\x1A', '\x3', '\x1B', '\x3', '\x1B', '\x3', '\x1C', - '\x3', '\x1C', '\x3', '\x1C', '\x3', '\x1D', '\x3', '\x1D', '\x3', '\x1D', - '\x3', '\x1E', '\x3', '\x1E', '\x3', '\x1E', '\x3', '\x1F', '\x3', '\x1F', - '\x3', ' ', '\x3', ' ', '\x3', ' ', '\x3', '!', '\x3', '!', '\x3', '!', - '\x3', '\"', '\x3', '\"', '\x3', '#', '\x3', '#', '\x3', '$', '\x3', '$', - '\x3', '%', '\x3', '%', '\x3', '&', '\x3', '&', '\x3', '\'', '\x3', '\'', - '\x3', '(', '\x3', '(', '\x3', ')', '\x3', ')', '\x3', '*', '\x3', '*', - '\x3', '*', '\x3', '+', '\x3', '+', '\x3', ',', '\x3', ',', '\x3', ',', - '\x3', ',', '\a', ',', '\x105', '\n', ',', '\f', ',', '\xE', ',', '\x108', - '\v', ',', '\x3', ',', '\x3', ',', '\x3', '-', '\x3', '-', '\x3', '-', - '\x3', '-', '\a', '-', '\x110', '\n', '-', '\f', '-', '\xE', '-', '\x113', - '\v', '-', '\x3', '-', '\x3', '-', '\x3', '.', '\x3', '.', '\x3', '.', - '\x3', '.', '\a', '.', '\x11B', '\n', '.', '\f', '.', '\xE', '.', '\x11E', - '\v', '.', '\x3', '.', '\x5', '.', '\x121', '\n', '.', '\x3', '.', '\x3', - '.', '\x3', '.', '\x3', '.', '\x3', '/', '\x6', '/', '\x128', '\n', '/', - '\r', '/', '\xE', '/', '\x129', '\x3', '\x30', '\x3', '\x30', '\x3', '\x30', - '\a', '\x30', '\x12F', '\n', '\x30', '\f', '\x30', '\xE', '\x30', '\x132', - '\v', '\x30', '\x3', '\x31', '\x3', '\x31', '\x3', '\x31', '\x3', '\x31', - '\x3', '\x32', '\x3', '\x32', '\x3', '\x33', '\x3', '\x33', '\x3', '\x34', - '\x3', '\x34', '\x3', '\x34', '\x5', '\x106', '\x111', '\x11C', '\x2', - '\x35', '\x3', '\x3', '\x5', '\x4', '\a', '\x5', '\t', '\x6', '\v', '\a', - '\r', '\b', '\xF', '\t', '\x11', '\n', '\x13', '\v', '\x15', '\f', '\x17', - '\r', '\x19', '\xE', '\x1B', '\xF', '\x1D', '\x10', '\x1F', '\x11', '!', - '\x12', '#', '\x13', '%', '\x14', '\'', '\x15', ')', '\x16', '+', '\x17', - '-', '\x18', '/', '\x19', '\x31', '\x1A', '\x33', '\x1B', '\x35', '\x1C', - '\x37', '\x1D', '\x39', '\x1E', ';', '\x1F', '=', ' ', '?', '!', '\x41', - '\"', '\x43', '#', '\x45', '$', 'G', '%', 'I', '&', 'K', '\'', 'M', '(', - 'O', ')', 'Q', '*', 'S', '+', 'U', ',', 'W', '-', 'Y', '.', '[', '/', - ']', '\x30', '_', '\x31', '\x61', '\x32', '\x63', '\x2', '\x65', '\x2', - 'g', '\x33', '\x3', '\x2', '\x6', '\x6', '\x2', '&', '&', '-', '-', '?', - '@', '\x62', '\x62', '\x5', '\x2', '\v', '\f', '\xF', '\xF', '\"', '\"', - '\x5', '\x2', '\x43', '\\', '\x61', '\x61', '\x63', '|', '\x3', '\x2', - '\x32', ';', '\x2', '\x144', '\x2', '\x3', '\x3', '\x2', '\x2', '\x2', - '\x2', '\x5', '\x3', '\x2', '\x2', '\x2', '\x2', '\a', '\x3', '\x2', '\x2', - '\x2', '\x2', '\t', '\x3', '\x2', '\x2', '\x2', '\x2', '\v', '\x3', '\x2', - '\x2', '\x2', '\x2', '\r', '\x3', '\x2', '\x2', '\x2', '\x2', '\xF', '\x3', - '\x2', '\x2', '\x2', '\x2', '\x11', '\x3', '\x2', '\x2', '\x2', '\x2', - '\x13', '\x3', '\x2', '\x2', '\x2', '\x2', '\x15', '\x3', '\x2', '\x2', - '\x2', '\x2', '\x17', '\x3', '\x2', '\x2', '\x2', '\x2', '\x19', '\x3', - '\x2', '\x2', '\x2', '\x2', '\x1B', '\x3', '\x2', '\x2', '\x2', '\x2', - '\x1D', '\x3', '\x2', '\x2', '\x2', '\x2', '\x1F', '\x3', '\x2', '\x2', - '\x2', '\x2', '!', '\x3', '\x2', '\x2', '\x2', '\x2', '#', '\x3', '\x2', - '\x2', '\x2', '\x2', '%', '\x3', '\x2', '\x2', '\x2', '\x2', '\'', '\x3', - '\x2', '\x2', '\x2', '\x2', ')', '\x3', '\x2', '\x2', '\x2', '\x2', '+', - '\x3', '\x2', '\x2', '\x2', '\x2', '-', '\x3', '\x2', '\x2', '\x2', '\x2', - '/', '\x3', '\x2', '\x2', '\x2', '\x2', '\x31', '\x3', '\x2', '\x2', '\x2', - '\x2', '\x33', '\x3', '\x2', '\x2', '\x2', '\x2', '\x35', '\x3', '\x2', - '\x2', '\x2', '\x2', '\x37', '\x3', '\x2', '\x2', '\x2', '\x2', '\x39', - '\x3', '\x2', '\x2', '\x2', '\x2', ';', '\x3', '\x2', '\x2', '\x2', '\x2', - '=', '\x3', '\x2', '\x2', '\x2', '\x2', '?', '\x3', '\x2', '\x2', '\x2', - '\x2', '\x41', '\x3', '\x2', '\x2', '\x2', '\x2', '\x43', '\x3', '\x2', - '\x2', '\x2', '\x2', '\x45', '\x3', '\x2', '\x2', '\x2', '\x2', 'G', '\x3', - '\x2', '\x2', '\x2', '\x2', 'I', '\x3', '\x2', '\x2', '\x2', '\x2', 'K', - '\x3', '\x2', '\x2', '\x2', '\x2', 'M', '\x3', '\x2', '\x2', '\x2', '\x2', - 'O', '\x3', '\x2', '\x2', '\x2', '\x2', 'Q', '\x3', '\x2', '\x2', '\x2', - '\x2', 'S', '\x3', '\x2', '\x2', '\x2', '\x2', 'U', '\x3', '\x2', '\x2', - '\x2', '\x2', 'W', '\x3', '\x2', '\x2', '\x2', '\x2', 'Y', '\x3', '\x2', - '\x2', '\x2', '\x2', '[', '\x3', '\x2', '\x2', '\x2', '\x2', ']', '\x3', - '\x2', '\x2', '\x2', '\x2', '_', '\x3', '\x2', '\x2', '\x2', '\x2', '\x61', - '\x3', '\x2', '\x2', '\x2', '\x2', 'g', '\x3', '\x2', '\x2', '\x2', '\x3', - 'i', '\x3', '\x2', '\x2', '\x2', '\x5', 'k', '\x3', '\x2', '\x2', '\x2', - '\a', 'm', '\x3', '\x2', '\x2', '\x2', '\t', 'p', '\x3', '\x2', '\x2', - '\x2', '\v', 's', '\x3', '\x2', '\x2', '\x2', '\r', 'w', '\x3', '\x2', - '\x2', '\x2', '\xF', '\x7F', '\x3', '\x2', '\x2', '\x2', '\x11', '\x88', - '\x3', '\x2', '\x2', '\x2', '\x13', '\x8C', '\x3', '\x2', '\x2', '\x2', - '\x15', '\x8F', '\x3', '\x2', '\x2', '\x2', '\x17', '\x94', '\x3', '\x2', - '\x2', '\x2', '\x19', '\x99', '\x3', '\x2', '\x2', '\x2', '\x1B', '\x9D', - '\x3', '\x2', '\x2', '\x2', '\x1D', '\xA4', '\x3', '\x2', '\x2', '\x2', - '\x1F', '\xA9', '\x3', '\x2', '\x2', '\x2', '!', '\xAF', '\x3', '\x2', - '\x2', '\x2', '#', '\xB3', '\x3', '\x2', '\x2', '\x2', '%', '\xBA', '\x3', - '\x2', '\x2', '\x2', '\'', '\xC1', '\x3', '\x2', '\x2', '\x2', ')', '\xCC', - '\x3', '\x2', '\x2', '\x2', '+', '\xCE', '\x3', '\x2', '\x2', '\x2', '-', - '\xD0', '\x3', '\x2', '\x2', '\x2', '/', '\xD2', '\x3', '\x2', '\x2', - '\x2', '\x31', '\xD4', '\x3', '\x2', '\x2', '\x2', '\x33', '\xD6', '\x3', - '\x2', '\x2', '\x2', '\x35', '\xD8', '\x3', '\x2', '\x2', '\x2', '\x37', - '\xDA', '\x3', '\x2', '\x2', '\x2', '\x39', '\xDD', '\x3', '\x2', '\x2', - '\x2', ';', '\xE0', '\x3', '\x2', '\x2', '\x2', '=', '\xE3', '\x3', '\x2', - '\x2', '\x2', '?', '\xE5', '\x3', '\x2', '\x2', '\x2', '\x41', '\xE8', - '\x3', '\x2', '\x2', '\x2', '\x43', '\xEB', '\x3', '\x2', '\x2', '\x2', - '\x45', '\xED', '\x3', '\x2', '\x2', '\x2', 'G', '\xEF', '\x3', '\x2', - '\x2', '\x2', 'I', '\xF1', '\x3', '\x2', '\x2', '\x2', 'K', '\xF3', '\x3', - '\x2', '\x2', '\x2', 'M', '\xF5', '\x3', '\x2', '\x2', '\x2', 'O', '\xF7', - '\x3', '\x2', '\x2', '\x2', 'Q', '\xF9', '\x3', '\x2', '\x2', '\x2', 'S', - '\xFB', '\x3', '\x2', '\x2', '\x2', 'U', '\xFE', '\x3', '\x2', '\x2', - '\x2', 'W', '\x100', '\x3', '\x2', '\x2', '\x2', 'Y', '\x10B', '\x3', - '\x2', '\x2', '\x2', '[', '\x116', '\x3', '\x2', '\x2', '\x2', ']', '\x127', - '\x3', '\x2', '\x2', '\x2', '_', '\x12B', '\x3', '\x2', '\x2', '\x2', - '\x61', '\x133', '\x3', '\x2', '\x2', '\x2', '\x63', '\x137', '\x3', '\x2', - '\x2', '\x2', '\x65', '\x139', '\x3', '\x2', '\x2', '\x2', 'g', '\x13B', - '\x3', '\x2', '\x2', '\x2', 'i', 'j', '\a', '?', '\x2', '\x2', 'j', '\x4', - '\x3', '\x2', '\x2', '\x2', 'k', 'l', '\a', '@', '\x2', '\x2', 'l', '\x6', - '\x3', '\x2', '\x2', '\x2', 'm', 'n', '\a', '-', '\x2', '\x2', 'n', 'o', - '\a', '-', '\x2', '\x2', 'o', '\b', '\x3', '\x2', '\x2', '\x2', 'p', 'q', - '\a', '/', '\x2', '\x2', 'q', 'r', '\a', '/', '\x2', '\x2', 'r', '\n', - '\x3', '\x2', '\x2', '\x2', 's', 't', '\a', 'p', '\x2', '\x2', 't', 'u', - '\a', 'g', '\x2', '\x2', 'u', 'v', '\a', 'y', '\x2', '\x2', 'v', '\f', - '\x3', '\x2', '\x2', '\x2', 'w', 'x', '\a', 'v', '\x2', '\x2', 'x', 'y', - '\a', 't', '\x2', '\x2', 'y', 'z', '\a', 'k', '\x2', '\x2', 'z', '{', - '\a', 'i', '\x2', '\x2', '{', '|', '\a', 'i', '\x2', '\x2', '|', '}', - '\a', 'g', '\x2', '\x2', '}', '~', '\a', 't', '\x2', '\x2', '~', '\xE', - '\x3', '\x2', '\x2', '\x2', '\x7F', '\x80', '\a', 'x', '\x2', '\x2', '\x80', - '\x81', '\a', '\x63', '\x2', '\x2', '\x81', '\x82', '\a', 't', '\x2', - '\x2', '\x82', '\x83', '\a', 'k', '\x2', '\x2', '\x83', '\x84', '\a', - '\x63', '\x2', '\x2', '\x84', '\x85', '\a', '\x64', '\x2', '\x2', '\x85', - '\x86', '\a', 'n', '\x2', '\x2', '\x86', '\x87', '\a', 'g', '\x2', '\x2', - '\x87', '\x10', '\x3', '\x2', '\x2', '\x2', '\x88', '\x89', '\a', 'n', - '\x2', '\x2', '\x89', '\x8A', '\a', 'g', '\x2', '\x2', '\x8A', '\x8B', - '\a', 'v', '\x2', '\x2', '\x8B', '\x12', '\x3', '\x2', '\x2', '\x2', '\x8C', - '\x8D', '\a', 'k', '\x2', '\x2', '\x8D', '\x8E', '\a', 'h', '\x2', '\x2', - '\x8E', '\x14', '\x3', '\x2', '\x2', '\x2', '\x8F', '\x90', '\a', 'v', - '\x2', '\x2', '\x90', '\x91', '\a', 'j', '\x2', '\x2', '\x91', '\x92', - '\a', 'g', '\x2', '\x2', '\x92', '\x93', '\a', 'p', '\x2', '\x2', '\x93', - '\x16', '\x3', '\x2', '\x2', '\x2', '\x94', '\x95', '\a', 'g', '\x2', - '\x2', '\x95', '\x96', '\a', 'n', '\x2', '\x2', '\x96', '\x97', '\a', - 'u', '\x2', '\x2', '\x97', '\x98', '\a', 'g', '\x2', '\x2', '\x98', '\x18', - '\x3', '\x2', '\x2', '\x2', '\x99', '\x9A', '\a', 'h', '\x2', '\x2', '\x9A', - '\x9B', '\a', 'q', '\x2', '\x2', '\x9B', '\x9C', '\a', 't', '\x2', '\x2', - '\x9C', '\x1A', '\x3', '\x2', '\x2', '\x2', '\x9D', '\x9E', '\a', 't', - '\x2', '\x2', '\x9E', '\x9F', '\a', 'g', '\x2', '\x2', '\x9F', '\xA0', - '\a', 'v', '\x2', '\x2', '\xA0', '\xA1', '\a', 'w', '\x2', '\x2', '\xA1', - '\xA2', '\a', 't', '\x2', '\x2', '\xA2', '\xA3', '\a', 'p', '\x2', '\x2', - '\xA3', '\x1C', '\x3', '\x2', '\x2', '\x2', '\xA4', '\xA5', '\a', 'x', - '\x2', '\x2', '\xA5', '\xA6', '\a', 'q', '\x2', '\x2', '\xA6', '\xA7', - '\a', 'k', '\x2', '\x2', '\xA7', '\xA8', '\a', '\x66', '\x2', '\x2', '\xA8', - '\x1E', '\x3', '\x2', '\x2', '\x2', '\xA9', '\xAA', '\a', 'h', '\x2', - '\x2', '\xAA', '\xAB', '\a', 'n', '\x2', '\x2', '\xAB', '\xAC', '\a', - 'q', '\x2', '\x2', '\xAC', '\xAD', '\a', '\x63', '\x2', '\x2', '\xAD', - '\xAE', '\a', 'v', '\x2', '\x2', '\xAE', ' ', '\x3', '\x2', '\x2', '\x2', - '\xAF', '\xB0', '\a', 'k', '\x2', '\x2', '\xB0', '\xB1', '\a', 'p', '\x2', - '\x2', '\xB1', '\xB2', '\a', 'v', '\x2', '\x2', '\xB2', '\"', '\x3', '\x2', - '\x2', '\x2', '\xB3', '\xB4', '\a', 'u', '\x2', '\x2', '\xB4', '\xB5', - '\a', 'v', '\x2', '\x2', '\xB5', '\xB6', '\a', 't', '\x2', '\x2', '\xB6', - '\xB7', '\a', 'k', '\x2', '\x2', '\xB7', '\xB8', '\a', 'p', '\x2', '\x2', - '\xB8', '\xB9', '\a', 'i', '\x2', '\x2', '\xB9', '$', '\x3', '\x2', '\x2', - '\x2', '\xBA', '\xBB', '\a', 'q', '\x2', '\x2', '\xBB', '\xBC', '\a', - '\x64', '\x2', '\x2', '\xBC', '\xBD', '\a', 'l', '\x2', '\x2', '\xBD', - '\xBE', '\a', 'g', '\x2', '\x2', '\xBE', '\xBF', '\a', '\x65', '\x2', - '\x2', '\xBF', '\xC0', '\a', 'v', '\x2', '\x2', '\xC0', '&', '\x3', '\x2', - '\x2', '\x2', '\xC1', '\xC2', '\a', 'g', '\x2', '\x2', '\xC2', '\xC3', - '\a', 'z', '\x2', '\x2', '\xC3', '\xC4', '\a', 'r', '\x2', '\x2', '\xC4', - '\xC5', '\a', 't', '\x2', '\x2', '\xC5', '\xC6', '\a', 'g', '\x2', '\x2', - '\xC6', '\xC7', '\a', 'u', '\x2', '\x2', '\xC7', '\xC8', '\a', 'u', '\x2', - '\x2', '\xC8', '\xC9', '\a', 'k', '\x2', '\x2', '\xC9', '\xCA', '\a', - 'q', '\x2', '\x2', '\xCA', '\xCB', '\a', 'p', '\x2', '\x2', '\xCB', '(', - '\x3', '\x2', '\x2', '\x2', '\xCC', '\xCD', '\t', '\x2', '\x2', '\x2', - '\xCD', '*', '\x3', '\x2', '\x2', '\x2', '\xCE', '\xCF', '\a', '<', '\x2', - '\x2', '\xCF', ',', '\x3', '\x2', '\x2', '\x2', '\xD0', '\xD1', '\a', - '=', '\x2', '\x2', '\xD1', '.', '\x3', '\x2', '\x2', '\x2', '\xD2', '\xD3', - '\a', '.', '\x2', '\x2', '\xD3', '\x30', '\x3', '\x2', '\x2', '\x2', '\xD4', - '\xD5', '\a', '-', '\x2', '\x2', '\xD5', '\x32', '\x3', '\x2', '\x2', - '\x2', '\xD6', '\xD7', '\a', '/', '\x2', '\x2', '\xD7', '\x34', '\x3', - '\x2', '\x2', '\x2', '\xD8', '\xD9', '\a', ',', '\x2', '\x2', '\xD9', - '\x36', '\x3', '\x2', '\x2', '\x2', '\xDA', '\xDB', '\a', '?', '\x2', - '\x2', '\xDB', '\xDC', '\a', '?', '\x2', '\x2', '\xDC', '\x38', '\x3', - '\x2', '\x2', '\x2', '\xDD', '\xDE', '\a', '#', '\x2', '\x2', '\xDE', - '\xDF', '\a', '?', '\x2', '\x2', '\xDF', ':', '\x3', '\x2', '\x2', '\x2', - '\xE0', '\xE1', '\a', '@', '\x2', '\x2', '\xE1', '\xE2', '\a', '?', '\x2', - '\x2', '\xE2', '<', '\x3', '\x2', '\x2', '\x2', '\xE3', '\xE4', '\a', - '>', '\x2', '\x2', '\xE4', '>', '\x3', '\x2', '\x2', '\x2', '\xE5', '\xE6', - '\a', '>', '\x2', '\x2', '\xE6', '\xE7', '\a', '?', '\x2', '\x2', '\xE7', - '@', '\x3', '\x2', '\x2', '\x2', '\xE8', '\xE9', '\a', '?', '\x2', '\x2', - '\xE9', '\xEA', '\a', '@', '\x2', '\x2', '\xEA', '\x42', '\x3', '\x2', - '\x2', '\x2', '\xEB', '\xEC', '\a', '*', '\x2', '\x2', '\xEC', '\x44', - '\x3', '\x2', '\x2', '\x2', '\xED', '\xEE', '\a', '+', '\x2', '\x2', '\xEE', - '\x46', '\x3', '\x2', '\x2', '\x2', '\xEF', '\xF0', '\a', ']', '\x2', - '\x2', '\xF0', 'H', '\x3', '\x2', '\x2', '\x2', '\xF1', '\xF2', '\a', - '_', '\x2', '\x2', '\xF2', 'J', '\x3', '\x2', '\x2', '\x2', '\xF3', '\xF4', - '\a', '}', '\x2', '\x2', '\xF4', 'L', '\x3', '\x2', '\x2', '\x2', '\xF5', - '\xF6', '\a', '\x7F', '\x2', '\x2', '\xF6', 'N', '\x3', '\x2', '\x2', - '\x2', '\xF7', '\xF8', '\a', '#', '\x2', '\x2', '\xF8', 'P', '\x3', '\x2', - '\x2', '\x2', '\xF9', '\xFA', '\a', '~', '\x2', '\x2', '\xFA', 'R', '\x3', - '\x2', '\x2', '\x2', '\xFB', '\xFC', '\a', '~', '\x2', '\x2', '\xFC', - '\xFD', '\a', '~', '\x2', '\x2', '\xFD', 'T', '\x3', '\x2', '\x2', '\x2', - '\xFE', '\xFF', '\a', '\x30', '\x2', '\x2', '\xFF', 'V', '\x3', '\x2', - '\x2', '\x2', '\x100', '\x106', '\a', '$', '\x2', '\x2', '\x101', '\x102', - '\a', '^', '\x2', '\x2', '\x102', '\x105', '\a', '$', '\x2', '\x2', '\x103', - '\x105', '\v', '\x2', '\x2', '\x2', '\x104', '\x101', '\x3', '\x2', '\x2', - '\x2', '\x104', '\x103', '\x3', '\x2', '\x2', '\x2', '\x105', '\x108', - '\x3', '\x2', '\x2', '\x2', '\x106', '\x107', '\x3', '\x2', '\x2', '\x2', - '\x106', '\x104', '\x3', '\x2', '\x2', '\x2', '\x107', '\x109', '\x3', - '\x2', '\x2', '\x2', '\x108', '\x106', '\x3', '\x2', '\x2', '\x2', '\x109', - '\x10A', '\a', '$', '\x2', '\x2', '\x10A', 'X', '\x3', '\x2', '\x2', '\x2', - '\x10B', '\x111', '\a', '\x62', '\x2', '\x2', '\x10C', '\x10D', '\a', - '^', '\x2', '\x2', '\x10D', '\x110', '\a', '$', '\x2', '\x2', '\x10E', - '\x110', '\v', '\x2', '\x2', '\x2', '\x10F', '\x10C', '\x3', '\x2', '\x2', - '\x2', '\x10F', '\x10E', '\x3', '\x2', '\x2', '\x2', '\x110', '\x113', - '\x3', '\x2', '\x2', '\x2', '\x111', '\x112', '\x3', '\x2', '\x2', '\x2', - '\x111', '\x10F', '\x3', '\x2', '\x2', '\x2', '\x112', '\x114', '\x3', - '\x2', '\x2', '\x2', '\x113', '\x111', '\x3', '\x2', '\x2', '\x2', '\x114', - '\x115', '\a', '\x62', '\x2', '\x2', '\x115', 'Z', '\x3', '\x2', '\x2', - '\x2', '\x116', '\x117', '\a', '\x31', '\x2', '\x2', '\x117', '\x118', - '\a', '\x31', '\x2', '\x2', '\x118', '\x11C', '\x3', '\x2', '\x2', '\x2', - '\x119', '\x11B', '\v', '\x2', '\x2', '\x2', '\x11A', '\x119', '\x3', - '\x2', '\x2', '\x2', '\x11B', '\x11E', '\x3', '\x2', '\x2', '\x2', '\x11C', - '\x11D', '\x3', '\x2', '\x2', '\x2', '\x11C', '\x11A', '\x3', '\x2', '\x2', - '\x2', '\x11D', '\x120', '\x3', '\x2', '\x2', '\x2', '\x11E', '\x11C', - '\x3', '\x2', '\x2', '\x2', '\x11F', '\x121', '\a', '\xF', '\x2', '\x2', - '\x120', '\x11F', '\x3', '\x2', '\x2', '\x2', '\x120', '\x121', '\x3', - '\x2', '\x2', '\x2', '\x121', '\x122', '\x3', '\x2', '\x2', '\x2', '\x122', - '\x123', '\a', '\f', '\x2', '\x2', '\x123', '\x124', '\x3', '\x2', '\x2', - '\x2', '\x124', '\x125', '\b', '.', '\x2', '\x2', '\x125', '\\', '\x3', - '\x2', '\x2', '\x2', '\x126', '\x128', '\x5', '\x65', '\x33', '\x2', '\x127', - '\x126', '\x3', '\x2', '\x2', '\x2', '\x128', '\x129', '\x3', '\x2', '\x2', - '\x2', '\x129', '\x127', '\x3', '\x2', '\x2', '\x2', '\x129', '\x12A', - '\x3', '\x2', '\x2', '\x2', '\x12A', '^', '\x3', '\x2', '\x2', '\x2', - '\x12B', '\x130', '\x5', '\x63', '\x32', '\x2', '\x12C', '\x12F', '\x5', - '\x63', '\x32', '\x2', '\x12D', '\x12F', '\x5', '\x65', '\x33', '\x2', - '\x12E', '\x12C', '\x3', '\x2', '\x2', '\x2', '\x12E', '\x12D', '\x3', - '\x2', '\x2', '\x2', '\x12F', '\x132', '\x3', '\x2', '\x2', '\x2', '\x130', - '\x12E', '\x3', '\x2', '\x2', '\x2', '\x130', '\x131', '\x3', '\x2', '\x2', - '\x2', '\x131', '`', '\x3', '\x2', '\x2', '\x2', '\x132', '\x130', '\x3', - '\x2', '\x2', '\x2', '\x133', '\x134', '\t', '\x3', '\x2', '\x2', '\x134', - '\x135', '\x3', '\x2', '\x2', '\x2', '\x135', '\x136', '\b', '\x31', '\x2', - '\x2', '\x136', '\x62', '\x3', '\x2', '\x2', '\x2', '\x137', '\x138', - '\t', '\x4', '\x2', '\x2', '\x138', '\x64', '\x3', '\x2', '\x2', '\x2', - '\x139', '\x13A', '\t', '\x5', '\x2', '\x2', '\x13A', '\x66', '\x3', '\x2', - '\x2', '\x2', '\x13B', '\x13C', '\a', '^', '\x2', '\x2', '\x13C', '\x13D', - '\a', '~', '\x2', '\x2', '\x13D', 'h', '\x3', '\x2', '\x2', '\x2', '\f', - '\x2', '\x104', '\x106', '\x10F', '\x111', '\x11C', '\x120', '\x129', - '\x12E', '\x130', '\x3', '\b', '\x2', '\x2', + '\x3', '\xF', '\x3', '\x10', '\x3', '\x10', '\x3', '\x10', '\x3', '\x10', + '\x3', '\x11', '\x3', '\x11', '\x3', '\x11', '\x3', '\x11', '\x3', '\x11', + '\x3', '\x11', '\x3', '\x11', '\x3', '\x12', '\x3', '\x12', '\x3', '\x12', + '\x3', '\x12', '\x3', '\x12', '\x3', '\x12', '\x3', '\x12', '\x3', '\x13', + '\x3', '\x13', '\x3', '\x13', '\x3', '\x13', '\x3', '\x13', '\x3', '\x13', + '\x3', '\x13', '\x3', '\x13', '\x3', '\x13', '\x3', '\x13', '\x3', '\x13', + '\x3', '\x14', '\x3', '\x14', '\x3', '\x15', '\x3', '\x15', '\x3', '\x16', + '\x3', '\x16', '\x3', '\x17', '\x3', '\x17', '\x3', '\x18', '\x3', '\x18', + '\x3', '\x19', '\x3', '\x19', '\x3', '\x1A', '\x3', '\x1A', '\x3', '\x1B', + '\x3', '\x1B', '\x3', '\x1B', '\x3', '\x1C', '\x3', '\x1C', '\x3', '\x1C', + '\x3', '\x1D', '\x3', '\x1D', '\x3', '\x1D', '\x3', '\x1E', '\x3', '\x1E', + '\x3', '\x1F', '\x3', '\x1F', '\x3', '\x1F', '\x3', ' ', '\x3', ' ', '\x3', + ' ', '\x3', '!', '\x3', '!', '\x3', '\"', '\x3', '\"', '\x3', '#', '\x3', + '#', '\x3', '$', '\x3', '$', '\x3', '%', '\x3', '%', '\x3', '&', '\x3', + '&', '\x3', '\'', '\x3', '\'', '\x3', '(', '\x3', '(', '\x3', ')', '\x3', + ')', '\x3', ')', '\x3', '*', '\x3', '*', '\x3', '+', '\x3', '+', '\x3', + '+', '\x3', '+', '\a', '+', '\xFB', '\n', '+', '\f', '+', '\xE', '+', + '\xFE', '\v', '+', '\x3', '+', '\x3', '+', '\x3', ',', '\x3', ',', '\x3', + ',', '\x3', ',', '\a', ',', '\x106', '\n', ',', '\f', ',', '\xE', ',', + '\x109', '\v', ',', '\x3', ',', '\x3', ',', '\x3', '-', '\x3', '-', '\x3', + '-', '\x3', '-', '\a', '-', '\x111', '\n', '-', '\f', '-', '\xE', '-', + '\x114', '\v', '-', '\x3', '-', '\x5', '-', '\x117', '\n', '-', '\x3', + '-', '\x3', '-', '\x3', '-', '\x3', '-', '\x3', '.', '\x6', '.', '\x11E', + '\n', '.', '\r', '.', '\xE', '.', '\x11F', '\x3', '/', '\x3', '/', '\x3', + '/', '\a', '/', '\x125', '\n', '/', '\f', '/', '\xE', '/', '\x128', '\v', + '/', '\x3', '\x30', '\x3', '\x30', '\x3', '\x30', '\x3', '\x30', '\x3', + '\x31', '\x3', '\x31', '\x3', '\x32', '\x3', '\x32', '\x3', '\x33', '\x3', + '\x33', '\x3', '\x33', '\x5', '\xFC', '\x107', '\x112', '\x2', '\x34', + '\x3', '\x3', '\x5', '\x4', '\a', '\x5', '\t', '\x6', '\v', '\a', '\r', + '\b', '\xF', '\t', '\x11', '\n', '\x13', '\v', '\x15', '\f', '\x17', '\r', + '\x19', '\xE', '\x1B', '\xF', '\x1D', '\x10', '\x1F', '\x11', '!', '\x12', + '#', '\x13', '%', '\x14', '\'', '\x15', ')', '\x16', '+', '\x17', '-', + '\x18', '/', '\x19', '\x31', '\x1A', '\x33', '\x1B', '\x35', '\x1C', '\x37', + '\x1D', '\x39', '\x1E', ';', '\x1F', '=', ' ', '?', '!', '\x41', '\"', + '\x43', '#', '\x45', '$', 'G', '%', 'I', '&', 'K', '\'', 'M', '(', 'O', + ')', 'Q', '*', 'S', '+', 'U', ',', 'W', '-', 'Y', '.', '[', '/', ']', + '\x30', '_', '\x31', '\x61', '\x2', '\x63', '\x2', '\x65', '\x32', '\x3', + '\x2', '\x6', '\x6', '\x2', '&', '&', '-', '-', '?', '@', '\x62', '\x62', + '\x5', '\x2', '\v', '\f', '\xF', '\xF', '\"', '\"', '\x5', '\x2', '\x43', + '\\', '\x61', '\x61', '\x63', '|', '\x3', '\x2', '\x32', ';', '\x2', '\x13A', + '\x2', '\x3', '\x3', '\x2', '\x2', '\x2', '\x2', '\x5', '\x3', '\x2', + '\x2', '\x2', '\x2', '\a', '\x3', '\x2', '\x2', '\x2', '\x2', '\t', '\x3', + '\x2', '\x2', '\x2', '\x2', '\v', '\x3', '\x2', '\x2', '\x2', '\x2', '\r', + '\x3', '\x2', '\x2', '\x2', '\x2', '\xF', '\x3', '\x2', '\x2', '\x2', + '\x2', '\x11', '\x3', '\x2', '\x2', '\x2', '\x2', '\x13', '\x3', '\x2', + '\x2', '\x2', '\x2', '\x15', '\x3', '\x2', '\x2', '\x2', '\x2', '\x17', + '\x3', '\x2', '\x2', '\x2', '\x2', '\x19', '\x3', '\x2', '\x2', '\x2', + '\x2', '\x1B', '\x3', '\x2', '\x2', '\x2', '\x2', '\x1D', '\x3', '\x2', + '\x2', '\x2', '\x2', '\x1F', '\x3', '\x2', '\x2', '\x2', '\x2', '!', '\x3', + '\x2', '\x2', '\x2', '\x2', '#', '\x3', '\x2', '\x2', '\x2', '\x2', '%', + '\x3', '\x2', '\x2', '\x2', '\x2', '\'', '\x3', '\x2', '\x2', '\x2', '\x2', + ')', '\x3', '\x2', '\x2', '\x2', '\x2', '+', '\x3', '\x2', '\x2', '\x2', + '\x2', '-', '\x3', '\x2', '\x2', '\x2', '\x2', '/', '\x3', '\x2', '\x2', + '\x2', '\x2', '\x31', '\x3', '\x2', '\x2', '\x2', '\x2', '\x33', '\x3', + '\x2', '\x2', '\x2', '\x2', '\x35', '\x3', '\x2', '\x2', '\x2', '\x2', + '\x37', '\x3', '\x2', '\x2', '\x2', '\x2', '\x39', '\x3', '\x2', '\x2', + '\x2', '\x2', ';', '\x3', '\x2', '\x2', '\x2', '\x2', '=', '\x3', '\x2', + '\x2', '\x2', '\x2', '?', '\x3', '\x2', '\x2', '\x2', '\x2', '\x41', '\x3', + '\x2', '\x2', '\x2', '\x2', '\x43', '\x3', '\x2', '\x2', '\x2', '\x2', + '\x45', '\x3', '\x2', '\x2', '\x2', '\x2', 'G', '\x3', '\x2', '\x2', '\x2', + '\x2', 'I', '\x3', '\x2', '\x2', '\x2', '\x2', 'K', '\x3', '\x2', '\x2', + '\x2', '\x2', 'M', '\x3', '\x2', '\x2', '\x2', '\x2', 'O', '\x3', '\x2', + '\x2', '\x2', '\x2', 'Q', '\x3', '\x2', '\x2', '\x2', '\x2', 'S', '\x3', + '\x2', '\x2', '\x2', '\x2', 'U', '\x3', '\x2', '\x2', '\x2', '\x2', 'W', + '\x3', '\x2', '\x2', '\x2', '\x2', 'Y', '\x3', '\x2', '\x2', '\x2', '\x2', + '[', '\x3', '\x2', '\x2', '\x2', '\x2', ']', '\x3', '\x2', '\x2', '\x2', + '\x2', '_', '\x3', '\x2', '\x2', '\x2', '\x2', '\x65', '\x3', '\x2', '\x2', + '\x2', '\x3', 'g', '\x3', '\x2', '\x2', '\x2', '\x5', 'i', '\x3', '\x2', + '\x2', '\x2', '\a', 'k', '\x3', '\x2', '\x2', '\x2', '\t', 'n', '\x3', + '\x2', '\x2', '\x2', '\v', 'q', '\x3', '\x2', '\x2', '\x2', '\r', 'u', + '\x3', '\x2', '\x2', '\x2', '\xF', '~', '\x3', '\x2', '\x2', '\x2', '\x11', + '\x82', '\x3', '\x2', '\x2', '\x2', '\x13', '\x85', '\x3', '\x2', '\x2', + '\x2', '\x15', '\x8A', '\x3', '\x2', '\x2', '\x2', '\x17', '\x8F', '\x3', + '\x2', '\x2', '\x2', '\x19', '\x93', '\x3', '\x2', '\x2', '\x2', '\x1B', + '\x9A', '\x3', '\x2', '\x2', '\x2', '\x1D', '\x9F', '\x3', '\x2', '\x2', + '\x2', '\x1F', '\xA5', '\x3', '\x2', '\x2', '\x2', '!', '\xA9', '\x3', + '\x2', '\x2', '\x2', '#', '\xB0', '\x3', '\x2', '\x2', '\x2', '%', '\xB7', + '\x3', '\x2', '\x2', '\x2', '\'', '\xC2', '\x3', '\x2', '\x2', '\x2', + ')', '\xC4', '\x3', '\x2', '\x2', '\x2', '+', '\xC6', '\x3', '\x2', '\x2', + '\x2', '-', '\xC8', '\x3', '\x2', '\x2', '\x2', '/', '\xCA', '\x3', '\x2', + '\x2', '\x2', '\x31', '\xCC', '\x3', '\x2', '\x2', '\x2', '\x33', '\xCE', + '\x3', '\x2', '\x2', '\x2', '\x35', '\xD0', '\x3', '\x2', '\x2', '\x2', + '\x37', '\xD3', '\x3', '\x2', '\x2', '\x2', '\x39', '\xD6', '\x3', '\x2', + '\x2', '\x2', ';', '\xD9', '\x3', '\x2', '\x2', '\x2', '=', '\xDB', '\x3', + '\x2', '\x2', '\x2', '?', '\xDE', '\x3', '\x2', '\x2', '\x2', '\x41', + '\xE1', '\x3', '\x2', '\x2', '\x2', '\x43', '\xE3', '\x3', '\x2', '\x2', + '\x2', '\x45', '\xE5', '\x3', '\x2', '\x2', '\x2', 'G', '\xE7', '\x3', + '\x2', '\x2', '\x2', 'I', '\xE9', '\x3', '\x2', '\x2', '\x2', 'K', '\xEB', + '\x3', '\x2', '\x2', '\x2', 'M', '\xED', '\x3', '\x2', '\x2', '\x2', 'O', + '\xEF', '\x3', '\x2', '\x2', '\x2', 'Q', '\xF1', '\x3', '\x2', '\x2', + '\x2', 'S', '\xF4', '\x3', '\x2', '\x2', '\x2', 'U', '\xF6', '\x3', '\x2', + '\x2', '\x2', 'W', '\x101', '\x3', '\x2', '\x2', '\x2', 'Y', '\x10C', + '\x3', '\x2', '\x2', '\x2', '[', '\x11D', '\x3', '\x2', '\x2', '\x2', + ']', '\x121', '\x3', '\x2', '\x2', '\x2', '_', '\x129', '\x3', '\x2', + '\x2', '\x2', '\x61', '\x12D', '\x3', '\x2', '\x2', '\x2', '\x63', '\x12F', + '\x3', '\x2', '\x2', '\x2', '\x65', '\x131', '\x3', '\x2', '\x2', '\x2', + 'g', 'h', '\a', '?', '\x2', '\x2', 'h', '\x4', '\x3', '\x2', '\x2', '\x2', + 'i', 'j', '\a', '@', '\x2', '\x2', 'j', '\x6', '\x3', '\x2', '\x2', '\x2', + 'k', 'l', '\a', '-', '\x2', '\x2', 'l', 'm', '\a', '-', '\x2', '\x2', + 'm', '\b', '\x3', '\x2', '\x2', '\x2', 'n', 'o', '\a', '/', '\x2', '\x2', + 'o', 'p', '\a', '/', '\x2', '\x2', 'p', '\n', '\x3', '\x2', '\x2', '\x2', + 'q', 'r', '\a', 'p', '\x2', '\x2', 'r', 's', '\a', 'g', '\x2', '\x2', + 's', 't', '\a', 'y', '\x2', '\x2', 't', '\f', '\x3', '\x2', '\x2', '\x2', + 'u', 'v', '\a', 'x', '\x2', '\x2', 'v', 'w', '\a', '\x63', '\x2', '\x2', + 'w', 'x', '\a', 't', '\x2', '\x2', 'x', 'y', '\a', 'k', '\x2', '\x2', + 'y', 'z', '\a', '\x63', '\x2', '\x2', 'z', '{', '\a', '\x64', '\x2', '\x2', + '{', '|', '\a', 'n', '\x2', '\x2', '|', '}', '\a', 'g', '\x2', '\x2', + '}', '\xE', '\x3', '\x2', '\x2', '\x2', '~', '\x7F', '\a', 'n', '\x2', + '\x2', '\x7F', '\x80', '\a', 'g', '\x2', '\x2', '\x80', '\x81', '\a', + 'v', '\x2', '\x2', '\x81', '\x10', '\x3', '\x2', '\x2', '\x2', '\x82', + '\x83', '\a', 'k', '\x2', '\x2', '\x83', '\x84', '\a', 'h', '\x2', '\x2', + '\x84', '\x12', '\x3', '\x2', '\x2', '\x2', '\x85', '\x86', '\a', 'v', + '\x2', '\x2', '\x86', '\x87', '\a', 'j', '\x2', '\x2', '\x87', '\x88', + '\a', 'g', '\x2', '\x2', '\x88', '\x89', '\a', 'p', '\x2', '\x2', '\x89', + '\x14', '\x3', '\x2', '\x2', '\x2', '\x8A', '\x8B', '\a', 'g', '\x2', + '\x2', '\x8B', '\x8C', '\a', 'n', '\x2', '\x2', '\x8C', '\x8D', '\a', + 'u', '\x2', '\x2', '\x8D', '\x8E', '\a', 'g', '\x2', '\x2', '\x8E', '\x16', + '\x3', '\x2', '\x2', '\x2', '\x8F', '\x90', '\a', 'h', '\x2', '\x2', '\x90', + '\x91', '\a', 'q', '\x2', '\x2', '\x91', '\x92', '\a', 't', '\x2', '\x2', + '\x92', '\x18', '\x3', '\x2', '\x2', '\x2', '\x93', '\x94', '\a', 't', + '\x2', '\x2', '\x94', '\x95', '\a', 'g', '\x2', '\x2', '\x95', '\x96', + '\a', 'v', '\x2', '\x2', '\x96', '\x97', '\a', 'w', '\x2', '\x2', '\x97', + '\x98', '\a', 't', '\x2', '\x2', '\x98', '\x99', '\a', 'p', '\x2', '\x2', + '\x99', '\x1A', '\x3', '\x2', '\x2', '\x2', '\x9A', '\x9B', '\a', 'x', + '\x2', '\x2', '\x9B', '\x9C', '\a', 'q', '\x2', '\x2', '\x9C', '\x9D', + '\a', 'k', '\x2', '\x2', '\x9D', '\x9E', '\a', '\x66', '\x2', '\x2', '\x9E', + '\x1C', '\x3', '\x2', '\x2', '\x2', '\x9F', '\xA0', '\a', 'h', '\x2', + '\x2', '\xA0', '\xA1', '\a', 'n', '\x2', '\x2', '\xA1', '\xA2', '\a', + 'q', '\x2', '\x2', '\xA2', '\xA3', '\a', '\x63', '\x2', '\x2', '\xA3', + '\xA4', '\a', 'v', '\x2', '\x2', '\xA4', '\x1E', '\x3', '\x2', '\x2', + '\x2', '\xA5', '\xA6', '\a', 'k', '\x2', '\x2', '\xA6', '\xA7', '\a', + 'p', '\x2', '\x2', '\xA7', '\xA8', '\a', 'v', '\x2', '\x2', '\xA8', ' ', + '\x3', '\x2', '\x2', '\x2', '\xA9', '\xAA', '\a', 'u', '\x2', '\x2', '\xAA', + '\xAB', '\a', 'v', '\x2', '\x2', '\xAB', '\xAC', '\a', 't', '\x2', '\x2', + '\xAC', '\xAD', '\a', 'k', '\x2', '\x2', '\xAD', '\xAE', '\a', 'p', '\x2', + '\x2', '\xAE', '\xAF', '\a', 'i', '\x2', '\x2', '\xAF', '\"', '\x3', '\x2', + '\x2', '\x2', '\xB0', '\xB1', '\a', 'q', '\x2', '\x2', '\xB1', '\xB2', + '\a', '\x64', '\x2', '\x2', '\xB2', '\xB3', '\a', 'l', '\x2', '\x2', '\xB3', + '\xB4', '\a', 'g', '\x2', '\x2', '\xB4', '\xB5', '\a', '\x65', '\x2', + '\x2', '\xB5', '\xB6', '\a', 'v', '\x2', '\x2', '\xB6', '$', '\x3', '\x2', + '\x2', '\x2', '\xB7', '\xB8', '\a', 'g', '\x2', '\x2', '\xB8', '\xB9', + '\a', 'z', '\x2', '\x2', '\xB9', '\xBA', '\a', 'r', '\x2', '\x2', '\xBA', + '\xBB', '\a', 't', '\x2', '\x2', '\xBB', '\xBC', '\a', 'g', '\x2', '\x2', + '\xBC', '\xBD', '\a', 'u', '\x2', '\x2', '\xBD', '\xBE', '\a', 'u', '\x2', + '\x2', '\xBE', '\xBF', '\a', 'k', '\x2', '\x2', '\xBF', '\xC0', '\a', + 'q', '\x2', '\x2', '\xC0', '\xC1', '\a', 'p', '\x2', '\x2', '\xC1', '&', + '\x3', '\x2', '\x2', '\x2', '\xC2', '\xC3', '\t', '\x2', '\x2', '\x2', + '\xC3', '(', '\x3', '\x2', '\x2', '\x2', '\xC4', '\xC5', '\a', '<', '\x2', + '\x2', '\xC5', '*', '\x3', '\x2', '\x2', '\x2', '\xC6', '\xC7', '\a', + '=', '\x2', '\x2', '\xC7', ',', '\x3', '\x2', '\x2', '\x2', '\xC8', '\xC9', + '\a', '.', '\x2', '\x2', '\xC9', '.', '\x3', '\x2', '\x2', '\x2', '\xCA', + '\xCB', '\a', '-', '\x2', '\x2', '\xCB', '\x30', '\x3', '\x2', '\x2', + '\x2', '\xCC', '\xCD', '\a', '/', '\x2', '\x2', '\xCD', '\x32', '\x3', + '\x2', '\x2', '\x2', '\xCE', '\xCF', '\a', ',', '\x2', '\x2', '\xCF', + '\x34', '\x3', '\x2', '\x2', '\x2', '\xD0', '\xD1', '\a', '?', '\x2', + '\x2', '\xD1', '\xD2', '\a', '?', '\x2', '\x2', '\xD2', '\x36', '\x3', + '\x2', '\x2', '\x2', '\xD3', '\xD4', '\a', '#', '\x2', '\x2', '\xD4', + '\xD5', '\a', '?', '\x2', '\x2', '\xD5', '\x38', '\x3', '\x2', '\x2', + '\x2', '\xD6', '\xD7', '\a', '@', '\x2', '\x2', '\xD7', '\xD8', '\a', + '?', '\x2', '\x2', '\xD8', ':', '\x3', '\x2', '\x2', '\x2', '\xD9', '\xDA', + '\a', '>', '\x2', '\x2', '\xDA', '<', '\x3', '\x2', '\x2', '\x2', '\xDB', + '\xDC', '\a', '>', '\x2', '\x2', '\xDC', '\xDD', '\a', '?', '\x2', '\x2', + '\xDD', '>', '\x3', '\x2', '\x2', '\x2', '\xDE', '\xDF', '\a', '?', '\x2', + '\x2', '\xDF', '\xE0', '\a', '@', '\x2', '\x2', '\xE0', '@', '\x3', '\x2', + '\x2', '\x2', '\xE1', '\xE2', '\a', '*', '\x2', '\x2', '\xE2', '\x42', + '\x3', '\x2', '\x2', '\x2', '\xE3', '\xE4', '\a', '+', '\x2', '\x2', '\xE4', + '\x44', '\x3', '\x2', '\x2', '\x2', '\xE5', '\xE6', '\a', ']', '\x2', + '\x2', '\xE6', '\x46', '\x3', '\x2', '\x2', '\x2', '\xE7', '\xE8', '\a', + '_', '\x2', '\x2', '\xE8', 'H', '\x3', '\x2', '\x2', '\x2', '\xE9', '\xEA', + '\a', '}', '\x2', '\x2', '\xEA', 'J', '\x3', '\x2', '\x2', '\x2', '\xEB', + '\xEC', '\a', '\x7F', '\x2', '\x2', '\xEC', 'L', '\x3', '\x2', '\x2', + '\x2', '\xED', '\xEE', '\a', '#', '\x2', '\x2', '\xEE', 'N', '\x3', '\x2', + '\x2', '\x2', '\xEF', '\xF0', '\a', '~', '\x2', '\x2', '\xF0', 'P', '\x3', + '\x2', '\x2', '\x2', '\xF1', '\xF2', '\a', '~', '\x2', '\x2', '\xF2', + '\xF3', '\a', '~', '\x2', '\x2', '\xF3', 'R', '\x3', '\x2', '\x2', '\x2', + '\xF4', '\xF5', '\a', '\x30', '\x2', '\x2', '\xF5', 'T', '\x3', '\x2', + '\x2', '\x2', '\xF6', '\xFC', '\a', '$', '\x2', '\x2', '\xF7', '\xF8', + '\a', '^', '\x2', '\x2', '\xF8', '\xFB', '\a', '$', '\x2', '\x2', '\xF9', + '\xFB', '\v', '\x2', '\x2', '\x2', '\xFA', '\xF7', '\x3', '\x2', '\x2', + '\x2', '\xFA', '\xF9', '\x3', '\x2', '\x2', '\x2', '\xFB', '\xFE', '\x3', + '\x2', '\x2', '\x2', '\xFC', '\xFD', '\x3', '\x2', '\x2', '\x2', '\xFC', + '\xFA', '\x3', '\x2', '\x2', '\x2', '\xFD', '\xFF', '\x3', '\x2', '\x2', + '\x2', '\xFE', '\xFC', '\x3', '\x2', '\x2', '\x2', '\xFF', '\x100', '\a', + '$', '\x2', '\x2', '\x100', 'V', '\x3', '\x2', '\x2', '\x2', '\x101', + '\x107', '\a', '\x62', '\x2', '\x2', '\x102', '\x103', '\a', '^', '\x2', + '\x2', '\x103', '\x106', '\a', '$', '\x2', '\x2', '\x104', '\x106', '\v', + '\x2', '\x2', '\x2', '\x105', '\x102', '\x3', '\x2', '\x2', '\x2', '\x105', + '\x104', '\x3', '\x2', '\x2', '\x2', '\x106', '\x109', '\x3', '\x2', '\x2', + '\x2', '\x107', '\x108', '\x3', '\x2', '\x2', '\x2', '\x107', '\x105', + '\x3', '\x2', '\x2', '\x2', '\x108', '\x10A', '\x3', '\x2', '\x2', '\x2', + '\x109', '\x107', '\x3', '\x2', '\x2', '\x2', '\x10A', '\x10B', '\a', + '\x62', '\x2', '\x2', '\x10B', 'X', '\x3', '\x2', '\x2', '\x2', '\x10C', + '\x10D', '\a', '\x31', '\x2', '\x2', '\x10D', '\x10E', '\a', '\x31', '\x2', + '\x2', '\x10E', '\x112', '\x3', '\x2', '\x2', '\x2', '\x10F', '\x111', + '\v', '\x2', '\x2', '\x2', '\x110', '\x10F', '\x3', '\x2', '\x2', '\x2', + '\x111', '\x114', '\x3', '\x2', '\x2', '\x2', '\x112', '\x113', '\x3', + '\x2', '\x2', '\x2', '\x112', '\x110', '\x3', '\x2', '\x2', '\x2', '\x113', + '\x116', '\x3', '\x2', '\x2', '\x2', '\x114', '\x112', '\x3', '\x2', '\x2', + '\x2', '\x115', '\x117', '\a', '\xF', '\x2', '\x2', '\x116', '\x115', + '\x3', '\x2', '\x2', '\x2', '\x116', '\x117', '\x3', '\x2', '\x2', '\x2', + '\x117', '\x118', '\x3', '\x2', '\x2', '\x2', '\x118', '\x119', '\a', + '\f', '\x2', '\x2', '\x119', '\x11A', '\x3', '\x2', '\x2', '\x2', '\x11A', + '\x11B', '\b', '-', '\x2', '\x2', '\x11B', 'Z', '\x3', '\x2', '\x2', '\x2', + '\x11C', '\x11E', '\x5', '\x63', '\x32', '\x2', '\x11D', '\x11C', '\x3', + '\x2', '\x2', '\x2', '\x11E', '\x11F', '\x3', '\x2', '\x2', '\x2', '\x11F', + '\x11D', '\x3', '\x2', '\x2', '\x2', '\x11F', '\x120', '\x3', '\x2', '\x2', + '\x2', '\x120', '\\', '\x3', '\x2', '\x2', '\x2', '\x121', '\x126', '\x5', + '\x61', '\x31', '\x2', '\x122', '\x125', '\x5', '\x61', '\x31', '\x2', + '\x123', '\x125', '\x5', '\x63', '\x32', '\x2', '\x124', '\x122', '\x3', + '\x2', '\x2', '\x2', '\x124', '\x123', '\x3', '\x2', '\x2', '\x2', '\x125', + '\x128', '\x3', '\x2', '\x2', '\x2', '\x126', '\x124', '\x3', '\x2', '\x2', + '\x2', '\x126', '\x127', '\x3', '\x2', '\x2', '\x2', '\x127', '^', '\x3', + '\x2', '\x2', '\x2', '\x128', '\x126', '\x3', '\x2', '\x2', '\x2', '\x129', + '\x12A', '\t', '\x3', '\x2', '\x2', '\x12A', '\x12B', '\x3', '\x2', '\x2', + '\x2', '\x12B', '\x12C', '\b', '\x30', '\x2', '\x2', '\x12C', '`', '\x3', + '\x2', '\x2', '\x2', '\x12D', '\x12E', '\t', '\x4', '\x2', '\x2', '\x12E', + '\x62', '\x3', '\x2', '\x2', '\x2', '\x12F', '\x130', '\t', '\x5', '\x2', + '\x2', '\x130', '\x64', '\x3', '\x2', '\x2', '\x2', '\x131', '\x132', + '\a', '^', '\x2', '\x2', '\x132', '\x133', '\a', '~', '\x2', '\x2', '\x133', + '\x66', '\x3', '\x2', '\x2', '\x2', '\f', '\x2', '\xFA', '\xFC', '\x105', + '\x107', '\x112', '\x116', '\x11F', '\x124', '\x126', '\x3', '\b', '\x2', + '\x2', }; public static readonly ATN _ATN = diff --git a/src/dsl/Elsa.Dsl/Abstractions/ElsaLexer.interp b/src/dsl/Elsa.Dsl/Abstractions/ElsaLexer.interp index 3950e580a..778a120cb 100644 --- a/src/dsl/Elsa.Dsl/Abstractions/ElsaLexer.interp +++ b/src/dsl/Elsa.Dsl/Abstractions/ElsaLexer.interp @@ -5,7 +5,6 @@ null '++' '--' 'new' -'trigger' 'variable' 'let' 'if' @@ -57,7 +56,6 @@ GREATER INCREMENT DECREMENT NEW -TRIGGER VARIABLE LET IF @@ -108,7 +106,6 @@ GREATER INCREMENT DECREMENT NEW -TRIGGER VARIABLE LET IF @@ -163,4 +160,4 @@ mode names: DEFAULT_MODE atn: -[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 51, 318, 8, 1, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 4, 12, 9, 12, 4, 13, 9, 13, 4, 14, 9, 14, 4, 15, 9, 15, 4, 16, 9, 16, 4, 17, 9, 17, 4, 18, 9, 18, 4, 19, 9, 19, 4, 20, 9, 20, 4, 21, 9, 21, 4, 22, 9, 22, 4, 23, 9, 23, 4, 24, 9, 24, 4, 25, 9, 25, 4, 26, 9, 26, 4, 27, 9, 27, 4, 28, 9, 28, 4, 29, 9, 29, 4, 30, 9, 30, 4, 31, 9, 31, 4, 32, 9, 32, 4, 33, 9, 33, 4, 34, 9, 34, 4, 35, 9, 35, 4, 36, 9, 36, 4, 37, 9, 37, 4, 38, 9, 38, 4, 39, 9, 39, 4, 40, 9, 40, 4, 41, 9, 41, 4, 42, 9, 42, 4, 43, 9, 43, 4, 44, 9, 44, 4, 45, 9, 45, 4, 46, 9, 46, 4, 47, 9, 47, 4, 48, 9, 48, 4, 49, 9, 49, 4, 50, 9, 50, 4, 51, 9, 51, 4, 52, 9, 52, 3, 2, 3, 2, 3, 3, 3, 3, 3, 4, 3, 4, 3, 4, 3, 5, 3, 5, 3, 5, 3, 6, 3, 6, 3, 6, 3, 6, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 3, 9, 3, 10, 3, 10, 3, 10, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 13, 3, 13, 3, 13, 3, 13, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 17, 3, 17, 3, 17, 3, 17, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 21, 3, 21, 3, 22, 3, 22, 3, 23, 3, 23, 3, 24, 3, 24, 3, 25, 3, 25, 3, 26, 3, 26, 3, 27, 3, 27, 3, 28, 3, 28, 3, 28, 3, 29, 3, 29, 3, 29, 3, 30, 3, 30, 3, 30, 3, 31, 3, 31, 3, 32, 3, 32, 3, 32, 3, 33, 3, 33, 3, 33, 3, 34, 3, 34, 3, 35, 3, 35, 3, 36, 3, 36, 3, 37, 3, 37, 3, 38, 3, 38, 3, 39, 3, 39, 3, 40, 3, 40, 3, 41, 3, 41, 3, 42, 3, 42, 3, 42, 3, 43, 3, 43, 3, 44, 3, 44, 3, 44, 3, 44, 7, 44, 261, 10, 44, 12, 44, 14, 44, 264, 11, 44, 3, 44, 3, 44, 3, 45, 3, 45, 3, 45, 3, 45, 7, 45, 272, 10, 45, 12, 45, 14, 45, 275, 11, 45, 3, 45, 3, 45, 3, 46, 3, 46, 3, 46, 3, 46, 7, 46, 283, 10, 46, 12, 46, 14, 46, 286, 11, 46, 3, 46, 5, 46, 289, 10, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 47, 6, 47, 296, 10, 47, 13, 47, 14, 47, 297, 3, 48, 3, 48, 3, 48, 7, 48, 303, 10, 48, 12, 48, 14, 48, 306, 11, 48, 3, 49, 3, 49, 3, 49, 3, 49, 3, 50, 3, 50, 3, 51, 3, 51, 3, 52, 3, 52, 3, 52, 5, 262, 273, 284, 2, 53, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13, 8, 15, 9, 17, 10, 19, 11, 21, 12, 23, 13, 25, 14, 27, 15, 29, 16, 31, 17, 33, 18, 35, 19, 37, 20, 39, 21, 41, 22, 43, 23, 45, 24, 47, 25, 49, 26, 51, 27, 53, 28, 55, 29, 57, 30, 59, 31, 61, 32, 63, 33, 65, 34, 67, 35, 69, 36, 71, 37, 73, 38, 75, 39, 77, 40, 79, 41, 81, 42, 83, 43, 85, 44, 87, 45, 89, 46, 91, 47, 93, 48, 95, 49, 97, 50, 99, 2, 101, 2, 103, 51, 3, 2, 6, 6, 2, 38, 38, 45, 45, 63, 64, 98, 98, 5, 2, 11, 12, 15, 15, 34, 34, 5, 2, 67, 92, 97, 97, 99, 124, 3, 2, 50, 59, 2, 324, 2, 3, 3, 2, 2, 2, 2, 5, 3, 2, 2, 2, 2, 7, 3, 2, 2, 2, 2, 9, 3, 2, 2, 2, 2, 11, 3, 2, 2, 2, 2, 13, 3, 2, 2, 2, 2, 15, 3, 2, 2, 2, 2, 17, 3, 2, 2, 2, 2, 19, 3, 2, 2, 2, 2, 21, 3, 2, 2, 2, 2, 23, 3, 2, 2, 2, 2, 25, 3, 2, 2, 2, 2, 27, 3, 2, 2, 2, 2, 29, 3, 2, 2, 2, 2, 31, 3, 2, 2, 2, 2, 33, 3, 2, 2, 2, 2, 35, 3, 2, 2, 2, 2, 37, 3, 2, 2, 2, 2, 39, 3, 2, 2, 2, 2, 41, 3, 2, 2, 2, 2, 43, 3, 2, 2, 2, 2, 45, 3, 2, 2, 2, 2, 47, 3, 2, 2, 2, 2, 49, 3, 2, 2, 2, 2, 51, 3, 2, 2, 2, 2, 53, 3, 2, 2, 2, 2, 55, 3, 2, 2, 2, 2, 57, 3, 2, 2, 2, 2, 59, 3, 2, 2, 2, 2, 61, 3, 2, 2, 2, 2, 63, 3, 2, 2, 2, 2, 65, 3, 2, 2, 2, 2, 67, 3, 2, 2, 2, 2, 69, 3, 2, 2, 2, 2, 71, 3, 2, 2, 2, 2, 73, 3, 2, 2, 2, 2, 75, 3, 2, 2, 2, 2, 77, 3, 2, 2, 2, 2, 79, 3, 2, 2, 2, 2, 81, 3, 2, 2, 2, 2, 83, 3, 2, 2, 2, 2, 85, 3, 2, 2, 2, 2, 87, 3, 2, 2, 2, 2, 89, 3, 2, 2, 2, 2, 91, 3, 2, 2, 2, 2, 93, 3, 2, 2, 2, 2, 95, 3, 2, 2, 2, 2, 97, 3, 2, 2, 2, 2, 103, 3, 2, 2, 2, 3, 105, 3, 2, 2, 2, 5, 107, 3, 2, 2, 2, 7, 109, 3, 2, 2, 2, 9, 112, 3, 2, 2, 2, 11, 115, 3, 2, 2, 2, 13, 119, 3, 2, 2, 2, 15, 127, 3, 2, 2, 2, 17, 136, 3, 2, 2, 2, 19, 140, 3, 2, 2, 2, 21, 143, 3, 2, 2, 2, 23, 148, 3, 2, 2, 2, 25, 153, 3, 2, 2, 2, 27, 157, 3, 2, 2, 2, 29, 164, 3, 2, 2, 2, 31, 169, 3, 2, 2, 2, 33, 175, 3, 2, 2, 2, 35, 179, 3, 2, 2, 2, 37, 186, 3, 2, 2, 2, 39, 193, 3, 2, 2, 2, 41, 204, 3, 2, 2, 2, 43, 206, 3, 2, 2, 2, 45, 208, 3, 2, 2, 2, 47, 210, 3, 2, 2, 2, 49, 212, 3, 2, 2, 2, 51, 214, 3, 2, 2, 2, 53, 216, 3, 2, 2, 2, 55, 218, 3, 2, 2, 2, 57, 221, 3, 2, 2, 2, 59, 224, 3, 2, 2, 2, 61, 227, 3, 2, 2, 2, 63, 229, 3, 2, 2, 2, 65, 232, 3, 2, 2, 2, 67, 235, 3, 2, 2, 2, 69, 237, 3, 2, 2, 2, 71, 239, 3, 2, 2, 2, 73, 241, 3, 2, 2, 2, 75, 243, 3, 2, 2, 2, 77, 245, 3, 2, 2, 2, 79, 247, 3, 2, 2, 2, 81, 249, 3, 2, 2, 2, 83, 251, 3, 2, 2, 2, 85, 254, 3, 2, 2, 2, 87, 256, 3, 2, 2, 2, 89, 267, 3, 2, 2, 2, 91, 278, 3, 2, 2, 2, 93, 295, 3, 2, 2, 2, 95, 299, 3, 2, 2, 2, 97, 307, 3, 2, 2, 2, 99, 311, 3, 2, 2, 2, 101, 313, 3, 2, 2, 2, 103, 315, 3, 2, 2, 2, 105, 106, 7, 63, 2, 2, 106, 4, 3, 2, 2, 2, 107, 108, 7, 64, 2, 2, 108, 6, 3, 2, 2, 2, 109, 110, 7, 45, 2, 2, 110, 111, 7, 45, 2, 2, 111, 8, 3, 2, 2, 2, 112, 113, 7, 47, 2, 2, 113, 114, 7, 47, 2, 2, 114, 10, 3, 2, 2, 2, 115, 116, 7, 112, 2, 2, 116, 117, 7, 103, 2, 2, 117, 118, 7, 121, 2, 2, 118, 12, 3, 2, 2, 2, 119, 120, 7, 118, 2, 2, 120, 121, 7, 116, 2, 2, 121, 122, 7, 107, 2, 2, 122, 123, 7, 105, 2, 2, 123, 124, 7, 105, 2, 2, 124, 125, 7, 103, 2, 2, 125, 126, 7, 116, 2, 2, 126, 14, 3, 2, 2, 2, 127, 128, 7, 120, 2, 2, 128, 129, 7, 99, 2, 2, 129, 130, 7, 116, 2, 2, 130, 131, 7, 107, 2, 2, 131, 132, 7, 99, 2, 2, 132, 133, 7, 100, 2, 2, 133, 134, 7, 110, 2, 2, 134, 135, 7, 103, 2, 2, 135, 16, 3, 2, 2, 2, 136, 137, 7, 110, 2, 2, 137, 138, 7, 103, 2, 2, 138, 139, 7, 118, 2, 2, 139, 18, 3, 2, 2, 2, 140, 141, 7, 107, 2, 2, 141, 142, 7, 104, 2, 2, 142, 20, 3, 2, 2, 2, 143, 144, 7, 118, 2, 2, 144, 145, 7, 106, 2, 2, 145, 146, 7, 103, 2, 2, 146, 147, 7, 112, 2, 2, 147, 22, 3, 2, 2, 2, 148, 149, 7, 103, 2, 2, 149, 150, 7, 110, 2, 2, 150, 151, 7, 117, 2, 2, 151, 152, 7, 103, 2, 2, 152, 24, 3, 2, 2, 2, 153, 154, 7, 104, 2, 2, 154, 155, 7, 113, 2, 2, 155, 156, 7, 116, 2, 2, 156, 26, 3, 2, 2, 2, 157, 158, 7, 116, 2, 2, 158, 159, 7, 103, 2, 2, 159, 160, 7, 118, 2, 2, 160, 161, 7, 119, 2, 2, 161, 162, 7, 116, 2, 2, 162, 163, 7, 112, 2, 2, 163, 28, 3, 2, 2, 2, 164, 165, 7, 120, 2, 2, 165, 166, 7, 113, 2, 2, 166, 167, 7, 107, 2, 2, 167, 168, 7, 102, 2, 2, 168, 30, 3, 2, 2, 2, 169, 170, 7, 104, 2, 2, 170, 171, 7, 110, 2, 2, 171, 172, 7, 113, 2, 2, 172, 173, 7, 99, 2, 2, 173, 174, 7, 118, 2, 2, 174, 32, 3, 2, 2, 2, 175, 176, 7, 107, 2, 2, 176, 177, 7, 112, 2, 2, 177, 178, 7, 118, 2, 2, 178, 34, 3, 2, 2, 2, 179, 180, 7, 117, 2, 2, 180, 181, 7, 118, 2, 2, 181, 182, 7, 116, 2, 2, 182, 183, 7, 107, 2, 2, 183, 184, 7, 112, 2, 2, 184, 185, 7, 105, 2, 2, 185, 36, 3, 2, 2, 2, 186, 187, 7, 113, 2, 2, 187, 188, 7, 100, 2, 2, 188, 189, 7, 108, 2, 2, 189, 190, 7, 103, 2, 2, 190, 191, 7, 101, 2, 2, 191, 192, 7, 118, 2, 2, 192, 38, 3, 2, 2, 2, 193, 194, 7, 103, 2, 2, 194, 195, 7, 122, 2, 2, 195, 196, 7, 114, 2, 2, 196, 197, 7, 116, 2, 2, 197, 198, 7, 103, 2, 2, 198, 199, 7, 117, 2, 2, 199, 200, 7, 117, 2, 2, 200, 201, 7, 107, 2, 2, 201, 202, 7, 113, 2, 2, 202, 203, 7, 112, 2, 2, 203, 40, 3, 2, 2, 2, 204, 205, 9, 2, 2, 2, 205, 42, 3, 2, 2, 2, 206, 207, 7, 60, 2, 2, 207, 44, 3, 2, 2, 2, 208, 209, 7, 61, 2, 2, 209, 46, 3, 2, 2, 2, 210, 211, 7, 46, 2, 2, 211, 48, 3, 2, 2, 2, 212, 213, 7, 45, 2, 2, 213, 50, 3, 2, 2, 2, 214, 215, 7, 47, 2, 2, 215, 52, 3, 2, 2, 2, 216, 217, 7, 44, 2, 2, 217, 54, 3, 2, 2, 2, 218, 219, 7, 63, 2, 2, 219, 220, 7, 63, 2, 2, 220, 56, 3, 2, 2, 2, 221, 222, 7, 35, 2, 2, 222, 223, 7, 63, 2, 2, 223, 58, 3, 2, 2, 2, 224, 225, 7, 64, 2, 2, 225, 226, 7, 63, 2, 2, 226, 60, 3, 2, 2, 2, 227, 228, 7, 62, 2, 2, 228, 62, 3, 2, 2, 2, 229, 230, 7, 62, 2, 2, 230, 231, 7, 63, 2, 2, 231, 64, 3, 2, 2, 2, 232, 233, 7, 63, 2, 2, 233, 234, 7, 64, 2, 2, 234, 66, 3, 2, 2, 2, 235, 236, 7, 42, 2, 2, 236, 68, 3, 2, 2, 2, 237, 238, 7, 43, 2, 2, 238, 70, 3, 2, 2, 2, 239, 240, 7, 93, 2, 2, 240, 72, 3, 2, 2, 2, 241, 242, 7, 95, 2, 2, 242, 74, 3, 2, 2, 2, 243, 244, 7, 125, 2, 2, 244, 76, 3, 2, 2, 2, 245, 246, 7, 127, 2, 2, 246, 78, 3, 2, 2, 2, 247, 248, 7, 35, 2, 2, 248, 80, 3, 2, 2, 2, 249, 250, 7, 126, 2, 2, 250, 82, 3, 2, 2, 2, 251, 252, 7, 126, 2, 2, 252, 253, 7, 126, 2, 2, 253, 84, 3, 2, 2, 2, 254, 255, 7, 48, 2, 2, 255, 86, 3, 2, 2, 2, 256, 262, 7, 36, 2, 2, 257, 258, 7, 94, 2, 2, 258, 261, 7, 36, 2, 2, 259, 261, 11, 2, 2, 2, 260, 257, 3, 2, 2, 2, 260, 259, 3, 2, 2, 2, 261, 264, 3, 2, 2, 2, 262, 263, 3, 2, 2, 2, 262, 260, 3, 2, 2, 2, 263, 265, 3, 2, 2, 2, 264, 262, 3, 2, 2, 2, 265, 266, 7, 36, 2, 2, 266, 88, 3, 2, 2, 2, 267, 273, 7, 98, 2, 2, 268, 269, 7, 94, 2, 2, 269, 272, 7, 36, 2, 2, 270, 272, 11, 2, 2, 2, 271, 268, 3, 2, 2, 2, 271, 270, 3, 2, 2, 2, 272, 275, 3, 2, 2, 2, 273, 274, 3, 2, 2, 2, 273, 271, 3, 2, 2, 2, 274, 276, 3, 2, 2, 2, 275, 273, 3, 2, 2, 2, 276, 277, 7, 98, 2, 2, 277, 90, 3, 2, 2, 2, 278, 279, 7, 49, 2, 2, 279, 280, 7, 49, 2, 2, 280, 284, 3, 2, 2, 2, 281, 283, 11, 2, 2, 2, 282, 281, 3, 2, 2, 2, 283, 286, 3, 2, 2, 2, 284, 285, 3, 2, 2, 2, 284, 282, 3, 2, 2, 2, 285, 288, 3, 2, 2, 2, 286, 284, 3, 2, 2, 2, 287, 289, 7, 15, 2, 2, 288, 287, 3, 2, 2, 2, 288, 289, 3, 2, 2, 2, 289, 290, 3, 2, 2, 2, 290, 291, 7, 12, 2, 2, 291, 292, 3, 2, 2, 2, 292, 293, 8, 46, 2, 2, 293, 92, 3, 2, 2, 2, 294, 296, 5, 101, 51, 2, 295, 294, 3, 2, 2, 2, 296, 297, 3, 2, 2, 2, 297, 295, 3, 2, 2, 2, 297, 298, 3, 2, 2, 2, 298, 94, 3, 2, 2, 2, 299, 304, 5, 99, 50, 2, 300, 303, 5, 99, 50, 2, 301, 303, 5, 101, 51, 2, 302, 300, 3, 2, 2, 2, 302, 301, 3, 2, 2, 2, 303, 306, 3, 2, 2, 2, 304, 302, 3, 2, 2, 2, 304, 305, 3, 2, 2, 2, 305, 96, 3, 2, 2, 2, 306, 304, 3, 2, 2, 2, 307, 308, 9, 3, 2, 2, 308, 309, 3, 2, 2, 2, 309, 310, 8, 49, 2, 2, 310, 98, 3, 2, 2, 2, 311, 312, 9, 4, 2, 2, 312, 100, 3, 2, 2, 2, 313, 314, 9, 5, 2, 2, 314, 102, 3, 2, 2, 2, 315, 316, 7, 94, 2, 2, 316, 317, 7, 126, 2, 2, 317, 104, 3, 2, 2, 2, 12, 2, 260, 262, 271, 273, 284, 288, 297, 302, 304, 3, 8, 2, 2] \ No newline at end of file +[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 50, 308, 8, 1, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 4, 12, 9, 12, 4, 13, 9, 13, 4, 14, 9, 14, 4, 15, 9, 15, 4, 16, 9, 16, 4, 17, 9, 17, 4, 18, 9, 18, 4, 19, 9, 19, 4, 20, 9, 20, 4, 21, 9, 21, 4, 22, 9, 22, 4, 23, 9, 23, 4, 24, 9, 24, 4, 25, 9, 25, 4, 26, 9, 26, 4, 27, 9, 27, 4, 28, 9, 28, 4, 29, 9, 29, 4, 30, 9, 30, 4, 31, 9, 31, 4, 32, 9, 32, 4, 33, 9, 33, 4, 34, 9, 34, 4, 35, 9, 35, 4, 36, 9, 36, 4, 37, 9, 37, 4, 38, 9, 38, 4, 39, 9, 39, 4, 40, 9, 40, 4, 41, 9, 41, 4, 42, 9, 42, 4, 43, 9, 43, 4, 44, 9, 44, 4, 45, 9, 45, 4, 46, 9, 46, 4, 47, 9, 47, 4, 48, 9, 48, 4, 49, 9, 49, 4, 50, 9, 50, 4, 51, 9, 51, 3, 2, 3, 2, 3, 3, 3, 3, 3, 4, 3, 4, 3, 4, 3, 5, 3, 5, 3, 5, 3, 6, 3, 6, 3, 6, 3, 6, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 12, 3, 12, 3, 12, 3, 12, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 16, 3, 16, 3, 16, 3, 16, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 20, 3, 20, 3, 21, 3, 21, 3, 22, 3, 22, 3, 23, 3, 23, 3, 24, 3, 24, 3, 25, 3, 25, 3, 26, 3, 26, 3, 27, 3, 27, 3, 27, 3, 28, 3, 28, 3, 28, 3, 29, 3, 29, 3, 29, 3, 30, 3, 30, 3, 31, 3, 31, 3, 31, 3, 32, 3, 32, 3, 32, 3, 33, 3, 33, 3, 34, 3, 34, 3, 35, 3, 35, 3, 36, 3, 36, 3, 37, 3, 37, 3, 38, 3, 38, 3, 39, 3, 39, 3, 40, 3, 40, 3, 41, 3, 41, 3, 41, 3, 42, 3, 42, 3, 43, 3, 43, 3, 43, 3, 43, 7, 43, 251, 10, 43, 12, 43, 14, 43, 254, 11, 43, 3, 43, 3, 43, 3, 44, 3, 44, 3, 44, 3, 44, 7, 44, 262, 10, 44, 12, 44, 14, 44, 265, 11, 44, 3, 44, 3, 44, 3, 45, 3, 45, 3, 45, 3, 45, 7, 45, 273, 10, 45, 12, 45, 14, 45, 276, 11, 45, 3, 45, 5, 45, 279, 10, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 46, 6, 46, 286, 10, 46, 13, 46, 14, 46, 287, 3, 47, 3, 47, 3, 47, 7, 47, 293, 10, 47, 12, 47, 14, 47, 296, 11, 47, 3, 48, 3, 48, 3, 48, 3, 48, 3, 49, 3, 49, 3, 50, 3, 50, 3, 51, 3, 51, 3, 51, 5, 252, 263, 274, 2, 52, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13, 8, 15, 9, 17, 10, 19, 11, 21, 12, 23, 13, 25, 14, 27, 15, 29, 16, 31, 17, 33, 18, 35, 19, 37, 20, 39, 21, 41, 22, 43, 23, 45, 24, 47, 25, 49, 26, 51, 27, 53, 28, 55, 29, 57, 30, 59, 31, 61, 32, 63, 33, 65, 34, 67, 35, 69, 36, 71, 37, 73, 38, 75, 39, 77, 40, 79, 41, 81, 42, 83, 43, 85, 44, 87, 45, 89, 46, 91, 47, 93, 48, 95, 49, 97, 2, 99, 2, 101, 50, 3, 2, 6, 6, 2, 38, 38, 45, 45, 63, 64, 98, 98, 5, 2, 11, 12, 15, 15, 34, 34, 5, 2, 67, 92, 97, 97, 99, 124, 3, 2, 50, 59, 2, 314, 2, 3, 3, 2, 2, 2, 2, 5, 3, 2, 2, 2, 2, 7, 3, 2, 2, 2, 2, 9, 3, 2, 2, 2, 2, 11, 3, 2, 2, 2, 2, 13, 3, 2, 2, 2, 2, 15, 3, 2, 2, 2, 2, 17, 3, 2, 2, 2, 2, 19, 3, 2, 2, 2, 2, 21, 3, 2, 2, 2, 2, 23, 3, 2, 2, 2, 2, 25, 3, 2, 2, 2, 2, 27, 3, 2, 2, 2, 2, 29, 3, 2, 2, 2, 2, 31, 3, 2, 2, 2, 2, 33, 3, 2, 2, 2, 2, 35, 3, 2, 2, 2, 2, 37, 3, 2, 2, 2, 2, 39, 3, 2, 2, 2, 2, 41, 3, 2, 2, 2, 2, 43, 3, 2, 2, 2, 2, 45, 3, 2, 2, 2, 2, 47, 3, 2, 2, 2, 2, 49, 3, 2, 2, 2, 2, 51, 3, 2, 2, 2, 2, 53, 3, 2, 2, 2, 2, 55, 3, 2, 2, 2, 2, 57, 3, 2, 2, 2, 2, 59, 3, 2, 2, 2, 2, 61, 3, 2, 2, 2, 2, 63, 3, 2, 2, 2, 2, 65, 3, 2, 2, 2, 2, 67, 3, 2, 2, 2, 2, 69, 3, 2, 2, 2, 2, 71, 3, 2, 2, 2, 2, 73, 3, 2, 2, 2, 2, 75, 3, 2, 2, 2, 2, 77, 3, 2, 2, 2, 2, 79, 3, 2, 2, 2, 2, 81, 3, 2, 2, 2, 2, 83, 3, 2, 2, 2, 2, 85, 3, 2, 2, 2, 2, 87, 3, 2, 2, 2, 2, 89, 3, 2, 2, 2, 2, 91, 3, 2, 2, 2, 2, 93, 3, 2, 2, 2, 2, 95, 3, 2, 2, 2, 2, 101, 3, 2, 2, 2, 3, 103, 3, 2, 2, 2, 5, 105, 3, 2, 2, 2, 7, 107, 3, 2, 2, 2, 9, 110, 3, 2, 2, 2, 11, 113, 3, 2, 2, 2, 13, 117, 3, 2, 2, 2, 15, 126, 3, 2, 2, 2, 17, 130, 3, 2, 2, 2, 19, 133, 3, 2, 2, 2, 21, 138, 3, 2, 2, 2, 23, 143, 3, 2, 2, 2, 25, 147, 3, 2, 2, 2, 27, 154, 3, 2, 2, 2, 29, 159, 3, 2, 2, 2, 31, 165, 3, 2, 2, 2, 33, 169, 3, 2, 2, 2, 35, 176, 3, 2, 2, 2, 37, 183, 3, 2, 2, 2, 39, 194, 3, 2, 2, 2, 41, 196, 3, 2, 2, 2, 43, 198, 3, 2, 2, 2, 45, 200, 3, 2, 2, 2, 47, 202, 3, 2, 2, 2, 49, 204, 3, 2, 2, 2, 51, 206, 3, 2, 2, 2, 53, 208, 3, 2, 2, 2, 55, 211, 3, 2, 2, 2, 57, 214, 3, 2, 2, 2, 59, 217, 3, 2, 2, 2, 61, 219, 3, 2, 2, 2, 63, 222, 3, 2, 2, 2, 65, 225, 3, 2, 2, 2, 67, 227, 3, 2, 2, 2, 69, 229, 3, 2, 2, 2, 71, 231, 3, 2, 2, 2, 73, 233, 3, 2, 2, 2, 75, 235, 3, 2, 2, 2, 77, 237, 3, 2, 2, 2, 79, 239, 3, 2, 2, 2, 81, 241, 3, 2, 2, 2, 83, 244, 3, 2, 2, 2, 85, 246, 3, 2, 2, 2, 87, 257, 3, 2, 2, 2, 89, 268, 3, 2, 2, 2, 91, 285, 3, 2, 2, 2, 93, 289, 3, 2, 2, 2, 95, 297, 3, 2, 2, 2, 97, 301, 3, 2, 2, 2, 99, 303, 3, 2, 2, 2, 101, 305, 3, 2, 2, 2, 103, 104, 7, 63, 2, 2, 104, 4, 3, 2, 2, 2, 105, 106, 7, 64, 2, 2, 106, 6, 3, 2, 2, 2, 107, 108, 7, 45, 2, 2, 108, 109, 7, 45, 2, 2, 109, 8, 3, 2, 2, 2, 110, 111, 7, 47, 2, 2, 111, 112, 7, 47, 2, 2, 112, 10, 3, 2, 2, 2, 113, 114, 7, 112, 2, 2, 114, 115, 7, 103, 2, 2, 115, 116, 7, 121, 2, 2, 116, 12, 3, 2, 2, 2, 117, 118, 7, 120, 2, 2, 118, 119, 7, 99, 2, 2, 119, 120, 7, 116, 2, 2, 120, 121, 7, 107, 2, 2, 121, 122, 7, 99, 2, 2, 122, 123, 7, 100, 2, 2, 123, 124, 7, 110, 2, 2, 124, 125, 7, 103, 2, 2, 125, 14, 3, 2, 2, 2, 126, 127, 7, 110, 2, 2, 127, 128, 7, 103, 2, 2, 128, 129, 7, 118, 2, 2, 129, 16, 3, 2, 2, 2, 130, 131, 7, 107, 2, 2, 131, 132, 7, 104, 2, 2, 132, 18, 3, 2, 2, 2, 133, 134, 7, 118, 2, 2, 134, 135, 7, 106, 2, 2, 135, 136, 7, 103, 2, 2, 136, 137, 7, 112, 2, 2, 137, 20, 3, 2, 2, 2, 138, 139, 7, 103, 2, 2, 139, 140, 7, 110, 2, 2, 140, 141, 7, 117, 2, 2, 141, 142, 7, 103, 2, 2, 142, 22, 3, 2, 2, 2, 143, 144, 7, 104, 2, 2, 144, 145, 7, 113, 2, 2, 145, 146, 7, 116, 2, 2, 146, 24, 3, 2, 2, 2, 147, 148, 7, 116, 2, 2, 148, 149, 7, 103, 2, 2, 149, 150, 7, 118, 2, 2, 150, 151, 7, 119, 2, 2, 151, 152, 7, 116, 2, 2, 152, 153, 7, 112, 2, 2, 153, 26, 3, 2, 2, 2, 154, 155, 7, 120, 2, 2, 155, 156, 7, 113, 2, 2, 156, 157, 7, 107, 2, 2, 157, 158, 7, 102, 2, 2, 158, 28, 3, 2, 2, 2, 159, 160, 7, 104, 2, 2, 160, 161, 7, 110, 2, 2, 161, 162, 7, 113, 2, 2, 162, 163, 7, 99, 2, 2, 163, 164, 7, 118, 2, 2, 164, 30, 3, 2, 2, 2, 165, 166, 7, 107, 2, 2, 166, 167, 7, 112, 2, 2, 167, 168, 7, 118, 2, 2, 168, 32, 3, 2, 2, 2, 169, 170, 7, 117, 2, 2, 170, 171, 7, 118, 2, 2, 171, 172, 7, 116, 2, 2, 172, 173, 7, 107, 2, 2, 173, 174, 7, 112, 2, 2, 174, 175, 7, 105, 2, 2, 175, 34, 3, 2, 2, 2, 176, 177, 7, 113, 2, 2, 177, 178, 7, 100, 2, 2, 178, 179, 7, 108, 2, 2, 179, 180, 7, 103, 2, 2, 180, 181, 7, 101, 2, 2, 181, 182, 7, 118, 2, 2, 182, 36, 3, 2, 2, 2, 183, 184, 7, 103, 2, 2, 184, 185, 7, 122, 2, 2, 185, 186, 7, 114, 2, 2, 186, 187, 7, 116, 2, 2, 187, 188, 7, 103, 2, 2, 188, 189, 7, 117, 2, 2, 189, 190, 7, 117, 2, 2, 190, 191, 7, 107, 2, 2, 191, 192, 7, 113, 2, 2, 192, 193, 7, 112, 2, 2, 193, 38, 3, 2, 2, 2, 194, 195, 9, 2, 2, 2, 195, 40, 3, 2, 2, 2, 196, 197, 7, 60, 2, 2, 197, 42, 3, 2, 2, 2, 198, 199, 7, 61, 2, 2, 199, 44, 3, 2, 2, 2, 200, 201, 7, 46, 2, 2, 201, 46, 3, 2, 2, 2, 202, 203, 7, 45, 2, 2, 203, 48, 3, 2, 2, 2, 204, 205, 7, 47, 2, 2, 205, 50, 3, 2, 2, 2, 206, 207, 7, 44, 2, 2, 207, 52, 3, 2, 2, 2, 208, 209, 7, 63, 2, 2, 209, 210, 7, 63, 2, 2, 210, 54, 3, 2, 2, 2, 211, 212, 7, 35, 2, 2, 212, 213, 7, 63, 2, 2, 213, 56, 3, 2, 2, 2, 214, 215, 7, 64, 2, 2, 215, 216, 7, 63, 2, 2, 216, 58, 3, 2, 2, 2, 217, 218, 7, 62, 2, 2, 218, 60, 3, 2, 2, 2, 219, 220, 7, 62, 2, 2, 220, 221, 7, 63, 2, 2, 221, 62, 3, 2, 2, 2, 222, 223, 7, 63, 2, 2, 223, 224, 7, 64, 2, 2, 224, 64, 3, 2, 2, 2, 225, 226, 7, 42, 2, 2, 226, 66, 3, 2, 2, 2, 227, 228, 7, 43, 2, 2, 228, 68, 3, 2, 2, 2, 229, 230, 7, 93, 2, 2, 230, 70, 3, 2, 2, 2, 231, 232, 7, 95, 2, 2, 232, 72, 3, 2, 2, 2, 233, 234, 7, 125, 2, 2, 234, 74, 3, 2, 2, 2, 235, 236, 7, 127, 2, 2, 236, 76, 3, 2, 2, 2, 237, 238, 7, 35, 2, 2, 238, 78, 3, 2, 2, 2, 239, 240, 7, 126, 2, 2, 240, 80, 3, 2, 2, 2, 241, 242, 7, 126, 2, 2, 242, 243, 7, 126, 2, 2, 243, 82, 3, 2, 2, 2, 244, 245, 7, 48, 2, 2, 245, 84, 3, 2, 2, 2, 246, 252, 7, 36, 2, 2, 247, 248, 7, 94, 2, 2, 248, 251, 7, 36, 2, 2, 249, 251, 11, 2, 2, 2, 250, 247, 3, 2, 2, 2, 250, 249, 3, 2, 2, 2, 251, 254, 3, 2, 2, 2, 252, 253, 3, 2, 2, 2, 252, 250, 3, 2, 2, 2, 253, 255, 3, 2, 2, 2, 254, 252, 3, 2, 2, 2, 255, 256, 7, 36, 2, 2, 256, 86, 3, 2, 2, 2, 257, 263, 7, 98, 2, 2, 258, 259, 7, 94, 2, 2, 259, 262, 7, 36, 2, 2, 260, 262, 11, 2, 2, 2, 261, 258, 3, 2, 2, 2, 261, 260, 3, 2, 2, 2, 262, 265, 3, 2, 2, 2, 263, 264, 3, 2, 2, 2, 263, 261, 3, 2, 2, 2, 264, 266, 3, 2, 2, 2, 265, 263, 3, 2, 2, 2, 266, 267, 7, 98, 2, 2, 267, 88, 3, 2, 2, 2, 268, 269, 7, 49, 2, 2, 269, 270, 7, 49, 2, 2, 270, 274, 3, 2, 2, 2, 271, 273, 11, 2, 2, 2, 272, 271, 3, 2, 2, 2, 273, 276, 3, 2, 2, 2, 274, 275, 3, 2, 2, 2, 274, 272, 3, 2, 2, 2, 275, 278, 3, 2, 2, 2, 276, 274, 3, 2, 2, 2, 277, 279, 7, 15, 2, 2, 278, 277, 3, 2, 2, 2, 278, 279, 3, 2, 2, 2, 279, 280, 3, 2, 2, 2, 280, 281, 7, 12, 2, 2, 281, 282, 3, 2, 2, 2, 282, 283, 8, 45, 2, 2, 283, 90, 3, 2, 2, 2, 284, 286, 5, 99, 50, 2, 285, 284, 3, 2, 2, 2, 286, 287, 3, 2, 2, 2, 287, 285, 3, 2, 2, 2, 287, 288, 3, 2, 2, 2, 288, 92, 3, 2, 2, 2, 289, 294, 5, 97, 49, 2, 290, 293, 5, 97, 49, 2, 291, 293, 5, 99, 50, 2, 292, 290, 3, 2, 2, 2, 292, 291, 3, 2, 2, 2, 293, 296, 3, 2, 2, 2, 294, 292, 3, 2, 2, 2, 294, 295, 3, 2, 2, 2, 295, 94, 3, 2, 2, 2, 296, 294, 3, 2, 2, 2, 297, 298, 9, 3, 2, 2, 298, 299, 3, 2, 2, 2, 299, 300, 8, 48, 2, 2, 300, 96, 3, 2, 2, 2, 301, 302, 9, 4, 2, 2, 302, 98, 3, 2, 2, 2, 303, 304, 9, 5, 2, 2, 304, 100, 3, 2, 2, 2, 305, 306, 7, 94, 2, 2, 306, 307, 7, 126, 2, 2, 307, 102, 3, 2, 2, 2, 12, 2, 250, 252, 261, 263, 274, 278, 287, 292, 294, 3, 8, 2, 2] \ No newline at end of file diff --git a/src/dsl/Elsa.Dsl/Abstractions/ElsaLexer.tokens b/src/dsl/Elsa.Dsl/Abstractions/ElsaLexer.tokens index 9dc36cf31..0d4fb8cb2 100644 --- a/src/dsl/Elsa.Dsl/Abstractions/ElsaLexer.tokens +++ b/src/dsl/Elsa.Dsl/Abstractions/ElsaLexer.tokens @@ -3,89 +3,87 @@ GREATER=2 INCREMENT=3 DECREMENT=4 NEW=5 -TRIGGER=6 -VARIABLE=7 -LET=8 -IF=9 -THEN=10 -ELSE=11 -FOR=12 -RETURN=13 -VOID=14 -FLOAT=15 -INT=16 -STRING=17 -OBJECT=18 -EXPRESSION_MARKER=19 -SYMBOL=20 -COLON=21 -SEMICOLON=22 -COMMA=23 -PLUS=24 -MINUS=25 -STAR=26 -EQUALS=27 -NOT_EQUALS=28 -GREATER_EQUALS=29 -LESS=30 -LESS_EQUALS=31 -LAMBDA=32 -PARENTHESES_OPEN=33 -PARENTHESES_CLOSE=34 -BRACKET_OPEN=35 -BRACKET_CLOSE=36 -CURLYBRACE_OPEN=37 -CURLYBRACE_CLOSE=38 -EXCLAMATION=39 -PIPE=40 -PIPE_DBL=41 -PERIOD=42 -STRING_VAL=43 -BACKTICKSTRING_VAL=44 -LINE_COMMENT=45 -INTEGER_VAL=46 -ID=47 -WS=48 -ESC=49 +VARIABLE=6 +LET=7 +IF=8 +THEN=9 +ELSE=10 +FOR=11 +RETURN=12 +VOID=13 +FLOAT=14 +INT=15 +STRING=16 +OBJECT=17 +EXPRESSION_MARKER=18 +SYMBOL=19 +COLON=20 +SEMICOLON=21 +COMMA=22 +PLUS=23 +MINUS=24 +STAR=25 +EQUALS=26 +NOT_EQUALS=27 +GREATER_EQUALS=28 +LESS=29 +LESS_EQUALS=30 +LAMBDA=31 +PARENTHESES_OPEN=32 +PARENTHESES_CLOSE=33 +BRACKET_OPEN=34 +BRACKET_CLOSE=35 +CURLYBRACE_OPEN=36 +CURLYBRACE_CLOSE=37 +EXCLAMATION=38 +PIPE=39 +PIPE_DBL=40 +PERIOD=41 +STRING_VAL=42 +BACKTICKSTRING_VAL=43 +LINE_COMMENT=44 +INTEGER_VAL=45 +ID=46 +WS=47 +ESC=48 '='=1 '>'=2 '++'=3 '--'=4 'new'=5 -'trigger'=6 -'variable'=7 -'let'=8 -'if'=9 -'then'=10 -'else'=11 -'for'=12 -'return'=13 -'void'=14 -'float'=15 -'int'=16 -'string'=17 -'object'=18 -'expression'=19 -':'=21 -';'=22 -','=23 -'+'=24 -'-'=25 -'*'=26 -'=='=27 -'!='=28 -'>='=29 -'<'=30 -'<='=31 -'=>'=32 -'('=33 -')'=34 -'['=35 -']'=36 -'{'=37 -'}'=38 -'!'=39 -'|'=40 -'||'=41 -'.'=42 -'\\|'=49 +'variable'=6 +'let'=7 +'if'=8 +'then'=9 +'else'=10 +'for'=11 +'return'=12 +'void'=13 +'float'=14 +'int'=15 +'string'=16 +'object'=17 +'expression'=18 +':'=20 +';'=21 +','=22 +'+'=23 +'-'=24 +'*'=25 +'=='=26 +'!='=27 +'>='=28 +'<'=29 +'<='=30 +'=>'=31 +'('=32 +')'=33 +'['=34 +']'=35 +'{'=36 +'}'=37 +'!'=38 +'|'=39 +'||'=40 +'.'=41 +'\\|'=48 diff --git a/src/dsl/Elsa.Dsl/Abstractions/ElsaParser.cs b/src/dsl/Elsa.Dsl/Abstractions/ElsaParser.cs index d85a87c68..df60d7ba5 100644 --- a/src/dsl/Elsa.Dsl/Abstractions/ElsaParser.cs +++ b/src/dsl/Elsa.Dsl/Abstractions/ElsaParser.cs @@ -1,14 +1,14 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// ANTLR Version: 4.9.1 +// ANTLR Version: 4.9.2 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // //------------------------------------------------------------------------------ -// Generated from C:/Projects/Elsa/experimental/src/dsl/Elsa.Dsl/Dsl\ElsaParser.g4 by ANTLR 4.9.1 +// Generated from C:/Projects/Elsa/v3/src/dsl/Elsa.Dsl/Dsl\ElsaParser.g4 by ANTLR 4.9.2 // Unreachable code detected #pragma warning disable 0162 @@ -30,51 +30,51 @@ using Antlr4.Runtime.Misc; using Antlr4.Runtime.Tree; using DFA = Antlr4.Runtime.Dfa.DFA; -[System.CodeDom.Compiler.GeneratedCode("ANTLR", "4.9.1")] +[System.CodeDom.Compiler.GeneratedCode("ANTLR", "4.9.2")] [System.CLSCompliant(false)] public partial class ElsaParser : Parser { protected static DFA[] decisionToDFA; protected static PredictionContextCache sharedContextCache = new PredictionContextCache(); public const int - EQ=1, GREATER=2, INCREMENT=3, DECREMENT=4, NEW=5, TRIGGER=6, VARIABLE=7, - LET=8, IF=9, THEN=10, ELSE=11, FOR=12, RETURN=13, VOID=14, FLOAT=15, INT=16, - STRING=17, OBJECT=18, EXPRESSION_MARKER=19, SYMBOL=20, COLON=21, SEMICOLON=22, - COMMA=23, PLUS=24, MINUS=25, STAR=26, EQUALS=27, NOT_EQUALS=28, GREATER_EQUALS=29, - LESS=30, LESS_EQUALS=31, LAMBDA=32, PARENTHESES_OPEN=33, PARENTHESES_CLOSE=34, - BRACKET_OPEN=35, BRACKET_CLOSE=36, CURLYBRACE_OPEN=37, CURLYBRACE_CLOSE=38, - EXCLAMATION=39, PIPE=40, PIPE_DBL=41, PERIOD=42, STRING_VAL=43, BACKTICKSTRING_VAL=44, - LINE_COMMENT=45, INTEGER_VAL=46, ID=47, WS=48, ESC=49; + EQ=1, GREATER=2, INCREMENT=3, DECREMENT=4, NEW=5, VARIABLE=6, LET=7, IF=8, + THEN=9, ELSE=10, FOR=11, RETURN=12, VOID=13, FLOAT=14, INT=15, STRING=16, + OBJECT=17, EXPRESSION_MARKER=18, SYMBOL=19, COLON=20, SEMICOLON=21, COMMA=22, + PLUS=23, MINUS=24, STAR=25, EQUALS=26, NOT_EQUALS=27, GREATER_EQUALS=28, + LESS=29, LESS_EQUALS=30, LAMBDA=31, PARENTHESES_OPEN=32, PARENTHESES_CLOSE=33, + BRACKET_OPEN=34, BRACKET_CLOSE=35, CURLYBRACE_OPEN=36, CURLYBRACE_CLOSE=37, + EXCLAMATION=38, PIPE=39, PIPE_DBL=40, PERIOD=41, STRING_VAL=42, BACKTICKSTRING_VAL=43, + LINE_COMMENT=44, INTEGER_VAL=45, ID=46, WS=47, ESC=48; public const int - RULE_program = 0, RULE_trigger = 1, RULE_object = 2, RULE_newObject = 3, - RULE_varDecl = 4, RULE_localVarDecl = 5, RULE_type = 6, RULE_expressionMarker = 7, - RULE_expressionContent = 8, RULE_methodCall = 9, RULE_funcCall = 10, RULE_args = 11, - RULE_arg = 12, RULE_block = 13, RULE_objectInitializer = 14, RULE_propertyList = 15, - RULE_property = 16, RULE_stat = 17, RULE_thenStat = 18, RULE_elseStat = 19, - RULE_expr = 20, RULE_exprList = 21; + RULE_program = 0, RULE_object = 1, RULE_newObject = 2, RULE_varDecl = 3, + RULE_localVarDecl = 4, RULE_type = 5, RULE_expressionMarker = 6, RULE_expressionContent = 7, + RULE_methodCall = 8, RULE_funcCall = 9, RULE_args = 10, RULE_arg = 11, + RULE_block = 12, RULE_objectInitializer = 13, RULE_propertyList = 14, + RULE_property = 15, RULE_stat = 16, RULE_thenStat = 17, RULE_elseStat = 18, + RULE_expr = 19, RULE_exprList = 20; public static readonly string[] ruleNames = { - "program", "trigger", "object", "newObject", "varDecl", "localVarDecl", - "type", "expressionMarker", "expressionContent", "methodCall", "funcCall", - "args", "arg", "block", "objectInitializer", "propertyList", "property", - "stat", "thenStat", "elseStat", "expr", "exprList" + "program", "object", "newObject", "varDecl", "localVarDecl", "type", "expressionMarker", + "expressionContent", "methodCall", "funcCall", "args", "arg", "block", + "objectInitializer", "propertyList", "property", "stat", "thenStat", "elseStat", + "expr", "exprList" }; private static readonly string[] _LiteralNames = { - null, "'='", "'>'", "'++'", "'--'", "'new'", "'trigger'", "'variable'", - "'let'", "'if'", "'then'", "'else'", "'for'", "'return'", "'void'", "'float'", - "'int'", "'string'", "'object'", "'expression'", null, "':'", "';'", "','", - "'+'", "'-'", "'*'", "'=='", "'!='", "'>='", "'<'", "'<='", "'=>'", "'('", - "')'", "'['", "']'", "'{'", "'}'", "'!'", "'|'", "'||'", "'.'", null, - null, null, null, null, null, "'\\|'" + null, "'='", "'>'", "'++'", "'--'", "'new'", "'variable'", "'let'", "'if'", + "'then'", "'else'", "'for'", "'return'", "'void'", "'float'", "'int'", + "'string'", "'object'", "'expression'", null, "':'", "';'", "','", "'+'", + "'-'", "'*'", "'=='", "'!='", "'>='", "'<'", "'<='", "'=>'", "'('", "')'", + "'['", "']'", "'{'", "'}'", "'!'", "'|'", "'||'", "'.'", null, null, null, + null, null, null, "'\\|'" }; private static readonly string[] _SymbolicNames = { - null, "EQ", "GREATER", "INCREMENT", "DECREMENT", "NEW", "TRIGGER", "VARIABLE", - "LET", "IF", "THEN", "ELSE", "FOR", "RETURN", "VOID", "FLOAT", "INT", - "STRING", "OBJECT", "EXPRESSION_MARKER", "SYMBOL", "COLON", "SEMICOLON", - "COMMA", "PLUS", "MINUS", "STAR", "EQUALS", "NOT_EQUALS", "GREATER_EQUALS", - "LESS", "LESS_EQUALS", "LAMBDA", "PARENTHESES_OPEN", "PARENTHESES_CLOSE", - "BRACKET_OPEN", "BRACKET_CLOSE", "CURLYBRACE_OPEN", "CURLYBRACE_CLOSE", - "EXCLAMATION", "PIPE", "PIPE_DBL", "PERIOD", "STRING_VAL", "BACKTICKSTRING_VAL", - "LINE_COMMENT", "INTEGER_VAL", "ID", "WS", "ESC" + null, "EQ", "GREATER", "INCREMENT", "DECREMENT", "NEW", "VARIABLE", "LET", + "IF", "THEN", "ELSE", "FOR", "RETURN", "VOID", "FLOAT", "INT", "STRING", + "OBJECT", "EXPRESSION_MARKER", "SYMBOL", "COLON", "SEMICOLON", "COMMA", + "PLUS", "MINUS", "STAR", "EQUALS", "NOT_EQUALS", "GREATER_EQUALS", "LESS", + "LESS_EQUALS", "LAMBDA", "PARENTHESES_OPEN", "PARENTHESES_CLOSE", "BRACKET_OPEN", + "BRACKET_CLOSE", "CURLYBRACE_OPEN", "CURLYBRACE_CLOSE", "EXCLAMATION", + "PIPE", "PIPE_DBL", "PERIOD", "STRING_VAL", "BACKTICKSTRING_VAL", "LINE_COMMENT", + "INTEGER_VAL", "ID", "WS", "ESC" }; public static readonly IVocabulary DefaultVocabulary = new Vocabulary(_LiteralNames, _SymbolicNames); @@ -125,16 +125,6 @@ public partial class ElsaParser : Parser { } public override int RuleIndex { get { return RULE_program; } } [System.Diagnostics.DebuggerNonUserCode] - public override void EnterRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.EnterProgram(this); - } - [System.Diagnostics.DebuggerNonUserCode] - public override void ExitRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.ExitProgram(this); - } - [System.Diagnostics.DebuggerNonUserCode] public override TResult Accept(IParseTreeVisitor visitor) { IElsaParserVisitor typedVisitor = visitor as IElsaParserVisitor; if (typedVisitor != null) return typedVisitor.VisitProgram(this); @@ -150,16 +140,15 @@ public partial class ElsaParser : Parser { try { EnterOuterAlt(_localctx, 1); { - State = 48; + State = 46; ErrorHandler.Sync(this); _la = TokenStream.LA(1); - while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << NEW) | (1L << TRIGGER) | (1L << VARIABLE) | (1L << LET) | (1L << IF) | (1L << FOR) | (1L << RETURN) | (1L << MINUS) | (1L << PARENTHESES_OPEN) | (1L << BRACKET_OPEN) | (1L << CURLYBRACE_OPEN) | (1L << EXCLAMATION) | (1L << STRING_VAL) | (1L << BACKTICKSTRING_VAL) | (1L << LINE_COMMENT) | (1L << INTEGER_VAL) | (1L << ID))) != 0)) { + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << NEW) | (1L << VARIABLE) | (1L << LET) | (1L << IF) | (1L << FOR) | (1L << RETURN) | (1L << MINUS) | (1L << PARENTHESES_OPEN) | (1L << BRACKET_OPEN) | (1L << CURLYBRACE_OPEN) | (1L << EXCLAMATION) | (1L << STRING_VAL) | (1L << BACKTICKSTRING_VAL) | (1L << LINE_COMMENT) | (1L << INTEGER_VAL) | (1L << ID))) != 0)) { { - State = 46; + State = 44; ErrorHandler.Sync(this); switch (TokenStream.LA(1)) { case NEW: - case TRIGGER: case VARIABLE: case LET: case IF: @@ -175,13 +164,13 @@ public partial class ElsaParser : Parser { case INTEGER_VAL: case ID: { - State = 44; + State = 42; stat(); } break; case LINE_COMMENT: { - State = 45; + State = 43; Match(LINE_COMMENT); } break; @@ -189,7 +178,7 @@ public partial class ElsaParser : Parser { throw new NoViableAltException(this); } } - State = 50; + State = 48; ErrorHandler.Sync(this); _la = TokenStream.LA(1); } @@ -206,58 +195,6 @@ public partial class ElsaParser : Parser { return _localctx; } - public partial class TriggerContext : ParserRuleContext { - [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode TRIGGER() { return GetToken(ElsaParser.TRIGGER, 0); } - [System.Diagnostics.DebuggerNonUserCode] public ObjectContext @object() { - return GetRuleContext(0); - } - public TriggerContext(ParserRuleContext parent, int invokingState) - : base(parent, invokingState) - { - } - public override int RuleIndex { get { return RULE_trigger; } } - [System.Diagnostics.DebuggerNonUserCode] - public override void EnterRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.EnterTrigger(this); - } - [System.Diagnostics.DebuggerNonUserCode] - public override void ExitRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.ExitTrigger(this); - } - [System.Diagnostics.DebuggerNonUserCode] - public override TResult Accept(IParseTreeVisitor visitor) { - IElsaParserVisitor typedVisitor = visitor as IElsaParserVisitor; - if (typedVisitor != null) return typedVisitor.VisitTrigger(this); - else return visitor.VisitChildren(this); - } - } - - [RuleVersion(0)] - public TriggerContext trigger() { - TriggerContext _localctx = new TriggerContext(Context, State); - EnterRule(_localctx, 2, RULE_trigger); - try { - EnterOuterAlt(_localctx, 1); - { - State = 51; - Match(TRIGGER); - State = 52; - @object(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - ErrorHandler.ReportError(this, re); - ErrorHandler.Recover(this, re); - } - finally { - ExitRule(); - } - return _localctx; - } - public partial class ObjectContext : ParserRuleContext { [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ID() { return GetToken(ElsaParser.ID, 0); } [System.Diagnostics.DebuggerNonUserCode] public ObjectInitializerContext objectInitializer() { @@ -269,16 +206,6 @@ public partial class ElsaParser : Parser { } public override int RuleIndex { get { return RULE_object; } } [System.Diagnostics.DebuggerNonUserCode] - public override void EnterRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.EnterObject(this); - } - [System.Diagnostics.DebuggerNonUserCode] - public override void ExitRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.ExitObject(this); - } - [System.Diagnostics.DebuggerNonUserCode] public override TResult Accept(IParseTreeVisitor visitor) { IElsaParserVisitor typedVisitor = visitor as IElsaParserVisitor; if (typedVisitor != null) return typedVisitor.VisitObject(this); @@ -289,18 +216,18 @@ public partial class ElsaParser : Parser { [RuleVersion(0)] public ObjectContext @object() { ObjectContext _localctx = new ObjectContext(Context, State); - EnterRule(_localctx, 4, RULE_object); + EnterRule(_localctx, 2, RULE_object); try { EnterOuterAlt(_localctx, 1); { - State = 54; + State = 49; Match(ID); - State = 56; + State = 51; ErrorHandler.Sync(this); switch ( Interpreter.AdaptivePredict(TokenStream,2,Context) ) { case 1: { - State = 55; + State = 50; objectInitializer(); } break; @@ -337,16 +264,6 @@ public partial class ElsaParser : Parser { } public override int RuleIndex { get { return RULE_newObject; } } [System.Diagnostics.DebuggerNonUserCode] - public override void EnterRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.EnterNewObject(this); - } - [System.Diagnostics.DebuggerNonUserCode] - public override void ExitRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.ExitNewObject(this); - } - [System.Diagnostics.DebuggerNonUserCode] public override TResult Accept(IParseTreeVisitor visitor) { IElsaParserVisitor typedVisitor = visitor as IElsaParserVisitor; if (typedVisitor != null) return typedVisitor.VisitNewObject(this); @@ -357,42 +274,42 @@ public partial class ElsaParser : Parser { [RuleVersion(0)] public NewObjectContext newObject() { NewObjectContext _localctx = new NewObjectContext(Context, State); - EnterRule(_localctx, 6, RULE_newObject); + EnterRule(_localctx, 4, RULE_newObject); int _la; try { EnterOuterAlt(_localctx, 1); { - State = 58; + State = 53; Match(NEW); - State = 59; + State = 54; Match(ID); - State = 64; + State = 59; ErrorHandler.Sync(this); _la = TokenStream.LA(1); if (_la==LESS) { { - State = 60; + State = 55; Match(LESS); - State = 61; + State = 56; type(); - State = 62; + State = 57; Match(GREATER); } } - State = 66; + State = 61; Match(PARENTHESES_OPEN); - State = 68; + State = 63; ErrorHandler.Sync(this); _la = TokenStream.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << NEW) | (1L << EXPRESSION_MARKER) | (1L << MINUS) | (1L << PARENTHESES_OPEN) | (1L << BRACKET_OPEN) | (1L << EXCLAMATION) | (1L << STRING_VAL) | (1L << BACKTICKSTRING_VAL) | (1L << INTEGER_VAL) | (1L << ID))) != 0)) { { - State = 67; + State = 62; args(); } } - State = 70; + State = 65; Match(PARENTHESES_CLOSE); } } @@ -424,16 +341,6 @@ public partial class ElsaParser : Parser { } public override int RuleIndex { get { return RULE_varDecl; } } [System.Diagnostics.DebuggerNonUserCode] - public override void EnterRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.EnterVarDecl(this); - } - [System.Diagnostics.DebuggerNonUserCode] - public override void ExitRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.ExitVarDecl(this); - } - [System.Diagnostics.DebuggerNonUserCode] public override TResult Accept(IParseTreeVisitor visitor) { IElsaParserVisitor typedVisitor = visitor as IElsaParserVisitor; if (typedVisitor != null) return typedVisitor.VisitVarDecl(this); @@ -444,35 +351,35 @@ public partial class ElsaParser : Parser { [RuleVersion(0)] public VarDeclContext varDecl() { VarDeclContext _localctx = new VarDeclContext(Context, State); - EnterRule(_localctx, 8, RULE_varDecl); + EnterRule(_localctx, 6, RULE_varDecl); int _la; try { EnterOuterAlt(_localctx, 1); { - State = 72; + State = 67; Match(VARIABLE); - State = 73; + State = 68; Match(ID); - State = 76; + State = 71; ErrorHandler.Sync(this); _la = TokenStream.LA(1); if (_la==COLON) { { - State = 74; + State = 69; Match(COLON); - State = 75; + State = 70; type(); } } - State = 80; + State = 75; ErrorHandler.Sync(this); _la = TokenStream.LA(1); if (_la==EQ) { { - State = 78; + State = 73; Match(EQ); - State = 79; + State = 74; expr(0); } } @@ -507,16 +414,6 @@ public partial class ElsaParser : Parser { } public override int RuleIndex { get { return RULE_localVarDecl; } } [System.Diagnostics.DebuggerNonUserCode] - public override void EnterRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.EnterLocalVarDecl(this); - } - [System.Diagnostics.DebuggerNonUserCode] - public override void ExitRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.ExitLocalVarDecl(this); - } - [System.Diagnostics.DebuggerNonUserCode] public override TResult Accept(IParseTreeVisitor visitor) { IElsaParserVisitor typedVisitor = visitor as IElsaParserVisitor; if (typedVisitor != null) return typedVisitor.VisitLocalVarDecl(this); @@ -527,35 +424,35 @@ public partial class ElsaParser : Parser { [RuleVersion(0)] public LocalVarDeclContext localVarDecl() { LocalVarDeclContext _localctx = new LocalVarDeclContext(Context, State); - EnterRule(_localctx, 10, RULE_localVarDecl); + EnterRule(_localctx, 8, RULE_localVarDecl); int _la; try { EnterOuterAlt(_localctx, 1); { - State = 82; + State = 77; Match(LET); - State = 83; + State = 78; Match(ID); - State = 86; + State = 81; ErrorHandler.Sync(this); _la = TokenStream.LA(1); if (_la==COLON) { { - State = 84; + State = 79; Match(COLON); - State = 85; + State = 80; type(); } } - State = 90; + State = 85; ErrorHandler.Sync(this); _la = TokenStream.LA(1); if (_la==EQ) { { - State = 88; + State = 83; Match(EQ); - State = 89; + State = 84; expr(0); } } @@ -586,16 +483,6 @@ public partial class ElsaParser : Parser { } public override int RuleIndex { get { return RULE_type; } } [System.Diagnostics.DebuggerNonUserCode] - public override void EnterRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.EnterType(this); - } - [System.Diagnostics.DebuggerNonUserCode] - public override void ExitRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.ExitType(this); - } - [System.Diagnostics.DebuggerNonUserCode] public override TResult Accept(IParseTreeVisitor visitor) { IElsaParserVisitor typedVisitor = visitor as IElsaParserVisitor; if (typedVisitor != null) return typedVisitor.VisitType(this); @@ -606,12 +493,12 @@ public partial class ElsaParser : Parser { [RuleVersion(0)] public TypeContext type() { TypeContext _localctx = new TypeContext(Context, State); - EnterRule(_localctx, 12, RULE_type); + EnterRule(_localctx, 10, RULE_type); int _la; try { EnterOuterAlt(_localctx, 1); { - State = 92; + State = 87; _la = TokenStream.LA(1); if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << VOID) | (1L << FLOAT) | (1L << INT) | (1L << STRING) | (1L << OBJECT) | (1L << ID))) != 0)) ) { ErrorHandler.RecoverInline(this); @@ -649,16 +536,6 @@ public partial class ElsaParser : Parser { } public override int RuleIndex { get { return RULE_expressionMarker; } } [System.Diagnostics.DebuggerNonUserCode] - public override void EnterRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.EnterExpressionMarker(this); - } - [System.Diagnostics.DebuggerNonUserCode] - public override void ExitRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.ExitExpressionMarker(this); - } - [System.Diagnostics.DebuggerNonUserCode] public override TResult Accept(IParseTreeVisitor visitor) { IElsaParserVisitor typedVisitor = visitor as IElsaParserVisitor; if (typedVisitor != null) return typedVisitor.VisitExpressionMarker(this); @@ -669,36 +546,36 @@ public partial class ElsaParser : Parser { [RuleVersion(0)] public ExpressionMarkerContext expressionMarker() { ExpressionMarkerContext _localctx = new ExpressionMarkerContext(Context, State); - EnterRule(_localctx, 14, RULE_expressionMarker); + EnterRule(_localctx, 12, RULE_expressionMarker); try { - State = 104; + State = 99; ErrorHandler.Sync(this); switch (TokenStream.LA(1)) { case EXPRESSION_MARKER: EnterOuterAlt(_localctx, 1); { - State = 94; + State = 89; Match(EXPRESSION_MARKER); - State = 95; + State = 90; Match(PARENTHESES_OPEN); - State = 96; + State = 91; Match(ID); - State = 97; + State = 92; Match(COMMA); - State = 98; + State = 93; expressionContent(); - State = 99; + State = 94; Match(PARENTHESES_CLOSE); } break; case ID: EnterOuterAlt(_localctx, 2); { - State = 101; + State = 96; Match(ID); - State = 102; + State = 97; Match(LAMBDA); - State = 103; + State = 98; expressionContent(); } break; @@ -724,16 +601,6 @@ public partial class ElsaParser : Parser { } public override int RuleIndex { get { return RULE_expressionContent; } } [System.Diagnostics.DebuggerNonUserCode] - public override void EnterRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.EnterExpressionContent(this); - } - [System.Diagnostics.DebuggerNonUserCode] - public override void ExitRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.ExitExpressionContent(this); - } - [System.Diagnostics.DebuggerNonUserCode] public override TResult Accept(IParseTreeVisitor visitor) { IElsaParserVisitor typedVisitor = visitor as IElsaParserVisitor; if (typedVisitor != null) return typedVisitor.VisitExpressionContent(this); @@ -744,24 +611,24 @@ public partial class ElsaParser : Parser { [RuleVersion(0)] public ExpressionContentContext expressionContent() { ExpressionContentContext _localctx = new ExpressionContentContext(Context, State); - EnterRule(_localctx, 16, RULE_expressionContent); + EnterRule(_localctx, 14, RULE_expressionContent); try { int _alt; EnterOuterAlt(_localctx, 1); { - State = 109; + State = 104; ErrorHandler.Sync(this); _alt = Interpreter.AdaptivePredict(TokenStream,10,Context); while ( _alt!=1 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1+1 ) { { { - State = 106; + State = 101; MatchWildcard(); } } } - State = 111; + State = 106; ErrorHandler.Sync(this); _alt = Interpreter.AdaptivePredict(TokenStream,10,Context); } @@ -790,16 +657,6 @@ public partial class ElsaParser : Parser { } public override int RuleIndex { get { return RULE_methodCall; } } [System.Diagnostics.DebuggerNonUserCode] - public override void EnterRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.EnterMethodCall(this); - } - [System.Diagnostics.DebuggerNonUserCode] - public override void ExitRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.ExitMethodCall(this); - } - [System.Diagnostics.DebuggerNonUserCode] public override TResult Accept(IParseTreeVisitor visitor) { IElsaParserVisitor typedVisitor = visitor as IElsaParserVisitor; if (typedVisitor != null) return typedVisitor.VisitMethodCall(this); @@ -810,15 +667,15 @@ public partial class ElsaParser : Parser { [RuleVersion(0)] public MethodCallContext methodCall() { MethodCallContext _localctx = new MethodCallContext(Context, State); - EnterRule(_localctx, 18, RULE_methodCall); + EnterRule(_localctx, 16, RULE_methodCall); try { EnterOuterAlt(_localctx, 1); { - State = 112; + State = 107; Match(ID); - State = 113; + State = 108; Match(PERIOD); - State = 114; + State = 109; funcCall(); } } @@ -846,16 +703,6 @@ public partial class ElsaParser : Parser { } public override int RuleIndex { get { return RULE_funcCall; } } [System.Diagnostics.DebuggerNonUserCode] - public override void EnterRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.EnterFuncCall(this); - } - [System.Diagnostics.DebuggerNonUserCode] - public override void ExitRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.ExitFuncCall(this); - } - [System.Diagnostics.DebuggerNonUserCode] public override TResult Accept(IParseTreeVisitor visitor) { IElsaParserVisitor typedVisitor = visitor as IElsaParserVisitor; if (typedVisitor != null) return typedVisitor.VisitFuncCall(this); @@ -866,26 +713,26 @@ public partial class ElsaParser : Parser { [RuleVersion(0)] public FuncCallContext funcCall() { FuncCallContext _localctx = new FuncCallContext(Context, State); - EnterRule(_localctx, 20, RULE_funcCall); + EnterRule(_localctx, 18, RULE_funcCall); int _la; try { EnterOuterAlt(_localctx, 1); { - State = 116; + State = 111; Match(ID); - State = 117; + State = 112; Match(PARENTHESES_OPEN); - State = 119; + State = 114; ErrorHandler.Sync(this); _la = TokenStream.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << NEW) | (1L << EXPRESSION_MARKER) | (1L << MINUS) | (1L << PARENTHESES_OPEN) | (1L << BRACKET_OPEN) | (1L << EXCLAMATION) | (1L << STRING_VAL) | (1L << BACKTICKSTRING_VAL) | (1L << INTEGER_VAL) | (1L << ID))) != 0)) { { - State = 118; + State = 113; args(); } } - State = 121; + State = 116; Match(PARENTHESES_CLOSE); } } @@ -917,16 +764,6 @@ public partial class ElsaParser : Parser { } public override int RuleIndex { get { return RULE_args; } } [System.Diagnostics.DebuggerNonUserCode] - public override void EnterRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.EnterArgs(this); - } - [System.Diagnostics.DebuggerNonUserCode] - public override void ExitRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.ExitArgs(this); - } - [System.Diagnostics.DebuggerNonUserCode] public override TResult Accept(IParseTreeVisitor visitor) { IElsaParserVisitor typedVisitor = visitor as IElsaParserVisitor; if (typedVisitor != null) return typedVisitor.VisitArgs(this); @@ -937,26 +774,26 @@ public partial class ElsaParser : Parser { [RuleVersion(0)] public ArgsContext args() { ArgsContext _localctx = new ArgsContext(Context, State); - EnterRule(_localctx, 22, RULE_args); + EnterRule(_localctx, 20, RULE_args); int _la; try { EnterOuterAlt(_localctx, 1); { - State = 123; + State = 118; arg(); - State = 128; + State = 123; ErrorHandler.Sync(this); _la = TokenStream.LA(1); while (_la==COMMA) { { { - State = 124; + State = 119; Match(COMMA); - State = 125; + State = 120; arg(); } } - State = 130; + State = 125; ErrorHandler.Sync(this); _la = TokenStream.LA(1); } @@ -986,16 +823,6 @@ public partial class ElsaParser : Parser { } public override int RuleIndex { get { return RULE_arg; } } [System.Diagnostics.DebuggerNonUserCode] - public override void EnterRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.EnterArg(this); - } - [System.Diagnostics.DebuggerNonUserCode] - public override void ExitRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.ExitArg(this); - } - [System.Diagnostics.DebuggerNonUserCode] public override TResult Accept(IParseTreeVisitor visitor) { IElsaParserVisitor typedVisitor = visitor as IElsaParserVisitor; if (typedVisitor != null) return typedVisitor.VisitArg(this); @@ -1006,22 +833,22 @@ public partial class ElsaParser : Parser { [RuleVersion(0)] public ArgContext arg() { ArgContext _localctx = new ArgContext(Context, State); - EnterRule(_localctx, 24, RULE_arg); + EnterRule(_localctx, 22, RULE_arg); try { - State = 133; + State = 128; ErrorHandler.Sync(this); switch ( Interpreter.AdaptivePredict(TokenStream,13,Context) ) { case 1: EnterOuterAlt(_localctx, 1); { - State = 131; + State = 126; expr(0); } break; case 2: EnterOuterAlt(_localctx, 2); { - State = 132; + State = 127; expressionMarker(); } break; @@ -1053,16 +880,6 @@ public partial class ElsaParser : Parser { } public override int RuleIndex { get { return RULE_block; } } [System.Diagnostics.DebuggerNonUserCode] - public override void EnterRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.EnterBlock(this); - } - [System.Diagnostics.DebuggerNonUserCode] - public override void ExitRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.ExitBlock(this); - } - [System.Diagnostics.DebuggerNonUserCode] public override TResult Accept(IParseTreeVisitor visitor) { IElsaParserVisitor typedVisitor = visitor as IElsaParserVisitor; if (typedVisitor != null) return typedVisitor.VisitBlock(this); @@ -1073,28 +890,28 @@ public partial class ElsaParser : Parser { [RuleVersion(0)] public BlockContext block() { BlockContext _localctx = new BlockContext(Context, State); - EnterRule(_localctx, 26, RULE_block); + EnterRule(_localctx, 24, RULE_block); int _la; try { EnterOuterAlt(_localctx, 1); { - State = 135; + State = 130; Match(CURLYBRACE_OPEN); - State = 139; + State = 134; ErrorHandler.Sync(this); _la = TokenStream.LA(1); - while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << NEW) | (1L << TRIGGER) | (1L << VARIABLE) | (1L << LET) | (1L << IF) | (1L << FOR) | (1L << RETURN) | (1L << MINUS) | (1L << PARENTHESES_OPEN) | (1L << BRACKET_OPEN) | (1L << CURLYBRACE_OPEN) | (1L << EXCLAMATION) | (1L << STRING_VAL) | (1L << BACKTICKSTRING_VAL) | (1L << INTEGER_VAL) | (1L << ID))) != 0)) { + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << NEW) | (1L << VARIABLE) | (1L << LET) | (1L << IF) | (1L << FOR) | (1L << RETURN) | (1L << MINUS) | (1L << PARENTHESES_OPEN) | (1L << BRACKET_OPEN) | (1L << CURLYBRACE_OPEN) | (1L << EXCLAMATION) | (1L << STRING_VAL) | (1L << BACKTICKSTRING_VAL) | (1L << INTEGER_VAL) | (1L << ID))) != 0)) { { { - State = 136; + State = 131; stat(); } } - State = 141; + State = 136; ErrorHandler.Sync(this); _la = TokenStream.LA(1); } - State = 142; + State = 137; Match(CURLYBRACE_CLOSE); } } @@ -1121,16 +938,6 @@ public partial class ElsaParser : Parser { } public override int RuleIndex { get { return RULE_objectInitializer; } } [System.Diagnostics.DebuggerNonUserCode] - public override void EnterRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.EnterObjectInitializer(this); - } - [System.Diagnostics.DebuggerNonUserCode] - public override void ExitRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.ExitObjectInitializer(this); - } - [System.Diagnostics.DebuggerNonUserCode] public override TResult Accept(IParseTreeVisitor visitor) { IElsaParserVisitor typedVisitor = visitor as IElsaParserVisitor; if (typedVisitor != null) return typedVisitor.VisitObjectInitializer(this); @@ -1141,24 +948,24 @@ public partial class ElsaParser : Parser { [RuleVersion(0)] public ObjectInitializerContext objectInitializer() { ObjectInitializerContext _localctx = new ObjectInitializerContext(Context, State); - EnterRule(_localctx, 28, RULE_objectInitializer); + EnterRule(_localctx, 26, RULE_objectInitializer); int _la; try { EnterOuterAlt(_localctx, 1); { - State = 144; + State = 139; Match(CURLYBRACE_OPEN); - State = 146; + State = 141; ErrorHandler.Sync(this); _la = TokenStream.LA(1); if (_la==ID) { { - State = 145; + State = 140; propertyList(); } } - State = 148; + State = 143; Match(CURLYBRACE_CLOSE); } } @@ -1190,16 +997,6 @@ public partial class ElsaParser : Parser { } public override int RuleIndex { get { return RULE_propertyList; } } [System.Diagnostics.DebuggerNonUserCode] - public override void EnterRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.EnterPropertyList(this); - } - [System.Diagnostics.DebuggerNonUserCode] - public override void ExitRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.ExitPropertyList(this); - } - [System.Diagnostics.DebuggerNonUserCode] public override TResult Accept(IParseTreeVisitor visitor) { IElsaParserVisitor typedVisitor = visitor as IElsaParserVisitor; if (typedVisitor != null) return typedVisitor.VisitPropertyList(this); @@ -1210,26 +1007,26 @@ public partial class ElsaParser : Parser { [RuleVersion(0)] public PropertyListContext propertyList() { PropertyListContext _localctx = new PropertyListContext(Context, State); - EnterRule(_localctx, 30, RULE_propertyList); + EnterRule(_localctx, 28, RULE_propertyList); int _la; try { EnterOuterAlt(_localctx, 1); { - State = 150; + State = 145; property(); - State = 155; + State = 150; ErrorHandler.Sync(this); _la = TokenStream.LA(1); while (_la==COMMA) { { { - State = 151; + State = 146; Match(COMMA); - State = 152; + State = 147; property(); } } - State = 157; + State = 152; ErrorHandler.Sync(this); _la = TokenStream.LA(1); } @@ -1258,16 +1055,6 @@ public partial class ElsaParser : Parser { } public override int RuleIndex { get { return RULE_property; } } [System.Diagnostics.DebuggerNonUserCode] - public override void EnterRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.EnterProperty(this); - } - [System.Diagnostics.DebuggerNonUserCode] - public override void ExitRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.ExitProperty(this); - } - [System.Diagnostics.DebuggerNonUserCode] public override TResult Accept(IParseTreeVisitor visitor) { IElsaParserVisitor typedVisitor = visitor as IElsaParserVisitor; if (typedVisitor != null) return typedVisitor.VisitProperty(this); @@ -1278,15 +1065,15 @@ public partial class ElsaParser : Parser { [RuleVersion(0)] public PropertyContext property() { PropertyContext _localctx = new PropertyContext(Context, State); - EnterRule(_localctx, 32, RULE_property); + EnterRule(_localctx, 30, RULE_property); try { EnterOuterAlt(_localctx, 1); { - State = 158; + State = 153; Match(ID); - State = 159; + State = 154; Match(COLON); - State = 160; + State = 155; expr(0); } } @@ -1328,16 +1115,6 @@ public partial class ElsaParser : Parser { } public IfStatContext(StatContext context) { CopyFrom(context); } [System.Diagnostics.DebuggerNonUserCode] - public override void EnterRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.EnterIfStat(this); - } - [System.Diagnostics.DebuggerNonUserCode] - public override void ExitRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.ExitIfStat(this); - } - [System.Diagnostics.DebuggerNonUserCode] public override TResult Accept(IParseTreeVisitor visitor) { IElsaParserVisitor typedVisitor = visitor as IElsaParserVisitor; if (typedVisitor != null) return typedVisitor.VisitIfStat(this); @@ -1350,16 +1127,6 @@ public partial class ElsaParser : Parser { } public BlockStatContext(StatContext context) { CopyFrom(context); } [System.Diagnostics.DebuggerNonUserCode] - public override void EnterRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.EnterBlockStat(this); - } - [System.Diagnostics.DebuggerNonUserCode] - public override void ExitRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.ExitBlockStat(this); - } - [System.Diagnostics.DebuggerNonUserCode] public override TResult Accept(IParseTreeVisitor visitor) { IElsaParserVisitor typedVisitor = visitor as IElsaParserVisitor; if (typedVisitor != null) return typedVisitor.VisitBlockStat(this); @@ -1373,45 +1140,12 @@ public partial class ElsaParser : Parser { [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SEMICOLON() { return GetToken(ElsaParser.SEMICOLON, 0); } public ExpressionStatContext(StatContext context) { CopyFrom(context); } [System.Diagnostics.DebuggerNonUserCode] - public override void EnterRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.EnterExpressionStat(this); - } - [System.Diagnostics.DebuggerNonUserCode] - public override void ExitRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.ExitExpressionStat(this); - } - [System.Diagnostics.DebuggerNonUserCode] public override TResult Accept(IParseTreeVisitor visitor) { IElsaParserVisitor typedVisitor = visitor as IElsaParserVisitor; if (typedVisitor != null) return typedVisitor.VisitExpressionStat(this); else return visitor.VisitChildren(this); } } - public partial class TriggerStatContext : StatContext { - [System.Diagnostics.DebuggerNonUserCode] public TriggerContext trigger() { - return GetRuleContext(0); - } - [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SEMICOLON() { return GetToken(ElsaParser.SEMICOLON, 0); } - public TriggerStatContext(StatContext context) { CopyFrom(context); } - [System.Diagnostics.DebuggerNonUserCode] - public override void EnterRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.EnterTriggerStat(this); - } - [System.Diagnostics.DebuggerNonUserCode] - public override void ExitRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.ExitTriggerStat(this); - } - [System.Diagnostics.DebuggerNonUserCode] - public override TResult Accept(IParseTreeVisitor visitor) { - IElsaParserVisitor typedVisitor = visitor as IElsaParserVisitor; - if (typedVisitor != null) return typedVisitor.VisitTriggerStat(this); - else return visitor.VisitChildren(this); - } - } public partial class ObjectStatContext : StatContext { [System.Diagnostics.DebuggerNonUserCode] public ObjectContext @object() { return GetRuleContext(0); @@ -1419,16 +1153,6 @@ public partial class ElsaParser : Parser { [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SEMICOLON() { return GetToken(ElsaParser.SEMICOLON, 0); } public ObjectStatContext(StatContext context) { CopyFrom(context); } [System.Diagnostics.DebuggerNonUserCode] - public override void EnterRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.EnterObjectStat(this); - } - [System.Diagnostics.DebuggerNonUserCode] - public override void ExitRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.ExitObjectStat(this); - } - [System.Diagnostics.DebuggerNonUserCode] public override TResult Accept(IParseTreeVisitor visitor) { IElsaParserVisitor typedVisitor = visitor as IElsaParserVisitor; if (typedVisitor != null) return typedVisitor.VisitObjectStat(this); @@ -1443,16 +1167,6 @@ public partial class ElsaParser : Parser { } public ReturnStatContext(StatContext context) { CopyFrom(context); } [System.Diagnostics.DebuggerNonUserCode] - public override void EnterRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.EnterReturnStat(this); - } - [System.Diagnostics.DebuggerNonUserCode] - public override void ExitRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.ExitReturnStat(this); - } - [System.Diagnostics.DebuggerNonUserCode] public override TResult Accept(IParseTreeVisitor visitor) { IElsaParserVisitor typedVisitor = visitor as IElsaParserVisitor; if (typedVisitor != null) return typedVisitor.VisitReturnStat(this); @@ -1466,16 +1180,6 @@ public partial class ElsaParser : Parser { [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SEMICOLON() { return GetToken(ElsaParser.SEMICOLON, 0); } public VariableDeclarationStatContext(StatContext context) { CopyFrom(context); } [System.Diagnostics.DebuggerNonUserCode] - public override void EnterRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.EnterVariableDeclarationStat(this); - } - [System.Diagnostics.DebuggerNonUserCode] - public override void ExitRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.ExitVariableDeclarationStat(this); - } - [System.Diagnostics.DebuggerNonUserCode] public override TResult Accept(IParseTreeVisitor visitor) { IElsaParserVisitor typedVisitor = visitor as IElsaParserVisitor; if (typedVisitor != null) return typedVisitor.VisitVariableDeclarationStat(this); @@ -1493,16 +1197,6 @@ public partial class ElsaParser : Parser { [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SEMICOLON() { return GetToken(ElsaParser.SEMICOLON, 0); } public AssignmentStatContext(StatContext context) { CopyFrom(context); } [System.Diagnostics.DebuggerNonUserCode] - public override void EnterRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.EnterAssignmentStat(this); - } - [System.Diagnostics.DebuggerNonUserCode] - public override void ExitRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.ExitAssignmentStat(this); - } - [System.Diagnostics.DebuggerNonUserCode] public override TResult Accept(IParseTreeVisitor visitor) { IElsaParserVisitor typedVisitor = visitor as IElsaParserVisitor; if (typedVisitor != null) return typedVisitor.VisitAssignmentStat(this); @@ -1516,16 +1210,6 @@ public partial class ElsaParser : Parser { [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SEMICOLON() { return GetToken(ElsaParser.SEMICOLON, 0); } public LocalVariableDeclarationStatContext(StatContext context) { CopyFrom(context); } [System.Diagnostics.DebuggerNonUserCode] - public override void EnterRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.EnterLocalVariableDeclarationStat(this); - } - [System.Diagnostics.DebuggerNonUserCode] - public override void ExitRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.ExitLocalVariableDeclarationStat(this); - } - [System.Diagnostics.DebuggerNonUserCode] public override TResult Accept(IParseTreeVisitor visitor) { IElsaParserVisitor typedVisitor = visitor as IElsaParserVisitor; if (typedVisitor != null) return typedVisitor.VisitLocalVariableDeclarationStat(this); @@ -1553,16 +1237,6 @@ public partial class ElsaParser : Parser { } public ForStatContext(StatContext context) { CopyFrom(context); } [System.Diagnostics.DebuggerNonUserCode] - public override void EnterRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.EnterForStat(this); - } - [System.Diagnostics.DebuggerNonUserCode] - public override void ExitRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.ExitForStat(this); - } - [System.Diagnostics.DebuggerNonUserCode] public override TResult Accept(IParseTreeVisitor visitor) { IElsaParserVisitor typedVisitor = visitor as IElsaParserVisitor; if (typedVisitor != null) return typedVisitor.VisitForStat(this); @@ -1573,155 +1247,145 @@ public partial class ElsaParser : Parser { [RuleVersion(0)] public StatContext stat() { StatContext _localctx = new StatContext(Context, State); - EnterRule(_localctx, 34, RULE_stat); + EnterRule(_localctx, 32, RULE_stat); int _la; try { - State = 208; + State = 200; ErrorHandler.Sync(this); switch ( Interpreter.AdaptivePredict(TokenStream,19,Context) ) { case 1: - _localctx = new TriggerStatContext(_localctx); + _localctx = new ObjectStatContext(_localctx); EnterOuterAlt(_localctx, 1); { - State = 162; - trigger(); - State = 163; + State = 157; + @object(); + State = 158; Match(SEMICOLON); } break; case 2: - _localctx = new ObjectStatContext(_localctx); + _localctx = new IfStatContext(_localctx); EnterOuterAlt(_localctx, 2); { - State = 165; - @object(); - State = 166; - Match(SEMICOLON); - } - break; - case 3: - _localctx = new IfStatContext(_localctx); - EnterOuterAlt(_localctx, 3); - { - State = 168; + State = 160; Match(IF); - State = 169; + State = 161; expr(0); - State = 170; + State = 162; Match(THEN); - State = 171; + State = 163; thenStat(); - State = 174; + State = 166; ErrorHandler.Sync(this); switch ( Interpreter.AdaptivePredict(TokenStream,17,Context) ) { case 1: { - State = 172; + State = 164; Match(ELSE); - State = 173; + State = 165; elseStat(); } break; } } break; - case 4: + case 3: _localctx = new ForStatContext(_localctx); - EnterOuterAlt(_localctx, 4); + EnterOuterAlt(_localctx, 3); { - State = 176; + State = 168; Match(FOR); - State = 177; + State = 169; Match(PARENTHESES_OPEN); - State = 178; + State = 170; Match(ID); - State = 179; + State = 171; Match(EQ); - State = 180; + State = 172; expr(0); - State = 181; + State = 173; Match(SEMICOLON); - State = 182; + State = 174; expr(0); - State = 183; + State = 175; Match(SEMICOLON); - State = 184; + State = 176; expr(0); - State = 185; + State = 177; Match(PARENTHESES_CLOSE); - State = 186; + State = 178; stat(); } break; - case 5: + case 4: _localctx = new ReturnStatContext(_localctx); - EnterOuterAlt(_localctx, 5); + EnterOuterAlt(_localctx, 4); { - State = 188; + State = 180; Match(RETURN); - State = 190; + State = 182; ErrorHandler.Sync(this); _la = TokenStream.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << NEW) | (1L << MINUS) | (1L << PARENTHESES_OPEN) | (1L << BRACKET_OPEN) | (1L << EXCLAMATION) | (1L << STRING_VAL) | (1L << BACKTICKSTRING_VAL) | (1L << INTEGER_VAL) | (1L << ID))) != 0)) { { - State = 189; + State = 181; expr(0); } } - State = 192; + State = 184; Match(SEMICOLON); } break; - case 6: + case 5: _localctx = new BlockStatContext(_localctx); - EnterOuterAlt(_localctx, 6); + EnterOuterAlt(_localctx, 5); { - State = 193; + State = 185; block(); } break; - case 7: + case 6: _localctx = new VariableDeclarationStatContext(_localctx); + EnterOuterAlt(_localctx, 6); + { + State = 186; + varDecl(); + State = 187; + Match(SEMICOLON); + } + break; + case 7: + _localctx = new LocalVariableDeclarationStatContext(_localctx); EnterOuterAlt(_localctx, 7); { - State = 194; - varDecl(); - State = 195; + State = 189; + localVarDecl(); + State = 190; Match(SEMICOLON); } break; case 8: - _localctx = new LocalVariableDeclarationStatContext(_localctx); + _localctx = new AssignmentStatContext(_localctx); EnterOuterAlt(_localctx, 8); { - State = 197; - localVarDecl(); - State = 198; + State = 192; + expr(0); + State = 193; + Match(EQ); + State = 194; + expr(0); + State = 195; Match(SEMICOLON); } break; case 9: - _localctx = new AssignmentStatContext(_localctx); + _localctx = new ExpressionStatContext(_localctx); EnterOuterAlt(_localctx, 9); { - State = 200; + State = 197; expr(0); - State = 201; - Match(EQ); - State = 202; - expr(0); - State = 203; - Match(SEMICOLON); - } - break; - case 10: - _localctx = new ExpressionStatContext(_localctx); - EnterOuterAlt(_localctx, 10); - { - State = 205; - expr(0); - State = 206; + State = 198; Match(SEMICOLON); } break; @@ -1748,16 +1412,6 @@ public partial class ElsaParser : Parser { } public override int RuleIndex { get { return RULE_thenStat; } } [System.Diagnostics.DebuggerNonUserCode] - public override void EnterRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.EnterThenStat(this); - } - [System.Diagnostics.DebuggerNonUserCode] - public override void ExitRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.ExitThenStat(this); - } - [System.Diagnostics.DebuggerNonUserCode] public override TResult Accept(IParseTreeVisitor visitor) { IElsaParserVisitor typedVisitor = visitor as IElsaParserVisitor; if (typedVisitor != null) return typedVisitor.VisitThenStat(this); @@ -1768,11 +1422,11 @@ public partial class ElsaParser : Parser { [RuleVersion(0)] public ThenStatContext thenStat() { ThenStatContext _localctx = new ThenStatContext(Context, State); - EnterRule(_localctx, 36, RULE_thenStat); + EnterRule(_localctx, 34, RULE_thenStat); try { EnterOuterAlt(_localctx, 1); { - State = 210; + State = 202; stat(); } } @@ -1797,16 +1451,6 @@ public partial class ElsaParser : Parser { } public override int RuleIndex { get { return RULE_elseStat; } } [System.Diagnostics.DebuggerNonUserCode] - public override void EnterRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.EnterElseStat(this); - } - [System.Diagnostics.DebuggerNonUserCode] - public override void ExitRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.ExitElseStat(this); - } - [System.Diagnostics.DebuggerNonUserCode] public override TResult Accept(IParseTreeVisitor visitor) { IElsaParserVisitor typedVisitor = visitor as IElsaParserVisitor; if (typedVisitor != null) return typedVisitor.VisitElseStat(this); @@ -1817,11 +1461,11 @@ public partial class ElsaParser : Parser { [RuleVersion(0)] public ElseStatContext elseStat() { ElseStatContext _localctx = new ElseStatContext(Context, State); - EnterRule(_localctx, 38, RULE_elseStat); + EnterRule(_localctx, 36, RULE_elseStat); try { EnterOuterAlt(_localctx, 1); { - State = 212; + State = 204; stat(); } } @@ -1854,16 +1498,6 @@ public partial class ElsaParser : Parser { } public NewObjectExprContext(ExprContext context) { CopyFrom(context); } [System.Diagnostics.DebuggerNonUserCode] - public override void EnterRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.EnterNewObjectExpr(this); - } - [System.Diagnostics.DebuggerNonUserCode] - public override void ExitRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.ExitNewObjectExpr(this); - } - [System.Diagnostics.DebuggerNonUserCode] public override TResult Accept(IParseTreeVisitor visitor) { IElsaParserVisitor typedVisitor = visitor as IElsaParserVisitor; if (typedVisitor != null) return typedVisitor.VisitNewObjectExpr(this); @@ -1880,16 +1514,6 @@ public partial class ElsaParser : Parser { [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode MINUS() { return GetToken(ElsaParser.MINUS, 0); } public SubtractExprContext(ExprContext context) { CopyFrom(context); } [System.Diagnostics.DebuggerNonUserCode] - public override void EnterRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.EnterSubtractExpr(this); - } - [System.Diagnostics.DebuggerNonUserCode] - public override void ExitRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.ExitSubtractExpr(this); - } - [System.Diagnostics.DebuggerNonUserCode] public override TResult Accept(IParseTreeVisitor visitor) { IElsaParserVisitor typedVisitor = visitor as IElsaParserVisitor; if (typedVisitor != null) return typedVisitor.VisitSubtractExpr(this); @@ -1903,16 +1527,6 @@ public partial class ElsaParser : Parser { [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode INCREMENT() { return GetToken(ElsaParser.INCREMENT, 0); } public IncrementExprContext(ExprContext context) { CopyFrom(context); } [System.Diagnostics.DebuggerNonUserCode] - public override void EnterRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.EnterIncrementExpr(this); - } - [System.Diagnostics.DebuggerNonUserCode] - public override void ExitRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.ExitIncrementExpr(this); - } - [System.Diagnostics.DebuggerNonUserCode] public override TResult Accept(IParseTreeVisitor visitor) { IElsaParserVisitor typedVisitor = visitor as IElsaParserVisitor; if (typedVisitor != null) return typedVisitor.VisitIncrementExpr(this); @@ -1925,16 +1539,6 @@ public partial class ElsaParser : Parser { } public ObjectExprContext(ExprContext context) { CopyFrom(context); } [System.Diagnostics.DebuggerNonUserCode] - public override void EnterRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.EnterObjectExpr(this); - } - [System.Diagnostics.DebuggerNonUserCode] - public override void ExitRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.ExitObjectExpr(this); - } - [System.Diagnostics.DebuggerNonUserCode] public override TResult Accept(IParseTreeVisitor visitor) { IElsaParserVisitor typedVisitor = visitor as IElsaParserVisitor; if (typedVisitor != null) return typedVisitor.VisitObjectExpr(this); @@ -1945,16 +1549,6 @@ public partial class ElsaParser : Parser { [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode STRING_VAL() { return GetToken(ElsaParser.STRING_VAL, 0); } public StringValueExprContext(ExprContext context) { CopyFrom(context); } [System.Diagnostics.DebuggerNonUserCode] - public override void EnterRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.EnterStringValueExpr(this); - } - [System.Diagnostics.DebuggerNonUserCode] - public override void ExitRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.ExitStringValueExpr(this); - } - [System.Diagnostics.DebuggerNonUserCode] public override TResult Accept(IParseTreeVisitor visitor) { IElsaParserVisitor typedVisitor = visitor as IElsaParserVisitor; if (typedVisitor != null) return typedVisitor.VisitStringValueExpr(this); @@ -1971,16 +1565,6 @@ public partial class ElsaParser : Parser { [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode STAR() { return GetToken(ElsaParser.STAR, 0); } public MultiplyExprContext(ExprContext context) { CopyFrom(context); } [System.Diagnostics.DebuggerNonUserCode] - public override void EnterRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.EnterMultiplyExpr(this); - } - [System.Diagnostics.DebuggerNonUserCode] - public override void ExitRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.ExitMultiplyExpr(this); - } - [System.Diagnostics.DebuggerNonUserCode] public override TResult Accept(IParseTreeVisitor visitor) { IElsaParserVisitor typedVisitor = visitor as IElsaParserVisitor; if (typedVisitor != null) return typedVisitor.VisitMultiplyExpr(this); @@ -1995,16 +1579,6 @@ public partial class ElsaParser : Parser { } public ParenthesesExprContext(ExprContext context) { CopyFrom(context); } [System.Diagnostics.DebuggerNonUserCode] - public override void EnterRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.EnterParenthesesExpr(this); - } - [System.Diagnostics.DebuggerNonUserCode] - public override void ExitRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.ExitParenthesesExpr(this); - } - [System.Diagnostics.DebuggerNonUserCode] public override TResult Accept(IParseTreeVisitor visitor) { IElsaParserVisitor typedVisitor = visitor as IElsaParserVisitor; if (typedVisitor != null) return typedVisitor.VisitParenthesesExpr(this); @@ -2017,16 +1591,6 @@ public partial class ElsaParser : Parser { } public FunctionExprContext(ExprContext context) { CopyFrom(context); } [System.Diagnostics.DebuggerNonUserCode] - public override void EnterRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.EnterFunctionExpr(this); - } - [System.Diagnostics.DebuggerNonUserCode] - public override void ExitRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.ExitFunctionExpr(this); - } - [System.Diagnostics.DebuggerNonUserCode] public override TResult Accept(IParseTreeVisitor visitor) { IElsaParserVisitor typedVisitor = visitor as IElsaParserVisitor; if (typedVisitor != null) return typedVisitor.VisitFunctionExpr(this); @@ -2040,16 +1604,6 @@ public partial class ElsaParser : Parser { [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DECREMENT() { return GetToken(ElsaParser.DECREMENT, 0); } public DecrementExprContext(ExprContext context) { CopyFrom(context); } [System.Diagnostics.DebuggerNonUserCode] - public override void EnterRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.EnterDecrementExpr(this); - } - [System.Diagnostics.DebuggerNonUserCode] - public override void ExitRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.ExitDecrementExpr(this); - } - [System.Diagnostics.DebuggerNonUserCode] public override TResult Accept(IParseTreeVisitor visitor) { IElsaParserVisitor typedVisitor = visitor as IElsaParserVisitor; if (typedVisitor != null) return typedVisitor.VisitDecrementExpr(this); @@ -2063,16 +1617,6 @@ public partial class ElsaParser : Parser { } public NegateExprContext(ExprContext context) { CopyFrom(context); } [System.Diagnostics.DebuggerNonUserCode] - public override void EnterRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.EnterNegateExpr(this); - } - [System.Diagnostics.DebuggerNonUserCode] - public override void ExitRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.ExitNegateExpr(this); - } - [System.Diagnostics.DebuggerNonUserCode] public override TResult Accept(IParseTreeVisitor visitor) { IElsaParserVisitor typedVisitor = visitor as IElsaParserVisitor; if (typedVisitor != null) return typedVisitor.VisitNegateExpr(this); @@ -2085,16 +1629,6 @@ public partial class ElsaParser : Parser { } public MethodCallExprContext(ExprContext context) { CopyFrom(context); } [System.Diagnostics.DebuggerNonUserCode] - public override void EnterRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.EnterMethodCallExpr(this); - } - [System.Diagnostics.DebuggerNonUserCode] - public override void ExitRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.ExitMethodCallExpr(this); - } - [System.Diagnostics.DebuggerNonUserCode] public override TResult Accept(IParseTreeVisitor visitor) { IElsaParserVisitor typedVisitor = visitor as IElsaParserVisitor; if (typedVisitor != null) return typedVisitor.VisitMethodCallExpr(this); @@ -2105,16 +1639,6 @@ public partial class ElsaParser : Parser { [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ID() { return GetToken(ElsaParser.ID, 0); } public VariableExprContext(ExprContext context) { CopyFrom(context); } [System.Diagnostics.DebuggerNonUserCode] - public override void EnterRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.EnterVariableExpr(this); - } - [System.Diagnostics.DebuggerNonUserCode] - public override void ExitRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.ExitVariableExpr(this); - } - [System.Diagnostics.DebuggerNonUserCode] public override TResult Accept(IParseTreeVisitor visitor) { IElsaParserVisitor typedVisitor = visitor as IElsaParserVisitor; if (typedVisitor != null) return typedVisitor.VisitVariableExpr(this); @@ -2128,16 +1652,6 @@ public partial class ElsaParser : Parser { } public NotExprContext(ExprContext context) { CopyFrom(context); } [System.Diagnostics.DebuggerNonUserCode] - public override void EnterRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.EnterNotExpr(this); - } - [System.Diagnostics.DebuggerNonUserCode] - public override void ExitRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.ExitNotExpr(this); - } - [System.Diagnostics.DebuggerNonUserCode] public override TResult Accept(IParseTreeVisitor visitor) { IElsaParserVisitor typedVisitor = visitor as IElsaParserVisitor; if (typedVisitor != null) return typedVisitor.VisitNotExpr(this); @@ -2148,16 +1662,6 @@ public partial class ElsaParser : Parser { [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode INTEGER_VAL() { return GetToken(ElsaParser.INTEGER_VAL, 0); } public IntegerValueExprContext(ExprContext context) { CopyFrom(context); } [System.Diagnostics.DebuggerNonUserCode] - public override void EnterRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.EnterIntegerValueExpr(this); - } - [System.Diagnostics.DebuggerNonUserCode] - public override void ExitRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.ExitIntegerValueExpr(this); - } - [System.Diagnostics.DebuggerNonUserCode] public override TResult Accept(IParseTreeVisitor visitor) { IElsaParserVisitor typedVisitor = visitor as IElsaParserVisitor; if (typedVisitor != null) return typedVisitor.VisitIntegerValueExpr(this); @@ -2174,16 +1678,6 @@ public partial class ElsaParser : Parser { [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode PLUS() { return GetToken(ElsaParser.PLUS, 0); } public AddExprContext(ExprContext context) { CopyFrom(context); } [System.Diagnostics.DebuggerNonUserCode] - public override void EnterRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.EnterAddExpr(this); - } - [System.Diagnostics.DebuggerNonUserCode] - public override void ExitRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.ExitAddExpr(this); - } - [System.Diagnostics.DebuggerNonUserCode] public override TResult Accept(IParseTreeVisitor visitor) { IElsaParserVisitor typedVisitor = visitor as IElsaParserVisitor; if (typedVisitor != null) return typedVisitor.VisitAddExpr(this); @@ -2194,16 +1688,6 @@ public partial class ElsaParser : Parser { [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode BACKTICKSTRING_VAL() { return GetToken(ElsaParser.BACKTICKSTRING_VAL, 0); } public BackTickStringValueExprContext(ExprContext context) { CopyFrom(context); } [System.Diagnostics.DebuggerNonUserCode] - public override void EnterRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.EnterBackTickStringValueExpr(this); - } - [System.Diagnostics.DebuggerNonUserCode] - public override void ExitRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.ExitBackTickStringValueExpr(this); - } - [System.Diagnostics.DebuggerNonUserCode] public override TResult Accept(IParseTreeVisitor visitor) { IElsaParserVisitor typedVisitor = visitor as IElsaParserVisitor; if (typedVisitor != null) return typedVisitor.VisitBackTickStringValueExpr(this); @@ -2218,16 +1702,6 @@ public partial class ElsaParser : Parser { } public BracketsExprContext(ExprContext context) { CopyFrom(context); } [System.Diagnostics.DebuggerNonUserCode] - public override void EnterRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.EnterBracketsExpr(this); - } - [System.Diagnostics.DebuggerNonUserCode] - public override void ExitRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.ExitBracketsExpr(this); - } - [System.Diagnostics.DebuggerNonUserCode] public override TResult Accept(IParseTreeVisitor visitor) { IElsaParserVisitor typedVisitor = visitor as IElsaParserVisitor; if (typedVisitor != null) return typedVisitor.VisitBracketsExpr(this); @@ -2246,16 +1720,6 @@ public partial class ElsaParser : Parser { [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LESS() { return GetToken(ElsaParser.LESS, 0); } public CompareExprContext(ExprContext context) { CopyFrom(context); } [System.Diagnostics.DebuggerNonUserCode] - public override void EnterRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.EnterCompareExpr(this); - } - [System.Diagnostics.DebuggerNonUserCode] - public override void ExitRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.ExitCompareExpr(this); - } - [System.Diagnostics.DebuggerNonUserCode] public override TResult Accept(IParseTreeVisitor visitor) { IElsaParserVisitor typedVisitor = visitor as IElsaParserVisitor; if (typedVisitor != null) return typedVisitor.VisitCompareExpr(this); @@ -2273,14 +1737,14 @@ public partial class ElsaParser : Parser { int _parentState = State; ExprContext _localctx = new ExprContext(Context, _parentState); ExprContext _prevctx = _localctx; - int _startState = 40; - EnterRecursionRule(_localctx, 40, RULE_expr, _p); + int _startState = 38; + EnterRecursionRule(_localctx, 38, RULE_expr, _p); int _la; try { int _alt; EnterOuterAlt(_localctx, 1); { - State = 237; + State = 229; ErrorHandler.Sync(this); switch ( Interpreter.AdaptivePredict(TokenStream,22,Context) ) { case 1: @@ -2289,7 +1753,7 @@ public partial class ElsaParser : Parser { Context = _localctx; _prevctx = _localctx; - State = 215; + State = 207; funcCall(); } break; @@ -2298,7 +1762,7 @@ public partial class ElsaParser : Parser { _localctx = new ObjectExprContext(_localctx); Context = _localctx; _prevctx = _localctx; - State = 216; + State = 208; @object(); } break; @@ -2307,7 +1771,7 @@ public partial class ElsaParser : Parser { _localctx = new NewObjectExprContext(_localctx); Context = _localctx; _prevctx = _localctx; - State = 217; + State = 209; newObject(); } break; @@ -2316,9 +1780,9 @@ public partial class ElsaParser : Parser { _localctx = new NegateExprContext(_localctx); Context = _localctx; _prevctx = _localctx; - State = 218; + State = 210; Match(MINUS); - State = 219; + State = 211; expr(13); } break; @@ -2327,9 +1791,9 @@ public partial class ElsaParser : Parser { _localctx = new NotExprContext(_localctx); Context = _localctx; _prevctx = _localctx; - State = 220; + State = 212; Match(EXCLAMATION); - State = 221; + State = 213; expr(12); } break; @@ -2338,7 +1802,7 @@ public partial class ElsaParser : Parser { _localctx = new IntegerValueExprContext(_localctx); Context = _localctx; _prevctx = _localctx; - State = 222; + State = 214; Match(INTEGER_VAL); } break; @@ -2347,7 +1811,7 @@ public partial class ElsaParser : Parser { _localctx = new StringValueExprContext(_localctx); Context = _localctx; _prevctx = _localctx; - State = 223; + State = 215; Match(STRING_VAL); } break; @@ -2356,7 +1820,7 @@ public partial class ElsaParser : Parser { _localctx = new BackTickStringValueExprContext(_localctx); Context = _localctx; _prevctx = _localctx; - State = 224; + State = 216; Match(BACKTICKSTRING_VAL); } break; @@ -2365,19 +1829,19 @@ public partial class ElsaParser : Parser { _localctx = new ParenthesesExprContext(_localctx); Context = _localctx; _prevctx = _localctx; - State = 225; + State = 217; Match(PARENTHESES_OPEN); - State = 227; + State = 219; ErrorHandler.Sync(this); _la = TokenStream.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << NEW) | (1L << MINUS) | (1L << PARENTHESES_OPEN) | (1L << BRACKET_OPEN) | (1L << EXCLAMATION) | (1L << STRING_VAL) | (1L << BACKTICKSTRING_VAL) | (1L << INTEGER_VAL) | (1L << ID))) != 0)) { { - State = 226; + State = 218; exprList(); } } - State = 229; + State = 221; Match(PARENTHESES_CLOSE); } break; @@ -2386,19 +1850,19 @@ public partial class ElsaParser : Parser { _localctx = new BracketsExprContext(_localctx); Context = _localctx; _prevctx = _localctx; - State = 230; + State = 222; Match(BRACKET_OPEN); - State = 232; + State = 224; ErrorHandler.Sync(this); _la = TokenStream.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << NEW) | (1L << MINUS) | (1L << PARENTHESES_OPEN) | (1L << BRACKET_OPEN) | (1L << EXCLAMATION) | (1L << STRING_VAL) | (1L << BACKTICKSTRING_VAL) | (1L << INTEGER_VAL) | (1L << ID))) != 0)) { { - State = 231; + State = 223; exprList(); } } - State = 234; + State = 226; Match(BRACKET_CLOSE); } break; @@ -2407,7 +1871,7 @@ public partial class ElsaParser : Parser { _localctx = new MethodCallExprContext(_localctx); Context = _localctx; _prevctx = _localctx; - State = 235; + State = 227; methodCall(); } break; @@ -2416,13 +1880,13 @@ public partial class ElsaParser : Parser { _localctx = new VariableExprContext(_localctx); Context = _localctx; _prevctx = _localctx; - State = 236; + State = 228; Match(ID); } break; } Context.Stop = TokenStream.LT(-1); - State = 257; + State = 249; ErrorHandler.Sync(this); _alt = Interpreter.AdaptivePredict(TokenStream,24,Context); while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ) { @@ -2431,18 +1895,18 @@ public partial class ElsaParser : Parser { TriggerExitRuleEvent(); _prevctx = _localctx; { - State = 255; + State = 247; ErrorHandler.Sync(this); switch ( Interpreter.AdaptivePredict(TokenStream,23,Context) ) { case 1: { _localctx = new MultiplyExprContext(new ExprContext(_parentctx, _parentState)); PushNewRecursionContext(_localctx, _startState, RULE_expr); - State = 239; + State = 231; if (!(Precpred(Context, 11))) throw new FailedPredicateException(this, "Precpred(Context, 11)"); - State = 240; + State = 232; Match(STAR); - State = 241; + State = 233; expr(12); } break; @@ -2450,11 +1914,11 @@ public partial class ElsaParser : Parser { { _localctx = new AddExprContext(new ExprContext(_parentctx, _parentState)); PushNewRecursionContext(_localctx, _startState, RULE_expr); - State = 242; + State = 234; if (!(Precpred(Context, 10))) throw new FailedPredicateException(this, "Precpred(Context, 10)"); - State = 243; + State = 235; Match(PLUS); - State = 244; + State = 236; expr(11); } break; @@ -2462,11 +1926,11 @@ public partial class ElsaParser : Parser { { _localctx = new SubtractExprContext(new ExprContext(_parentctx, _parentState)); PushNewRecursionContext(_localctx, _startState, RULE_expr); - State = 245; + State = 237; if (!(Precpred(Context, 9))) throw new FailedPredicateException(this, "Precpred(Context, 9)"); - State = 246; + State = 238; Match(MINUS); - State = 247; + State = 239; expr(10); } break; @@ -2474,9 +1938,9 @@ public partial class ElsaParser : Parser { { _localctx = new CompareExprContext(new ExprContext(_parentctx, _parentState)); PushNewRecursionContext(_localctx, _startState, RULE_expr); - State = 248; + State = 240; if (!(Precpred(Context, 8))) throw new FailedPredicateException(this, "Precpred(Context, 8)"); - State = 249; + State = 241; _la = TokenStream.LA(1); if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << GREATER) | (1L << EQUALS) | (1L << LESS))) != 0)) ) { ErrorHandler.RecoverInline(this); @@ -2485,7 +1949,7 @@ public partial class ElsaParser : Parser { ErrorHandler.ReportMatch(this); Consume(); } - State = 250; + State = 242; expr(9); } break; @@ -2493,9 +1957,9 @@ public partial class ElsaParser : Parser { { _localctx = new IncrementExprContext(new ExprContext(_parentctx, _parentState)); PushNewRecursionContext(_localctx, _startState, RULE_expr); - State = 251; + State = 243; if (!(Precpred(Context, 15))) throw new FailedPredicateException(this, "Precpred(Context, 15)"); - State = 252; + State = 244; Match(INCREMENT); } break; @@ -2503,16 +1967,16 @@ public partial class ElsaParser : Parser { { _localctx = new DecrementExprContext(new ExprContext(_parentctx, _parentState)); PushNewRecursionContext(_localctx, _startState, RULE_expr); - State = 253; + State = 245; if (!(Precpred(Context, 14))) throw new FailedPredicateException(this, "Precpred(Context, 14)"); - State = 254; + State = 246; Match(DECREMENT); } break; } } } - State = 259; + State = 251; ErrorHandler.Sync(this); _alt = Interpreter.AdaptivePredict(TokenStream,24,Context); } @@ -2546,16 +2010,6 @@ public partial class ElsaParser : Parser { } public override int RuleIndex { get { return RULE_exprList; } } [System.Diagnostics.DebuggerNonUserCode] - public override void EnterRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.EnterExprList(this); - } - [System.Diagnostics.DebuggerNonUserCode] - public override void ExitRule(IParseTreeListener listener) { - IElsaParserListener typedListener = listener as IElsaParserListener; - if (typedListener != null) typedListener.ExitExprList(this); - } - [System.Diagnostics.DebuggerNonUserCode] public override TResult Accept(IParseTreeVisitor visitor) { IElsaParserVisitor typedVisitor = visitor as IElsaParserVisitor; if (typedVisitor != null) return typedVisitor.VisitExprList(this); @@ -2566,26 +2020,26 @@ public partial class ElsaParser : Parser { [RuleVersion(0)] public ExprListContext exprList() { ExprListContext _localctx = new ExprListContext(Context, State); - EnterRule(_localctx, 42, RULE_exprList); + EnterRule(_localctx, 40, RULE_exprList); int _la; try { EnterOuterAlt(_localctx, 1); { - State = 260; + State = 252; expr(0); - State = 265; + State = 257; ErrorHandler.Sync(this); _la = TokenStream.LA(1); while (_la==COMMA) { { { - State = 261; + State = 253; Match(COMMA); - State = 262; + State = 254; expr(0); } } - State = 267; + State = 259; ErrorHandler.Sync(this); _la = TokenStream.LA(1); } @@ -2604,7 +2058,7 @@ public partial class ElsaParser : Parser { public override bool Sempred(RuleContext _localctx, int ruleIndex, int predIndex) { switch (ruleIndex) { - case 20: return expr_sempred((ExprContext)_localctx, predIndex); + case 19: return expr_sempred((ExprContext)_localctx, predIndex); } return true; } @@ -2622,7 +2076,7 @@ public partial class ElsaParser : Parser { private static char[] _serializedATN = { '\x3', '\x608B', '\xA72A', '\x8133', '\xB9ED', '\x417C', '\x3BE7', '\x7786', - '\x5964', '\x3', '\x33', '\x10F', '\x4', '\x2', '\t', '\x2', '\x4', '\x3', + '\x5964', '\x3', '\x32', '\x107', '\x4', '\x2', '\t', '\x2', '\x4', '\x3', '\t', '\x3', '\x4', '\x4', '\t', '\x4', '\x4', '\x5', '\t', '\x5', '\x4', '\x6', '\t', '\x6', '\x4', '\a', '\t', '\a', '\x4', '\b', '\t', '\b', '\x4', '\t', '\t', '\t', '\x4', '\n', '\t', '\n', '\x4', '\v', '\t', '\v', @@ -2630,229 +2084,223 @@ public partial class ElsaParser : Parser { '\xE', '\x4', '\xF', '\t', '\xF', '\x4', '\x10', '\t', '\x10', '\x4', '\x11', '\t', '\x11', '\x4', '\x12', '\t', '\x12', '\x4', '\x13', '\t', '\x13', '\x4', '\x14', '\t', '\x14', '\x4', '\x15', '\t', '\x15', '\x4', - '\x16', '\t', '\x16', '\x4', '\x17', '\t', '\x17', '\x3', '\x2', '\x3', - '\x2', '\a', '\x2', '\x31', '\n', '\x2', '\f', '\x2', '\xE', '\x2', '\x34', - '\v', '\x2', '\x3', '\x3', '\x3', '\x3', '\x3', '\x3', '\x3', '\x4', '\x3', - '\x4', '\x5', '\x4', ';', '\n', '\x4', '\x3', '\x5', '\x3', '\x5', '\x3', - '\x5', '\x3', '\x5', '\x3', '\x5', '\x3', '\x5', '\x5', '\x5', '\x43', - '\n', '\x5', '\x3', '\x5', '\x3', '\x5', '\x5', '\x5', 'G', '\n', '\x5', - '\x3', '\x5', '\x3', '\x5', '\x3', '\x6', '\x3', '\x6', '\x3', '\x6', - '\x3', '\x6', '\x5', '\x6', 'O', '\n', '\x6', '\x3', '\x6', '\x3', '\x6', - '\x5', '\x6', 'S', '\n', '\x6', '\x3', '\a', '\x3', '\a', '\x3', '\a', - '\x3', '\a', '\x5', '\a', 'Y', '\n', '\a', '\x3', '\a', '\x3', '\a', '\x5', - '\a', ']', '\n', '\a', '\x3', '\b', '\x3', '\b', '\x3', '\t', '\x3', '\t', - '\x3', '\t', '\x3', '\t', '\x3', '\t', '\x3', '\t', '\x3', '\t', '\x3', - '\t', '\x3', '\t', '\x3', '\t', '\x5', '\t', 'k', '\n', '\t', '\x3', '\n', - '\a', '\n', 'n', '\n', '\n', '\f', '\n', '\xE', '\n', 'q', '\v', '\n', - '\x3', '\v', '\x3', '\v', '\x3', '\v', '\x3', '\v', '\x3', '\f', '\x3', - '\f', '\x3', '\f', '\x5', '\f', 'z', '\n', '\f', '\x3', '\f', '\x3', '\f', - '\x3', '\r', '\x3', '\r', '\x3', '\r', '\a', '\r', '\x81', '\n', '\r', - '\f', '\r', '\xE', '\r', '\x84', '\v', '\r', '\x3', '\xE', '\x3', '\xE', - '\x5', '\xE', '\x88', '\n', '\xE', '\x3', '\xF', '\x3', '\xF', '\a', '\xF', - '\x8C', '\n', '\xF', '\f', '\xF', '\xE', '\xF', '\x8F', '\v', '\xF', '\x3', - '\xF', '\x3', '\xF', '\x3', '\x10', '\x3', '\x10', '\x5', '\x10', '\x95', - '\n', '\x10', '\x3', '\x10', '\x3', '\x10', '\x3', '\x11', '\x3', '\x11', - '\x3', '\x11', '\a', '\x11', '\x9C', '\n', '\x11', '\f', '\x11', '\xE', - '\x11', '\x9F', '\v', '\x11', '\x3', '\x12', '\x3', '\x12', '\x3', '\x12', - '\x3', '\x12', '\x3', '\x13', '\x3', '\x13', '\x3', '\x13', '\x3', '\x13', - '\x3', '\x13', '\x3', '\x13', '\x3', '\x13', '\x3', '\x13', '\x3', '\x13', - '\x3', '\x13', '\x3', '\x13', '\x3', '\x13', '\x5', '\x13', '\xB1', '\n', - '\x13', '\x3', '\x13', '\x3', '\x13', '\x3', '\x13', '\x3', '\x13', '\x3', - '\x13', '\x3', '\x13', '\x3', '\x13', '\x3', '\x13', '\x3', '\x13', '\x3', - '\x13', '\x3', '\x13', '\x3', '\x13', '\x3', '\x13', '\x3', '\x13', '\x5', - '\x13', '\xC1', '\n', '\x13', '\x3', '\x13', '\x3', '\x13', '\x3', '\x13', - '\x3', '\x13', '\x3', '\x13', '\x3', '\x13', '\x3', '\x13', '\x3', '\x13', - '\x3', '\x13', '\x3', '\x13', '\x3', '\x13', '\x3', '\x13', '\x3', '\x13', - '\x3', '\x13', '\x3', '\x13', '\x3', '\x13', '\x5', '\x13', '\xD3', '\n', + '\x16', '\t', '\x16', '\x3', '\x2', '\x3', '\x2', '\a', '\x2', '/', '\n', + '\x2', '\f', '\x2', '\xE', '\x2', '\x32', '\v', '\x2', '\x3', '\x3', '\x3', + '\x3', '\x5', '\x3', '\x36', '\n', '\x3', '\x3', '\x4', '\x3', '\x4', + '\x3', '\x4', '\x3', '\x4', '\x3', '\x4', '\x3', '\x4', '\x5', '\x4', + '>', '\n', '\x4', '\x3', '\x4', '\x3', '\x4', '\x5', '\x4', '\x42', '\n', + '\x4', '\x3', '\x4', '\x3', '\x4', '\x3', '\x5', '\x3', '\x5', '\x3', + '\x5', '\x3', '\x5', '\x5', '\x5', 'J', '\n', '\x5', '\x3', '\x5', '\x3', + '\x5', '\x5', '\x5', 'N', '\n', '\x5', '\x3', '\x6', '\x3', '\x6', '\x3', + '\x6', '\x3', '\x6', '\x5', '\x6', 'T', '\n', '\x6', '\x3', '\x6', '\x3', + '\x6', '\x5', '\x6', 'X', '\n', '\x6', '\x3', '\a', '\x3', '\a', '\x3', + '\b', '\x3', '\b', '\x3', '\b', '\x3', '\b', '\x3', '\b', '\x3', '\b', + '\x3', '\b', '\x3', '\b', '\x3', '\b', '\x3', '\b', '\x5', '\b', '\x66', + '\n', '\b', '\x3', '\t', '\a', '\t', 'i', '\n', '\t', '\f', '\t', '\xE', + '\t', 'l', '\v', '\t', '\x3', '\n', '\x3', '\n', '\x3', '\n', '\x3', '\n', + '\x3', '\v', '\x3', '\v', '\x3', '\v', '\x5', '\v', 'u', '\n', '\v', '\x3', + '\v', '\x3', '\v', '\x3', '\f', '\x3', '\f', '\x3', '\f', '\a', '\f', + '|', '\n', '\f', '\f', '\f', '\xE', '\f', '\x7F', '\v', '\f', '\x3', '\r', + '\x3', '\r', '\x5', '\r', '\x83', '\n', '\r', '\x3', '\xE', '\x3', '\xE', + '\a', '\xE', '\x87', '\n', '\xE', '\f', '\xE', '\xE', '\xE', '\x8A', '\v', + '\xE', '\x3', '\xE', '\x3', '\xE', '\x3', '\xF', '\x3', '\xF', '\x5', + '\xF', '\x90', '\n', '\xF', '\x3', '\xF', '\x3', '\xF', '\x3', '\x10', + '\x3', '\x10', '\x3', '\x10', '\a', '\x10', '\x97', '\n', '\x10', '\f', + '\x10', '\xE', '\x10', '\x9A', '\v', '\x10', '\x3', '\x11', '\x3', '\x11', + '\x3', '\x11', '\x3', '\x11', '\x3', '\x12', '\x3', '\x12', '\x3', '\x12', + '\x3', '\x12', '\x3', '\x12', '\x3', '\x12', '\x3', '\x12', '\x3', '\x12', + '\x3', '\x12', '\x5', '\x12', '\xA9', '\n', '\x12', '\x3', '\x12', '\x3', + '\x12', '\x3', '\x12', '\x3', '\x12', '\x3', '\x12', '\x3', '\x12', '\x3', + '\x12', '\x3', '\x12', '\x3', '\x12', '\x3', '\x12', '\x3', '\x12', '\x3', + '\x12', '\x3', '\x12', '\x3', '\x12', '\x5', '\x12', '\xB9', '\n', '\x12', + '\x3', '\x12', '\x3', '\x12', '\x3', '\x12', '\x3', '\x12', '\x3', '\x12', + '\x3', '\x12', '\x3', '\x12', '\x3', '\x12', '\x3', '\x12', '\x3', '\x12', + '\x3', '\x12', '\x3', '\x12', '\x3', '\x12', '\x3', '\x12', '\x3', '\x12', + '\x3', '\x12', '\x5', '\x12', '\xCB', '\n', '\x12', '\x3', '\x13', '\x3', '\x13', '\x3', '\x14', '\x3', '\x14', '\x3', '\x15', '\x3', '\x15', '\x3', - '\x16', '\x3', '\x16', '\x3', '\x16', '\x3', '\x16', '\x3', '\x16', '\x3', - '\x16', '\x3', '\x16', '\x3', '\x16', '\x3', '\x16', '\x3', '\x16', '\x3', - '\x16', '\x3', '\x16', '\x3', '\x16', '\x5', '\x16', '\xE6', '\n', '\x16', - '\x3', '\x16', '\x3', '\x16', '\x3', '\x16', '\x5', '\x16', '\xEB', '\n', - '\x16', '\x3', '\x16', '\x3', '\x16', '\x3', '\x16', '\x5', '\x16', '\xF0', - '\n', '\x16', '\x3', '\x16', '\x3', '\x16', '\x3', '\x16', '\x3', '\x16', - '\x3', '\x16', '\x3', '\x16', '\x3', '\x16', '\x3', '\x16', '\x3', '\x16', - '\x3', '\x16', '\x3', '\x16', '\x3', '\x16', '\x3', '\x16', '\x3', '\x16', - '\x3', '\x16', '\x3', '\x16', '\a', '\x16', '\x102', '\n', '\x16', '\f', - '\x16', '\xE', '\x16', '\x105', '\v', '\x16', '\x3', '\x17', '\x3', '\x17', - '\x3', '\x17', '\a', '\x17', '\x10A', '\n', '\x17', '\f', '\x17', '\xE', - '\x17', '\x10D', '\v', '\x17', '\x3', '\x17', '\x3', 'o', '\x3', '*', - '\x18', '\x2', '\x4', '\x6', '\b', '\n', '\f', '\xE', '\x10', '\x12', - '\x14', '\x16', '\x18', '\x1A', '\x1C', '\x1E', ' ', '\"', '$', '&', '(', - '*', ',', '\x2', '\x4', '\x4', '\x2', '\x10', '\x14', '\x31', '\x31', - '\x5', '\x2', '\x4', '\x4', '\x1D', '\x1D', ' ', ' ', '\x2', '\x128', - '\x2', '\x32', '\x3', '\x2', '\x2', '\x2', '\x4', '\x35', '\x3', '\x2', - '\x2', '\x2', '\x6', '\x38', '\x3', '\x2', '\x2', '\x2', '\b', '<', '\x3', - '\x2', '\x2', '\x2', '\n', 'J', '\x3', '\x2', '\x2', '\x2', '\f', 'T', - '\x3', '\x2', '\x2', '\x2', '\xE', '^', '\x3', '\x2', '\x2', '\x2', '\x10', - 'j', '\x3', '\x2', '\x2', '\x2', '\x12', 'o', '\x3', '\x2', '\x2', '\x2', - '\x14', 'r', '\x3', '\x2', '\x2', '\x2', '\x16', 'v', '\x3', '\x2', '\x2', - '\x2', '\x18', '}', '\x3', '\x2', '\x2', '\x2', '\x1A', '\x87', '\x3', - '\x2', '\x2', '\x2', '\x1C', '\x89', '\x3', '\x2', '\x2', '\x2', '\x1E', - '\x92', '\x3', '\x2', '\x2', '\x2', ' ', '\x98', '\x3', '\x2', '\x2', - '\x2', '\"', '\xA0', '\x3', '\x2', '\x2', '\x2', '$', '\xD2', '\x3', '\x2', - '\x2', '\x2', '&', '\xD4', '\x3', '\x2', '\x2', '\x2', '(', '\xD6', '\x3', - '\x2', '\x2', '\x2', '*', '\xEF', '\x3', '\x2', '\x2', '\x2', ',', '\x106', - '\x3', '\x2', '\x2', '\x2', '.', '\x31', '\x5', '$', '\x13', '\x2', '/', - '\x31', '\a', '/', '\x2', '\x2', '\x30', '.', '\x3', '\x2', '\x2', '\x2', - '\x30', '/', '\x3', '\x2', '\x2', '\x2', '\x31', '\x34', '\x3', '\x2', - '\x2', '\x2', '\x32', '\x30', '\x3', '\x2', '\x2', '\x2', '\x32', '\x33', - '\x3', '\x2', '\x2', '\x2', '\x33', '\x3', '\x3', '\x2', '\x2', '\x2', - '\x34', '\x32', '\x3', '\x2', '\x2', '\x2', '\x35', '\x36', '\a', '\b', - '\x2', '\x2', '\x36', '\x37', '\x5', '\x6', '\x4', '\x2', '\x37', '\x5', - '\x3', '\x2', '\x2', '\x2', '\x38', ':', '\a', '\x31', '\x2', '\x2', '\x39', - ';', '\x5', '\x1E', '\x10', '\x2', ':', '\x39', '\x3', '\x2', '\x2', '\x2', - ':', ';', '\x3', '\x2', '\x2', '\x2', ';', '\a', '\x3', '\x2', '\x2', - '\x2', '<', '=', '\a', '\a', '\x2', '\x2', '=', '\x42', '\a', '\x31', - '\x2', '\x2', '>', '?', '\a', ' ', '\x2', '\x2', '?', '@', '\x5', '\xE', - '\b', '\x2', '@', '\x41', '\a', '\x4', '\x2', '\x2', '\x41', '\x43', '\x3', - '\x2', '\x2', '\x2', '\x42', '>', '\x3', '\x2', '\x2', '\x2', '\x42', - '\x43', '\x3', '\x2', '\x2', '\x2', '\x43', '\x44', '\x3', '\x2', '\x2', - '\x2', '\x44', '\x46', '\a', '#', '\x2', '\x2', '\x45', 'G', '\x5', '\x18', - '\r', '\x2', '\x46', '\x45', '\x3', '\x2', '\x2', '\x2', '\x46', 'G', - '\x3', '\x2', '\x2', '\x2', 'G', 'H', '\x3', '\x2', '\x2', '\x2', 'H', - 'I', '\a', '$', '\x2', '\x2', 'I', '\t', '\x3', '\x2', '\x2', '\x2', 'J', - 'K', '\a', '\t', '\x2', '\x2', 'K', 'N', '\a', '\x31', '\x2', '\x2', 'L', - 'M', '\a', '\x17', '\x2', '\x2', 'M', 'O', '\x5', '\xE', '\b', '\x2', - 'N', 'L', '\x3', '\x2', '\x2', '\x2', 'N', 'O', '\x3', '\x2', '\x2', '\x2', - 'O', 'R', '\x3', '\x2', '\x2', '\x2', 'P', 'Q', '\a', '\x3', '\x2', '\x2', - 'Q', 'S', '\x5', '*', '\x16', '\x2', 'R', 'P', '\x3', '\x2', '\x2', '\x2', - 'R', 'S', '\x3', '\x2', '\x2', '\x2', 'S', '\v', '\x3', '\x2', '\x2', - '\x2', 'T', 'U', '\a', '\n', '\x2', '\x2', 'U', 'X', '\a', '\x31', '\x2', - '\x2', 'V', 'W', '\a', '\x17', '\x2', '\x2', 'W', 'Y', '\x5', '\xE', '\b', - '\x2', 'X', 'V', '\x3', '\x2', '\x2', '\x2', 'X', 'Y', '\x3', '\x2', '\x2', - '\x2', 'Y', '\\', '\x3', '\x2', '\x2', '\x2', 'Z', '[', '\a', '\x3', '\x2', - '\x2', '[', ']', '\x5', '*', '\x16', '\x2', '\\', 'Z', '\x3', '\x2', '\x2', - '\x2', '\\', ']', '\x3', '\x2', '\x2', '\x2', ']', '\r', '\x3', '\x2', - '\x2', '\x2', '^', '_', '\t', '\x2', '\x2', '\x2', '_', '\xF', '\x3', - '\x2', '\x2', '\x2', '`', '\x61', '\a', '\x15', '\x2', '\x2', '\x61', - '\x62', '\a', '#', '\x2', '\x2', '\x62', '\x63', '\a', '\x31', '\x2', - '\x2', '\x63', '\x64', '\a', '\x19', '\x2', '\x2', '\x64', '\x65', '\x5', - '\x12', '\n', '\x2', '\x65', '\x66', '\a', '$', '\x2', '\x2', '\x66', - 'k', '\x3', '\x2', '\x2', '\x2', 'g', 'h', '\a', '\x31', '\x2', '\x2', - 'h', 'i', '\a', '\"', '\x2', '\x2', 'i', 'k', '\x5', '\x12', '\n', '\x2', - 'j', '`', '\x3', '\x2', '\x2', '\x2', 'j', 'g', '\x3', '\x2', '\x2', '\x2', - 'k', '\x11', '\x3', '\x2', '\x2', '\x2', 'l', 'n', '\v', '\x2', '\x2', - '\x2', 'm', 'l', '\x3', '\x2', '\x2', '\x2', 'n', 'q', '\x3', '\x2', '\x2', - '\x2', 'o', 'p', '\x3', '\x2', '\x2', '\x2', 'o', 'm', '\x3', '\x2', '\x2', - '\x2', 'p', '\x13', '\x3', '\x2', '\x2', '\x2', 'q', 'o', '\x3', '\x2', - '\x2', '\x2', 'r', 's', '\a', '\x31', '\x2', '\x2', 's', 't', '\a', ',', - '\x2', '\x2', 't', 'u', '\x5', '\x16', '\f', '\x2', 'u', '\x15', '\x3', - '\x2', '\x2', '\x2', 'v', 'w', '\a', '\x31', '\x2', '\x2', 'w', 'y', '\a', - '#', '\x2', '\x2', 'x', 'z', '\x5', '\x18', '\r', '\x2', 'y', 'x', '\x3', - '\x2', '\x2', '\x2', 'y', 'z', '\x3', '\x2', '\x2', '\x2', 'z', '{', '\x3', - '\x2', '\x2', '\x2', '{', '|', '\a', '$', '\x2', '\x2', '|', '\x17', '\x3', - '\x2', '\x2', '\x2', '}', '\x82', '\x5', '\x1A', '\xE', '\x2', '~', '\x7F', - '\a', '\x19', '\x2', '\x2', '\x7F', '\x81', '\x5', '\x1A', '\xE', '\x2', - '\x80', '~', '\x3', '\x2', '\x2', '\x2', '\x81', '\x84', '\x3', '\x2', - '\x2', '\x2', '\x82', '\x80', '\x3', '\x2', '\x2', '\x2', '\x82', '\x83', - '\x3', '\x2', '\x2', '\x2', '\x83', '\x19', '\x3', '\x2', '\x2', '\x2', - '\x84', '\x82', '\x3', '\x2', '\x2', '\x2', '\x85', '\x88', '\x5', '*', - '\x16', '\x2', '\x86', '\x88', '\x5', '\x10', '\t', '\x2', '\x87', '\x85', - '\x3', '\x2', '\x2', '\x2', '\x87', '\x86', '\x3', '\x2', '\x2', '\x2', - '\x88', '\x1B', '\x3', '\x2', '\x2', '\x2', '\x89', '\x8D', '\a', '\'', - '\x2', '\x2', '\x8A', '\x8C', '\x5', '$', '\x13', '\x2', '\x8B', '\x8A', - '\x3', '\x2', '\x2', '\x2', '\x8C', '\x8F', '\x3', '\x2', '\x2', '\x2', - '\x8D', '\x8B', '\x3', '\x2', '\x2', '\x2', '\x8D', '\x8E', '\x3', '\x2', - '\x2', '\x2', '\x8E', '\x90', '\x3', '\x2', '\x2', '\x2', '\x8F', '\x8D', - '\x3', '\x2', '\x2', '\x2', '\x90', '\x91', '\a', '(', '\x2', '\x2', '\x91', - '\x1D', '\x3', '\x2', '\x2', '\x2', '\x92', '\x94', '\a', '\'', '\x2', - '\x2', '\x93', '\x95', '\x5', ' ', '\x11', '\x2', '\x94', '\x93', '\x3', - '\x2', '\x2', '\x2', '\x94', '\x95', '\x3', '\x2', '\x2', '\x2', '\x95', - '\x96', '\x3', '\x2', '\x2', '\x2', '\x96', '\x97', '\a', '(', '\x2', - '\x2', '\x97', '\x1F', '\x3', '\x2', '\x2', '\x2', '\x98', '\x9D', '\x5', - '\"', '\x12', '\x2', '\x99', '\x9A', '\a', '\x19', '\x2', '\x2', '\x9A', - '\x9C', '\x5', '\"', '\x12', '\x2', '\x9B', '\x99', '\x3', '\x2', '\x2', - '\x2', '\x9C', '\x9F', '\x3', '\x2', '\x2', '\x2', '\x9D', '\x9B', '\x3', - '\x2', '\x2', '\x2', '\x9D', '\x9E', '\x3', '\x2', '\x2', '\x2', '\x9E', - '!', '\x3', '\x2', '\x2', '\x2', '\x9F', '\x9D', '\x3', '\x2', '\x2', - '\x2', '\xA0', '\xA1', '\a', '\x31', '\x2', '\x2', '\xA1', '\xA2', '\a', - '\x17', '\x2', '\x2', '\xA2', '\xA3', '\x5', '*', '\x16', '\x2', '\xA3', - '#', '\x3', '\x2', '\x2', '\x2', '\xA4', '\xA5', '\x5', '\x4', '\x3', - '\x2', '\xA5', '\xA6', '\a', '\x18', '\x2', '\x2', '\xA6', '\xD3', '\x3', - '\x2', '\x2', '\x2', '\xA7', '\xA8', '\x5', '\x6', '\x4', '\x2', '\xA8', - '\xA9', '\a', '\x18', '\x2', '\x2', '\xA9', '\xD3', '\x3', '\x2', '\x2', - '\x2', '\xAA', '\xAB', '\a', '\v', '\x2', '\x2', '\xAB', '\xAC', '\x5', - '*', '\x16', '\x2', '\xAC', '\xAD', '\a', '\f', '\x2', '\x2', '\xAD', - '\xB0', '\x5', '&', '\x14', '\x2', '\xAE', '\xAF', '\a', '\r', '\x2', - '\x2', '\xAF', '\xB1', '\x5', '(', '\x15', '\x2', '\xB0', '\xAE', '\x3', - '\x2', '\x2', '\x2', '\xB0', '\xB1', '\x3', '\x2', '\x2', '\x2', '\xB1', - '\xD3', '\x3', '\x2', '\x2', '\x2', '\xB2', '\xB3', '\a', '\xE', '\x2', - '\x2', '\xB3', '\xB4', '\a', '#', '\x2', '\x2', '\xB4', '\xB5', '\a', - '\x31', '\x2', '\x2', '\xB5', '\xB6', '\a', '\x3', '\x2', '\x2', '\xB6', - '\xB7', '\x5', '*', '\x16', '\x2', '\xB7', '\xB8', '\a', '\x18', '\x2', - '\x2', '\xB8', '\xB9', '\x5', '*', '\x16', '\x2', '\xB9', '\xBA', '\a', - '\x18', '\x2', '\x2', '\xBA', '\xBB', '\x5', '*', '\x16', '\x2', '\xBB', - '\xBC', '\a', '$', '\x2', '\x2', '\xBC', '\xBD', '\x5', '$', '\x13', '\x2', - '\xBD', '\xD3', '\x3', '\x2', '\x2', '\x2', '\xBE', '\xC0', '\a', '\xF', - '\x2', '\x2', '\xBF', '\xC1', '\x5', '*', '\x16', '\x2', '\xC0', '\xBF', - '\x3', '\x2', '\x2', '\x2', '\xC0', '\xC1', '\x3', '\x2', '\x2', '\x2', - '\xC1', '\xC2', '\x3', '\x2', '\x2', '\x2', '\xC2', '\xD3', '\a', '\x18', - '\x2', '\x2', '\xC3', '\xD3', '\x5', '\x1C', '\xF', '\x2', '\xC4', '\xC5', - '\x5', '\n', '\x6', '\x2', '\xC5', '\xC6', '\a', '\x18', '\x2', '\x2', - '\xC6', '\xD3', '\x3', '\x2', '\x2', '\x2', '\xC7', '\xC8', '\x5', '\f', - '\a', '\x2', '\xC8', '\xC9', '\a', '\x18', '\x2', '\x2', '\xC9', '\xD3', - '\x3', '\x2', '\x2', '\x2', '\xCA', '\xCB', '\x5', '*', '\x16', '\x2', - '\xCB', '\xCC', '\a', '\x3', '\x2', '\x2', '\xCC', '\xCD', '\x5', '*', - '\x16', '\x2', '\xCD', '\xCE', '\a', '\x18', '\x2', '\x2', '\xCE', '\xD3', - '\x3', '\x2', '\x2', '\x2', '\xCF', '\xD0', '\x5', '*', '\x16', '\x2', - '\xD0', '\xD1', '\a', '\x18', '\x2', '\x2', '\xD1', '\xD3', '\x3', '\x2', - '\x2', '\x2', '\xD2', '\xA4', '\x3', '\x2', '\x2', '\x2', '\xD2', '\xA7', - '\x3', '\x2', '\x2', '\x2', '\xD2', '\xAA', '\x3', '\x2', '\x2', '\x2', - '\xD2', '\xB2', '\x3', '\x2', '\x2', '\x2', '\xD2', '\xBE', '\x3', '\x2', - '\x2', '\x2', '\xD2', '\xC3', '\x3', '\x2', '\x2', '\x2', '\xD2', '\xC4', - '\x3', '\x2', '\x2', '\x2', '\xD2', '\xC7', '\x3', '\x2', '\x2', '\x2', - '\xD2', '\xCA', '\x3', '\x2', '\x2', '\x2', '\xD2', '\xCF', '\x3', '\x2', - '\x2', '\x2', '\xD3', '%', '\x3', '\x2', '\x2', '\x2', '\xD4', '\xD5', - '\x5', '$', '\x13', '\x2', '\xD5', '\'', '\x3', '\x2', '\x2', '\x2', '\xD6', - '\xD7', '\x5', '$', '\x13', '\x2', '\xD7', ')', '\x3', '\x2', '\x2', '\x2', - '\xD8', '\xD9', '\b', '\x16', '\x1', '\x2', '\xD9', '\xF0', '\x5', '\x16', - '\f', '\x2', '\xDA', '\xF0', '\x5', '\x6', '\x4', '\x2', '\xDB', '\xF0', - '\x5', '\b', '\x5', '\x2', '\xDC', '\xDD', '\a', '\x1B', '\x2', '\x2', - '\xDD', '\xF0', '\x5', '*', '\x16', '\xF', '\xDE', '\xDF', '\a', ')', - '\x2', '\x2', '\xDF', '\xF0', '\x5', '*', '\x16', '\xE', '\xE0', '\xF0', - '\a', '\x30', '\x2', '\x2', '\xE1', '\xF0', '\a', '-', '\x2', '\x2', '\xE2', - '\xF0', '\a', '.', '\x2', '\x2', '\xE3', '\xE5', '\a', '#', '\x2', '\x2', - '\xE4', '\xE6', '\x5', ',', '\x17', '\x2', '\xE5', '\xE4', '\x3', '\x2', - '\x2', '\x2', '\xE5', '\xE6', '\x3', '\x2', '\x2', '\x2', '\xE6', '\xE7', - '\x3', '\x2', '\x2', '\x2', '\xE7', '\xF0', '\a', '$', '\x2', '\x2', '\xE8', - '\xEA', '\a', '%', '\x2', '\x2', '\xE9', '\xEB', '\x5', ',', '\x17', '\x2', - '\xEA', '\xE9', '\x3', '\x2', '\x2', '\x2', '\xEA', '\xEB', '\x3', '\x2', - '\x2', '\x2', '\xEB', '\xEC', '\x3', '\x2', '\x2', '\x2', '\xEC', '\xF0', - '\a', '&', '\x2', '\x2', '\xED', '\xF0', '\x5', '\x14', '\v', '\x2', '\xEE', - '\xF0', '\a', '\x31', '\x2', '\x2', '\xEF', '\xD8', '\x3', '\x2', '\x2', - '\x2', '\xEF', '\xDA', '\x3', '\x2', '\x2', '\x2', '\xEF', '\xDB', '\x3', - '\x2', '\x2', '\x2', '\xEF', '\xDC', '\x3', '\x2', '\x2', '\x2', '\xEF', - '\xDE', '\x3', '\x2', '\x2', '\x2', '\xEF', '\xE0', '\x3', '\x2', '\x2', - '\x2', '\xEF', '\xE1', '\x3', '\x2', '\x2', '\x2', '\xEF', '\xE2', '\x3', - '\x2', '\x2', '\x2', '\xEF', '\xE3', '\x3', '\x2', '\x2', '\x2', '\xEF', - '\xE8', '\x3', '\x2', '\x2', '\x2', '\xEF', '\xED', '\x3', '\x2', '\x2', - '\x2', '\xEF', '\xEE', '\x3', '\x2', '\x2', '\x2', '\xF0', '\x103', '\x3', - '\x2', '\x2', '\x2', '\xF1', '\xF2', '\f', '\r', '\x2', '\x2', '\xF2', - '\xF3', '\a', '\x1C', '\x2', '\x2', '\xF3', '\x102', '\x5', '*', '\x16', - '\xE', '\xF4', '\xF5', '\f', '\f', '\x2', '\x2', '\xF5', '\xF6', '\a', - '\x1A', '\x2', '\x2', '\xF6', '\x102', '\x5', '*', '\x16', '\r', '\xF7', - '\xF8', '\f', '\v', '\x2', '\x2', '\xF8', '\xF9', '\a', '\x1B', '\x2', - '\x2', '\xF9', '\x102', '\x5', '*', '\x16', '\f', '\xFA', '\xFB', '\f', - '\n', '\x2', '\x2', '\xFB', '\xFC', '\t', '\x3', '\x2', '\x2', '\xFC', - '\x102', '\x5', '*', '\x16', '\v', '\xFD', '\xFE', '\f', '\x11', '\x2', - '\x2', '\xFE', '\x102', '\a', '\x5', '\x2', '\x2', '\xFF', '\x100', '\f', - '\x10', '\x2', '\x2', '\x100', '\x102', '\a', '\x6', '\x2', '\x2', '\x101', - '\xF1', '\x3', '\x2', '\x2', '\x2', '\x101', '\xF4', '\x3', '\x2', '\x2', - '\x2', '\x101', '\xF7', '\x3', '\x2', '\x2', '\x2', '\x101', '\xFA', '\x3', - '\x2', '\x2', '\x2', '\x101', '\xFD', '\x3', '\x2', '\x2', '\x2', '\x101', - '\xFF', '\x3', '\x2', '\x2', '\x2', '\x102', '\x105', '\x3', '\x2', '\x2', - '\x2', '\x103', '\x101', '\x3', '\x2', '\x2', '\x2', '\x103', '\x104', - '\x3', '\x2', '\x2', '\x2', '\x104', '+', '\x3', '\x2', '\x2', '\x2', - '\x105', '\x103', '\x3', '\x2', '\x2', '\x2', '\x106', '\x10B', '\x5', - '*', '\x16', '\x2', '\x107', '\x108', '\a', '\x19', '\x2', '\x2', '\x108', - '\x10A', '\x5', '*', '\x16', '\x2', '\x109', '\x107', '\x3', '\x2', '\x2', - '\x2', '\x10A', '\x10D', '\x3', '\x2', '\x2', '\x2', '\x10B', '\x109', - '\x3', '\x2', '\x2', '\x2', '\x10B', '\x10C', '\x3', '\x2', '\x2', '\x2', - '\x10C', '-', '\x3', '\x2', '\x2', '\x2', '\x10D', '\x10B', '\x3', '\x2', - '\x2', '\x2', '\x1C', '\x30', '\x32', ':', '\x42', '\x46', 'N', 'R', 'X', - '\\', 'j', 'o', 'y', '\x82', '\x87', '\x8D', '\x94', '\x9D', '\xB0', '\xC0', - '\xD2', '\xE5', '\xEA', '\xEF', '\x101', '\x103', '\x10B', + '\x15', '\x3', '\x15', '\x3', '\x15', '\x3', '\x15', '\x3', '\x15', '\x3', + '\x15', '\x3', '\x15', '\x3', '\x15', '\x3', '\x15', '\x3', '\x15', '\x3', + '\x15', '\x5', '\x15', '\xDE', '\n', '\x15', '\x3', '\x15', '\x3', '\x15', + '\x3', '\x15', '\x5', '\x15', '\xE3', '\n', '\x15', '\x3', '\x15', '\x3', + '\x15', '\x3', '\x15', '\x5', '\x15', '\xE8', '\n', '\x15', '\x3', '\x15', + '\x3', '\x15', '\x3', '\x15', '\x3', '\x15', '\x3', '\x15', '\x3', '\x15', + '\x3', '\x15', '\x3', '\x15', '\x3', '\x15', '\x3', '\x15', '\x3', '\x15', + '\x3', '\x15', '\x3', '\x15', '\x3', '\x15', '\x3', '\x15', '\x3', '\x15', + '\a', '\x15', '\xFA', '\n', '\x15', '\f', '\x15', '\xE', '\x15', '\xFD', + '\v', '\x15', '\x3', '\x16', '\x3', '\x16', '\x3', '\x16', '\a', '\x16', + '\x102', '\n', '\x16', '\f', '\x16', '\xE', '\x16', '\x105', '\v', '\x16', + '\x3', '\x16', '\x3', 'j', '\x3', '(', '\x17', '\x2', '\x4', '\x6', '\b', + '\n', '\f', '\xE', '\x10', '\x12', '\x14', '\x16', '\x18', '\x1A', '\x1C', + '\x1E', ' ', '\"', '$', '&', '(', '*', '\x2', '\x4', '\x4', '\x2', '\xF', + '\x13', '\x30', '\x30', '\x5', '\x2', '\x4', '\x4', '\x1C', '\x1C', '\x1F', + '\x1F', '\x2', '\x120', '\x2', '\x30', '\x3', '\x2', '\x2', '\x2', '\x4', + '\x33', '\x3', '\x2', '\x2', '\x2', '\x6', '\x37', '\x3', '\x2', '\x2', + '\x2', '\b', '\x45', '\x3', '\x2', '\x2', '\x2', '\n', 'O', '\x3', '\x2', + '\x2', '\x2', '\f', 'Y', '\x3', '\x2', '\x2', '\x2', '\xE', '\x65', '\x3', + '\x2', '\x2', '\x2', '\x10', 'j', '\x3', '\x2', '\x2', '\x2', '\x12', + 'm', '\x3', '\x2', '\x2', '\x2', '\x14', 'q', '\x3', '\x2', '\x2', '\x2', + '\x16', 'x', '\x3', '\x2', '\x2', '\x2', '\x18', '\x82', '\x3', '\x2', + '\x2', '\x2', '\x1A', '\x84', '\x3', '\x2', '\x2', '\x2', '\x1C', '\x8D', + '\x3', '\x2', '\x2', '\x2', '\x1E', '\x93', '\x3', '\x2', '\x2', '\x2', + ' ', '\x9B', '\x3', '\x2', '\x2', '\x2', '\"', '\xCA', '\x3', '\x2', '\x2', + '\x2', '$', '\xCC', '\x3', '\x2', '\x2', '\x2', '&', '\xCE', '\x3', '\x2', + '\x2', '\x2', '(', '\xE7', '\x3', '\x2', '\x2', '\x2', '*', '\xFE', '\x3', + '\x2', '\x2', '\x2', ',', '/', '\x5', '\"', '\x12', '\x2', '-', '/', '\a', + '.', '\x2', '\x2', '.', ',', '\x3', '\x2', '\x2', '\x2', '.', '-', '\x3', + '\x2', '\x2', '\x2', '/', '\x32', '\x3', '\x2', '\x2', '\x2', '\x30', + '.', '\x3', '\x2', '\x2', '\x2', '\x30', '\x31', '\x3', '\x2', '\x2', + '\x2', '\x31', '\x3', '\x3', '\x2', '\x2', '\x2', '\x32', '\x30', '\x3', + '\x2', '\x2', '\x2', '\x33', '\x35', '\a', '\x30', '\x2', '\x2', '\x34', + '\x36', '\x5', '\x1C', '\xF', '\x2', '\x35', '\x34', '\x3', '\x2', '\x2', + '\x2', '\x35', '\x36', '\x3', '\x2', '\x2', '\x2', '\x36', '\x5', '\x3', + '\x2', '\x2', '\x2', '\x37', '\x38', '\a', '\a', '\x2', '\x2', '\x38', + '=', '\a', '\x30', '\x2', '\x2', '\x39', ':', '\a', '\x1F', '\x2', '\x2', + ':', ';', '\x5', '\f', '\a', '\x2', ';', '<', '\a', '\x4', '\x2', '\x2', + '<', '>', '\x3', '\x2', '\x2', '\x2', '=', '\x39', '\x3', '\x2', '\x2', + '\x2', '=', '>', '\x3', '\x2', '\x2', '\x2', '>', '?', '\x3', '\x2', '\x2', + '\x2', '?', '\x41', '\a', '\"', '\x2', '\x2', '@', '\x42', '\x5', '\x16', + '\f', '\x2', '\x41', '@', '\x3', '\x2', '\x2', '\x2', '\x41', '\x42', + '\x3', '\x2', '\x2', '\x2', '\x42', '\x43', '\x3', '\x2', '\x2', '\x2', + '\x43', '\x44', '\a', '#', '\x2', '\x2', '\x44', '\a', '\x3', '\x2', '\x2', + '\x2', '\x45', '\x46', '\a', '\b', '\x2', '\x2', '\x46', 'I', '\a', '\x30', + '\x2', '\x2', 'G', 'H', '\a', '\x16', '\x2', '\x2', 'H', 'J', '\x5', '\f', + '\a', '\x2', 'I', 'G', '\x3', '\x2', '\x2', '\x2', 'I', 'J', '\x3', '\x2', + '\x2', '\x2', 'J', 'M', '\x3', '\x2', '\x2', '\x2', 'K', 'L', '\a', '\x3', + '\x2', '\x2', 'L', 'N', '\x5', '(', '\x15', '\x2', 'M', 'K', '\x3', '\x2', + '\x2', '\x2', 'M', 'N', '\x3', '\x2', '\x2', '\x2', 'N', '\t', '\x3', + '\x2', '\x2', '\x2', 'O', 'P', '\a', '\t', '\x2', '\x2', 'P', 'S', '\a', + '\x30', '\x2', '\x2', 'Q', 'R', '\a', '\x16', '\x2', '\x2', 'R', 'T', + '\x5', '\f', '\a', '\x2', 'S', 'Q', '\x3', '\x2', '\x2', '\x2', 'S', 'T', + '\x3', '\x2', '\x2', '\x2', 'T', 'W', '\x3', '\x2', '\x2', '\x2', 'U', + 'V', '\a', '\x3', '\x2', '\x2', 'V', 'X', '\x5', '(', '\x15', '\x2', 'W', + 'U', '\x3', '\x2', '\x2', '\x2', 'W', 'X', '\x3', '\x2', '\x2', '\x2', + 'X', '\v', '\x3', '\x2', '\x2', '\x2', 'Y', 'Z', '\t', '\x2', '\x2', '\x2', + 'Z', '\r', '\x3', '\x2', '\x2', '\x2', '[', '\\', '\a', '\x14', '\x2', + '\x2', '\\', ']', '\a', '\"', '\x2', '\x2', ']', '^', '\a', '\x30', '\x2', + '\x2', '^', '_', '\a', '\x18', '\x2', '\x2', '_', '`', '\x5', '\x10', + '\t', '\x2', '`', '\x61', '\a', '#', '\x2', '\x2', '\x61', '\x66', '\x3', + '\x2', '\x2', '\x2', '\x62', '\x63', '\a', '\x30', '\x2', '\x2', '\x63', + '\x64', '\a', '!', '\x2', '\x2', '\x64', '\x66', '\x5', '\x10', '\t', + '\x2', '\x65', '[', '\x3', '\x2', '\x2', '\x2', '\x65', '\x62', '\x3', + '\x2', '\x2', '\x2', '\x66', '\xF', '\x3', '\x2', '\x2', '\x2', 'g', 'i', + '\v', '\x2', '\x2', '\x2', 'h', 'g', '\x3', '\x2', '\x2', '\x2', 'i', + 'l', '\x3', '\x2', '\x2', '\x2', 'j', 'k', '\x3', '\x2', '\x2', '\x2', + 'j', 'h', '\x3', '\x2', '\x2', '\x2', 'k', '\x11', '\x3', '\x2', '\x2', + '\x2', 'l', 'j', '\x3', '\x2', '\x2', '\x2', 'm', 'n', '\a', '\x30', '\x2', + '\x2', 'n', 'o', '\a', '+', '\x2', '\x2', 'o', 'p', '\x5', '\x14', '\v', + '\x2', 'p', '\x13', '\x3', '\x2', '\x2', '\x2', 'q', 'r', '\a', '\x30', + '\x2', '\x2', 'r', 't', '\a', '\"', '\x2', '\x2', 's', 'u', '\x5', '\x16', + '\f', '\x2', 't', 's', '\x3', '\x2', '\x2', '\x2', 't', 'u', '\x3', '\x2', + '\x2', '\x2', 'u', 'v', '\x3', '\x2', '\x2', '\x2', 'v', 'w', '\a', '#', + '\x2', '\x2', 'w', '\x15', '\x3', '\x2', '\x2', '\x2', 'x', '}', '\x5', + '\x18', '\r', '\x2', 'y', 'z', '\a', '\x18', '\x2', '\x2', 'z', '|', '\x5', + '\x18', '\r', '\x2', '{', 'y', '\x3', '\x2', '\x2', '\x2', '|', '\x7F', + '\x3', '\x2', '\x2', '\x2', '}', '{', '\x3', '\x2', '\x2', '\x2', '}', + '~', '\x3', '\x2', '\x2', '\x2', '~', '\x17', '\x3', '\x2', '\x2', '\x2', + '\x7F', '}', '\x3', '\x2', '\x2', '\x2', '\x80', '\x83', '\x5', '(', '\x15', + '\x2', '\x81', '\x83', '\x5', '\xE', '\b', '\x2', '\x82', '\x80', '\x3', + '\x2', '\x2', '\x2', '\x82', '\x81', '\x3', '\x2', '\x2', '\x2', '\x83', + '\x19', '\x3', '\x2', '\x2', '\x2', '\x84', '\x88', '\a', '&', '\x2', + '\x2', '\x85', '\x87', '\x5', '\"', '\x12', '\x2', '\x86', '\x85', '\x3', + '\x2', '\x2', '\x2', '\x87', '\x8A', '\x3', '\x2', '\x2', '\x2', '\x88', + '\x86', '\x3', '\x2', '\x2', '\x2', '\x88', '\x89', '\x3', '\x2', '\x2', + '\x2', '\x89', '\x8B', '\x3', '\x2', '\x2', '\x2', '\x8A', '\x88', '\x3', + '\x2', '\x2', '\x2', '\x8B', '\x8C', '\a', '\'', '\x2', '\x2', '\x8C', + '\x1B', '\x3', '\x2', '\x2', '\x2', '\x8D', '\x8F', '\a', '&', '\x2', + '\x2', '\x8E', '\x90', '\x5', '\x1E', '\x10', '\x2', '\x8F', '\x8E', '\x3', + '\x2', '\x2', '\x2', '\x8F', '\x90', '\x3', '\x2', '\x2', '\x2', '\x90', + '\x91', '\x3', '\x2', '\x2', '\x2', '\x91', '\x92', '\a', '\'', '\x2', + '\x2', '\x92', '\x1D', '\x3', '\x2', '\x2', '\x2', '\x93', '\x98', '\x5', + ' ', '\x11', '\x2', '\x94', '\x95', '\a', '\x18', '\x2', '\x2', '\x95', + '\x97', '\x5', ' ', '\x11', '\x2', '\x96', '\x94', '\x3', '\x2', '\x2', + '\x2', '\x97', '\x9A', '\x3', '\x2', '\x2', '\x2', '\x98', '\x96', '\x3', + '\x2', '\x2', '\x2', '\x98', '\x99', '\x3', '\x2', '\x2', '\x2', '\x99', + '\x1F', '\x3', '\x2', '\x2', '\x2', '\x9A', '\x98', '\x3', '\x2', '\x2', + '\x2', '\x9B', '\x9C', '\a', '\x30', '\x2', '\x2', '\x9C', '\x9D', '\a', + '\x16', '\x2', '\x2', '\x9D', '\x9E', '\x5', '(', '\x15', '\x2', '\x9E', + '!', '\x3', '\x2', '\x2', '\x2', '\x9F', '\xA0', '\x5', '\x4', '\x3', + '\x2', '\xA0', '\xA1', '\a', '\x17', '\x2', '\x2', '\xA1', '\xCB', '\x3', + '\x2', '\x2', '\x2', '\xA2', '\xA3', '\a', '\n', '\x2', '\x2', '\xA3', + '\xA4', '\x5', '(', '\x15', '\x2', '\xA4', '\xA5', '\a', '\v', '\x2', + '\x2', '\xA5', '\xA8', '\x5', '$', '\x13', '\x2', '\xA6', '\xA7', '\a', + '\f', '\x2', '\x2', '\xA7', '\xA9', '\x5', '&', '\x14', '\x2', '\xA8', + '\xA6', '\x3', '\x2', '\x2', '\x2', '\xA8', '\xA9', '\x3', '\x2', '\x2', + '\x2', '\xA9', '\xCB', '\x3', '\x2', '\x2', '\x2', '\xAA', '\xAB', '\a', + '\r', '\x2', '\x2', '\xAB', '\xAC', '\a', '\"', '\x2', '\x2', '\xAC', + '\xAD', '\a', '\x30', '\x2', '\x2', '\xAD', '\xAE', '\a', '\x3', '\x2', + '\x2', '\xAE', '\xAF', '\x5', '(', '\x15', '\x2', '\xAF', '\xB0', '\a', + '\x17', '\x2', '\x2', '\xB0', '\xB1', '\x5', '(', '\x15', '\x2', '\xB1', + '\xB2', '\a', '\x17', '\x2', '\x2', '\xB2', '\xB3', '\x5', '(', '\x15', + '\x2', '\xB3', '\xB4', '\a', '#', '\x2', '\x2', '\xB4', '\xB5', '\x5', + '\"', '\x12', '\x2', '\xB5', '\xCB', '\x3', '\x2', '\x2', '\x2', '\xB6', + '\xB8', '\a', '\xE', '\x2', '\x2', '\xB7', '\xB9', '\x5', '(', '\x15', + '\x2', '\xB8', '\xB7', '\x3', '\x2', '\x2', '\x2', '\xB8', '\xB9', '\x3', + '\x2', '\x2', '\x2', '\xB9', '\xBA', '\x3', '\x2', '\x2', '\x2', '\xBA', + '\xCB', '\a', '\x17', '\x2', '\x2', '\xBB', '\xCB', '\x5', '\x1A', '\xE', + '\x2', '\xBC', '\xBD', '\x5', '\b', '\x5', '\x2', '\xBD', '\xBE', '\a', + '\x17', '\x2', '\x2', '\xBE', '\xCB', '\x3', '\x2', '\x2', '\x2', '\xBF', + '\xC0', '\x5', '\n', '\x6', '\x2', '\xC0', '\xC1', '\a', '\x17', '\x2', + '\x2', '\xC1', '\xCB', '\x3', '\x2', '\x2', '\x2', '\xC2', '\xC3', '\x5', + '(', '\x15', '\x2', '\xC3', '\xC4', '\a', '\x3', '\x2', '\x2', '\xC4', + '\xC5', '\x5', '(', '\x15', '\x2', '\xC5', '\xC6', '\a', '\x17', '\x2', + '\x2', '\xC6', '\xCB', '\x3', '\x2', '\x2', '\x2', '\xC7', '\xC8', '\x5', + '(', '\x15', '\x2', '\xC8', '\xC9', '\a', '\x17', '\x2', '\x2', '\xC9', + '\xCB', '\x3', '\x2', '\x2', '\x2', '\xCA', '\x9F', '\x3', '\x2', '\x2', + '\x2', '\xCA', '\xA2', '\x3', '\x2', '\x2', '\x2', '\xCA', '\xAA', '\x3', + '\x2', '\x2', '\x2', '\xCA', '\xB6', '\x3', '\x2', '\x2', '\x2', '\xCA', + '\xBB', '\x3', '\x2', '\x2', '\x2', '\xCA', '\xBC', '\x3', '\x2', '\x2', + '\x2', '\xCA', '\xBF', '\x3', '\x2', '\x2', '\x2', '\xCA', '\xC2', '\x3', + '\x2', '\x2', '\x2', '\xCA', '\xC7', '\x3', '\x2', '\x2', '\x2', '\xCB', + '#', '\x3', '\x2', '\x2', '\x2', '\xCC', '\xCD', '\x5', '\"', '\x12', + '\x2', '\xCD', '%', '\x3', '\x2', '\x2', '\x2', '\xCE', '\xCF', '\x5', + '\"', '\x12', '\x2', '\xCF', '\'', '\x3', '\x2', '\x2', '\x2', '\xD0', + '\xD1', '\b', '\x15', '\x1', '\x2', '\xD1', '\xE8', '\x5', '\x14', '\v', + '\x2', '\xD2', '\xE8', '\x5', '\x4', '\x3', '\x2', '\xD3', '\xE8', '\x5', + '\x6', '\x4', '\x2', '\xD4', '\xD5', '\a', '\x1A', '\x2', '\x2', '\xD5', + '\xE8', '\x5', '(', '\x15', '\xF', '\xD6', '\xD7', '\a', '(', '\x2', '\x2', + '\xD7', '\xE8', '\x5', '(', '\x15', '\xE', '\xD8', '\xE8', '\a', '/', + '\x2', '\x2', '\xD9', '\xE8', '\a', ',', '\x2', '\x2', '\xDA', '\xE8', + '\a', '-', '\x2', '\x2', '\xDB', '\xDD', '\a', '\"', '\x2', '\x2', '\xDC', + '\xDE', '\x5', '*', '\x16', '\x2', '\xDD', '\xDC', '\x3', '\x2', '\x2', + '\x2', '\xDD', '\xDE', '\x3', '\x2', '\x2', '\x2', '\xDE', '\xDF', '\x3', + '\x2', '\x2', '\x2', '\xDF', '\xE8', '\a', '#', '\x2', '\x2', '\xE0', + '\xE2', '\a', '$', '\x2', '\x2', '\xE1', '\xE3', '\x5', '*', '\x16', '\x2', + '\xE2', '\xE1', '\x3', '\x2', '\x2', '\x2', '\xE2', '\xE3', '\x3', '\x2', + '\x2', '\x2', '\xE3', '\xE4', '\x3', '\x2', '\x2', '\x2', '\xE4', '\xE8', + '\a', '%', '\x2', '\x2', '\xE5', '\xE8', '\x5', '\x12', '\n', '\x2', '\xE6', + '\xE8', '\a', '\x30', '\x2', '\x2', '\xE7', '\xD0', '\x3', '\x2', '\x2', + '\x2', '\xE7', '\xD2', '\x3', '\x2', '\x2', '\x2', '\xE7', '\xD3', '\x3', + '\x2', '\x2', '\x2', '\xE7', '\xD4', '\x3', '\x2', '\x2', '\x2', '\xE7', + '\xD6', '\x3', '\x2', '\x2', '\x2', '\xE7', '\xD8', '\x3', '\x2', '\x2', + '\x2', '\xE7', '\xD9', '\x3', '\x2', '\x2', '\x2', '\xE7', '\xDA', '\x3', + '\x2', '\x2', '\x2', '\xE7', '\xDB', '\x3', '\x2', '\x2', '\x2', '\xE7', + '\xE0', '\x3', '\x2', '\x2', '\x2', '\xE7', '\xE5', '\x3', '\x2', '\x2', + '\x2', '\xE7', '\xE6', '\x3', '\x2', '\x2', '\x2', '\xE8', '\xFB', '\x3', + '\x2', '\x2', '\x2', '\xE9', '\xEA', '\f', '\r', '\x2', '\x2', '\xEA', + '\xEB', '\a', '\x1B', '\x2', '\x2', '\xEB', '\xFA', '\x5', '(', '\x15', + '\xE', '\xEC', '\xED', '\f', '\f', '\x2', '\x2', '\xED', '\xEE', '\a', + '\x19', '\x2', '\x2', '\xEE', '\xFA', '\x5', '(', '\x15', '\r', '\xEF', + '\xF0', '\f', '\v', '\x2', '\x2', '\xF0', '\xF1', '\a', '\x1A', '\x2', + '\x2', '\xF1', '\xFA', '\x5', '(', '\x15', '\f', '\xF2', '\xF3', '\f', + '\n', '\x2', '\x2', '\xF3', '\xF4', '\t', '\x3', '\x2', '\x2', '\xF4', + '\xFA', '\x5', '(', '\x15', '\v', '\xF5', '\xF6', '\f', '\x11', '\x2', + '\x2', '\xF6', '\xFA', '\a', '\x5', '\x2', '\x2', '\xF7', '\xF8', '\f', + '\x10', '\x2', '\x2', '\xF8', '\xFA', '\a', '\x6', '\x2', '\x2', '\xF9', + '\xE9', '\x3', '\x2', '\x2', '\x2', '\xF9', '\xEC', '\x3', '\x2', '\x2', + '\x2', '\xF9', '\xEF', '\x3', '\x2', '\x2', '\x2', '\xF9', '\xF2', '\x3', + '\x2', '\x2', '\x2', '\xF9', '\xF5', '\x3', '\x2', '\x2', '\x2', '\xF9', + '\xF7', '\x3', '\x2', '\x2', '\x2', '\xFA', '\xFD', '\x3', '\x2', '\x2', + '\x2', '\xFB', '\xF9', '\x3', '\x2', '\x2', '\x2', '\xFB', '\xFC', '\x3', + '\x2', '\x2', '\x2', '\xFC', ')', '\x3', '\x2', '\x2', '\x2', '\xFD', + '\xFB', '\x3', '\x2', '\x2', '\x2', '\xFE', '\x103', '\x5', '(', '\x15', + '\x2', '\xFF', '\x100', '\a', '\x18', '\x2', '\x2', '\x100', '\x102', + '\x5', '(', '\x15', '\x2', '\x101', '\xFF', '\x3', '\x2', '\x2', '\x2', + '\x102', '\x105', '\x3', '\x2', '\x2', '\x2', '\x103', '\x101', '\x3', + '\x2', '\x2', '\x2', '\x103', '\x104', '\x3', '\x2', '\x2', '\x2', '\x104', + '+', '\x3', '\x2', '\x2', '\x2', '\x105', '\x103', '\x3', '\x2', '\x2', + '\x2', '\x1C', '.', '\x30', '\x35', '=', '\x41', 'I', 'M', 'S', 'W', '\x65', + 'j', 't', '}', '\x82', '\x88', '\x8F', '\x98', '\xA8', '\xB8', '\xCA', + '\xDD', '\xE2', '\xE7', '\xF9', '\xFB', '\x103', }; public static readonly ATN _ATN = diff --git a/src/dsl/Elsa.Dsl/Abstractions/ElsaParser.interp b/src/dsl/Elsa.Dsl/Abstractions/ElsaParser.interp index 7997c6e9b..e2a3357de 100644 --- a/src/dsl/Elsa.Dsl/Abstractions/ElsaParser.interp +++ b/src/dsl/Elsa.Dsl/Abstractions/ElsaParser.interp @@ -5,7 +5,6 @@ null '++' '--' 'new' -'trigger' 'variable' 'let' 'if' @@ -57,7 +56,6 @@ GREATER INCREMENT DECREMENT NEW -TRIGGER VARIABLE LET IF @@ -104,7 +102,6 @@ ESC rule names: program -trigger object newObject varDecl @@ -128,4 +125,4 @@ exprList atn: -[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 3, 51, 271, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 4, 12, 9, 12, 4, 13, 9, 13, 4, 14, 9, 14, 4, 15, 9, 15, 4, 16, 9, 16, 4, 17, 9, 17, 4, 18, 9, 18, 4, 19, 9, 19, 4, 20, 9, 20, 4, 21, 9, 21, 4, 22, 9, 22, 4, 23, 9, 23, 3, 2, 3, 2, 7, 2, 49, 10, 2, 12, 2, 14, 2, 52, 11, 2, 3, 3, 3, 3, 3, 3, 3, 4, 3, 4, 5, 4, 59, 10, 4, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 5, 5, 67, 10, 5, 3, 5, 3, 5, 5, 5, 71, 10, 5, 3, 5, 3, 5, 3, 6, 3, 6, 3, 6, 3, 6, 5, 6, 79, 10, 6, 3, 6, 3, 6, 5, 6, 83, 10, 6, 3, 7, 3, 7, 3, 7, 3, 7, 5, 7, 89, 10, 7, 3, 7, 3, 7, 5, 7, 93, 10, 7, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 5, 9, 107, 10, 9, 3, 10, 7, 10, 110, 10, 10, 12, 10, 14, 10, 113, 11, 10, 3, 11, 3, 11, 3, 11, 3, 11, 3, 12, 3, 12, 3, 12, 5, 12, 122, 10, 12, 3, 12, 3, 12, 3, 13, 3, 13, 3, 13, 7, 13, 129, 10, 13, 12, 13, 14, 13, 132, 11, 13, 3, 14, 3, 14, 5, 14, 136, 10, 14, 3, 15, 3, 15, 7, 15, 140, 10, 15, 12, 15, 14, 15, 143, 11, 15, 3, 15, 3, 15, 3, 16, 3, 16, 5, 16, 149, 10, 16, 3, 16, 3, 16, 3, 17, 3, 17, 3, 17, 7, 17, 156, 10, 17, 12, 17, 14, 17, 159, 11, 17, 3, 18, 3, 18, 3, 18, 3, 18, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 5, 19, 177, 10, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 5, 19, 193, 10, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 5, 19, 211, 10, 19, 3, 20, 3, 20, 3, 21, 3, 21, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 5, 22, 230, 10, 22, 3, 22, 3, 22, 3, 22, 5, 22, 235, 10, 22, 3, 22, 3, 22, 3, 22, 5, 22, 240, 10, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 7, 22, 258, 10, 22, 12, 22, 14, 22, 261, 11, 22, 3, 23, 3, 23, 3, 23, 7, 23, 266, 10, 23, 12, 23, 14, 23, 269, 11, 23, 3, 23, 3, 111, 3, 42, 24, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 2, 4, 4, 2, 16, 20, 49, 49, 5, 2, 4, 4, 29, 29, 32, 32, 2, 296, 2, 50, 3, 2, 2, 2, 4, 53, 3, 2, 2, 2, 6, 56, 3, 2, 2, 2, 8, 60, 3, 2, 2, 2, 10, 74, 3, 2, 2, 2, 12, 84, 3, 2, 2, 2, 14, 94, 3, 2, 2, 2, 16, 106, 3, 2, 2, 2, 18, 111, 3, 2, 2, 2, 20, 114, 3, 2, 2, 2, 22, 118, 3, 2, 2, 2, 24, 125, 3, 2, 2, 2, 26, 135, 3, 2, 2, 2, 28, 137, 3, 2, 2, 2, 30, 146, 3, 2, 2, 2, 32, 152, 3, 2, 2, 2, 34, 160, 3, 2, 2, 2, 36, 210, 3, 2, 2, 2, 38, 212, 3, 2, 2, 2, 40, 214, 3, 2, 2, 2, 42, 239, 3, 2, 2, 2, 44, 262, 3, 2, 2, 2, 46, 49, 5, 36, 19, 2, 47, 49, 7, 47, 2, 2, 48, 46, 3, 2, 2, 2, 48, 47, 3, 2, 2, 2, 49, 52, 3, 2, 2, 2, 50, 48, 3, 2, 2, 2, 50, 51, 3, 2, 2, 2, 51, 3, 3, 2, 2, 2, 52, 50, 3, 2, 2, 2, 53, 54, 7, 8, 2, 2, 54, 55, 5, 6, 4, 2, 55, 5, 3, 2, 2, 2, 56, 58, 7, 49, 2, 2, 57, 59, 5, 30, 16, 2, 58, 57, 3, 2, 2, 2, 58, 59, 3, 2, 2, 2, 59, 7, 3, 2, 2, 2, 60, 61, 7, 7, 2, 2, 61, 66, 7, 49, 2, 2, 62, 63, 7, 32, 2, 2, 63, 64, 5, 14, 8, 2, 64, 65, 7, 4, 2, 2, 65, 67, 3, 2, 2, 2, 66, 62, 3, 2, 2, 2, 66, 67, 3, 2, 2, 2, 67, 68, 3, 2, 2, 2, 68, 70, 7, 35, 2, 2, 69, 71, 5, 24, 13, 2, 70, 69, 3, 2, 2, 2, 70, 71, 3, 2, 2, 2, 71, 72, 3, 2, 2, 2, 72, 73, 7, 36, 2, 2, 73, 9, 3, 2, 2, 2, 74, 75, 7, 9, 2, 2, 75, 78, 7, 49, 2, 2, 76, 77, 7, 23, 2, 2, 77, 79, 5, 14, 8, 2, 78, 76, 3, 2, 2, 2, 78, 79, 3, 2, 2, 2, 79, 82, 3, 2, 2, 2, 80, 81, 7, 3, 2, 2, 81, 83, 5, 42, 22, 2, 82, 80, 3, 2, 2, 2, 82, 83, 3, 2, 2, 2, 83, 11, 3, 2, 2, 2, 84, 85, 7, 10, 2, 2, 85, 88, 7, 49, 2, 2, 86, 87, 7, 23, 2, 2, 87, 89, 5, 14, 8, 2, 88, 86, 3, 2, 2, 2, 88, 89, 3, 2, 2, 2, 89, 92, 3, 2, 2, 2, 90, 91, 7, 3, 2, 2, 91, 93, 5, 42, 22, 2, 92, 90, 3, 2, 2, 2, 92, 93, 3, 2, 2, 2, 93, 13, 3, 2, 2, 2, 94, 95, 9, 2, 2, 2, 95, 15, 3, 2, 2, 2, 96, 97, 7, 21, 2, 2, 97, 98, 7, 35, 2, 2, 98, 99, 7, 49, 2, 2, 99, 100, 7, 25, 2, 2, 100, 101, 5, 18, 10, 2, 101, 102, 7, 36, 2, 2, 102, 107, 3, 2, 2, 2, 103, 104, 7, 49, 2, 2, 104, 105, 7, 34, 2, 2, 105, 107, 5, 18, 10, 2, 106, 96, 3, 2, 2, 2, 106, 103, 3, 2, 2, 2, 107, 17, 3, 2, 2, 2, 108, 110, 11, 2, 2, 2, 109, 108, 3, 2, 2, 2, 110, 113, 3, 2, 2, 2, 111, 112, 3, 2, 2, 2, 111, 109, 3, 2, 2, 2, 112, 19, 3, 2, 2, 2, 113, 111, 3, 2, 2, 2, 114, 115, 7, 49, 2, 2, 115, 116, 7, 44, 2, 2, 116, 117, 5, 22, 12, 2, 117, 21, 3, 2, 2, 2, 118, 119, 7, 49, 2, 2, 119, 121, 7, 35, 2, 2, 120, 122, 5, 24, 13, 2, 121, 120, 3, 2, 2, 2, 121, 122, 3, 2, 2, 2, 122, 123, 3, 2, 2, 2, 123, 124, 7, 36, 2, 2, 124, 23, 3, 2, 2, 2, 125, 130, 5, 26, 14, 2, 126, 127, 7, 25, 2, 2, 127, 129, 5, 26, 14, 2, 128, 126, 3, 2, 2, 2, 129, 132, 3, 2, 2, 2, 130, 128, 3, 2, 2, 2, 130, 131, 3, 2, 2, 2, 131, 25, 3, 2, 2, 2, 132, 130, 3, 2, 2, 2, 133, 136, 5, 42, 22, 2, 134, 136, 5, 16, 9, 2, 135, 133, 3, 2, 2, 2, 135, 134, 3, 2, 2, 2, 136, 27, 3, 2, 2, 2, 137, 141, 7, 39, 2, 2, 138, 140, 5, 36, 19, 2, 139, 138, 3, 2, 2, 2, 140, 143, 3, 2, 2, 2, 141, 139, 3, 2, 2, 2, 141, 142, 3, 2, 2, 2, 142, 144, 3, 2, 2, 2, 143, 141, 3, 2, 2, 2, 144, 145, 7, 40, 2, 2, 145, 29, 3, 2, 2, 2, 146, 148, 7, 39, 2, 2, 147, 149, 5, 32, 17, 2, 148, 147, 3, 2, 2, 2, 148, 149, 3, 2, 2, 2, 149, 150, 3, 2, 2, 2, 150, 151, 7, 40, 2, 2, 151, 31, 3, 2, 2, 2, 152, 157, 5, 34, 18, 2, 153, 154, 7, 25, 2, 2, 154, 156, 5, 34, 18, 2, 155, 153, 3, 2, 2, 2, 156, 159, 3, 2, 2, 2, 157, 155, 3, 2, 2, 2, 157, 158, 3, 2, 2, 2, 158, 33, 3, 2, 2, 2, 159, 157, 3, 2, 2, 2, 160, 161, 7, 49, 2, 2, 161, 162, 7, 23, 2, 2, 162, 163, 5, 42, 22, 2, 163, 35, 3, 2, 2, 2, 164, 165, 5, 4, 3, 2, 165, 166, 7, 24, 2, 2, 166, 211, 3, 2, 2, 2, 167, 168, 5, 6, 4, 2, 168, 169, 7, 24, 2, 2, 169, 211, 3, 2, 2, 2, 170, 171, 7, 11, 2, 2, 171, 172, 5, 42, 22, 2, 172, 173, 7, 12, 2, 2, 173, 176, 5, 38, 20, 2, 174, 175, 7, 13, 2, 2, 175, 177, 5, 40, 21, 2, 176, 174, 3, 2, 2, 2, 176, 177, 3, 2, 2, 2, 177, 211, 3, 2, 2, 2, 178, 179, 7, 14, 2, 2, 179, 180, 7, 35, 2, 2, 180, 181, 7, 49, 2, 2, 181, 182, 7, 3, 2, 2, 182, 183, 5, 42, 22, 2, 183, 184, 7, 24, 2, 2, 184, 185, 5, 42, 22, 2, 185, 186, 7, 24, 2, 2, 186, 187, 5, 42, 22, 2, 187, 188, 7, 36, 2, 2, 188, 189, 5, 36, 19, 2, 189, 211, 3, 2, 2, 2, 190, 192, 7, 15, 2, 2, 191, 193, 5, 42, 22, 2, 192, 191, 3, 2, 2, 2, 192, 193, 3, 2, 2, 2, 193, 194, 3, 2, 2, 2, 194, 211, 7, 24, 2, 2, 195, 211, 5, 28, 15, 2, 196, 197, 5, 10, 6, 2, 197, 198, 7, 24, 2, 2, 198, 211, 3, 2, 2, 2, 199, 200, 5, 12, 7, 2, 200, 201, 7, 24, 2, 2, 201, 211, 3, 2, 2, 2, 202, 203, 5, 42, 22, 2, 203, 204, 7, 3, 2, 2, 204, 205, 5, 42, 22, 2, 205, 206, 7, 24, 2, 2, 206, 211, 3, 2, 2, 2, 207, 208, 5, 42, 22, 2, 208, 209, 7, 24, 2, 2, 209, 211, 3, 2, 2, 2, 210, 164, 3, 2, 2, 2, 210, 167, 3, 2, 2, 2, 210, 170, 3, 2, 2, 2, 210, 178, 3, 2, 2, 2, 210, 190, 3, 2, 2, 2, 210, 195, 3, 2, 2, 2, 210, 196, 3, 2, 2, 2, 210, 199, 3, 2, 2, 2, 210, 202, 3, 2, 2, 2, 210, 207, 3, 2, 2, 2, 211, 37, 3, 2, 2, 2, 212, 213, 5, 36, 19, 2, 213, 39, 3, 2, 2, 2, 214, 215, 5, 36, 19, 2, 215, 41, 3, 2, 2, 2, 216, 217, 8, 22, 1, 2, 217, 240, 5, 22, 12, 2, 218, 240, 5, 6, 4, 2, 219, 240, 5, 8, 5, 2, 220, 221, 7, 27, 2, 2, 221, 240, 5, 42, 22, 15, 222, 223, 7, 41, 2, 2, 223, 240, 5, 42, 22, 14, 224, 240, 7, 48, 2, 2, 225, 240, 7, 45, 2, 2, 226, 240, 7, 46, 2, 2, 227, 229, 7, 35, 2, 2, 228, 230, 5, 44, 23, 2, 229, 228, 3, 2, 2, 2, 229, 230, 3, 2, 2, 2, 230, 231, 3, 2, 2, 2, 231, 240, 7, 36, 2, 2, 232, 234, 7, 37, 2, 2, 233, 235, 5, 44, 23, 2, 234, 233, 3, 2, 2, 2, 234, 235, 3, 2, 2, 2, 235, 236, 3, 2, 2, 2, 236, 240, 7, 38, 2, 2, 237, 240, 5, 20, 11, 2, 238, 240, 7, 49, 2, 2, 239, 216, 3, 2, 2, 2, 239, 218, 3, 2, 2, 2, 239, 219, 3, 2, 2, 2, 239, 220, 3, 2, 2, 2, 239, 222, 3, 2, 2, 2, 239, 224, 3, 2, 2, 2, 239, 225, 3, 2, 2, 2, 239, 226, 3, 2, 2, 2, 239, 227, 3, 2, 2, 2, 239, 232, 3, 2, 2, 2, 239, 237, 3, 2, 2, 2, 239, 238, 3, 2, 2, 2, 240, 259, 3, 2, 2, 2, 241, 242, 12, 13, 2, 2, 242, 243, 7, 28, 2, 2, 243, 258, 5, 42, 22, 14, 244, 245, 12, 12, 2, 2, 245, 246, 7, 26, 2, 2, 246, 258, 5, 42, 22, 13, 247, 248, 12, 11, 2, 2, 248, 249, 7, 27, 2, 2, 249, 258, 5, 42, 22, 12, 250, 251, 12, 10, 2, 2, 251, 252, 9, 3, 2, 2, 252, 258, 5, 42, 22, 11, 253, 254, 12, 17, 2, 2, 254, 258, 7, 5, 2, 2, 255, 256, 12, 16, 2, 2, 256, 258, 7, 6, 2, 2, 257, 241, 3, 2, 2, 2, 257, 244, 3, 2, 2, 2, 257, 247, 3, 2, 2, 2, 257, 250, 3, 2, 2, 2, 257, 253, 3, 2, 2, 2, 257, 255, 3, 2, 2, 2, 258, 261, 3, 2, 2, 2, 259, 257, 3, 2, 2, 2, 259, 260, 3, 2, 2, 2, 260, 43, 3, 2, 2, 2, 261, 259, 3, 2, 2, 2, 262, 267, 5, 42, 22, 2, 263, 264, 7, 25, 2, 2, 264, 266, 5, 42, 22, 2, 265, 263, 3, 2, 2, 2, 266, 269, 3, 2, 2, 2, 267, 265, 3, 2, 2, 2, 267, 268, 3, 2, 2, 2, 268, 45, 3, 2, 2, 2, 269, 267, 3, 2, 2, 2, 28, 48, 50, 58, 66, 70, 78, 82, 88, 92, 106, 111, 121, 130, 135, 141, 148, 157, 176, 192, 210, 229, 234, 239, 257, 259, 267] \ No newline at end of file +[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 3, 50, 263, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 4, 12, 9, 12, 4, 13, 9, 13, 4, 14, 9, 14, 4, 15, 9, 15, 4, 16, 9, 16, 4, 17, 9, 17, 4, 18, 9, 18, 4, 19, 9, 19, 4, 20, 9, 20, 4, 21, 9, 21, 4, 22, 9, 22, 3, 2, 3, 2, 7, 2, 47, 10, 2, 12, 2, 14, 2, 50, 11, 2, 3, 3, 3, 3, 5, 3, 54, 10, 3, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 5, 4, 62, 10, 4, 3, 4, 3, 4, 5, 4, 66, 10, 4, 3, 4, 3, 4, 3, 5, 3, 5, 3, 5, 3, 5, 5, 5, 74, 10, 5, 3, 5, 3, 5, 5, 5, 78, 10, 5, 3, 6, 3, 6, 3, 6, 3, 6, 5, 6, 84, 10, 6, 3, 6, 3, 6, 5, 6, 88, 10, 6, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 5, 8, 102, 10, 8, 3, 9, 7, 9, 105, 10, 9, 12, 9, 14, 9, 108, 11, 9, 3, 10, 3, 10, 3, 10, 3, 10, 3, 11, 3, 11, 3, 11, 5, 11, 117, 10, 11, 3, 11, 3, 11, 3, 12, 3, 12, 3, 12, 7, 12, 124, 10, 12, 12, 12, 14, 12, 127, 11, 12, 3, 13, 3, 13, 5, 13, 131, 10, 13, 3, 14, 3, 14, 7, 14, 135, 10, 14, 12, 14, 14, 14, 138, 11, 14, 3, 14, 3, 14, 3, 15, 3, 15, 5, 15, 144, 10, 15, 3, 15, 3, 15, 3, 16, 3, 16, 3, 16, 7, 16, 151, 10, 16, 12, 16, 14, 16, 154, 11, 16, 3, 17, 3, 17, 3, 17, 3, 17, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 5, 18, 169, 10, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 5, 18, 185, 10, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 5, 18, 203, 10, 18, 3, 19, 3, 19, 3, 20, 3, 20, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 5, 21, 222, 10, 21, 3, 21, 3, 21, 3, 21, 5, 21, 227, 10, 21, 3, 21, 3, 21, 3, 21, 5, 21, 232, 10, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 7, 21, 250, 10, 21, 12, 21, 14, 21, 253, 11, 21, 3, 22, 3, 22, 3, 22, 7, 22, 258, 10, 22, 12, 22, 14, 22, 261, 11, 22, 3, 22, 3, 106, 3, 40, 23, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 2, 4, 4, 2, 15, 19, 48, 48, 5, 2, 4, 4, 28, 28, 31, 31, 2, 288, 2, 48, 3, 2, 2, 2, 4, 51, 3, 2, 2, 2, 6, 55, 3, 2, 2, 2, 8, 69, 3, 2, 2, 2, 10, 79, 3, 2, 2, 2, 12, 89, 3, 2, 2, 2, 14, 101, 3, 2, 2, 2, 16, 106, 3, 2, 2, 2, 18, 109, 3, 2, 2, 2, 20, 113, 3, 2, 2, 2, 22, 120, 3, 2, 2, 2, 24, 130, 3, 2, 2, 2, 26, 132, 3, 2, 2, 2, 28, 141, 3, 2, 2, 2, 30, 147, 3, 2, 2, 2, 32, 155, 3, 2, 2, 2, 34, 202, 3, 2, 2, 2, 36, 204, 3, 2, 2, 2, 38, 206, 3, 2, 2, 2, 40, 231, 3, 2, 2, 2, 42, 254, 3, 2, 2, 2, 44, 47, 5, 34, 18, 2, 45, 47, 7, 46, 2, 2, 46, 44, 3, 2, 2, 2, 46, 45, 3, 2, 2, 2, 47, 50, 3, 2, 2, 2, 48, 46, 3, 2, 2, 2, 48, 49, 3, 2, 2, 2, 49, 3, 3, 2, 2, 2, 50, 48, 3, 2, 2, 2, 51, 53, 7, 48, 2, 2, 52, 54, 5, 28, 15, 2, 53, 52, 3, 2, 2, 2, 53, 54, 3, 2, 2, 2, 54, 5, 3, 2, 2, 2, 55, 56, 7, 7, 2, 2, 56, 61, 7, 48, 2, 2, 57, 58, 7, 31, 2, 2, 58, 59, 5, 12, 7, 2, 59, 60, 7, 4, 2, 2, 60, 62, 3, 2, 2, 2, 61, 57, 3, 2, 2, 2, 61, 62, 3, 2, 2, 2, 62, 63, 3, 2, 2, 2, 63, 65, 7, 34, 2, 2, 64, 66, 5, 22, 12, 2, 65, 64, 3, 2, 2, 2, 65, 66, 3, 2, 2, 2, 66, 67, 3, 2, 2, 2, 67, 68, 7, 35, 2, 2, 68, 7, 3, 2, 2, 2, 69, 70, 7, 8, 2, 2, 70, 73, 7, 48, 2, 2, 71, 72, 7, 22, 2, 2, 72, 74, 5, 12, 7, 2, 73, 71, 3, 2, 2, 2, 73, 74, 3, 2, 2, 2, 74, 77, 3, 2, 2, 2, 75, 76, 7, 3, 2, 2, 76, 78, 5, 40, 21, 2, 77, 75, 3, 2, 2, 2, 77, 78, 3, 2, 2, 2, 78, 9, 3, 2, 2, 2, 79, 80, 7, 9, 2, 2, 80, 83, 7, 48, 2, 2, 81, 82, 7, 22, 2, 2, 82, 84, 5, 12, 7, 2, 83, 81, 3, 2, 2, 2, 83, 84, 3, 2, 2, 2, 84, 87, 3, 2, 2, 2, 85, 86, 7, 3, 2, 2, 86, 88, 5, 40, 21, 2, 87, 85, 3, 2, 2, 2, 87, 88, 3, 2, 2, 2, 88, 11, 3, 2, 2, 2, 89, 90, 9, 2, 2, 2, 90, 13, 3, 2, 2, 2, 91, 92, 7, 20, 2, 2, 92, 93, 7, 34, 2, 2, 93, 94, 7, 48, 2, 2, 94, 95, 7, 24, 2, 2, 95, 96, 5, 16, 9, 2, 96, 97, 7, 35, 2, 2, 97, 102, 3, 2, 2, 2, 98, 99, 7, 48, 2, 2, 99, 100, 7, 33, 2, 2, 100, 102, 5, 16, 9, 2, 101, 91, 3, 2, 2, 2, 101, 98, 3, 2, 2, 2, 102, 15, 3, 2, 2, 2, 103, 105, 11, 2, 2, 2, 104, 103, 3, 2, 2, 2, 105, 108, 3, 2, 2, 2, 106, 107, 3, 2, 2, 2, 106, 104, 3, 2, 2, 2, 107, 17, 3, 2, 2, 2, 108, 106, 3, 2, 2, 2, 109, 110, 7, 48, 2, 2, 110, 111, 7, 43, 2, 2, 111, 112, 5, 20, 11, 2, 112, 19, 3, 2, 2, 2, 113, 114, 7, 48, 2, 2, 114, 116, 7, 34, 2, 2, 115, 117, 5, 22, 12, 2, 116, 115, 3, 2, 2, 2, 116, 117, 3, 2, 2, 2, 117, 118, 3, 2, 2, 2, 118, 119, 7, 35, 2, 2, 119, 21, 3, 2, 2, 2, 120, 125, 5, 24, 13, 2, 121, 122, 7, 24, 2, 2, 122, 124, 5, 24, 13, 2, 123, 121, 3, 2, 2, 2, 124, 127, 3, 2, 2, 2, 125, 123, 3, 2, 2, 2, 125, 126, 3, 2, 2, 2, 126, 23, 3, 2, 2, 2, 127, 125, 3, 2, 2, 2, 128, 131, 5, 40, 21, 2, 129, 131, 5, 14, 8, 2, 130, 128, 3, 2, 2, 2, 130, 129, 3, 2, 2, 2, 131, 25, 3, 2, 2, 2, 132, 136, 7, 38, 2, 2, 133, 135, 5, 34, 18, 2, 134, 133, 3, 2, 2, 2, 135, 138, 3, 2, 2, 2, 136, 134, 3, 2, 2, 2, 136, 137, 3, 2, 2, 2, 137, 139, 3, 2, 2, 2, 138, 136, 3, 2, 2, 2, 139, 140, 7, 39, 2, 2, 140, 27, 3, 2, 2, 2, 141, 143, 7, 38, 2, 2, 142, 144, 5, 30, 16, 2, 143, 142, 3, 2, 2, 2, 143, 144, 3, 2, 2, 2, 144, 145, 3, 2, 2, 2, 145, 146, 7, 39, 2, 2, 146, 29, 3, 2, 2, 2, 147, 152, 5, 32, 17, 2, 148, 149, 7, 24, 2, 2, 149, 151, 5, 32, 17, 2, 150, 148, 3, 2, 2, 2, 151, 154, 3, 2, 2, 2, 152, 150, 3, 2, 2, 2, 152, 153, 3, 2, 2, 2, 153, 31, 3, 2, 2, 2, 154, 152, 3, 2, 2, 2, 155, 156, 7, 48, 2, 2, 156, 157, 7, 22, 2, 2, 157, 158, 5, 40, 21, 2, 158, 33, 3, 2, 2, 2, 159, 160, 5, 4, 3, 2, 160, 161, 7, 23, 2, 2, 161, 203, 3, 2, 2, 2, 162, 163, 7, 10, 2, 2, 163, 164, 5, 40, 21, 2, 164, 165, 7, 11, 2, 2, 165, 168, 5, 36, 19, 2, 166, 167, 7, 12, 2, 2, 167, 169, 5, 38, 20, 2, 168, 166, 3, 2, 2, 2, 168, 169, 3, 2, 2, 2, 169, 203, 3, 2, 2, 2, 170, 171, 7, 13, 2, 2, 171, 172, 7, 34, 2, 2, 172, 173, 7, 48, 2, 2, 173, 174, 7, 3, 2, 2, 174, 175, 5, 40, 21, 2, 175, 176, 7, 23, 2, 2, 176, 177, 5, 40, 21, 2, 177, 178, 7, 23, 2, 2, 178, 179, 5, 40, 21, 2, 179, 180, 7, 35, 2, 2, 180, 181, 5, 34, 18, 2, 181, 203, 3, 2, 2, 2, 182, 184, 7, 14, 2, 2, 183, 185, 5, 40, 21, 2, 184, 183, 3, 2, 2, 2, 184, 185, 3, 2, 2, 2, 185, 186, 3, 2, 2, 2, 186, 203, 7, 23, 2, 2, 187, 203, 5, 26, 14, 2, 188, 189, 5, 8, 5, 2, 189, 190, 7, 23, 2, 2, 190, 203, 3, 2, 2, 2, 191, 192, 5, 10, 6, 2, 192, 193, 7, 23, 2, 2, 193, 203, 3, 2, 2, 2, 194, 195, 5, 40, 21, 2, 195, 196, 7, 3, 2, 2, 196, 197, 5, 40, 21, 2, 197, 198, 7, 23, 2, 2, 198, 203, 3, 2, 2, 2, 199, 200, 5, 40, 21, 2, 200, 201, 7, 23, 2, 2, 201, 203, 3, 2, 2, 2, 202, 159, 3, 2, 2, 2, 202, 162, 3, 2, 2, 2, 202, 170, 3, 2, 2, 2, 202, 182, 3, 2, 2, 2, 202, 187, 3, 2, 2, 2, 202, 188, 3, 2, 2, 2, 202, 191, 3, 2, 2, 2, 202, 194, 3, 2, 2, 2, 202, 199, 3, 2, 2, 2, 203, 35, 3, 2, 2, 2, 204, 205, 5, 34, 18, 2, 205, 37, 3, 2, 2, 2, 206, 207, 5, 34, 18, 2, 207, 39, 3, 2, 2, 2, 208, 209, 8, 21, 1, 2, 209, 232, 5, 20, 11, 2, 210, 232, 5, 4, 3, 2, 211, 232, 5, 6, 4, 2, 212, 213, 7, 26, 2, 2, 213, 232, 5, 40, 21, 15, 214, 215, 7, 40, 2, 2, 215, 232, 5, 40, 21, 14, 216, 232, 7, 47, 2, 2, 217, 232, 7, 44, 2, 2, 218, 232, 7, 45, 2, 2, 219, 221, 7, 34, 2, 2, 220, 222, 5, 42, 22, 2, 221, 220, 3, 2, 2, 2, 221, 222, 3, 2, 2, 2, 222, 223, 3, 2, 2, 2, 223, 232, 7, 35, 2, 2, 224, 226, 7, 36, 2, 2, 225, 227, 5, 42, 22, 2, 226, 225, 3, 2, 2, 2, 226, 227, 3, 2, 2, 2, 227, 228, 3, 2, 2, 2, 228, 232, 7, 37, 2, 2, 229, 232, 5, 18, 10, 2, 230, 232, 7, 48, 2, 2, 231, 208, 3, 2, 2, 2, 231, 210, 3, 2, 2, 2, 231, 211, 3, 2, 2, 2, 231, 212, 3, 2, 2, 2, 231, 214, 3, 2, 2, 2, 231, 216, 3, 2, 2, 2, 231, 217, 3, 2, 2, 2, 231, 218, 3, 2, 2, 2, 231, 219, 3, 2, 2, 2, 231, 224, 3, 2, 2, 2, 231, 229, 3, 2, 2, 2, 231, 230, 3, 2, 2, 2, 232, 251, 3, 2, 2, 2, 233, 234, 12, 13, 2, 2, 234, 235, 7, 27, 2, 2, 235, 250, 5, 40, 21, 14, 236, 237, 12, 12, 2, 2, 237, 238, 7, 25, 2, 2, 238, 250, 5, 40, 21, 13, 239, 240, 12, 11, 2, 2, 240, 241, 7, 26, 2, 2, 241, 250, 5, 40, 21, 12, 242, 243, 12, 10, 2, 2, 243, 244, 9, 3, 2, 2, 244, 250, 5, 40, 21, 11, 245, 246, 12, 17, 2, 2, 246, 250, 7, 5, 2, 2, 247, 248, 12, 16, 2, 2, 248, 250, 7, 6, 2, 2, 249, 233, 3, 2, 2, 2, 249, 236, 3, 2, 2, 2, 249, 239, 3, 2, 2, 2, 249, 242, 3, 2, 2, 2, 249, 245, 3, 2, 2, 2, 249, 247, 3, 2, 2, 2, 250, 253, 3, 2, 2, 2, 251, 249, 3, 2, 2, 2, 251, 252, 3, 2, 2, 2, 252, 41, 3, 2, 2, 2, 253, 251, 3, 2, 2, 2, 254, 259, 5, 40, 21, 2, 255, 256, 7, 24, 2, 2, 256, 258, 5, 40, 21, 2, 257, 255, 3, 2, 2, 2, 258, 261, 3, 2, 2, 2, 259, 257, 3, 2, 2, 2, 259, 260, 3, 2, 2, 2, 260, 43, 3, 2, 2, 2, 261, 259, 3, 2, 2, 2, 28, 46, 48, 53, 61, 65, 73, 77, 83, 87, 101, 106, 116, 125, 130, 136, 143, 152, 168, 184, 202, 221, 226, 231, 249, 251, 259] \ No newline at end of file diff --git a/src/dsl/Elsa.Dsl/Abstractions/ElsaParser.tokens b/src/dsl/Elsa.Dsl/Abstractions/ElsaParser.tokens index 9dc36cf31..0d4fb8cb2 100644 --- a/src/dsl/Elsa.Dsl/Abstractions/ElsaParser.tokens +++ b/src/dsl/Elsa.Dsl/Abstractions/ElsaParser.tokens @@ -3,89 +3,87 @@ GREATER=2 INCREMENT=3 DECREMENT=4 NEW=5 -TRIGGER=6 -VARIABLE=7 -LET=8 -IF=9 -THEN=10 -ELSE=11 -FOR=12 -RETURN=13 -VOID=14 -FLOAT=15 -INT=16 -STRING=17 -OBJECT=18 -EXPRESSION_MARKER=19 -SYMBOL=20 -COLON=21 -SEMICOLON=22 -COMMA=23 -PLUS=24 -MINUS=25 -STAR=26 -EQUALS=27 -NOT_EQUALS=28 -GREATER_EQUALS=29 -LESS=30 -LESS_EQUALS=31 -LAMBDA=32 -PARENTHESES_OPEN=33 -PARENTHESES_CLOSE=34 -BRACKET_OPEN=35 -BRACKET_CLOSE=36 -CURLYBRACE_OPEN=37 -CURLYBRACE_CLOSE=38 -EXCLAMATION=39 -PIPE=40 -PIPE_DBL=41 -PERIOD=42 -STRING_VAL=43 -BACKTICKSTRING_VAL=44 -LINE_COMMENT=45 -INTEGER_VAL=46 -ID=47 -WS=48 -ESC=49 +VARIABLE=6 +LET=7 +IF=8 +THEN=9 +ELSE=10 +FOR=11 +RETURN=12 +VOID=13 +FLOAT=14 +INT=15 +STRING=16 +OBJECT=17 +EXPRESSION_MARKER=18 +SYMBOL=19 +COLON=20 +SEMICOLON=21 +COMMA=22 +PLUS=23 +MINUS=24 +STAR=25 +EQUALS=26 +NOT_EQUALS=27 +GREATER_EQUALS=28 +LESS=29 +LESS_EQUALS=30 +LAMBDA=31 +PARENTHESES_OPEN=32 +PARENTHESES_CLOSE=33 +BRACKET_OPEN=34 +BRACKET_CLOSE=35 +CURLYBRACE_OPEN=36 +CURLYBRACE_CLOSE=37 +EXCLAMATION=38 +PIPE=39 +PIPE_DBL=40 +PERIOD=41 +STRING_VAL=42 +BACKTICKSTRING_VAL=43 +LINE_COMMENT=44 +INTEGER_VAL=45 +ID=46 +WS=47 +ESC=48 '='=1 '>'=2 '++'=3 '--'=4 'new'=5 -'trigger'=6 -'variable'=7 -'let'=8 -'if'=9 -'then'=10 -'else'=11 -'for'=12 -'return'=13 -'void'=14 -'float'=15 -'int'=16 -'string'=17 -'object'=18 -'expression'=19 -':'=21 -';'=22 -','=23 -'+'=24 -'-'=25 -'*'=26 -'=='=27 -'!='=28 -'>='=29 -'<'=30 -'<='=31 -'=>'=32 -'('=33 -')'=34 -'['=35 -']'=36 -'{'=37 -'}'=38 -'!'=39 -'|'=40 -'||'=41 -'.'=42 -'\\|'=49 +'variable'=6 +'let'=7 +'if'=8 +'then'=9 +'else'=10 +'for'=11 +'return'=12 +'void'=13 +'float'=14 +'int'=15 +'string'=16 +'object'=17 +'expression'=18 +':'=20 +';'=21 +','=22 +'+'=23 +'-'=24 +'*'=25 +'=='=26 +'!='=27 +'>='=28 +'<'=29 +'<='=30 +'=>'=31 +'('=32 +')'=33 +'['=34 +']'=35 +'{'=36 +'}'=37 +'!'=38 +'|'=39 +'||'=40 +'.'=41 +'\\|'=48 diff --git a/src/dsl/Elsa.Dsl/Abstractions/ElsaParserBaseListener.cs b/src/dsl/Elsa.Dsl/Abstractions/ElsaParserBaseListener.cs deleted file mode 100644 index d12018130..000000000 --- a/src/dsl/Elsa.Dsl/Abstractions/ElsaParserBaseListener.cs +++ /dev/null @@ -1,683 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// ANTLR Version: 4.9.1 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -// Generated from C:/Projects/Elsa/experimental/src/dsl/Elsa.Dsl/Dsl\ElsaParser.g4 by ANTLR 4.9.1 - -// Unreachable code detected -#pragma warning disable 0162 -// The variable '...' is assigned but its value is never used -#pragma warning disable 0219 -// Missing XML comment for publicly visible type or member '...' -#pragma warning disable 1591 -// Ambiguous reference in cref attribute -#pragma warning disable 419 - - -using Antlr4.Runtime.Misc; -using IErrorNode = Antlr4.Runtime.Tree.IErrorNode; -using ITerminalNode = Antlr4.Runtime.Tree.ITerminalNode; -using IToken = Antlr4.Runtime.IToken; -using ParserRuleContext = Antlr4.Runtime.ParserRuleContext; - -/// -/// This class provides an empty implementation of , -/// which can be extended to create a listener which only needs to handle a subset -/// of the available methods. -/// -[System.CodeDom.Compiler.GeneratedCode("ANTLR", "4.9.1")] -[System.Diagnostics.DebuggerNonUserCode] -[System.CLSCompliant(false)] -public partial class ElsaParserBaseListener : IElsaParserListener { - /// - /// Enter a parse tree produced by . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void EnterProgram([NotNull] ElsaParser.ProgramContext context) { } - /// - /// Exit a parse tree produced by . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void ExitProgram([NotNull] ElsaParser.ProgramContext context) { } - /// - /// Enter a parse tree produced by . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void EnterTrigger([NotNull] ElsaParser.TriggerContext context) { } - /// - /// Exit a parse tree produced by . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void ExitTrigger([NotNull] ElsaParser.TriggerContext context) { } - /// - /// Enter a parse tree produced by . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void EnterObject([NotNull] ElsaParser.ObjectContext context) { } - /// - /// Exit a parse tree produced by . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void ExitObject([NotNull] ElsaParser.ObjectContext context) { } - /// - /// Enter a parse tree produced by . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void EnterNewObject([NotNull] ElsaParser.NewObjectContext context) { } - /// - /// Exit a parse tree produced by . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void ExitNewObject([NotNull] ElsaParser.NewObjectContext context) { } - /// - /// Enter a parse tree produced by . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void EnterVarDecl([NotNull] ElsaParser.VarDeclContext context) { } - /// - /// Exit a parse tree produced by . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void ExitVarDecl([NotNull] ElsaParser.VarDeclContext context) { } - /// - /// Enter a parse tree produced by . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void EnterLocalVarDecl([NotNull] ElsaParser.LocalVarDeclContext context) { } - /// - /// Exit a parse tree produced by . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void ExitLocalVarDecl([NotNull] ElsaParser.LocalVarDeclContext context) { } - /// - /// Enter a parse tree produced by . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void EnterType([NotNull] ElsaParser.TypeContext context) { } - /// - /// Exit a parse tree produced by . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void ExitType([NotNull] ElsaParser.TypeContext context) { } - /// - /// Enter a parse tree produced by . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void EnterExpressionMarker([NotNull] ElsaParser.ExpressionMarkerContext context) { } - /// - /// Exit a parse tree produced by . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void ExitExpressionMarker([NotNull] ElsaParser.ExpressionMarkerContext context) { } - /// - /// Enter a parse tree produced by . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void EnterExpressionContent([NotNull] ElsaParser.ExpressionContentContext context) { } - /// - /// Exit a parse tree produced by . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void ExitExpressionContent([NotNull] ElsaParser.ExpressionContentContext context) { } - /// - /// Enter a parse tree produced by . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void EnterMethodCall([NotNull] ElsaParser.MethodCallContext context) { } - /// - /// Exit a parse tree produced by . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void ExitMethodCall([NotNull] ElsaParser.MethodCallContext context) { } - /// - /// Enter a parse tree produced by . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void EnterFuncCall([NotNull] ElsaParser.FuncCallContext context) { } - /// - /// Exit a parse tree produced by . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void ExitFuncCall([NotNull] ElsaParser.FuncCallContext context) { } - /// - /// Enter a parse tree produced by . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void EnterArgs([NotNull] ElsaParser.ArgsContext context) { } - /// - /// Exit a parse tree produced by . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void ExitArgs([NotNull] ElsaParser.ArgsContext context) { } - /// - /// Enter a parse tree produced by . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void EnterArg([NotNull] ElsaParser.ArgContext context) { } - /// - /// Exit a parse tree produced by . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void ExitArg([NotNull] ElsaParser.ArgContext context) { } - /// - /// Enter a parse tree produced by . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void EnterBlock([NotNull] ElsaParser.BlockContext context) { } - /// - /// Exit a parse tree produced by . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void ExitBlock([NotNull] ElsaParser.BlockContext context) { } - /// - /// Enter a parse tree produced by . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void EnterObjectInitializer([NotNull] ElsaParser.ObjectInitializerContext context) { } - /// - /// Exit a parse tree produced by . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void ExitObjectInitializer([NotNull] ElsaParser.ObjectInitializerContext context) { } - /// - /// Enter a parse tree produced by . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void EnterPropertyList([NotNull] ElsaParser.PropertyListContext context) { } - /// - /// Exit a parse tree produced by . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void ExitPropertyList([NotNull] ElsaParser.PropertyListContext context) { } - /// - /// Enter a parse tree produced by . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void EnterProperty([NotNull] ElsaParser.PropertyContext context) { } - /// - /// Exit a parse tree produced by . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void ExitProperty([NotNull] ElsaParser.PropertyContext context) { } - /// - /// Enter a parse tree produced by the triggerStat - /// labeled alternative in . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void EnterTriggerStat([NotNull] ElsaParser.TriggerStatContext context) { } - /// - /// Exit a parse tree produced by the triggerStat - /// labeled alternative in . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void ExitTriggerStat([NotNull] ElsaParser.TriggerStatContext context) { } - /// - /// Enter a parse tree produced by the objectStat - /// labeled alternative in . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void EnterObjectStat([NotNull] ElsaParser.ObjectStatContext context) { } - /// - /// Exit a parse tree produced by the objectStat - /// labeled alternative in . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void ExitObjectStat([NotNull] ElsaParser.ObjectStatContext context) { } - /// - /// Enter a parse tree produced by the ifStat - /// labeled alternative in . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void EnterIfStat([NotNull] ElsaParser.IfStatContext context) { } - /// - /// Exit a parse tree produced by the ifStat - /// labeled alternative in . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void ExitIfStat([NotNull] ElsaParser.IfStatContext context) { } - /// - /// Enter a parse tree produced by the forStat - /// labeled alternative in . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void EnterForStat([NotNull] ElsaParser.ForStatContext context) { } - /// - /// Exit a parse tree produced by the forStat - /// labeled alternative in . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void ExitForStat([NotNull] ElsaParser.ForStatContext context) { } - /// - /// Enter a parse tree produced by the returnStat - /// labeled alternative in . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void EnterReturnStat([NotNull] ElsaParser.ReturnStatContext context) { } - /// - /// Exit a parse tree produced by the returnStat - /// labeled alternative in . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void ExitReturnStat([NotNull] ElsaParser.ReturnStatContext context) { } - /// - /// Enter a parse tree produced by the blockStat - /// labeled alternative in . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void EnterBlockStat([NotNull] ElsaParser.BlockStatContext context) { } - /// - /// Exit a parse tree produced by the blockStat - /// labeled alternative in . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void ExitBlockStat([NotNull] ElsaParser.BlockStatContext context) { } - /// - /// Enter a parse tree produced by the variableDeclarationStat - /// labeled alternative in . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void EnterVariableDeclarationStat([NotNull] ElsaParser.VariableDeclarationStatContext context) { } - /// - /// Exit a parse tree produced by the variableDeclarationStat - /// labeled alternative in . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void ExitVariableDeclarationStat([NotNull] ElsaParser.VariableDeclarationStatContext context) { } - /// - /// Enter a parse tree produced by the localVariableDeclarationStat - /// labeled alternative in . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void EnterLocalVariableDeclarationStat([NotNull] ElsaParser.LocalVariableDeclarationStatContext context) { } - /// - /// Exit a parse tree produced by the localVariableDeclarationStat - /// labeled alternative in . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void ExitLocalVariableDeclarationStat([NotNull] ElsaParser.LocalVariableDeclarationStatContext context) { } - /// - /// Enter a parse tree produced by the assignmentStat - /// labeled alternative in . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void EnterAssignmentStat([NotNull] ElsaParser.AssignmentStatContext context) { } - /// - /// Exit a parse tree produced by the assignmentStat - /// labeled alternative in . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void ExitAssignmentStat([NotNull] ElsaParser.AssignmentStatContext context) { } - /// - /// Enter a parse tree produced by the expressionStat - /// labeled alternative in . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void EnterExpressionStat([NotNull] ElsaParser.ExpressionStatContext context) { } - /// - /// Exit a parse tree produced by the expressionStat - /// labeled alternative in . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void ExitExpressionStat([NotNull] ElsaParser.ExpressionStatContext context) { } - /// - /// Enter a parse tree produced by . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void EnterThenStat([NotNull] ElsaParser.ThenStatContext context) { } - /// - /// Exit a parse tree produced by . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void ExitThenStat([NotNull] ElsaParser.ThenStatContext context) { } - /// - /// Enter a parse tree produced by . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void EnterElseStat([NotNull] ElsaParser.ElseStatContext context) { } - /// - /// Exit a parse tree produced by . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void ExitElseStat([NotNull] ElsaParser.ElseStatContext context) { } - /// - /// Enter a parse tree produced by the newObjectExpr - /// labeled alternative in . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void EnterNewObjectExpr([NotNull] ElsaParser.NewObjectExprContext context) { } - /// - /// Exit a parse tree produced by the newObjectExpr - /// labeled alternative in . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void ExitNewObjectExpr([NotNull] ElsaParser.NewObjectExprContext context) { } - /// - /// Enter a parse tree produced by the subtractExpr - /// labeled alternative in . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void EnterSubtractExpr([NotNull] ElsaParser.SubtractExprContext context) { } - /// - /// Exit a parse tree produced by the subtractExpr - /// labeled alternative in . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void ExitSubtractExpr([NotNull] ElsaParser.SubtractExprContext context) { } - /// - /// Enter a parse tree produced by the incrementExpr - /// labeled alternative in . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void EnterIncrementExpr([NotNull] ElsaParser.IncrementExprContext context) { } - /// - /// Exit a parse tree produced by the incrementExpr - /// labeled alternative in . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void ExitIncrementExpr([NotNull] ElsaParser.IncrementExprContext context) { } - /// - /// Enter a parse tree produced by the objectExpr - /// labeled alternative in . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void EnterObjectExpr([NotNull] ElsaParser.ObjectExprContext context) { } - /// - /// Exit a parse tree produced by the objectExpr - /// labeled alternative in . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void ExitObjectExpr([NotNull] ElsaParser.ObjectExprContext context) { } - /// - /// Enter a parse tree produced by the stringValueExpr - /// labeled alternative in . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void EnterStringValueExpr([NotNull] ElsaParser.StringValueExprContext context) { } - /// - /// Exit a parse tree produced by the stringValueExpr - /// labeled alternative in . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void ExitStringValueExpr([NotNull] ElsaParser.StringValueExprContext context) { } - /// - /// Enter a parse tree produced by the multiplyExpr - /// labeled alternative in . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void EnterMultiplyExpr([NotNull] ElsaParser.MultiplyExprContext context) { } - /// - /// Exit a parse tree produced by the multiplyExpr - /// labeled alternative in . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void ExitMultiplyExpr([NotNull] ElsaParser.MultiplyExprContext context) { } - /// - /// Enter a parse tree produced by the parenthesesExpr - /// labeled alternative in . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void EnterParenthesesExpr([NotNull] ElsaParser.ParenthesesExprContext context) { } - /// - /// Exit a parse tree produced by the parenthesesExpr - /// labeled alternative in . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void ExitParenthesesExpr([NotNull] ElsaParser.ParenthesesExprContext context) { } - /// - /// Enter a parse tree produced by the functionExpr - /// labeled alternative in . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void EnterFunctionExpr([NotNull] ElsaParser.FunctionExprContext context) { } - /// - /// Exit a parse tree produced by the functionExpr - /// labeled alternative in . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void ExitFunctionExpr([NotNull] ElsaParser.FunctionExprContext context) { } - /// - /// Enter a parse tree produced by the decrementExpr - /// labeled alternative in . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void EnterDecrementExpr([NotNull] ElsaParser.DecrementExprContext context) { } - /// - /// Exit a parse tree produced by the decrementExpr - /// labeled alternative in . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void ExitDecrementExpr([NotNull] ElsaParser.DecrementExprContext context) { } - /// - /// Enter a parse tree produced by the negateExpr - /// labeled alternative in . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void EnterNegateExpr([NotNull] ElsaParser.NegateExprContext context) { } - /// - /// Exit a parse tree produced by the negateExpr - /// labeled alternative in . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void ExitNegateExpr([NotNull] ElsaParser.NegateExprContext context) { } - /// - /// Enter a parse tree produced by the methodCallExpr - /// labeled alternative in . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void EnterMethodCallExpr([NotNull] ElsaParser.MethodCallExprContext context) { } - /// - /// Exit a parse tree produced by the methodCallExpr - /// labeled alternative in . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void ExitMethodCallExpr([NotNull] ElsaParser.MethodCallExprContext context) { } - /// - /// Enter a parse tree produced by the variableExpr - /// labeled alternative in . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void EnterVariableExpr([NotNull] ElsaParser.VariableExprContext context) { } - /// - /// Exit a parse tree produced by the variableExpr - /// labeled alternative in . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void ExitVariableExpr([NotNull] ElsaParser.VariableExprContext context) { } - /// - /// Enter a parse tree produced by the notExpr - /// labeled alternative in . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void EnterNotExpr([NotNull] ElsaParser.NotExprContext context) { } - /// - /// Exit a parse tree produced by the notExpr - /// labeled alternative in . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void ExitNotExpr([NotNull] ElsaParser.NotExprContext context) { } - /// - /// Enter a parse tree produced by the integerValueExpr - /// labeled alternative in . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void EnterIntegerValueExpr([NotNull] ElsaParser.IntegerValueExprContext context) { } - /// - /// Exit a parse tree produced by the integerValueExpr - /// labeled alternative in . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void ExitIntegerValueExpr([NotNull] ElsaParser.IntegerValueExprContext context) { } - /// - /// Enter a parse tree produced by the addExpr - /// labeled alternative in . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void EnterAddExpr([NotNull] ElsaParser.AddExprContext context) { } - /// - /// Exit a parse tree produced by the addExpr - /// labeled alternative in . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void ExitAddExpr([NotNull] ElsaParser.AddExprContext context) { } - /// - /// Enter a parse tree produced by the backTickStringValueExpr - /// labeled alternative in . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void EnterBackTickStringValueExpr([NotNull] ElsaParser.BackTickStringValueExprContext context) { } - /// - /// Exit a parse tree produced by the backTickStringValueExpr - /// labeled alternative in . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void ExitBackTickStringValueExpr([NotNull] ElsaParser.BackTickStringValueExprContext context) { } - /// - /// Enter a parse tree produced by the bracketsExpr - /// labeled alternative in . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void EnterBracketsExpr([NotNull] ElsaParser.BracketsExprContext context) { } - /// - /// Exit a parse tree produced by the bracketsExpr - /// labeled alternative in . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void ExitBracketsExpr([NotNull] ElsaParser.BracketsExprContext context) { } - /// - /// Enter a parse tree produced by the compareExpr - /// labeled alternative in . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void EnterCompareExpr([NotNull] ElsaParser.CompareExprContext context) { } - /// - /// Exit a parse tree produced by the compareExpr - /// labeled alternative in . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void ExitCompareExpr([NotNull] ElsaParser.CompareExprContext context) { } - /// - /// Enter a parse tree produced by . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void EnterExprList([NotNull] ElsaParser.ExprListContext context) { } - /// - /// Exit a parse tree produced by . - /// The default implementation does nothing. - /// - /// The parse tree. - public virtual void ExitExprList([NotNull] ElsaParser.ExprListContext context) { } - - /// - /// The default implementation does nothing. - public virtual void EnterEveryRule([NotNull] ParserRuleContext context) { } - /// - /// The default implementation does nothing. - public virtual void ExitEveryRule([NotNull] ParserRuleContext context) { } - /// - /// The default implementation does nothing. - public virtual void VisitTerminal([NotNull] ITerminalNode node) { } - /// - /// The default implementation does nothing. - public virtual void VisitErrorNode([NotNull] IErrorNode node) { } -} diff --git a/src/dsl/Elsa.Dsl/Abstractions/ElsaParserBaseVisitor.cs b/src/dsl/Elsa.Dsl/Abstractions/ElsaParserBaseVisitor.cs index ad8cf7d74..daadb2ca9 100644 --- a/src/dsl/Elsa.Dsl/Abstractions/ElsaParserBaseVisitor.cs +++ b/src/dsl/Elsa.Dsl/Abstractions/ElsaParserBaseVisitor.cs @@ -1,14 +1,14 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// ANTLR Version: 4.9.1 +// ANTLR Version: 4.9.2 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // //------------------------------------------------------------------------------ -// Generated from C:/Projects/Elsa/experimental/src/dsl/Elsa.Dsl/Dsl\ElsaParser.g4 by ANTLR 4.9.1 +// Generated from C:/Projects/Elsa/v3/src/dsl/Elsa.Dsl/Dsl\ElsaParser.g4 by ANTLR 4.9.2 // Unreachable code detected #pragma warning disable 0162 @@ -30,7 +30,7 @@ using ParserRuleContext = Antlr4.Runtime.ParserRuleContext; /// of the available methods. /// /// The return type of the visit operation. -[System.CodeDom.Compiler.GeneratedCode("ANTLR", "4.9.1")] +[System.CodeDom.Compiler.GeneratedCode("ANTLR", "4.9.2")] [System.Diagnostics.DebuggerNonUserCode] [System.CLSCompliant(false)] public partial class ElsaParserBaseVisitor : AbstractParseTreeVisitor, IElsaParserVisitor { @@ -45,16 +45,6 @@ public partial class ElsaParserBaseVisitor : AbstractParseTreeVisitorThe visitor result. public virtual Result VisitProgram([NotNull] ElsaParser.ProgramContext context) { return VisitChildren(context); } /// - /// Visit a parse tree produced by . - /// - /// The default implementation returns the result of calling - /// on . - /// - /// - /// The parse tree. - /// The visitor result. - public virtual Result VisitTrigger([NotNull] ElsaParser.TriggerContext context) { return VisitChildren(context); } - /// /// Visit a parse tree produced by . /// /// The default implementation returns the result of calling @@ -205,17 +195,6 @@ public partial class ElsaParserBaseVisitor : AbstractParseTreeVisitorThe visitor result. public virtual Result VisitProperty([NotNull] ElsaParser.PropertyContext context) { return VisitChildren(context); } /// - /// Visit a parse tree produced by the triggerStat - /// labeled alternative in . - /// - /// The default implementation returns the result of calling - /// on . - /// - /// - /// The parse tree. - /// The visitor result. - public virtual Result VisitTriggerStat([NotNull] ElsaParser.TriggerStatContext context) { return VisitChildren(context); } - /// /// Visit a parse tree produced by the objectStat /// labeled alternative in . /// diff --git a/src/dsl/Elsa.Dsl/Abstractions/ElsaParserListener.cs b/src/dsl/Elsa.Dsl/Abstractions/ElsaParserListener.cs deleted file mode 100644 index 17db6b736..000000000 --- a/src/dsl/Elsa.Dsl/Abstractions/ElsaParserListener.cs +++ /dev/null @@ -1,569 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// ANTLR Version: 4.9.1 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -// Generated from C:/Projects/Elsa/experimental/src/dsl/Elsa.Dsl/Dsl\ElsaParser.g4 by ANTLR 4.9.1 - -// Unreachable code detected -#pragma warning disable 0162 -// The variable '...' is assigned but its value is never used -#pragma warning disable 0219 -// Missing XML comment for publicly visible type or member '...' -#pragma warning disable 1591 -// Ambiguous reference in cref attribute -#pragma warning disable 419 - -using Antlr4.Runtime.Misc; -using IParseTreeListener = Antlr4.Runtime.Tree.IParseTreeListener; -using IToken = Antlr4.Runtime.IToken; - -/// -/// This interface defines a complete listener for a parse tree produced by -/// . -/// -[System.CodeDom.Compiler.GeneratedCode("ANTLR", "4.9.1")] -[System.CLSCompliant(false)] -public interface IElsaParserListener : IParseTreeListener { - /// - /// Enter a parse tree produced by . - /// - /// The parse tree. - void EnterProgram([NotNull] ElsaParser.ProgramContext context); - /// - /// Exit a parse tree produced by . - /// - /// The parse tree. - void ExitProgram([NotNull] ElsaParser.ProgramContext context); - /// - /// Enter a parse tree produced by . - /// - /// The parse tree. - void EnterTrigger([NotNull] ElsaParser.TriggerContext context); - /// - /// Exit a parse tree produced by . - /// - /// The parse tree. - void ExitTrigger([NotNull] ElsaParser.TriggerContext context); - /// - /// Enter a parse tree produced by . - /// - /// The parse tree. - void EnterObject([NotNull] ElsaParser.ObjectContext context); - /// - /// Exit a parse tree produced by . - /// - /// The parse tree. - void ExitObject([NotNull] ElsaParser.ObjectContext context); - /// - /// Enter a parse tree produced by . - /// - /// The parse tree. - void EnterNewObject([NotNull] ElsaParser.NewObjectContext context); - /// - /// Exit a parse tree produced by . - /// - /// The parse tree. - void ExitNewObject([NotNull] ElsaParser.NewObjectContext context); - /// - /// Enter a parse tree produced by . - /// - /// The parse tree. - void EnterVarDecl([NotNull] ElsaParser.VarDeclContext context); - /// - /// Exit a parse tree produced by . - /// - /// The parse tree. - void ExitVarDecl([NotNull] ElsaParser.VarDeclContext context); - /// - /// Enter a parse tree produced by . - /// - /// The parse tree. - void EnterLocalVarDecl([NotNull] ElsaParser.LocalVarDeclContext context); - /// - /// Exit a parse tree produced by . - /// - /// The parse tree. - void ExitLocalVarDecl([NotNull] ElsaParser.LocalVarDeclContext context); - /// - /// Enter a parse tree produced by . - /// - /// The parse tree. - void EnterType([NotNull] ElsaParser.TypeContext context); - /// - /// Exit a parse tree produced by . - /// - /// The parse tree. - void ExitType([NotNull] ElsaParser.TypeContext context); - /// - /// Enter a parse tree produced by . - /// - /// The parse tree. - void EnterExpressionMarker([NotNull] ElsaParser.ExpressionMarkerContext context); - /// - /// Exit a parse tree produced by . - /// - /// The parse tree. - void ExitExpressionMarker([NotNull] ElsaParser.ExpressionMarkerContext context); - /// - /// Enter a parse tree produced by . - /// - /// The parse tree. - void EnterExpressionContent([NotNull] ElsaParser.ExpressionContentContext context); - /// - /// Exit a parse tree produced by . - /// - /// The parse tree. - void ExitExpressionContent([NotNull] ElsaParser.ExpressionContentContext context); - /// - /// Enter a parse tree produced by . - /// - /// The parse tree. - void EnterMethodCall([NotNull] ElsaParser.MethodCallContext context); - /// - /// Exit a parse tree produced by . - /// - /// The parse tree. - void ExitMethodCall([NotNull] ElsaParser.MethodCallContext context); - /// - /// Enter a parse tree produced by . - /// - /// The parse tree. - void EnterFuncCall([NotNull] ElsaParser.FuncCallContext context); - /// - /// Exit a parse tree produced by . - /// - /// The parse tree. - void ExitFuncCall([NotNull] ElsaParser.FuncCallContext context); - /// - /// Enter a parse tree produced by . - /// - /// The parse tree. - void EnterArgs([NotNull] ElsaParser.ArgsContext context); - /// - /// Exit a parse tree produced by . - /// - /// The parse tree. - void ExitArgs([NotNull] ElsaParser.ArgsContext context); - /// - /// Enter a parse tree produced by . - /// - /// The parse tree. - void EnterArg([NotNull] ElsaParser.ArgContext context); - /// - /// Exit a parse tree produced by . - /// - /// The parse tree. - void ExitArg([NotNull] ElsaParser.ArgContext context); - /// - /// Enter a parse tree produced by . - /// - /// The parse tree. - void EnterBlock([NotNull] ElsaParser.BlockContext context); - /// - /// Exit a parse tree produced by . - /// - /// The parse tree. - void ExitBlock([NotNull] ElsaParser.BlockContext context); - /// - /// Enter a parse tree produced by . - /// - /// The parse tree. - void EnterObjectInitializer([NotNull] ElsaParser.ObjectInitializerContext context); - /// - /// Exit a parse tree produced by . - /// - /// The parse tree. - void ExitObjectInitializer([NotNull] ElsaParser.ObjectInitializerContext context); - /// - /// Enter a parse tree produced by . - /// - /// The parse tree. - void EnterPropertyList([NotNull] ElsaParser.PropertyListContext context); - /// - /// Exit a parse tree produced by . - /// - /// The parse tree. - void ExitPropertyList([NotNull] ElsaParser.PropertyListContext context); - /// - /// Enter a parse tree produced by . - /// - /// The parse tree. - void EnterProperty([NotNull] ElsaParser.PropertyContext context); - /// - /// Exit a parse tree produced by . - /// - /// The parse tree. - void ExitProperty([NotNull] ElsaParser.PropertyContext context); - /// - /// Enter a parse tree produced by the triggerStat - /// labeled alternative in . - /// - /// The parse tree. - void EnterTriggerStat([NotNull] ElsaParser.TriggerStatContext context); - /// - /// Exit a parse tree produced by the triggerStat - /// labeled alternative in . - /// - /// The parse tree. - void ExitTriggerStat([NotNull] ElsaParser.TriggerStatContext context); - /// - /// Enter a parse tree produced by the objectStat - /// labeled alternative in . - /// - /// The parse tree. - void EnterObjectStat([NotNull] ElsaParser.ObjectStatContext context); - /// - /// Exit a parse tree produced by the objectStat - /// labeled alternative in . - /// - /// The parse tree. - void ExitObjectStat([NotNull] ElsaParser.ObjectStatContext context); - /// - /// Enter a parse tree produced by the ifStat - /// labeled alternative in . - /// - /// The parse tree. - void EnterIfStat([NotNull] ElsaParser.IfStatContext context); - /// - /// Exit a parse tree produced by the ifStat - /// labeled alternative in . - /// - /// The parse tree. - void ExitIfStat([NotNull] ElsaParser.IfStatContext context); - /// - /// Enter a parse tree produced by the forStat - /// labeled alternative in . - /// - /// The parse tree. - void EnterForStat([NotNull] ElsaParser.ForStatContext context); - /// - /// Exit a parse tree produced by the forStat - /// labeled alternative in . - /// - /// The parse tree. - void ExitForStat([NotNull] ElsaParser.ForStatContext context); - /// - /// Enter a parse tree produced by the returnStat - /// labeled alternative in . - /// - /// The parse tree. - void EnterReturnStat([NotNull] ElsaParser.ReturnStatContext context); - /// - /// Exit a parse tree produced by the returnStat - /// labeled alternative in . - /// - /// The parse tree. - void ExitReturnStat([NotNull] ElsaParser.ReturnStatContext context); - /// - /// Enter a parse tree produced by the blockStat - /// labeled alternative in . - /// - /// The parse tree. - void EnterBlockStat([NotNull] ElsaParser.BlockStatContext context); - /// - /// Exit a parse tree produced by the blockStat - /// labeled alternative in . - /// - /// The parse tree. - void ExitBlockStat([NotNull] ElsaParser.BlockStatContext context); - /// - /// Enter a parse tree produced by the variableDeclarationStat - /// labeled alternative in . - /// - /// The parse tree. - void EnterVariableDeclarationStat([NotNull] ElsaParser.VariableDeclarationStatContext context); - /// - /// Exit a parse tree produced by the variableDeclarationStat - /// labeled alternative in . - /// - /// The parse tree. - void ExitVariableDeclarationStat([NotNull] ElsaParser.VariableDeclarationStatContext context); - /// - /// Enter a parse tree produced by the localVariableDeclarationStat - /// labeled alternative in . - /// - /// The parse tree. - void EnterLocalVariableDeclarationStat([NotNull] ElsaParser.LocalVariableDeclarationStatContext context); - /// - /// Exit a parse tree produced by the localVariableDeclarationStat - /// labeled alternative in . - /// - /// The parse tree. - void ExitLocalVariableDeclarationStat([NotNull] ElsaParser.LocalVariableDeclarationStatContext context); - /// - /// Enter a parse tree produced by the assignmentStat - /// labeled alternative in . - /// - /// The parse tree. - void EnterAssignmentStat([NotNull] ElsaParser.AssignmentStatContext context); - /// - /// Exit a parse tree produced by the assignmentStat - /// labeled alternative in . - /// - /// The parse tree. - void ExitAssignmentStat([NotNull] ElsaParser.AssignmentStatContext context); - /// - /// Enter a parse tree produced by the expressionStat - /// labeled alternative in . - /// - /// The parse tree. - void EnterExpressionStat([NotNull] ElsaParser.ExpressionStatContext context); - /// - /// Exit a parse tree produced by the expressionStat - /// labeled alternative in . - /// - /// The parse tree. - void ExitExpressionStat([NotNull] ElsaParser.ExpressionStatContext context); - /// - /// Enter a parse tree produced by . - /// - /// The parse tree. - void EnterThenStat([NotNull] ElsaParser.ThenStatContext context); - /// - /// Exit a parse tree produced by . - /// - /// The parse tree. - void ExitThenStat([NotNull] ElsaParser.ThenStatContext context); - /// - /// Enter a parse tree produced by . - /// - /// The parse tree. - void EnterElseStat([NotNull] ElsaParser.ElseStatContext context); - /// - /// Exit a parse tree produced by . - /// - /// The parse tree. - void ExitElseStat([NotNull] ElsaParser.ElseStatContext context); - /// - /// Enter a parse tree produced by the newObjectExpr - /// labeled alternative in . - /// - /// The parse tree. - void EnterNewObjectExpr([NotNull] ElsaParser.NewObjectExprContext context); - /// - /// Exit a parse tree produced by the newObjectExpr - /// labeled alternative in . - /// - /// The parse tree. - void ExitNewObjectExpr([NotNull] ElsaParser.NewObjectExprContext context); - /// - /// Enter a parse tree produced by the subtractExpr - /// labeled alternative in . - /// - /// The parse tree. - void EnterSubtractExpr([NotNull] ElsaParser.SubtractExprContext context); - /// - /// Exit a parse tree produced by the subtractExpr - /// labeled alternative in . - /// - /// The parse tree. - void ExitSubtractExpr([NotNull] ElsaParser.SubtractExprContext context); - /// - /// Enter a parse tree produced by the incrementExpr - /// labeled alternative in . - /// - /// The parse tree. - void EnterIncrementExpr([NotNull] ElsaParser.IncrementExprContext context); - /// - /// Exit a parse tree produced by the incrementExpr - /// labeled alternative in . - /// - /// The parse tree. - void ExitIncrementExpr([NotNull] ElsaParser.IncrementExprContext context); - /// - /// Enter a parse tree produced by the objectExpr - /// labeled alternative in . - /// - /// The parse tree. - void EnterObjectExpr([NotNull] ElsaParser.ObjectExprContext context); - /// - /// Exit a parse tree produced by the objectExpr - /// labeled alternative in . - /// - /// The parse tree. - void ExitObjectExpr([NotNull] ElsaParser.ObjectExprContext context); - /// - /// Enter a parse tree produced by the stringValueExpr - /// labeled alternative in . - /// - /// The parse tree. - void EnterStringValueExpr([NotNull] ElsaParser.StringValueExprContext context); - /// - /// Exit a parse tree produced by the stringValueExpr - /// labeled alternative in . - /// - /// The parse tree. - void ExitStringValueExpr([NotNull] ElsaParser.StringValueExprContext context); - /// - /// Enter a parse tree produced by the multiplyExpr - /// labeled alternative in . - /// - /// The parse tree. - void EnterMultiplyExpr([NotNull] ElsaParser.MultiplyExprContext context); - /// - /// Exit a parse tree produced by the multiplyExpr - /// labeled alternative in . - /// - /// The parse tree. - void ExitMultiplyExpr([NotNull] ElsaParser.MultiplyExprContext context); - /// - /// Enter a parse tree produced by the parenthesesExpr - /// labeled alternative in . - /// - /// The parse tree. - void EnterParenthesesExpr([NotNull] ElsaParser.ParenthesesExprContext context); - /// - /// Exit a parse tree produced by the parenthesesExpr - /// labeled alternative in . - /// - /// The parse tree. - void ExitParenthesesExpr([NotNull] ElsaParser.ParenthesesExprContext context); - /// - /// Enter a parse tree produced by the functionExpr - /// labeled alternative in . - /// - /// The parse tree. - void EnterFunctionExpr([NotNull] ElsaParser.FunctionExprContext context); - /// - /// Exit a parse tree produced by the functionExpr - /// labeled alternative in . - /// - /// The parse tree. - void ExitFunctionExpr([NotNull] ElsaParser.FunctionExprContext context); - /// - /// Enter a parse tree produced by the decrementExpr - /// labeled alternative in . - /// - /// The parse tree. - void EnterDecrementExpr([NotNull] ElsaParser.DecrementExprContext context); - /// - /// Exit a parse tree produced by the decrementExpr - /// labeled alternative in . - /// - /// The parse tree. - void ExitDecrementExpr([NotNull] ElsaParser.DecrementExprContext context); - /// - /// Enter a parse tree produced by the negateExpr - /// labeled alternative in . - /// - /// The parse tree. - void EnterNegateExpr([NotNull] ElsaParser.NegateExprContext context); - /// - /// Exit a parse tree produced by the negateExpr - /// labeled alternative in . - /// - /// The parse tree. - void ExitNegateExpr([NotNull] ElsaParser.NegateExprContext context); - /// - /// Enter a parse tree produced by the methodCallExpr - /// labeled alternative in . - /// - /// The parse tree. - void EnterMethodCallExpr([NotNull] ElsaParser.MethodCallExprContext context); - /// - /// Exit a parse tree produced by the methodCallExpr - /// labeled alternative in . - /// - /// The parse tree. - void ExitMethodCallExpr([NotNull] ElsaParser.MethodCallExprContext context); - /// - /// Enter a parse tree produced by the variableExpr - /// labeled alternative in . - /// - /// The parse tree. - void EnterVariableExpr([NotNull] ElsaParser.VariableExprContext context); - /// - /// Exit a parse tree produced by the variableExpr - /// labeled alternative in . - /// - /// The parse tree. - void ExitVariableExpr([NotNull] ElsaParser.VariableExprContext context); - /// - /// Enter a parse tree produced by the notExpr - /// labeled alternative in . - /// - /// The parse tree. - void EnterNotExpr([NotNull] ElsaParser.NotExprContext context); - /// - /// Exit a parse tree produced by the notExpr - /// labeled alternative in . - /// - /// The parse tree. - void ExitNotExpr([NotNull] ElsaParser.NotExprContext context); - /// - /// Enter a parse tree produced by the integerValueExpr - /// labeled alternative in . - /// - /// The parse tree. - void EnterIntegerValueExpr([NotNull] ElsaParser.IntegerValueExprContext context); - /// - /// Exit a parse tree produced by the integerValueExpr - /// labeled alternative in . - /// - /// The parse tree. - void ExitIntegerValueExpr([NotNull] ElsaParser.IntegerValueExprContext context); - /// - /// Enter a parse tree produced by the addExpr - /// labeled alternative in . - /// - /// The parse tree. - void EnterAddExpr([NotNull] ElsaParser.AddExprContext context); - /// - /// Exit a parse tree produced by the addExpr - /// labeled alternative in . - /// - /// The parse tree. - void ExitAddExpr([NotNull] ElsaParser.AddExprContext context); - /// - /// Enter a parse tree produced by the backTickStringValueExpr - /// labeled alternative in . - /// - /// The parse tree. - void EnterBackTickStringValueExpr([NotNull] ElsaParser.BackTickStringValueExprContext context); - /// - /// Exit a parse tree produced by the backTickStringValueExpr - /// labeled alternative in . - /// - /// The parse tree. - void ExitBackTickStringValueExpr([NotNull] ElsaParser.BackTickStringValueExprContext context); - /// - /// Enter a parse tree produced by the bracketsExpr - /// labeled alternative in . - /// - /// The parse tree. - void EnterBracketsExpr([NotNull] ElsaParser.BracketsExprContext context); - /// - /// Exit a parse tree produced by the bracketsExpr - /// labeled alternative in . - /// - /// The parse tree. - void ExitBracketsExpr([NotNull] ElsaParser.BracketsExprContext context); - /// - /// Enter a parse tree produced by the compareExpr - /// labeled alternative in . - /// - /// The parse tree. - void EnterCompareExpr([NotNull] ElsaParser.CompareExprContext context); - /// - /// Exit a parse tree produced by the compareExpr - /// labeled alternative in . - /// - /// The parse tree. - void ExitCompareExpr([NotNull] ElsaParser.CompareExprContext context); - /// - /// Enter a parse tree produced by . - /// - /// The parse tree. - void EnterExprList([NotNull] ElsaParser.ExprListContext context); - /// - /// Exit a parse tree produced by . - /// - /// The parse tree. - void ExitExprList([NotNull] ElsaParser.ExprListContext context); -} diff --git a/src/dsl/Elsa.Dsl/Abstractions/ElsaParserVisitor.cs b/src/dsl/Elsa.Dsl/Abstractions/ElsaParserVisitor.cs index f23e21f95..1eb1bbd35 100644 --- a/src/dsl/Elsa.Dsl/Abstractions/ElsaParserVisitor.cs +++ b/src/dsl/Elsa.Dsl/Abstractions/ElsaParserVisitor.cs @@ -1,14 +1,14 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// ANTLR Version: 4.9.1 +// ANTLR Version: 4.9.2 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // //------------------------------------------------------------------------------ -// Generated from C:/Projects/Elsa/experimental/src/dsl/Elsa.Dsl/Dsl\ElsaParser.g4 by ANTLR 4.9.1 +// Generated from C:/Projects/Elsa/v3/src/dsl/Elsa.Dsl/Dsl\ElsaParser.g4 by ANTLR 4.9.2 // Unreachable code detected #pragma warning disable 0162 @@ -28,7 +28,7 @@ using IToken = Antlr4.Runtime.IToken; /// by . /// /// The return type of the visit operation. -[System.CodeDom.Compiler.GeneratedCode("ANTLR", "4.9.1")] +[System.CodeDom.Compiler.GeneratedCode("ANTLR", "4.9.2")] [System.CLSCompliant(false)] public interface IElsaParserVisitor : IParseTreeVisitor { /// @@ -38,12 +38,6 @@ public interface IElsaParserVisitor : IParseTreeVisitor { /// The visitor result. Result VisitProgram([NotNull] ElsaParser.ProgramContext context); /// - /// Visit a parse tree produced by . - /// - /// The parse tree. - /// The visitor result. - Result VisitTrigger([NotNull] ElsaParser.TriggerContext context); - /// /// Visit a parse tree produced by . /// /// The parse tree. @@ -134,13 +128,6 @@ public interface IElsaParserVisitor : IParseTreeVisitor { /// The visitor result. Result VisitProperty([NotNull] ElsaParser.PropertyContext context); /// - /// Visit a parse tree produced by the triggerStat - /// labeled alternative in . - /// - /// The parse tree. - /// The visitor result. - Result VisitTriggerStat([NotNull] ElsaParser.TriggerStatContext context); - /// /// Visit a parse tree produced by the objectStat /// labeled alternative in . /// diff --git a/src/dsl/Elsa.Dsl/Dsl/ElsaParser.g4 b/src/dsl/Elsa.Dsl/Dsl/ElsaParser.g4 index 993712215..f01366c1d 100644 --- a/src/dsl/Elsa.Dsl/Dsl/ElsaParser.g4 +++ b/src/dsl/Elsa.Dsl/Dsl/ElsaParser.g4 @@ -5,11 +5,7 @@ options { tokenVocab = ElsaLexer; } program : (stat | LINE_COMMENT)* ; - -trigger - : TRIGGER object - ; - + object : ID objectInitializer? ; @@ -78,8 +74,7 @@ property ; stat - : trigger ';' #triggerStat - | object ';' #objectStat + : object ';' #objectStat | 'if' expr 'then' thenStat ('else' elseStat)? #ifStat | 'for' '(' ID '=' expr ';' expr ';' expr ')' stat #forStat | 'return' expr? ';' #returnStat diff --git a/src/dsl/Elsa.Dsl/Dsl/gen/ElsaLexer.interp b/src/dsl/Elsa.Dsl/Dsl/gen/ElsaLexer.interp deleted file mode 100644 index c7782819c..000000000 --- a/src/dsl/Elsa.Dsl/Dsl/gen/ElsaLexer.interp +++ /dev/null @@ -1,163 +0,0 @@ -token literal names: -null -'=' -'>' -'++' -'--' -'new' -'trigger' -'variable' -'let' -'if' -'then' -'else' -'for' -'return' -'void' -'float' -'int' -'string' -'object' -null -':' -';' -',' -'+' -'-' -'*' -'==' -'!=' -'>=' -'<' -'<=' -'=>' -'(' -')' -'[' -']' -'{' -'}' -'!' -'|' -'||' -'.' -null -null -null -null -null -null -'\\|' - -token symbolic names: -null -EQ -GREATER -INCREMENT -DECREMENT -NEW -TRIGGER -VARIABLE -LET -IF -THEN -ELSE -FOR -RETURN -VOID -FLOAT -INT -STRING -OBJECT -SYMBOL -COLON -SEMICOLON -COMMA -PLUS -MINUS -STAR -EQUALS -NOT_EQUALS -GREATER_EQUALS -LESS -LESS_EQUALS -LAMBDA -PARENTHESES_OPEN -PARENTHESES_CLOSE -BRACKET_OPEN -BRACKET_CLOSE -CURLYBRACE_OPEN -CURLYBRACE_CLOSE -EXCLAMATION -PIPE -PIPE_DBL -PERIOD -STRING_VAL -STRINGTICK_VAL -LINE_COMMENT -INTEGER_VAL -ID -WS -ESC - -rule names: -EQ -GREATER -INCREMENT -DECREMENT -NEW -TRIGGER -VARIABLE -LET -IF -THEN -ELSE -FOR -RETURN -VOID -FLOAT -INT -STRING -OBJECT -SYMBOL -COLON -SEMICOLON -COMMA -PLUS -MINUS -STAR -EQUALS -NOT_EQUALS -GREATER_EQUALS -LESS -LESS_EQUALS -LAMBDA -PARENTHESES_OPEN -PARENTHESES_CLOSE -BRACKET_OPEN -BRACKET_CLOSE -CURLYBRACE_OPEN -CURLYBRACE_CLOSE -EXCLAMATION -PIPE -PIPE_DBL -PERIOD -STRING_VAL -STRINGTICK_VAL -LINE_COMMENT -INTEGER_VAL -ID -WS -LETTER -DIGIT -ESC - -channel names: -DEFAULT_TOKEN_CHANNEL -HIDDEN - -mode names: -DEFAULT_MODE - -atn: -[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 50, 305, 8, 1, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 4, 12, 9, 12, 4, 13, 9, 13, 4, 14, 9, 14, 4, 15, 9, 15, 4, 16, 9, 16, 4, 17, 9, 17, 4, 18, 9, 18, 4, 19, 9, 19, 4, 20, 9, 20, 4, 21, 9, 21, 4, 22, 9, 22, 4, 23, 9, 23, 4, 24, 9, 24, 4, 25, 9, 25, 4, 26, 9, 26, 4, 27, 9, 27, 4, 28, 9, 28, 4, 29, 9, 29, 4, 30, 9, 30, 4, 31, 9, 31, 4, 32, 9, 32, 4, 33, 9, 33, 4, 34, 9, 34, 4, 35, 9, 35, 4, 36, 9, 36, 4, 37, 9, 37, 4, 38, 9, 38, 4, 39, 9, 39, 4, 40, 9, 40, 4, 41, 9, 41, 4, 42, 9, 42, 4, 43, 9, 43, 4, 44, 9, 44, 4, 45, 9, 45, 4, 46, 9, 46, 4, 47, 9, 47, 4, 48, 9, 48, 4, 49, 9, 49, 4, 50, 9, 50, 4, 51, 9, 51, 3, 2, 3, 2, 3, 3, 3, 3, 3, 4, 3, 4, 3, 4, 3, 5, 3, 5, 3, 5, 3, 6, 3, 6, 3, 6, 3, 6, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 3, 9, 3, 10, 3, 10, 3, 10, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 13, 3, 13, 3, 13, 3, 13, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 17, 3, 17, 3, 17, 3, 17, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 20, 3, 20, 3, 21, 3, 21, 3, 22, 3, 22, 3, 23, 3, 23, 3, 24, 3, 24, 3, 25, 3, 25, 3, 26, 3, 26, 3, 27, 3, 27, 3, 27, 3, 28, 3, 28, 3, 28, 3, 29, 3, 29, 3, 29, 3, 30, 3, 30, 3, 31, 3, 31, 3, 31, 3, 32, 3, 32, 3, 32, 3, 33, 3, 33, 3, 34, 3, 34, 3, 35, 3, 35, 3, 36, 3, 36, 3, 37, 3, 37, 3, 38, 3, 38, 3, 39, 3, 39, 3, 40, 3, 40, 3, 41, 3, 41, 3, 41, 3, 42, 3, 42, 3, 43, 3, 43, 3, 43, 3, 43, 7, 43, 248, 10, 43, 12, 43, 14, 43, 251, 11, 43, 3, 43, 3, 43, 3, 44, 3, 44, 3, 44, 3, 44, 7, 44, 259, 10, 44, 12, 44, 14, 44, 262, 11, 44, 3, 44, 3, 44, 3, 45, 3, 45, 3, 45, 3, 45, 7, 45, 270, 10, 45, 12, 45, 14, 45, 273, 11, 45, 3, 45, 5, 45, 276, 10, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 46, 6, 46, 283, 10, 46, 13, 46, 14, 46, 284, 3, 47, 3, 47, 3, 47, 7, 47, 290, 10, 47, 12, 47, 14, 47, 293, 11, 47, 3, 48, 3, 48, 3, 48, 3, 48, 3, 49, 3, 49, 3, 50, 3, 50, 3, 51, 3, 51, 3, 51, 5, 249, 260, 271, 2, 52, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13, 8, 15, 9, 17, 10, 19, 11, 21, 12, 23, 13, 25, 14, 27, 15, 29, 16, 31, 17, 33, 18, 35, 19, 37, 20, 39, 21, 41, 22, 43, 23, 45, 24, 47, 25, 49, 26, 51, 27, 53, 28, 55, 29, 57, 30, 59, 31, 61, 32, 63, 33, 65, 34, 67, 35, 69, 36, 71, 37, 73, 38, 75, 39, 77, 40, 79, 41, 81, 42, 83, 43, 85, 44, 87, 45, 89, 46, 91, 47, 93, 48, 95, 49, 97, 2, 99, 2, 101, 50, 3, 2, 6, 6, 2, 38, 38, 45, 45, 63, 64, 98, 98, 5, 2, 11, 12, 15, 15, 34, 34, 5, 2, 67, 92, 97, 97, 99, 124, 3, 2, 50, 59, 2, 311, 2, 3, 3, 2, 2, 2, 2, 5, 3, 2, 2, 2, 2, 7, 3, 2, 2, 2, 2, 9, 3, 2, 2, 2, 2, 11, 3, 2, 2, 2, 2, 13, 3, 2, 2, 2, 2, 15, 3, 2, 2, 2, 2, 17, 3, 2, 2, 2, 2, 19, 3, 2, 2, 2, 2, 21, 3, 2, 2, 2, 2, 23, 3, 2, 2, 2, 2, 25, 3, 2, 2, 2, 2, 27, 3, 2, 2, 2, 2, 29, 3, 2, 2, 2, 2, 31, 3, 2, 2, 2, 2, 33, 3, 2, 2, 2, 2, 35, 3, 2, 2, 2, 2, 37, 3, 2, 2, 2, 2, 39, 3, 2, 2, 2, 2, 41, 3, 2, 2, 2, 2, 43, 3, 2, 2, 2, 2, 45, 3, 2, 2, 2, 2, 47, 3, 2, 2, 2, 2, 49, 3, 2, 2, 2, 2, 51, 3, 2, 2, 2, 2, 53, 3, 2, 2, 2, 2, 55, 3, 2, 2, 2, 2, 57, 3, 2, 2, 2, 2, 59, 3, 2, 2, 2, 2, 61, 3, 2, 2, 2, 2, 63, 3, 2, 2, 2, 2, 65, 3, 2, 2, 2, 2, 67, 3, 2, 2, 2, 2, 69, 3, 2, 2, 2, 2, 71, 3, 2, 2, 2, 2, 73, 3, 2, 2, 2, 2, 75, 3, 2, 2, 2, 2, 77, 3, 2, 2, 2, 2, 79, 3, 2, 2, 2, 2, 81, 3, 2, 2, 2, 2, 83, 3, 2, 2, 2, 2, 85, 3, 2, 2, 2, 2, 87, 3, 2, 2, 2, 2, 89, 3, 2, 2, 2, 2, 91, 3, 2, 2, 2, 2, 93, 3, 2, 2, 2, 2, 95, 3, 2, 2, 2, 2, 101, 3, 2, 2, 2, 3, 103, 3, 2, 2, 2, 5, 105, 3, 2, 2, 2, 7, 107, 3, 2, 2, 2, 9, 110, 3, 2, 2, 2, 11, 113, 3, 2, 2, 2, 13, 117, 3, 2, 2, 2, 15, 125, 3, 2, 2, 2, 17, 134, 3, 2, 2, 2, 19, 138, 3, 2, 2, 2, 21, 141, 3, 2, 2, 2, 23, 146, 3, 2, 2, 2, 25, 151, 3, 2, 2, 2, 27, 155, 3, 2, 2, 2, 29, 162, 3, 2, 2, 2, 31, 167, 3, 2, 2, 2, 33, 173, 3, 2, 2, 2, 35, 177, 3, 2, 2, 2, 37, 184, 3, 2, 2, 2, 39, 191, 3, 2, 2, 2, 41, 193, 3, 2, 2, 2, 43, 195, 3, 2, 2, 2, 45, 197, 3, 2, 2, 2, 47, 199, 3, 2, 2, 2, 49, 201, 3, 2, 2, 2, 51, 203, 3, 2, 2, 2, 53, 205, 3, 2, 2, 2, 55, 208, 3, 2, 2, 2, 57, 211, 3, 2, 2, 2, 59, 214, 3, 2, 2, 2, 61, 216, 3, 2, 2, 2, 63, 219, 3, 2, 2, 2, 65, 222, 3, 2, 2, 2, 67, 224, 3, 2, 2, 2, 69, 226, 3, 2, 2, 2, 71, 228, 3, 2, 2, 2, 73, 230, 3, 2, 2, 2, 75, 232, 3, 2, 2, 2, 77, 234, 3, 2, 2, 2, 79, 236, 3, 2, 2, 2, 81, 238, 3, 2, 2, 2, 83, 241, 3, 2, 2, 2, 85, 243, 3, 2, 2, 2, 87, 254, 3, 2, 2, 2, 89, 265, 3, 2, 2, 2, 91, 282, 3, 2, 2, 2, 93, 286, 3, 2, 2, 2, 95, 294, 3, 2, 2, 2, 97, 298, 3, 2, 2, 2, 99, 300, 3, 2, 2, 2, 101, 302, 3, 2, 2, 2, 103, 104, 7, 63, 2, 2, 104, 4, 3, 2, 2, 2, 105, 106, 7, 64, 2, 2, 106, 6, 3, 2, 2, 2, 107, 108, 7, 45, 2, 2, 108, 109, 7, 45, 2, 2, 109, 8, 3, 2, 2, 2, 110, 111, 7, 47, 2, 2, 111, 112, 7, 47, 2, 2, 112, 10, 3, 2, 2, 2, 113, 114, 7, 112, 2, 2, 114, 115, 7, 103, 2, 2, 115, 116, 7, 121, 2, 2, 116, 12, 3, 2, 2, 2, 117, 118, 7, 118, 2, 2, 118, 119, 7, 116, 2, 2, 119, 120, 7, 107, 2, 2, 120, 121, 7, 105, 2, 2, 121, 122, 7, 105, 2, 2, 122, 123, 7, 103, 2, 2, 123, 124, 7, 116, 2, 2, 124, 14, 3, 2, 2, 2, 125, 126, 7, 120, 2, 2, 126, 127, 7, 99, 2, 2, 127, 128, 7, 116, 2, 2, 128, 129, 7, 107, 2, 2, 129, 130, 7, 99, 2, 2, 130, 131, 7, 100, 2, 2, 131, 132, 7, 110, 2, 2, 132, 133, 7, 103, 2, 2, 133, 16, 3, 2, 2, 2, 134, 135, 7, 110, 2, 2, 135, 136, 7, 103, 2, 2, 136, 137, 7, 118, 2, 2, 137, 18, 3, 2, 2, 2, 138, 139, 7, 107, 2, 2, 139, 140, 7, 104, 2, 2, 140, 20, 3, 2, 2, 2, 141, 142, 7, 118, 2, 2, 142, 143, 7, 106, 2, 2, 143, 144, 7, 103, 2, 2, 144, 145, 7, 112, 2, 2, 145, 22, 3, 2, 2, 2, 146, 147, 7, 103, 2, 2, 147, 148, 7, 110, 2, 2, 148, 149, 7, 117, 2, 2, 149, 150, 7, 103, 2, 2, 150, 24, 3, 2, 2, 2, 151, 152, 7, 104, 2, 2, 152, 153, 7, 113, 2, 2, 153, 154, 7, 116, 2, 2, 154, 26, 3, 2, 2, 2, 155, 156, 7, 116, 2, 2, 156, 157, 7, 103, 2, 2, 157, 158, 7, 118, 2, 2, 158, 159, 7, 119, 2, 2, 159, 160, 7, 116, 2, 2, 160, 161, 7, 112, 2, 2, 161, 28, 3, 2, 2, 2, 162, 163, 7, 120, 2, 2, 163, 164, 7, 113, 2, 2, 164, 165, 7, 107, 2, 2, 165, 166, 7, 102, 2, 2, 166, 30, 3, 2, 2, 2, 167, 168, 7, 104, 2, 2, 168, 169, 7, 110, 2, 2, 169, 170, 7, 113, 2, 2, 170, 171, 7, 99, 2, 2, 171, 172, 7, 118, 2, 2, 172, 32, 3, 2, 2, 2, 173, 174, 7, 107, 2, 2, 174, 175, 7, 112, 2, 2, 175, 176, 7, 118, 2, 2, 176, 34, 3, 2, 2, 2, 177, 178, 7, 117, 2, 2, 178, 179, 7, 118, 2, 2, 179, 180, 7, 116, 2, 2, 180, 181, 7, 107, 2, 2, 181, 182, 7, 112, 2, 2, 182, 183, 7, 105, 2, 2, 183, 36, 3, 2, 2, 2, 184, 185, 7, 113, 2, 2, 185, 186, 7, 100, 2, 2, 186, 187, 7, 108, 2, 2, 187, 188, 7, 103, 2, 2, 188, 189, 7, 101, 2, 2, 189, 190, 7, 118, 2, 2, 190, 38, 3, 2, 2, 2, 191, 192, 9, 2, 2, 2, 192, 40, 3, 2, 2, 2, 193, 194, 7, 60, 2, 2, 194, 42, 3, 2, 2, 2, 195, 196, 7, 61, 2, 2, 196, 44, 3, 2, 2, 2, 197, 198, 7, 46, 2, 2, 198, 46, 3, 2, 2, 2, 199, 200, 7, 45, 2, 2, 200, 48, 3, 2, 2, 2, 201, 202, 7, 47, 2, 2, 202, 50, 3, 2, 2, 2, 203, 204, 7, 44, 2, 2, 204, 52, 3, 2, 2, 2, 205, 206, 7, 63, 2, 2, 206, 207, 7, 63, 2, 2, 207, 54, 3, 2, 2, 2, 208, 209, 7, 35, 2, 2, 209, 210, 7, 63, 2, 2, 210, 56, 3, 2, 2, 2, 211, 212, 7, 64, 2, 2, 212, 213, 7, 63, 2, 2, 213, 58, 3, 2, 2, 2, 214, 215, 7, 62, 2, 2, 215, 60, 3, 2, 2, 2, 216, 217, 7, 62, 2, 2, 217, 218, 7, 63, 2, 2, 218, 62, 3, 2, 2, 2, 219, 220, 7, 63, 2, 2, 220, 221, 7, 64, 2, 2, 221, 64, 3, 2, 2, 2, 222, 223, 7, 42, 2, 2, 223, 66, 3, 2, 2, 2, 224, 225, 7, 43, 2, 2, 225, 68, 3, 2, 2, 2, 226, 227, 7, 93, 2, 2, 227, 70, 3, 2, 2, 2, 228, 229, 7, 95, 2, 2, 229, 72, 3, 2, 2, 2, 230, 231, 7, 125, 2, 2, 231, 74, 3, 2, 2, 2, 232, 233, 7, 127, 2, 2, 233, 76, 3, 2, 2, 2, 234, 235, 7, 35, 2, 2, 235, 78, 3, 2, 2, 2, 236, 237, 7, 126, 2, 2, 237, 80, 3, 2, 2, 2, 238, 239, 7, 126, 2, 2, 239, 240, 7, 126, 2, 2, 240, 82, 3, 2, 2, 2, 241, 242, 7, 48, 2, 2, 242, 84, 3, 2, 2, 2, 243, 249, 7, 36, 2, 2, 244, 245, 7, 94, 2, 2, 245, 248, 7, 36, 2, 2, 246, 248, 11, 2, 2, 2, 247, 244, 3, 2, 2, 2, 247, 246, 3, 2, 2, 2, 248, 251, 3, 2, 2, 2, 249, 250, 3, 2, 2, 2, 249, 247, 3, 2, 2, 2, 250, 252, 3, 2, 2, 2, 251, 249, 3, 2, 2, 2, 252, 253, 7, 36, 2, 2, 253, 86, 3, 2, 2, 2, 254, 260, 7, 98, 2, 2, 255, 256, 7, 94, 2, 2, 256, 259, 7, 36, 2, 2, 257, 259, 11, 2, 2, 2, 258, 255, 3, 2, 2, 2, 258, 257, 3, 2, 2, 2, 259, 262, 3, 2, 2, 2, 260, 261, 3, 2, 2, 2, 260, 258, 3, 2, 2, 2, 261, 263, 3, 2, 2, 2, 262, 260, 3, 2, 2, 2, 263, 264, 7, 98, 2, 2, 264, 88, 3, 2, 2, 2, 265, 266, 7, 49, 2, 2, 266, 267, 7, 49, 2, 2, 267, 271, 3, 2, 2, 2, 268, 270, 11, 2, 2, 2, 269, 268, 3, 2, 2, 2, 270, 273, 3, 2, 2, 2, 271, 272, 3, 2, 2, 2, 271, 269, 3, 2, 2, 2, 272, 275, 3, 2, 2, 2, 273, 271, 3, 2, 2, 2, 274, 276, 7, 15, 2, 2, 275, 274, 3, 2, 2, 2, 275, 276, 3, 2, 2, 2, 276, 277, 3, 2, 2, 2, 277, 278, 7, 12, 2, 2, 278, 279, 3, 2, 2, 2, 279, 280, 8, 45, 2, 2, 280, 90, 3, 2, 2, 2, 281, 283, 5, 99, 50, 2, 282, 281, 3, 2, 2, 2, 283, 284, 3, 2, 2, 2, 284, 282, 3, 2, 2, 2, 284, 285, 3, 2, 2, 2, 285, 92, 3, 2, 2, 2, 286, 291, 5, 97, 49, 2, 287, 290, 5, 97, 49, 2, 288, 290, 5, 99, 50, 2, 289, 287, 3, 2, 2, 2, 289, 288, 3, 2, 2, 2, 290, 293, 3, 2, 2, 2, 291, 289, 3, 2, 2, 2, 291, 292, 3, 2, 2, 2, 292, 94, 3, 2, 2, 2, 293, 291, 3, 2, 2, 2, 294, 295, 9, 3, 2, 2, 295, 296, 3, 2, 2, 2, 296, 297, 8, 48, 2, 2, 297, 96, 3, 2, 2, 2, 298, 299, 9, 4, 2, 2, 299, 98, 3, 2, 2, 2, 300, 301, 9, 5, 2, 2, 301, 100, 3, 2, 2, 2, 302, 303, 7, 94, 2, 2, 303, 304, 7, 126, 2, 2, 304, 102, 3, 2, 2, 2, 12, 2, 247, 249, 258, 260, 271, 275, 284, 289, 291, 3, 8, 2, 2] \ No newline at end of file diff --git a/src/dsl/Elsa.Dsl/Dsl/gen/ElsaLexer.java b/src/dsl/Elsa.Dsl/Dsl/gen/ElsaLexer.java deleted file mode 100644 index 84160e514..000000000 --- a/src/dsl/Elsa.Dsl/Dsl/gen/ElsaLexer.java +++ /dev/null @@ -1,235 +0,0 @@ -// Generated from C:/Projects/Elsa/experimental/src/dsl/Elsa.Dsl/Dsl\ElsaLexer.g4 by ANTLR 4.9.1 -import org.antlr.v4.runtime.Lexer; -import org.antlr.v4.runtime.CharStream; -import org.antlr.v4.runtime.Token; -import org.antlr.v4.runtime.TokenStream; -import org.antlr.v4.runtime.*; -import org.antlr.v4.runtime.atn.*; -import org.antlr.v4.runtime.dfa.DFA; -import org.antlr.v4.runtime.misc.*; - -@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) -public class ElsaLexer extends Lexer { - static { RuntimeMetaData.checkVersion("4.9.1", RuntimeMetaData.VERSION); } - - protected static final DFA[] _decisionToDFA; - protected static final PredictionContextCache _sharedContextCache = - new PredictionContextCache(); - public static final int - EQ=1, GREATER=2, INCREMENT=3, DECREMENT=4, NEW=5, TRIGGER=6, VARIABLE=7, - LET=8, IF=9, THEN=10, ELSE=11, FOR=12, RETURN=13, VOID=14, FLOAT=15, INT=16, - STRING=17, OBJECT=18, SYMBOL=19, COLON=20, SEMICOLON=21, COMMA=22, PLUS=23, - MINUS=24, STAR=25, EQUALS=26, NOT_EQUALS=27, GREATER_EQUALS=28, LESS=29, - LESS_EQUALS=30, LAMBDA=31, PARENTHESES_OPEN=32, PARENTHESES_CLOSE=33, - BRACKET_OPEN=34, BRACKET_CLOSE=35, CURLYBRACE_OPEN=36, CURLYBRACE_CLOSE=37, - EXCLAMATION=38, PIPE=39, PIPE_DBL=40, PERIOD=41, STRING_VAL=42, STRINGTICK_VAL=43, - LINE_COMMENT=44, INTEGER_VAL=45, ID=46, WS=47, ESC=48; - public static String[] channelNames = { - "DEFAULT_TOKEN_CHANNEL", "HIDDEN" - }; - - public static String[] modeNames = { - "DEFAULT_MODE" - }; - - private static String[] makeRuleNames() { - return new String[] { - "EQ", "GREATER", "INCREMENT", "DECREMENT", "NEW", "TRIGGER", "VARIABLE", - "LET", "IF", "THEN", "ELSE", "FOR", "RETURN", "VOID", "FLOAT", "INT", - "STRING", "OBJECT", "SYMBOL", "COLON", "SEMICOLON", "COMMA", "PLUS", - "MINUS", "STAR", "EQUALS", "NOT_EQUALS", "GREATER_EQUALS", "LESS", "LESS_EQUALS", - "LAMBDA", "PARENTHESES_OPEN", "PARENTHESES_CLOSE", "BRACKET_OPEN", "BRACKET_CLOSE", - "CURLYBRACE_OPEN", "CURLYBRACE_CLOSE", "EXCLAMATION", "PIPE", "PIPE_DBL", - "PERIOD", "STRING_VAL", "STRINGTICK_VAL", "LINE_COMMENT", "INTEGER_VAL", - "ID", "WS", "LETTER", "DIGIT", "ESC" - }; - } - public static final String[] ruleNames = makeRuleNames(); - - private static String[] makeLiteralNames() { - return new String[] { - null, "'='", "'>'", "'++'", "'--'", "'new'", "'trigger'", "'variable'", - "'let'", "'if'", "'then'", "'else'", "'for'", "'return'", "'void'", "'float'", - "'int'", "'string'", "'object'", null, "':'", "';'", "','", "'+'", "'-'", - "'*'", "'=='", "'!='", "'>='", "'<'", "'<='", "'=>'", "'('", "')'", "'['", - "']'", "'{'", "'}'", "'!'", "'|'", "'||'", "'.'", null, null, null, null, - null, null, "'\\|'" - }; - } - private static final String[] _LITERAL_NAMES = makeLiteralNames(); - private static String[] makeSymbolicNames() { - return new String[] { - null, "EQ", "GREATER", "INCREMENT", "DECREMENT", "NEW", "TRIGGER", "VARIABLE", - "LET", "IF", "THEN", "ELSE", "FOR", "RETURN", "VOID", "FLOAT", "INT", - "STRING", "OBJECT", "SYMBOL", "COLON", "SEMICOLON", "COMMA", "PLUS", - "MINUS", "STAR", "EQUALS", "NOT_EQUALS", "GREATER_EQUALS", "LESS", "LESS_EQUALS", - "LAMBDA", "PARENTHESES_OPEN", "PARENTHESES_CLOSE", "BRACKET_OPEN", "BRACKET_CLOSE", - "CURLYBRACE_OPEN", "CURLYBRACE_CLOSE", "EXCLAMATION", "PIPE", "PIPE_DBL", - "PERIOD", "STRING_VAL", "STRINGTICK_VAL", "LINE_COMMENT", "INTEGER_VAL", - "ID", "WS", "ESC" - }; - } - private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); - public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); - - /** - * @deprecated Use {@link #VOCABULARY} instead. - */ - @Deprecated - public static final String[] tokenNames; - static { - tokenNames = new String[_SYMBOLIC_NAMES.length]; - for (int i = 0; i < tokenNames.length; i++) { - tokenNames[i] = VOCABULARY.getLiteralName(i); - if (tokenNames[i] == null) { - tokenNames[i] = VOCABULARY.getSymbolicName(i); - } - - if (tokenNames[i] == null) { - tokenNames[i] = ""; - } - } - } - - @Override - @Deprecated - public String[] getTokenNames() { - return tokenNames; - } - - @Override - - public Vocabulary getVocabulary() { - return VOCABULARY; - } - - - public ElsaLexer(CharStream input) { - super(input); - _interp = new LexerATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); - } - - @Override - public String getGrammarFileName() { return "ElsaLexer.g4"; } - - @Override - public String[] getRuleNames() { return ruleNames; } - - @Override - public String getSerializedATN() { return _serializedATN; } - - @Override - public String[] getChannelNames() { return channelNames; } - - @Override - public String[] getModeNames() { return modeNames; } - - @Override - public ATN getATN() { return _ATN; } - - public static final String _serializedATN = - "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2\62\u0131\b\1\4\2"+ - "\t\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4"+ - "\13\t\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22"+ - "\t\22\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31"+ - "\t\31\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t"+ - " \4!\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t"+ - "+\4,\t,\4-\t-\4.\t.\4/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\3\2"+ - "\3\2\3\3\3\3\3\4\3\4\3\4\3\5\3\5\3\5\3\6\3\6\3\6\3\6\3\7\3\7\3\7\3\7\3"+ - "\7\3\7\3\7\3\7\3\b\3\b\3\b\3\b\3\b\3\b\3\b\3\b\3\b\3\t\3\t\3\t\3\t\3\n"+ - "\3\n\3\n\3\13\3\13\3\13\3\13\3\13\3\f\3\f\3\f\3\f\3\f\3\r\3\r\3\r\3\r"+ - "\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\17\3\17\3\17\3\17\3\17\3\20\3\20"+ - "\3\20\3\20\3\20\3\20\3\21\3\21\3\21\3\21\3\22\3\22\3\22\3\22\3\22\3\22"+ - "\3\22\3\23\3\23\3\23\3\23\3\23\3\23\3\23\3\24\3\24\3\25\3\25\3\26\3\26"+ - "\3\27\3\27\3\30\3\30\3\31\3\31\3\32\3\32\3\33\3\33\3\33\3\34\3\34\3\34"+ - "\3\35\3\35\3\35\3\36\3\36\3\37\3\37\3\37\3 \3 \3 \3!\3!\3\"\3\"\3#\3#"+ - "\3$\3$\3%\3%\3&\3&\3\'\3\'\3(\3(\3)\3)\3)\3*\3*\3+\3+\3+\3+\7+\u00f8\n"+ - "+\f+\16+\u00fb\13+\3+\3+\3,\3,\3,\3,\7,\u0103\n,\f,\16,\u0106\13,\3,\3"+ - ",\3-\3-\3-\3-\7-\u010e\n-\f-\16-\u0111\13-\3-\5-\u0114\n-\3-\3-\3-\3-"+ - "\3.\6.\u011b\n.\r.\16.\u011c\3/\3/\3/\7/\u0122\n/\f/\16/\u0125\13/\3\60"+ - "\3\60\3\60\3\60\3\61\3\61\3\62\3\62\3\63\3\63\3\63\5\u00f9\u0104\u010f"+ - "\2\64\3\3\5\4\7\5\t\6\13\7\r\b\17\t\21\n\23\13\25\f\27\r\31\16\33\17\35"+ - "\20\37\21!\22#\23%\24\'\25)\26+\27-\30/\31\61\32\63\33\65\34\67\359\36"+ - ";\37= ?!A\"C#E$G%I&K\'M(O)Q*S+U,W-Y.[/]\60_\61a\2c\2e\62\3\2\6\6\2&&-"+ - "-?@bb\5\2\13\f\17\17\"\"\5\2C\\aac|\3\2\62;\2\u0137\2\3\3\2\2\2\2\5\3"+ - "\2\2\2\2\7\3\2\2\2\2\t\3\2\2\2\2\13\3\2\2\2\2\r\3\2\2\2\2\17\3\2\2\2\2"+ - "\21\3\2\2\2\2\23\3\2\2\2\2\25\3\2\2\2\2\27\3\2\2\2\2\31\3\2\2\2\2\33\3"+ - "\2\2\2\2\35\3\2\2\2\2\37\3\2\2\2\2!\3\2\2\2\2#\3\2\2\2\2%\3\2\2\2\2\'"+ - "\3\2\2\2\2)\3\2\2\2\2+\3\2\2\2\2-\3\2\2\2\2/\3\2\2\2\2\61\3\2\2\2\2\63"+ - "\3\2\2\2\2\65\3\2\2\2\2\67\3\2\2\2\29\3\2\2\2\2;\3\2\2\2\2=\3\2\2\2\2"+ - "?\3\2\2\2\2A\3\2\2\2\2C\3\2\2\2\2E\3\2\2\2\2G\3\2\2\2\2I\3\2\2\2\2K\3"+ - "\2\2\2\2M\3\2\2\2\2O\3\2\2\2\2Q\3\2\2\2\2S\3\2\2\2\2U\3\2\2\2\2W\3\2\2"+ - "\2\2Y\3\2\2\2\2[\3\2\2\2\2]\3\2\2\2\2_\3\2\2\2\2e\3\2\2\2\3g\3\2\2\2\5"+ - "i\3\2\2\2\7k\3\2\2\2\tn\3\2\2\2\13q\3\2\2\2\ru\3\2\2\2\17}\3\2\2\2\21"+ - "\u0086\3\2\2\2\23\u008a\3\2\2\2\25\u008d\3\2\2\2\27\u0092\3\2\2\2\31\u0097"+ - "\3\2\2\2\33\u009b\3\2\2\2\35\u00a2\3\2\2\2\37\u00a7\3\2\2\2!\u00ad\3\2"+ - "\2\2#\u00b1\3\2\2\2%\u00b8\3\2\2\2\'\u00bf\3\2\2\2)\u00c1\3\2\2\2+\u00c3"+ - "\3\2\2\2-\u00c5\3\2\2\2/\u00c7\3\2\2\2\61\u00c9\3\2\2\2\63\u00cb\3\2\2"+ - "\2\65\u00cd\3\2\2\2\67\u00d0\3\2\2\29\u00d3\3\2\2\2;\u00d6\3\2\2\2=\u00d8"+ - "\3\2\2\2?\u00db\3\2\2\2A\u00de\3\2\2\2C\u00e0\3\2\2\2E\u00e2\3\2\2\2G"+ - "\u00e4\3\2\2\2I\u00e6\3\2\2\2K\u00e8\3\2\2\2M\u00ea\3\2\2\2O\u00ec\3\2"+ - "\2\2Q\u00ee\3\2\2\2S\u00f1\3\2\2\2U\u00f3\3\2\2\2W\u00fe\3\2\2\2Y\u0109"+ - "\3\2\2\2[\u011a\3\2\2\2]\u011e\3\2\2\2_\u0126\3\2\2\2a\u012a\3\2\2\2c"+ - "\u012c\3\2\2\2e\u012e\3\2\2\2gh\7?\2\2h\4\3\2\2\2ij\7@\2\2j\6\3\2\2\2"+ - "kl\7-\2\2lm\7-\2\2m\b\3\2\2\2no\7/\2\2op\7/\2\2p\n\3\2\2\2qr\7p\2\2rs"+ - "\7g\2\2st\7y\2\2t\f\3\2\2\2uv\7v\2\2vw\7t\2\2wx\7k\2\2xy\7i\2\2yz\7i\2"+ - "\2z{\7g\2\2{|\7t\2\2|\16\3\2\2\2}~\7x\2\2~\177\7c\2\2\177\u0080\7t\2\2"+ - "\u0080\u0081\7k\2\2\u0081\u0082\7c\2\2\u0082\u0083\7d\2\2\u0083\u0084"+ - "\7n\2\2\u0084\u0085\7g\2\2\u0085\20\3\2\2\2\u0086\u0087\7n\2\2\u0087\u0088"+ - "\7g\2\2\u0088\u0089\7v\2\2\u0089\22\3\2\2\2\u008a\u008b\7k\2\2\u008b\u008c"+ - "\7h\2\2\u008c\24\3\2\2\2\u008d\u008e\7v\2\2\u008e\u008f\7j\2\2\u008f\u0090"+ - "\7g\2\2\u0090\u0091\7p\2\2\u0091\26\3\2\2\2\u0092\u0093\7g\2\2\u0093\u0094"+ - "\7n\2\2\u0094\u0095\7u\2\2\u0095\u0096\7g\2\2\u0096\30\3\2\2\2\u0097\u0098"+ - "\7h\2\2\u0098\u0099\7q\2\2\u0099\u009a\7t\2\2\u009a\32\3\2\2\2\u009b\u009c"+ - "\7t\2\2\u009c\u009d\7g\2\2\u009d\u009e\7v\2\2\u009e\u009f\7w\2\2\u009f"+ - "\u00a0\7t\2\2\u00a0\u00a1\7p\2\2\u00a1\34\3\2\2\2\u00a2\u00a3\7x\2\2\u00a3"+ - "\u00a4\7q\2\2\u00a4\u00a5\7k\2\2\u00a5\u00a6\7f\2\2\u00a6\36\3\2\2\2\u00a7"+ - "\u00a8\7h\2\2\u00a8\u00a9\7n\2\2\u00a9\u00aa\7q\2\2\u00aa\u00ab\7c\2\2"+ - "\u00ab\u00ac\7v\2\2\u00ac \3\2\2\2\u00ad\u00ae\7k\2\2\u00ae\u00af\7p\2"+ - "\2\u00af\u00b0\7v\2\2\u00b0\"\3\2\2\2\u00b1\u00b2\7u\2\2\u00b2\u00b3\7"+ - "v\2\2\u00b3\u00b4\7t\2\2\u00b4\u00b5\7k\2\2\u00b5\u00b6\7p\2\2\u00b6\u00b7"+ - "\7i\2\2\u00b7$\3\2\2\2\u00b8\u00b9\7q\2\2\u00b9\u00ba\7d\2\2\u00ba\u00bb"+ - "\7l\2\2\u00bb\u00bc\7g\2\2\u00bc\u00bd\7e\2\2\u00bd\u00be\7v\2\2\u00be"+ - "&\3\2\2\2\u00bf\u00c0\t\2\2\2\u00c0(\3\2\2\2\u00c1\u00c2\7<\2\2\u00c2"+ - "*\3\2\2\2\u00c3\u00c4\7=\2\2\u00c4,\3\2\2\2\u00c5\u00c6\7.\2\2\u00c6."+ - "\3\2\2\2\u00c7\u00c8\7-\2\2\u00c8\60\3\2\2\2\u00c9\u00ca\7/\2\2\u00ca"+ - "\62\3\2\2\2\u00cb\u00cc\7,\2\2\u00cc\64\3\2\2\2\u00cd\u00ce\7?\2\2\u00ce"+ - "\u00cf\7?\2\2\u00cf\66\3\2\2\2\u00d0\u00d1\7#\2\2\u00d1\u00d2\7?\2\2\u00d2"+ - "8\3\2\2\2\u00d3\u00d4\7@\2\2\u00d4\u00d5\7?\2\2\u00d5:\3\2\2\2\u00d6\u00d7"+ - "\7>\2\2\u00d7<\3\2\2\2\u00d8\u00d9\7>\2\2\u00d9\u00da\7?\2\2\u00da>\3"+ - "\2\2\2\u00db\u00dc\7?\2\2\u00dc\u00dd\7@\2\2\u00dd@\3\2\2\2\u00de\u00df"+ - "\7*\2\2\u00dfB\3\2\2\2\u00e0\u00e1\7+\2\2\u00e1D\3\2\2\2\u00e2\u00e3\7"+ - "]\2\2\u00e3F\3\2\2\2\u00e4\u00e5\7_\2\2\u00e5H\3\2\2\2\u00e6\u00e7\7}"+ - "\2\2\u00e7J\3\2\2\2\u00e8\u00e9\7\177\2\2\u00e9L\3\2\2\2\u00ea\u00eb\7"+ - "#\2\2\u00ebN\3\2\2\2\u00ec\u00ed\7~\2\2\u00edP\3\2\2\2\u00ee\u00ef\7~"+ - "\2\2\u00ef\u00f0\7~\2\2\u00f0R\3\2\2\2\u00f1\u00f2\7\60\2\2\u00f2T\3\2"+ - "\2\2\u00f3\u00f9\7$\2\2\u00f4\u00f5\7^\2\2\u00f5\u00f8\7$\2\2\u00f6\u00f8"+ - "\13\2\2\2\u00f7\u00f4\3\2\2\2\u00f7\u00f6\3\2\2\2\u00f8\u00fb\3\2\2\2"+ - "\u00f9\u00fa\3\2\2\2\u00f9\u00f7\3\2\2\2\u00fa\u00fc\3\2\2\2\u00fb\u00f9"+ - "\3\2\2\2\u00fc\u00fd\7$\2\2\u00fdV\3\2\2\2\u00fe\u0104\7b\2\2\u00ff\u0100"+ - "\7^\2\2\u0100\u0103\7$\2\2\u0101\u0103\13\2\2\2\u0102\u00ff\3\2\2\2\u0102"+ - "\u0101\3\2\2\2\u0103\u0106\3\2\2\2\u0104\u0105\3\2\2\2\u0104\u0102\3\2"+ - "\2\2\u0105\u0107\3\2\2\2\u0106\u0104\3\2\2\2\u0107\u0108\7b\2\2\u0108"+ - "X\3\2\2\2\u0109\u010a\7\61\2\2\u010a\u010b\7\61\2\2\u010b\u010f\3\2\2"+ - "\2\u010c\u010e\13\2\2\2\u010d\u010c\3\2\2\2\u010e\u0111\3\2\2\2\u010f"+ - "\u0110\3\2\2\2\u010f\u010d\3\2\2\2\u0110\u0113\3\2\2\2\u0111\u010f\3\2"+ - "\2\2\u0112\u0114\7\17\2\2\u0113\u0112\3\2\2\2\u0113\u0114\3\2\2\2\u0114"+ - "\u0115\3\2\2\2\u0115\u0116\7\f\2\2\u0116\u0117\3\2\2\2\u0117\u0118\b-"+ - "\2\2\u0118Z\3\2\2\2\u0119\u011b\5c\62\2\u011a\u0119\3\2\2\2\u011b\u011c"+ - "\3\2\2\2\u011c\u011a\3\2\2\2\u011c\u011d\3\2\2\2\u011d\\\3\2\2\2\u011e"+ - "\u0123\5a\61\2\u011f\u0122\5a\61\2\u0120\u0122\5c\62\2\u0121\u011f\3\2"+ - "\2\2\u0121\u0120\3\2\2\2\u0122\u0125\3\2\2\2\u0123\u0121\3\2\2\2\u0123"+ - "\u0124\3\2\2\2\u0124^\3\2\2\2\u0125\u0123\3\2\2\2\u0126\u0127\t\3\2\2"+ - "\u0127\u0128\3\2\2\2\u0128\u0129\b\60\2\2\u0129`\3\2\2\2\u012a\u012b\t"+ - "\4\2\2\u012bb\3\2\2\2\u012c\u012d\t\5\2\2\u012dd\3\2\2\2\u012e\u012f\7"+ - "^\2\2\u012f\u0130\7~\2\2\u0130f\3\2\2\2\f\2\u00f7\u00f9\u0102\u0104\u010f"+ - "\u0113\u011c\u0121\u0123\3\b\2\2"; - public static final ATN _ATN = - new ATNDeserializer().deserialize(_serializedATN.toCharArray()); - static { - _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; - for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { - _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); - } - } -} \ No newline at end of file diff --git a/src/dsl/Elsa.Dsl/Elsa.Dsl.csproj b/src/dsl/Elsa.Dsl/Elsa.Dsl.csproj index a26913eea..7ec08d807 100644 --- a/src/dsl/Elsa.Dsl/Elsa.Dsl.csproj +++ b/src/dsl/Elsa.Dsl/Elsa.Dsl.csproj @@ -14,4 +14,8 @@ + + + + diff --git a/src/dsl/Elsa.Dsl/Extensions/ServiceCollectionExtensions.cs b/src/dsl/Elsa.Dsl/Extensions/ServiceCollectionExtensions.cs index 3d06b1ebd..3dc94206e 100644 --- a/src/dsl/Elsa.Dsl/Extensions/ServiceCollectionExtensions.cs +++ b/src/dsl/Elsa.Dsl/Extensions/ServiceCollectionExtensions.cs @@ -11,6 +11,7 @@ public static class ServiceCollectionExtensions { return services .AddSingleton() + .AddSingleton() .AddSingleton(); } } \ No newline at end of file diff --git a/src/dsl/Elsa.Dsl/Interpreters/WorkflowDefinitionBuilderInterpreter/VisitWorkflowVariable.cs b/src/dsl/Elsa.Dsl/Interpreters/WorkflowDefinitionBuilderInterpreter/VisitWorkflowVariable.cs index dee462cfd..d2287eff1 100644 --- a/src/dsl/Elsa.Dsl/Interpreters/WorkflowDefinitionBuilderInterpreter/VisitWorkflowVariable.cs +++ b/src/dsl/Elsa.Dsl/Interpreters/WorkflowDefinitionBuilderInterpreter/VisitWorkflowVariable.cs @@ -1,4 +1,5 @@ using System; +using System.Linq; using Elsa.Contracts; using Elsa.Models; @@ -32,7 +33,7 @@ public partial class WorkflowDefinitionBuilderInterpreter { // When an activity is assigned to a workflow variable, what we really are doing is setting the variable to the activity's output. var activityType = activity.GetType(); - var outputProperty = activityType.GetProperty("Output"); + var outputProperty = activityType.GetProperties().FirstOrDefault(x => x.Name == "Result"); if (outputProperty == null) throw new Exception("Cannot assign output of an activity that does not have an Output property."); diff --git a/src/dsl/Elsa.Dsl/Services/FunctionActivityRegistry.cs b/src/dsl/Elsa.Dsl/Services/FunctionActivityRegistry.cs index 8a14eccfc..d8cf856cb 100644 --- a/src/dsl/Elsa.Dsl/Services/FunctionActivityRegistry.cs +++ b/src/dsl/Elsa.Dsl/Services/FunctionActivityRegistry.cs @@ -35,7 +35,7 @@ public class FunctionActivityRegistry : IFunctionActivityRegistry var propertyNameList = propertyNames?.ToList() ?? new List(); var properties = propertyNameList.Select(propertyName => { - var property = activityType.GetProperty(propertyName); + var property = activityType.GetProperties().FirstOrDefault(x => x.Name == propertyName); if (property == null) throw new Exception($"Activity type {typeDescriptor.Type.Name} does not have a property named {propertyName}"); diff --git a/src/samples/aspnet/Elsa.Samples.Web1/Program.cs b/src/samples/aspnet/Elsa.Samples.Web1/Program.cs index 4264ff120..19b8adeac 100644 --- a/src/samples/aspnet/Elsa.Samples.Web1/Program.cs +++ b/src/samples/aspnet/Elsa.Samples.Web1/Program.cs @@ -41,7 +41,6 @@ var sqlServerConnectionString = configuration.GetConnectionString("SqlServer"); // Add services. services .AddElsa() - .AddMediator() .AddEntityFrameworkCorePersistence((_, ef) => ef.UseSqlite()) .AddProtoActorWorkflowHost() .IndexWorkflowTriggers() diff --git a/src/samples/console/Elsa.Samples.Console1/Program.cs b/src/samples/console/Elsa.Samples.Console1/Program.cs index d31a97f38..fa497e4b7 100644 --- a/src/samples/console/Elsa.Samples.Console1/Program.cs +++ b/src/samples/console/Elsa.Samples.Console1/Program.cs @@ -89,7 +89,6 @@ class Program services .AddElsa() - .AddMediator() .AddInMemoryPersistence() .AddLogging(logging => logging.AddConsole().SetMinimumLevel(LogLevel.Warning)); diff --git a/src/samples/console/Elsa.Samples.Console2/Program.cs b/src/samples/console/Elsa.Samples.Console2/Program.cs index e55225c00..e676801ce 100644 --- a/src/samples/console/Elsa.Samples.Console2/Program.cs +++ b/src/samples/console/Elsa.Samples.Console2/Program.cs @@ -49,6 +49,7 @@ IServiceProvider CreateServices() services .AddElsa() + .AddDsl() .AddLogging(logging => logging.AddConsole().SetMinimumLevel(LogLevel.Warning)) .AddInMemoryPersistence() .AddJavaScriptExpressions(); diff --git a/src/samples/console/Elsa.Samples.Console2/Sample1.elsa b/src/samples/console/Elsa.Samples.Console2/Sample1.elsa index 0340d85a1..1a5f81df4 100644 --- a/src/samples/console/Elsa.Samples.Console2/Sample1.elsa +++ b/src/samples/console/Elsa.Samples.Console2/Sample1.elsa @@ -1,3 +1,3 @@ print("Hi! What's your name?"); -variable name = read(name); +variable name = read(); print(js => `Nice to meet you, ${name}!`); \ No newline at end of file diff --git a/src/scripting/Elsa.Scripting.JavaScript/Services/JintJavaScriptEvaluator.cs b/src/scripting/Elsa.Scripting.JavaScript/Services/JintJavaScriptEvaluator.cs index 69cacf9e1..d7ffebf26 100644 --- a/src/scripting/Elsa.Scripting.JavaScript/Services/JintJavaScriptEvaluator.cs +++ b/src/scripting/Elsa.Scripting.JavaScript/Services/JintJavaScriptEvaluator.cs @@ -40,6 +40,13 @@ namespace Elsa.Scripting.JavaScript.Services }); configureEngine?.Invoke(engine); + + // Add workflow variables. + var variables = GetVariables(context); + foreach (var variable in variables) + { + engine.SetValue(variable.Key, variable.Value.Value); + } // Allow listeners invoked by the mediator to configure the engine. await _mediator.PublishAsync(new EvaluatingJavaScript(engine, context), cancellationToken); @@ -52,5 +59,24 @@ namespace Elsa.Scripting.JavaScript.Services var result = engine.Execute(expression).GetCompletionValue(); return result?.ToObject(); } + + private IDictionary GetVariables(ExpressionExecutionContext context) + { + var currentContext = context; + var dictionary = new Dictionary(); + + while (currentContext != null) + { + foreach (var l in currentContext.Register.Locations) + { + if(!dictionary.ContainsKey(l.Key)) + dictionary.Add(l.Key, l.Value); + } + + currentContext = currentContext.ParentContext; + } + + return dictionary; + } } } \ No newline at end of file