diff --git a/repl/commands.go b/repl/commands.go index 1eb144a7..9271c8ee 100644 --- a/repl/commands.go +++ b/repl/commands.go @@ -30,6 +30,9 @@ var ( compileUsage = `Compile emits a textproto representation of the compiled expression. %compile ` + parseUsage = `Parse emits a textproto representation of the parsed expression. +%parse ` + declareUsage = `Declare introduces a variable or function for type checking, but doesn't define a value for it: %declare : @@ -86,6 +89,10 @@ type compileCmd struct { expr string } +type parseCmd struct { + expr string +} + type evalCmd struct { expr string } @@ -124,6 +131,10 @@ func (c *compileCmd) Cmd() string { return "compile" } +func (c *parseCmd) Cmd() string { + return "parse" +} + func (c *evalCmd) Cmd() string { return "eval" } @@ -186,6 +197,7 @@ func Parse(line string) (Cmder, error) { if listener.cmd.Cmd() == "help" { return nil, errors.New(strings.Join([]string{ compileUsage, + parseUsage, declareUsage, deleteUsage, letUsage, @@ -281,6 +293,10 @@ func (c *commandParseListener) EnterCompile(ctx *parser.CompileContext) { c.cmd = &compileCmd{} } +func (c *commandParseListener) EnterParse(ctx *parser.ParseContext) { + c.cmd = &parseCmd{} +} + func (c *commandParseListener) EnterExprCmd(ctx *parser.ExprCmdContext) { c.cmd = &evalCmd{} } @@ -366,6 +382,8 @@ func (c *commandParseListener) ExitExpr(ctx *parser.ExprContext) { switch cmd := c.cmd.(type) { case *compileCmd: cmd.expr = expr + case *parseCmd: + cmd.expr = expr case *evalCmd: cmd.expr = expr case *letFnCmd: diff --git a/repl/evaluator.go b/repl/evaluator.go index d811aebe..c77775d5 100644 --- a/repl/evaluator.go +++ b/repl/evaluator.go @@ -950,6 +950,16 @@ func (e *Evaluator) Process(cmd Cmder) (string, bool, error) { return "", false, fmt.Errorf("compile failed:\n%v", err) } return prototext.Format(cAST), false, nil + case *parseCmd: + ast, err := e.Parse(cmd.expr) + if err != nil { + return "", false, fmt.Errorf("parse failed:\n%v", err) + } + pAST, err := cel.AstToParsedExpr(ast) + if err != nil { + return "", false, fmt.Errorf("parse failed:\n%v", err) + } + return prototext.Format(pAST), false, nil case *evalCmd: val, resultT, err := e.Evaluate(cmd.expr) if err != nil { @@ -1051,3 +1061,16 @@ func (e *Evaluator) Compile(expr string) (*cel.Ast, error) { } return ast, nil } + +// Parse parses the input expression using the current REPL context. +func (e *Evaluator) Parse(expr string) (*cel.Ast, error) { + env, _, err := e.applyContext() + if err != nil { + return nil, err + } + ast, iss := env.Parse(expr) + if iss.Err() != nil { + return nil, iss.Err() + } + return ast, nil +} diff --git a/repl/parser/Commands.g4 b/repl/parser/Commands.g4 index 61a18493..864250f1 100644 --- a/repl/parser/Commands.g4 +++ b/repl/parser/Commands.g4 @@ -25,6 +25,7 @@ command: help | delete | simple | compile | + parse | exprCmd | empty; @@ -48,6 +49,8 @@ empty: ; compile: '%compile' e=expr; +parse: '%parse' e=expr; + exprCmd: '%eval'? e=expr; qualId: leadingDot='.'? rid=IDENTIFIER ('.' qualifiers+=IDENTIFIER)*; @@ -69,4 +72,3 @@ COMMAND: '%' IDENTIFIER; FLAG: '-'? '-' IDENTIFIER; ARROW: '->'; EQUAL_ASSIGN: '='; - diff --git a/repl/parser/Commands.interp b/repl/parser/Commands.interp index 7cc01039..3449726d 100644 --- a/repl/parser/Commands.interp +++ b/repl/parser/Commands.interp @@ -6,6 +6,7 @@ null '%declare' '%delete' '%compile' +'%parse' '%eval' null null @@ -57,6 +58,7 @@ null null null null +null COMMAND FLAG ARROW @@ -111,6 +113,7 @@ delete simple empty compile +parse exprCmd qualId startType @@ -136,4 +139,4 @@ literal atn: -[4, 1, 47, 406, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30, 7, 30, 2, 31, 7, 31, 2, 32, 7, 32, 2, 33, 7, 33, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 80, 8, 1, 1, 2, 1, 2, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 3, 3, 91, 8, 3, 1, 3, 1, 3, 1, 4, 1, 4, 1, 4, 3, 4, 98, 8, 4, 1, 5, 1, 5, 1, 5, 3, 5, 103, 8, 5, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 5, 6, 110, 8, 6, 10, 6, 12, 6, 113, 9, 6, 3, 6, 115, 8, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 7, 1, 7, 1, 7, 1, 7, 1, 8, 1, 8, 1, 8, 3, 8, 128, 8, 8, 1, 9, 1, 9, 1, 9, 5, 9, 133, 8, 9, 10, 9, 12, 9, 136, 9, 9, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 1, 12, 3, 12, 144, 8, 12, 1, 12, 1, 12, 1, 13, 3, 13, 149, 8, 13, 1, 13, 1, 13, 1, 13, 5, 13, 154, 8, 13, 10, 13, 12, 13, 157, 9, 13, 1, 14, 1, 14, 1, 14, 1, 15, 1, 15, 3, 15, 164, 8, 15, 1, 16, 3, 16, 167, 8, 16, 1, 16, 1, 16, 1, 16, 5, 16, 172, 8, 16, 10, 16, 12, 16, 175, 9, 16, 1, 17, 1, 17, 1, 17, 1, 17, 5, 17, 181, 8, 17, 10, 17, 12, 17, 184, 9, 17, 1, 17, 1, 17, 1, 18, 1, 18, 1, 18, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 3, 19, 197, 8, 19, 1, 20, 1, 20, 1, 20, 5, 20, 202, 8, 20, 10, 20, 12, 20, 205, 9, 20, 1, 21, 1, 21, 1, 21, 5, 21, 210, 8, 21, 10, 21, 12, 21, 213, 9, 21, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 5, 22, 221, 8, 22, 10, 22, 12, 22, 224, 9, 22, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 5, 23, 235, 8, 23, 10, 23, 12, 23, 238, 9, 23, 1, 24, 1, 24, 4, 24, 242, 8, 24, 11, 24, 12, 24, 243, 1, 24, 1, 24, 4, 24, 248, 8, 24, 11, 24, 12, 24, 249, 1, 24, 3, 24, 253, 8, 24, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 3, 25, 261, 8, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 3, 25, 269, 8, 25, 1, 25, 1, 25, 1, 25, 1, 25, 3, 25, 275, 8, 25, 1, 25, 1, 25, 1, 25, 5, 25, 280, 8, 25, 10, 25, 12, 25, 283, 9, 25, 1, 26, 3, 26, 286, 8, 26, 1, 26, 1, 26, 1, 26, 3, 26, 291, 8, 26, 1, 26, 3, 26, 294, 8, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 3, 26, 302, 8, 26, 1, 26, 3, 26, 305, 8, 26, 1, 26, 1, 26, 1, 26, 3, 26, 310, 8, 26, 1, 26, 3, 26, 313, 8, 26, 1, 26, 1, 26, 3, 26, 317, 8, 26, 1, 26, 1, 26, 1, 26, 5, 26, 322, 8, 26, 10, 26, 12, 26, 325, 9, 26, 1, 26, 1, 26, 3, 26, 329, 8, 26, 1, 26, 3, 26, 332, 8, 26, 1, 26, 1, 26, 3, 26, 336, 8, 26, 1, 27, 1, 27, 1, 27, 5, 27, 341, 8, 27, 10, 27, 12, 27, 344, 9, 27, 1, 28, 1, 28, 1, 28, 5, 28, 349, 8, 28, 10, 28, 12, 28, 352, 9, 28, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 5, 29, 362, 8, 29, 10, 29, 12, 29, 365, 9, 29, 1, 30, 3, 30, 368, 8, 30, 1, 30, 1, 30, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 5, 31, 380, 8, 31, 10, 31, 12, 31, 383, 9, 31, 1, 32, 3, 32, 386, 8, 32, 1, 32, 1, 32, 1, 33, 3, 33, 391, 8, 33, 1, 33, 1, 33, 1, 33, 3, 33, 396, 8, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 3, 33, 404, 8, 33, 1, 33, 0, 3, 44, 46, 50, 34, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 0, 5, 1, 0, 1, 2, 2, 0, 39, 39, 47, 47, 1, 0, 12, 18, 1, 0, 34, 36, 2, 0, 29, 29, 33, 33, 440, 0, 68, 1, 0, 0, 0, 2, 79, 1, 0, 0, 0, 4, 81, 1, 0, 0, 0, 6, 83, 1, 0, 0, 0, 8, 94, 1, 0, 0, 0, 10, 99, 1, 0, 0, 0, 12, 104, 1, 0, 0, 0, 14, 120, 1, 0, 0, 0, 16, 124, 1, 0, 0, 0, 18, 129, 1, 0, 0, 0, 20, 137, 1, 0, 0, 0, 22, 139, 1, 0, 0, 0, 24, 143, 1, 0, 0, 0, 26, 148, 1, 0, 0, 0, 28, 158, 1, 0, 0, 0, 30, 161, 1, 0, 0, 0, 32, 166, 1, 0, 0, 0, 34, 176, 1, 0, 0, 0, 36, 187, 1, 0, 0, 0, 38, 190, 1, 0, 0, 0, 40, 198, 1, 0, 0, 0, 42, 206, 1, 0, 0, 0, 44, 214, 1, 0, 0, 0, 46, 225, 1, 0, 0, 0, 48, 252, 1, 0, 0, 0, 50, 254, 1, 0, 0, 0, 52, 335, 1, 0, 0, 0, 54, 337, 1, 0, 0, 0, 56, 345, 1, 0, 0, 0, 58, 353, 1, 0, 0, 0, 60, 367, 1, 0, 0, 0, 62, 371, 1, 0, 0, 0, 64, 385, 1, 0, 0, 0, 66, 403, 1, 0, 0, 0, 68, 69, 3, 2, 1, 0, 69, 70, 5, 0, 0, 1, 70, 1, 1, 0, 0, 0, 71, 80, 3, 4, 2, 0, 72, 80, 3, 6, 3, 0, 73, 80, 3, 8, 4, 0, 74, 80, 3, 16, 8, 0, 75, 80, 3, 18, 9, 0, 76, 80, 3, 22, 11, 0, 77, 80, 3, 24, 12, 0, 78, 80, 3, 20, 10, 0, 79, 71, 1, 0, 0, 0, 79, 72, 1, 0, 0, 0, 79, 73, 1, 0, 0, 0, 79, 74, 1, 0, 0, 0, 79, 75, 1, 0, 0, 0, 79, 76, 1, 0, 0, 0, 79, 77, 1, 0, 0, 0, 79, 78, 1, 0, 0, 0, 80, 3, 1, 0, 0, 0, 81, 82, 7, 0, 0, 0, 82, 5, 1, 0, 0, 0, 83, 90, 5, 3, 0, 0, 84, 85, 3, 10, 5, 0, 85, 86, 5, 11, 0, 0, 86, 91, 1, 0, 0, 0, 87, 88, 3, 12, 6, 0, 88, 89, 5, 10, 0, 0, 89, 91, 1, 0, 0, 0, 90, 84, 1, 0, 0, 0, 90, 87, 1, 0, 0, 0, 91, 92, 1, 0, 0, 0, 92, 93, 3, 38, 19, 0, 93, 7, 1, 0, 0, 0, 94, 97, 5, 4, 0, 0, 95, 98, 3, 10, 5, 0, 96, 98, 3, 12, 6, 0, 97, 95, 1, 0, 0, 0, 97, 96, 1, 0, 0, 0, 98, 9, 1, 0, 0, 0, 99, 102, 3, 26, 13, 0, 100, 101, 5, 32, 0, 0, 101, 103, 3, 30, 15, 0, 102, 100, 1, 0, 0, 0, 102, 103, 1, 0, 0, 0, 103, 11, 1, 0, 0, 0, 104, 105, 3, 26, 13, 0, 105, 114, 5, 25, 0, 0, 106, 111, 3, 14, 7, 0, 107, 108, 5, 28, 0, 0, 108, 110, 3, 14, 7, 0, 109, 107, 1, 0, 0, 0, 110, 113, 1, 0, 0, 0, 111, 109, 1, 0, 0, 0, 111, 112, 1, 0, 0, 0, 112, 115, 1, 0, 0, 0, 113, 111, 1, 0, 0, 0, 114, 106, 1, 0, 0, 0, 114, 115, 1, 0, 0, 0, 115, 116, 1, 0, 0, 0, 116, 117, 5, 26, 0, 0, 117, 118, 5, 32, 0, 0, 118, 119, 3, 30, 15, 0, 119, 13, 1, 0, 0, 0, 120, 121, 5, 47, 0, 0, 121, 122, 5, 32, 0, 0, 122, 123, 3, 30, 15, 0, 123, 15, 1, 0, 0, 0, 124, 127, 5, 5, 0, 0, 125, 128, 3, 10, 5, 0, 126, 128, 3, 12, 6, 0, 127, 125, 1, 0, 0, 0, 127, 126, 1, 0, 0, 0, 128, 17, 1, 0, 0, 0, 129, 134, 5, 8, 0, 0, 130, 133, 5, 9, 0, 0, 131, 133, 5, 45, 0, 0, 132, 130, 1, 0, 0, 0, 132, 131, 1, 0, 0, 0, 133, 136, 1, 0, 0, 0, 134, 132, 1, 0, 0, 0, 134, 135, 1, 0, 0, 0, 135, 19, 1, 0, 0, 0, 136, 134, 1, 0, 0, 0, 137, 138, 1, 0, 0, 0, 138, 21, 1, 0, 0, 0, 139, 140, 5, 6, 0, 0, 140, 141, 3, 38, 19, 0, 141, 23, 1, 0, 0, 0, 142, 144, 5, 7, 0, 0, 143, 142, 1, 0, 0, 0, 143, 144, 1, 0, 0, 0, 144, 145, 1, 0, 0, 0, 145, 146, 3, 38, 19, 0, 146, 25, 1, 0, 0, 0, 147, 149, 5, 27, 0, 0, 148, 147, 1, 0, 0, 0, 148, 149, 1, 0, 0, 0, 149, 150, 1, 0, 0, 0, 150, 155, 5, 47, 0, 0, 151, 152, 5, 27, 0, 0, 152, 154, 5, 47, 0, 0, 153, 151, 1, 0, 0, 0, 154, 157, 1, 0, 0, 0, 155, 153, 1, 0, 0, 0, 155, 156, 1, 0, 0, 0, 156, 27, 1, 0, 0, 0, 157, 155, 1, 0, 0, 0, 158, 159, 3, 30, 15, 0, 159, 160, 5, 0, 0, 1, 160, 29, 1, 0, 0, 0, 161, 163, 3, 32, 16, 0, 162, 164, 3, 34, 17, 0, 163, 162, 1, 0, 0, 0, 163, 164, 1, 0, 0, 0, 164, 31, 1, 0, 0, 0, 165, 167, 5, 27, 0, 0, 166, 165, 1, 0, 0, 0, 166, 167, 1, 0, 0, 0, 167, 168, 1, 0, 0, 0, 168, 173, 7, 1, 0, 0, 169, 170, 5, 27, 0, 0, 170, 172, 5, 47, 0, 0, 171, 169, 1, 0, 0, 0, 172, 175, 1, 0, 0, 0, 173, 171, 1, 0, 0, 0, 173, 174, 1, 0, 0, 0, 174, 33, 1, 0, 0, 0, 175, 173, 1, 0, 0, 0, 176, 177, 5, 25, 0, 0, 177, 182, 3, 30, 15, 0, 178, 179, 5, 28, 0, 0, 179, 181, 3, 30, 15, 0, 180, 178, 1, 0, 0, 0, 181, 184, 1, 0, 0, 0, 182, 180, 1, 0, 0, 0, 182, 183, 1, 0, 0, 0, 183, 185, 1, 0, 0, 0, 184, 182, 1, 0, 0, 0, 185, 186, 5, 26, 0, 0, 186, 35, 1, 0, 0, 0, 187, 188, 3, 38, 19, 0, 188, 189, 5, 0, 0, 1, 189, 37, 1, 0, 0, 0, 190, 196, 3, 40, 20, 0, 191, 192, 5, 31, 0, 0, 192, 193, 3, 40, 20, 0, 193, 194, 5, 32, 0, 0, 194, 195, 3, 38, 19, 0, 195, 197, 1, 0, 0, 0, 196, 191, 1, 0, 0, 0, 196, 197, 1, 0, 0, 0, 197, 39, 1, 0, 0, 0, 198, 203, 3, 42, 21, 0, 199, 200, 5, 20, 0, 0, 200, 202, 3, 42, 21, 0, 201, 199, 1, 0, 0, 0, 202, 205, 1, 0, 0, 0, 203, 201, 1, 0, 0, 0, 203, 204, 1, 0, 0, 0, 204, 41, 1, 0, 0, 0, 205, 203, 1, 0, 0, 0, 206, 211, 3, 44, 22, 0, 207, 208, 5, 19, 0, 0, 208, 210, 3, 44, 22, 0, 209, 207, 1, 0, 0, 0, 210, 213, 1, 0, 0, 0, 211, 209, 1, 0, 0, 0, 211, 212, 1, 0, 0, 0, 212, 43, 1, 0, 0, 0, 213, 211, 1, 0, 0, 0, 214, 215, 6, 22, -1, 0, 215, 216, 3, 46, 23, 0, 216, 222, 1, 0, 0, 0, 217, 218, 10, 1, 0, 0, 218, 219, 7, 2, 0, 0, 219, 221, 3, 44, 22, 2, 220, 217, 1, 0, 0, 0, 221, 224, 1, 0, 0, 0, 222, 220, 1, 0, 0, 0, 222, 223, 1, 0, 0, 0, 223, 45, 1, 0, 0, 0, 224, 222, 1, 0, 0, 0, 225, 226, 6, 23, -1, 0, 226, 227, 3, 48, 24, 0, 227, 236, 1, 0, 0, 0, 228, 229, 10, 2, 0, 0, 229, 230, 7, 3, 0, 0, 230, 235, 3, 46, 23, 3, 231, 232, 10, 1, 0, 0, 232, 233, 7, 4, 0, 0, 233, 235, 3, 46, 23, 2, 234, 228, 1, 0, 0, 0, 234, 231, 1, 0, 0, 0, 235, 238, 1, 0, 0, 0, 236, 234, 1, 0, 0, 0, 236, 237, 1, 0, 0, 0, 237, 47, 1, 0, 0, 0, 238, 236, 1, 0, 0, 0, 239, 253, 3, 50, 25, 0, 240, 242, 5, 30, 0, 0, 241, 240, 1, 0, 0, 0, 242, 243, 1, 0, 0, 0, 243, 241, 1, 0, 0, 0, 243, 244, 1, 0, 0, 0, 244, 245, 1, 0, 0, 0, 245, 253, 3, 50, 25, 0, 246, 248, 5, 29, 0, 0, 247, 246, 1, 0, 0, 0, 248, 249, 1, 0, 0, 0, 249, 247, 1, 0, 0, 0, 249, 250, 1, 0, 0, 0, 250, 251, 1, 0, 0, 0, 251, 253, 3, 50, 25, 0, 252, 239, 1, 0, 0, 0, 252, 241, 1, 0, 0, 0, 252, 247, 1, 0, 0, 0, 253, 49, 1, 0, 0, 0, 254, 255, 6, 25, -1, 0, 255, 256, 3, 52, 26, 0, 256, 281, 1, 0, 0, 0, 257, 258, 10, 3, 0, 0, 258, 260, 5, 27, 0, 0, 259, 261, 5, 31, 0, 0, 260, 259, 1, 0, 0, 0, 260, 261, 1, 0, 0, 0, 261, 262, 1, 0, 0, 0, 262, 280, 5, 47, 0, 0, 263, 264, 10, 2, 0, 0, 264, 265, 5, 27, 0, 0, 265, 266, 5, 47, 0, 0, 266, 268, 5, 25, 0, 0, 267, 269, 3, 54, 27, 0, 268, 267, 1, 0, 0, 0, 268, 269, 1, 0, 0, 0, 269, 270, 1, 0, 0, 0, 270, 280, 5, 26, 0, 0, 271, 272, 10, 1, 0, 0, 272, 274, 5, 21, 0, 0, 273, 275, 5, 31, 0, 0, 274, 273, 1, 0, 0, 0, 274, 275, 1, 0, 0, 0, 275, 276, 1, 0, 0, 0, 276, 277, 3, 38, 19, 0, 277, 278, 5, 22, 0, 0, 278, 280, 1, 0, 0, 0, 279, 257, 1, 0, 0, 0, 279, 263, 1, 0, 0, 0, 279, 271, 1, 0, 0, 0, 280, 283, 1, 0, 0, 0, 281, 279, 1, 0, 0, 0, 281, 282, 1, 0, 0, 0, 282, 51, 1, 0, 0, 0, 283, 281, 1, 0, 0, 0, 284, 286, 5, 27, 0, 0, 285, 284, 1, 0, 0, 0, 285, 286, 1, 0, 0, 0, 286, 287, 1, 0, 0, 0, 287, 293, 5, 47, 0, 0, 288, 290, 5, 25, 0, 0, 289, 291, 3, 54, 27, 0, 290, 289, 1, 0, 0, 0, 290, 291, 1, 0, 0, 0, 291, 292, 1, 0, 0, 0, 292, 294, 5, 26, 0, 0, 293, 288, 1, 0, 0, 0, 293, 294, 1, 0, 0, 0, 294, 336, 1, 0, 0, 0, 295, 296, 5, 25, 0, 0, 296, 297, 3, 38, 19, 0, 297, 298, 5, 26, 0, 0, 298, 336, 1, 0, 0, 0, 299, 301, 5, 21, 0, 0, 300, 302, 3, 56, 28, 0, 301, 300, 1, 0, 0, 0, 301, 302, 1, 0, 0, 0, 302, 304, 1, 0, 0, 0, 303, 305, 5, 28, 0, 0, 304, 303, 1, 0, 0, 0, 304, 305, 1, 0, 0, 0, 305, 306, 1, 0, 0, 0, 306, 336, 5, 22, 0, 0, 307, 309, 5, 23, 0, 0, 308, 310, 3, 62, 31, 0, 309, 308, 1, 0, 0, 0, 309, 310, 1, 0, 0, 0, 310, 312, 1, 0, 0, 0, 311, 313, 5, 28, 0, 0, 312, 311, 1, 0, 0, 0, 312, 313, 1, 0, 0, 0, 313, 314, 1, 0, 0, 0, 314, 336, 5, 24, 0, 0, 315, 317, 5, 27, 0, 0, 316, 315, 1, 0, 0, 0, 316, 317, 1, 0, 0, 0, 317, 318, 1, 0, 0, 0, 318, 323, 5, 47, 0, 0, 319, 320, 5, 27, 0, 0, 320, 322, 5, 47, 0, 0, 321, 319, 1, 0, 0, 0, 322, 325, 1, 0, 0, 0, 323, 321, 1, 0, 0, 0, 323, 324, 1, 0, 0, 0, 324, 326, 1, 0, 0, 0, 325, 323, 1, 0, 0, 0, 326, 328, 5, 23, 0, 0, 327, 329, 3, 58, 29, 0, 328, 327, 1, 0, 0, 0, 328, 329, 1, 0, 0, 0, 329, 331, 1, 0, 0, 0, 330, 332, 5, 28, 0, 0, 331, 330, 1, 0, 0, 0, 331, 332, 1, 0, 0, 0, 332, 333, 1, 0, 0, 0, 333, 336, 5, 24, 0, 0, 334, 336, 3, 66, 33, 0, 335, 285, 1, 0, 0, 0, 335, 295, 1, 0, 0, 0, 335, 299, 1, 0, 0, 0, 335, 307, 1, 0, 0, 0, 335, 316, 1, 0, 0, 0, 335, 334, 1, 0, 0, 0, 336, 53, 1, 0, 0, 0, 337, 342, 3, 38, 19, 0, 338, 339, 5, 28, 0, 0, 339, 341, 3, 38, 19, 0, 340, 338, 1, 0, 0, 0, 341, 344, 1, 0, 0, 0, 342, 340, 1, 0, 0, 0, 342, 343, 1, 0, 0, 0, 343, 55, 1, 0, 0, 0, 344, 342, 1, 0, 0, 0, 345, 350, 3, 64, 32, 0, 346, 347, 5, 28, 0, 0, 347, 349, 3, 64, 32, 0, 348, 346, 1, 0, 0, 0, 349, 352, 1, 0, 0, 0, 350, 348, 1, 0, 0, 0, 350, 351, 1, 0, 0, 0, 351, 57, 1, 0, 0, 0, 352, 350, 1, 0, 0, 0, 353, 354, 3, 60, 30, 0, 354, 355, 5, 32, 0, 0, 355, 363, 3, 38, 19, 0, 356, 357, 5, 28, 0, 0, 357, 358, 3, 60, 30, 0, 358, 359, 5, 32, 0, 0, 359, 360, 3, 38, 19, 0, 360, 362, 1, 0, 0, 0, 361, 356, 1, 0, 0, 0, 362, 365, 1, 0, 0, 0, 363, 361, 1, 0, 0, 0, 363, 364, 1, 0, 0, 0, 364, 59, 1, 0, 0, 0, 365, 363, 1, 0, 0, 0, 366, 368, 5, 31, 0, 0, 367, 366, 1, 0, 0, 0, 367, 368, 1, 0, 0, 0, 368, 369, 1, 0, 0, 0, 369, 370, 5, 47, 0, 0, 370, 61, 1, 0, 0, 0, 371, 372, 3, 64, 32, 0, 372, 373, 5, 32, 0, 0, 373, 381, 3, 38, 19, 0, 374, 375, 5, 28, 0, 0, 375, 376, 3, 64, 32, 0, 376, 377, 5, 32, 0, 0, 377, 378, 3, 38, 19, 0, 378, 380, 1, 0, 0, 0, 379, 374, 1, 0, 0, 0, 380, 383, 1, 0, 0, 0, 381, 379, 1, 0, 0, 0, 381, 382, 1, 0, 0, 0, 382, 63, 1, 0, 0, 0, 383, 381, 1, 0, 0, 0, 384, 386, 5, 31, 0, 0, 385, 384, 1, 0, 0, 0, 385, 386, 1, 0, 0, 0, 386, 387, 1, 0, 0, 0, 387, 388, 3, 38, 19, 0, 388, 65, 1, 0, 0, 0, 389, 391, 5, 29, 0, 0, 390, 389, 1, 0, 0, 0, 390, 391, 1, 0, 0, 0, 391, 392, 1, 0, 0, 0, 392, 404, 5, 43, 0, 0, 393, 404, 5, 44, 0, 0, 394, 396, 5, 29, 0, 0, 395, 394, 1, 0, 0, 0, 395, 396, 1, 0, 0, 0, 396, 397, 1, 0, 0, 0, 397, 404, 5, 42, 0, 0, 398, 404, 5, 45, 0, 0, 399, 404, 5, 46, 0, 0, 400, 404, 5, 37, 0, 0, 401, 404, 5, 38, 0, 0, 402, 404, 5, 39, 0, 0, 403, 390, 1, 0, 0, 0, 403, 393, 1, 0, 0, 0, 403, 395, 1, 0, 0, 0, 403, 398, 1, 0, 0, 0, 403, 399, 1, 0, 0, 0, 403, 400, 1, 0, 0, 0, 403, 401, 1, 0, 0, 0, 403, 402, 1, 0, 0, 0, 404, 67, 1, 0, 0, 0, 51, 79, 90, 97, 102, 111, 114, 127, 132, 134, 143, 148, 155, 163, 166, 173, 182, 196, 203, 211, 222, 234, 236, 243, 249, 252, 260, 268, 274, 279, 281, 285, 290, 293, 301, 304, 309, 312, 316, 323, 328, 331, 335, 342, 350, 363, 367, 381, 385, 390, 395, 403] \ No newline at end of file +[4, 1, 48, 412, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30, 7, 30, 2, 31, 7, 31, 2, 32, 7, 32, 2, 33, 7, 33, 2, 34, 7, 34, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 83, 8, 1, 1, 2, 1, 2, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 3, 3, 94, 8, 3, 1, 3, 1, 3, 1, 4, 1, 4, 1, 4, 3, 4, 101, 8, 4, 1, 5, 1, 5, 1, 5, 3, 5, 106, 8, 5, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 5, 6, 113, 8, 6, 10, 6, 12, 6, 116, 9, 6, 3, 6, 118, 8, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 7, 1, 7, 1, 7, 1, 7, 1, 8, 1, 8, 1, 8, 3, 8, 131, 8, 8, 1, 9, 1, 9, 1, 9, 5, 9, 136, 8, 9, 10, 9, 12, 9, 139, 9, 9, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 1, 12, 1, 12, 1, 12, 1, 13, 3, 13, 150, 8, 13, 1, 13, 1, 13, 1, 14, 3, 14, 155, 8, 14, 1, 14, 1, 14, 1, 14, 5, 14, 160, 8, 14, 10, 14, 12, 14, 163, 9, 14, 1, 15, 1, 15, 1, 15, 1, 16, 1, 16, 3, 16, 170, 8, 16, 1, 17, 3, 17, 173, 8, 17, 1, 17, 1, 17, 1, 17, 5, 17, 178, 8, 17, 10, 17, 12, 17, 181, 9, 17, 1, 18, 1, 18, 1, 18, 1, 18, 5, 18, 187, 8, 18, 10, 18, 12, 18, 190, 9, 18, 1, 18, 1, 18, 1, 19, 1, 19, 1, 19, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 3, 20, 203, 8, 20, 1, 21, 1, 21, 1, 21, 5, 21, 208, 8, 21, 10, 21, 12, 21, 211, 9, 21, 1, 22, 1, 22, 1, 22, 5, 22, 216, 8, 22, 10, 22, 12, 22, 219, 9, 22, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 5, 23, 227, 8, 23, 10, 23, 12, 23, 230, 9, 23, 1, 24, 1, 24, 1, 24, 1, 24, 1, 24, 1, 24, 1, 24, 1, 24, 1, 24, 5, 24, 241, 8, 24, 10, 24, 12, 24, 244, 9, 24, 1, 25, 1, 25, 4, 25, 248, 8, 25, 11, 25, 12, 25, 249, 1, 25, 1, 25, 4, 25, 254, 8, 25, 11, 25, 12, 25, 255, 1, 25, 3, 25, 259, 8, 25, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 3, 26, 267, 8, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 3, 26, 275, 8, 26, 1, 26, 1, 26, 1, 26, 1, 26, 3, 26, 281, 8, 26, 1, 26, 1, 26, 1, 26, 5, 26, 286, 8, 26, 10, 26, 12, 26, 289, 9, 26, 1, 27, 3, 27, 292, 8, 27, 1, 27, 1, 27, 1, 27, 3, 27, 297, 8, 27, 1, 27, 3, 27, 300, 8, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 3, 27, 308, 8, 27, 1, 27, 3, 27, 311, 8, 27, 1, 27, 1, 27, 1, 27, 3, 27, 316, 8, 27, 1, 27, 3, 27, 319, 8, 27, 1, 27, 1, 27, 3, 27, 323, 8, 27, 1, 27, 1, 27, 1, 27, 5, 27, 328, 8, 27, 10, 27, 12, 27, 331, 9, 27, 1, 27, 1, 27, 3, 27, 335, 8, 27, 1, 27, 3, 27, 338, 8, 27, 1, 27, 1, 27, 3, 27, 342, 8, 27, 1, 28, 1, 28, 1, 28, 5, 28, 347, 8, 28, 10, 28, 12, 28, 350, 9, 28, 1, 29, 1, 29, 1, 29, 5, 29, 355, 8, 29, 10, 29, 12, 29, 358, 9, 29, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 5, 30, 368, 8, 30, 10, 30, 12, 30, 371, 9, 30, 1, 31, 3, 31, 374, 8, 31, 1, 31, 1, 31, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 5, 32, 386, 8, 32, 10, 32, 12, 32, 389, 9, 32, 1, 33, 3, 33, 392, 8, 33, 1, 33, 1, 33, 1, 34, 3, 34, 397, 8, 34, 1, 34, 1, 34, 1, 34, 3, 34, 402, 8, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 3, 34, 410, 8, 34, 1, 34, 0, 3, 46, 48, 52, 35, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 0, 5, 1, 0, 1, 2, 2, 0, 40, 40, 48, 48, 1, 0, 13, 19, 1, 0, 35, 37, 2, 0, 30, 30, 34, 34, 446, 0, 70, 1, 0, 0, 0, 2, 82, 1, 0, 0, 0, 4, 84, 1, 0, 0, 0, 6, 86, 1, 0, 0, 0, 8, 97, 1, 0, 0, 0, 10, 102, 1, 0, 0, 0, 12, 107, 1, 0, 0, 0, 14, 123, 1, 0, 0, 0, 16, 127, 1, 0, 0, 0, 18, 132, 1, 0, 0, 0, 20, 140, 1, 0, 0, 0, 22, 142, 1, 0, 0, 0, 24, 145, 1, 0, 0, 0, 26, 149, 1, 0, 0, 0, 28, 154, 1, 0, 0, 0, 30, 164, 1, 0, 0, 0, 32, 167, 1, 0, 0, 0, 34, 172, 1, 0, 0, 0, 36, 182, 1, 0, 0, 0, 38, 193, 1, 0, 0, 0, 40, 196, 1, 0, 0, 0, 42, 204, 1, 0, 0, 0, 44, 212, 1, 0, 0, 0, 46, 220, 1, 0, 0, 0, 48, 231, 1, 0, 0, 0, 50, 258, 1, 0, 0, 0, 52, 260, 1, 0, 0, 0, 54, 341, 1, 0, 0, 0, 56, 343, 1, 0, 0, 0, 58, 351, 1, 0, 0, 0, 60, 359, 1, 0, 0, 0, 62, 373, 1, 0, 0, 0, 64, 377, 1, 0, 0, 0, 66, 391, 1, 0, 0, 0, 68, 409, 1, 0, 0, 0, 70, 71, 3, 2, 1, 0, 71, 72, 5, 0, 0, 1, 72, 1, 1, 0, 0, 0, 73, 83, 3, 4, 2, 0, 74, 83, 3, 6, 3, 0, 75, 83, 3, 8, 4, 0, 76, 83, 3, 16, 8, 0, 77, 83, 3, 18, 9, 0, 78, 83, 3, 22, 11, 0, 79, 83, 3, 24, 12, 0, 80, 83, 3, 26, 13, 0, 81, 83, 3, 20, 10, 0, 82, 73, 1, 0, 0, 0, 82, 74, 1, 0, 0, 0, 82, 75, 1, 0, 0, 0, 82, 76, 1, 0, 0, 0, 82, 77, 1, 0, 0, 0, 82, 78, 1, 0, 0, 0, 82, 79, 1, 0, 0, 0, 82, 80, 1, 0, 0, 0, 82, 81, 1, 0, 0, 0, 83, 3, 1, 0, 0, 0, 84, 85, 7, 0, 0, 0, 85, 5, 1, 0, 0, 0, 86, 93, 5, 3, 0, 0, 87, 88, 3, 10, 5, 0, 88, 89, 5, 12, 0, 0, 89, 94, 1, 0, 0, 0, 90, 91, 3, 12, 6, 0, 91, 92, 5, 11, 0, 0, 92, 94, 1, 0, 0, 0, 93, 87, 1, 0, 0, 0, 93, 90, 1, 0, 0, 0, 94, 95, 1, 0, 0, 0, 95, 96, 3, 40, 20, 0, 96, 7, 1, 0, 0, 0, 97, 100, 5, 4, 0, 0, 98, 101, 3, 10, 5, 0, 99, 101, 3, 12, 6, 0, 100, 98, 1, 0, 0, 0, 100, 99, 1, 0, 0, 0, 101, 9, 1, 0, 0, 0, 102, 105, 3, 28, 14, 0, 103, 104, 5, 33, 0, 0, 104, 106, 3, 32, 16, 0, 105, 103, 1, 0, 0, 0, 105, 106, 1, 0, 0, 0, 106, 11, 1, 0, 0, 0, 107, 108, 3, 28, 14, 0, 108, 117, 5, 26, 0, 0, 109, 114, 3, 14, 7, 0, 110, 111, 5, 29, 0, 0, 111, 113, 3, 14, 7, 0, 112, 110, 1, 0, 0, 0, 113, 116, 1, 0, 0, 0, 114, 112, 1, 0, 0, 0, 114, 115, 1, 0, 0, 0, 115, 118, 1, 0, 0, 0, 116, 114, 1, 0, 0, 0, 117, 109, 1, 0, 0, 0, 117, 118, 1, 0, 0, 0, 118, 119, 1, 0, 0, 0, 119, 120, 5, 27, 0, 0, 120, 121, 5, 33, 0, 0, 121, 122, 3, 32, 16, 0, 122, 13, 1, 0, 0, 0, 123, 124, 5, 48, 0, 0, 124, 125, 5, 33, 0, 0, 125, 126, 3, 32, 16, 0, 126, 15, 1, 0, 0, 0, 127, 130, 5, 5, 0, 0, 128, 131, 3, 10, 5, 0, 129, 131, 3, 12, 6, 0, 130, 128, 1, 0, 0, 0, 130, 129, 1, 0, 0, 0, 131, 17, 1, 0, 0, 0, 132, 137, 5, 9, 0, 0, 133, 136, 5, 10, 0, 0, 134, 136, 5, 46, 0, 0, 135, 133, 1, 0, 0, 0, 135, 134, 1, 0, 0, 0, 136, 139, 1, 0, 0, 0, 137, 135, 1, 0, 0, 0, 137, 138, 1, 0, 0, 0, 138, 19, 1, 0, 0, 0, 139, 137, 1, 0, 0, 0, 140, 141, 1, 0, 0, 0, 141, 21, 1, 0, 0, 0, 142, 143, 5, 6, 0, 0, 143, 144, 3, 40, 20, 0, 144, 23, 1, 0, 0, 0, 145, 146, 5, 7, 0, 0, 146, 147, 3, 40, 20, 0, 147, 25, 1, 0, 0, 0, 148, 150, 5, 8, 0, 0, 149, 148, 1, 0, 0, 0, 149, 150, 1, 0, 0, 0, 150, 151, 1, 0, 0, 0, 151, 152, 3, 40, 20, 0, 152, 27, 1, 0, 0, 0, 153, 155, 5, 28, 0, 0, 154, 153, 1, 0, 0, 0, 154, 155, 1, 0, 0, 0, 155, 156, 1, 0, 0, 0, 156, 161, 5, 48, 0, 0, 157, 158, 5, 28, 0, 0, 158, 160, 5, 48, 0, 0, 159, 157, 1, 0, 0, 0, 160, 163, 1, 0, 0, 0, 161, 159, 1, 0, 0, 0, 161, 162, 1, 0, 0, 0, 162, 29, 1, 0, 0, 0, 163, 161, 1, 0, 0, 0, 164, 165, 3, 32, 16, 0, 165, 166, 5, 0, 0, 1, 166, 31, 1, 0, 0, 0, 167, 169, 3, 34, 17, 0, 168, 170, 3, 36, 18, 0, 169, 168, 1, 0, 0, 0, 169, 170, 1, 0, 0, 0, 170, 33, 1, 0, 0, 0, 171, 173, 5, 28, 0, 0, 172, 171, 1, 0, 0, 0, 172, 173, 1, 0, 0, 0, 173, 174, 1, 0, 0, 0, 174, 179, 7, 1, 0, 0, 175, 176, 5, 28, 0, 0, 176, 178, 5, 48, 0, 0, 177, 175, 1, 0, 0, 0, 178, 181, 1, 0, 0, 0, 179, 177, 1, 0, 0, 0, 179, 180, 1, 0, 0, 0, 180, 35, 1, 0, 0, 0, 181, 179, 1, 0, 0, 0, 182, 183, 5, 26, 0, 0, 183, 188, 3, 32, 16, 0, 184, 185, 5, 29, 0, 0, 185, 187, 3, 32, 16, 0, 186, 184, 1, 0, 0, 0, 187, 190, 1, 0, 0, 0, 188, 186, 1, 0, 0, 0, 188, 189, 1, 0, 0, 0, 189, 191, 1, 0, 0, 0, 190, 188, 1, 0, 0, 0, 191, 192, 5, 27, 0, 0, 192, 37, 1, 0, 0, 0, 193, 194, 3, 40, 20, 0, 194, 195, 5, 0, 0, 1, 195, 39, 1, 0, 0, 0, 196, 202, 3, 42, 21, 0, 197, 198, 5, 32, 0, 0, 198, 199, 3, 42, 21, 0, 199, 200, 5, 33, 0, 0, 200, 201, 3, 40, 20, 0, 201, 203, 1, 0, 0, 0, 202, 197, 1, 0, 0, 0, 202, 203, 1, 0, 0, 0, 203, 41, 1, 0, 0, 0, 204, 209, 3, 44, 22, 0, 205, 206, 5, 21, 0, 0, 206, 208, 3, 44, 22, 0, 207, 205, 1, 0, 0, 0, 208, 211, 1, 0, 0, 0, 209, 207, 1, 0, 0, 0, 209, 210, 1, 0, 0, 0, 210, 43, 1, 0, 0, 0, 211, 209, 1, 0, 0, 0, 212, 217, 3, 46, 23, 0, 213, 214, 5, 20, 0, 0, 214, 216, 3, 46, 23, 0, 215, 213, 1, 0, 0, 0, 216, 219, 1, 0, 0, 0, 217, 215, 1, 0, 0, 0, 217, 218, 1, 0, 0, 0, 218, 45, 1, 0, 0, 0, 219, 217, 1, 0, 0, 0, 220, 221, 6, 23, -1, 0, 221, 222, 3, 48, 24, 0, 222, 228, 1, 0, 0, 0, 223, 224, 10, 1, 0, 0, 224, 225, 7, 2, 0, 0, 225, 227, 3, 46, 23, 2, 226, 223, 1, 0, 0, 0, 227, 230, 1, 0, 0, 0, 228, 226, 1, 0, 0, 0, 228, 229, 1, 0, 0, 0, 229, 47, 1, 0, 0, 0, 230, 228, 1, 0, 0, 0, 231, 232, 6, 24, -1, 0, 232, 233, 3, 50, 25, 0, 233, 242, 1, 0, 0, 0, 234, 235, 10, 2, 0, 0, 235, 236, 7, 3, 0, 0, 236, 241, 3, 48, 24, 3, 237, 238, 10, 1, 0, 0, 238, 239, 7, 4, 0, 0, 239, 241, 3, 48, 24, 2, 240, 234, 1, 0, 0, 0, 240, 237, 1, 0, 0, 0, 241, 244, 1, 0, 0, 0, 242, 240, 1, 0, 0, 0, 242, 243, 1, 0, 0, 0, 243, 49, 1, 0, 0, 0, 244, 242, 1, 0, 0, 0, 245, 259, 3, 52, 26, 0, 246, 248, 5, 31, 0, 0, 247, 246, 1, 0, 0, 0, 248, 249, 1, 0, 0, 0, 249, 247, 1, 0, 0, 0, 249, 250, 1, 0, 0, 0, 250, 251, 1, 0, 0, 0, 251, 259, 3, 52, 26, 0, 252, 254, 5, 30, 0, 0, 253, 252, 1, 0, 0, 0, 254, 255, 1, 0, 0, 0, 255, 253, 1, 0, 0, 0, 255, 256, 1, 0, 0, 0, 256, 257, 1, 0, 0, 0, 257, 259, 3, 52, 26, 0, 258, 245, 1, 0, 0, 0, 258, 247, 1, 0, 0, 0, 258, 253, 1, 0, 0, 0, 259, 51, 1, 0, 0, 0, 260, 261, 6, 26, -1, 0, 261, 262, 3, 54, 27, 0, 262, 287, 1, 0, 0, 0, 263, 264, 10, 3, 0, 0, 264, 266, 5, 28, 0, 0, 265, 267, 5, 32, 0, 0, 266, 265, 1, 0, 0, 0, 266, 267, 1, 0, 0, 0, 267, 268, 1, 0, 0, 0, 268, 286, 5, 48, 0, 0, 269, 270, 10, 2, 0, 0, 270, 271, 5, 28, 0, 0, 271, 272, 5, 48, 0, 0, 272, 274, 5, 26, 0, 0, 273, 275, 3, 56, 28, 0, 274, 273, 1, 0, 0, 0, 274, 275, 1, 0, 0, 0, 275, 276, 1, 0, 0, 0, 276, 286, 5, 27, 0, 0, 277, 278, 10, 1, 0, 0, 278, 280, 5, 22, 0, 0, 279, 281, 5, 32, 0, 0, 280, 279, 1, 0, 0, 0, 280, 281, 1, 0, 0, 0, 281, 282, 1, 0, 0, 0, 282, 283, 3, 40, 20, 0, 283, 284, 5, 23, 0, 0, 284, 286, 1, 0, 0, 0, 285, 263, 1, 0, 0, 0, 285, 269, 1, 0, 0, 0, 285, 277, 1, 0, 0, 0, 286, 289, 1, 0, 0, 0, 287, 285, 1, 0, 0, 0, 287, 288, 1, 0, 0, 0, 288, 53, 1, 0, 0, 0, 289, 287, 1, 0, 0, 0, 290, 292, 5, 28, 0, 0, 291, 290, 1, 0, 0, 0, 291, 292, 1, 0, 0, 0, 292, 293, 1, 0, 0, 0, 293, 299, 5, 48, 0, 0, 294, 296, 5, 26, 0, 0, 295, 297, 3, 56, 28, 0, 296, 295, 1, 0, 0, 0, 296, 297, 1, 0, 0, 0, 297, 298, 1, 0, 0, 0, 298, 300, 5, 27, 0, 0, 299, 294, 1, 0, 0, 0, 299, 300, 1, 0, 0, 0, 300, 342, 1, 0, 0, 0, 301, 302, 5, 26, 0, 0, 302, 303, 3, 40, 20, 0, 303, 304, 5, 27, 0, 0, 304, 342, 1, 0, 0, 0, 305, 307, 5, 22, 0, 0, 306, 308, 3, 58, 29, 0, 307, 306, 1, 0, 0, 0, 307, 308, 1, 0, 0, 0, 308, 310, 1, 0, 0, 0, 309, 311, 5, 29, 0, 0, 310, 309, 1, 0, 0, 0, 310, 311, 1, 0, 0, 0, 311, 312, 1, 0, 0, 0, 312, 342, 5, 23, 0, 0, 313, 315, 5, 24, 0, 0, 314, 316, 3, 64, 32, 0, 315, 314, 1, 0, 0, 0, 315, 316, 1, 0, 0, 0, 316, 318, 1, 0, 0, 0, 317, 319, 5, 29, 0, 0, 318, 317, 1, 0, 0, 0, 318, 319, 1, 0, 0, 0, 319, 320, 1, 0, 0, 0, 320, 342, 5, 25, 0, 0, 321, 323, 5, 28, 0, 0, 322, 321, 1, 0, 0, 0, 322, 323, 1, 0, 0, 0, 323, 324, 1, 0, 0, 0, 324, 329, 5, 48, 0, 0, 325, 326, 5, 28, 0, 0, 326, 328, 5, 48, 0, 0, 327, 325, 1, 0, 0, 0, 328, 331, 1, 0, 0, 0, 329, 327, 1, 0, 0, 0, 329, 330, 1, 0, 0, 0, 330, 332, 1, 0, 0, 0, 331, 329, 1, 0, 0, 0, 332, 334, 5, 24, 0, 0, 333, 335, 3, 60, 30, 0, 334, 333, 1, 0, 0, 0, 334, 335, 1, 0, 0, 0, 335, 337, 1, 0, 0, 0, 336, 338, 5, 29, 0, 0, 337, 336, 1, 0, 0, 0, 337, 338, 1, 0, 0, 0, 338, 339, 1, 0, 0, 0, 339, 342, 5, 25, 0, 0, 340, 342, 3, 68, 34, 0, 341, 291, 1, 0, 0, 0, 341, 301, 1, 0, 0, 0, 341, 305, 1, 0, 0, 0, 341, 313, 1, 0, 0, 0, 341, 322, 1, 0, 0, 0, 341, 340, 1, 0, 0, 0, 342, 55, 1, 0, 0, 0, 343, 348, 3, 40, 20, 0, 344, 345, 5, 29, 0, 0, 345, 347, 3, 40, 20, 0, 346, 344, 1, 0, 0, 0, 347, 350, 1, 0, 0, 0, 348, 346, 1, 0, 0, 0, 348, 349, 1, 0, 0, 0, 349, 57, 1, 0, 0, 0, 350, 348, 1, 0, 0, 0, 351, 356, 3, 66, 33, 0, 352, 353, 5, 29, 0, 0, 353, 355, 3, 66, 33, 0, 354, 352, 1, 0, 0, 0, 355, 358, 1, 0, 0, 0, 356, 354, 1, 0, 0, 0, 356, 357, 1, 0, 0, 0, 357, 59, 1, 0, 0, 0, 358, 356, 1, 0, 0, 0, 359, 360, 3, 62, 31, 0, 360, 361, 5, 33, 0, 0, 361, 369, 3, 40, 20, 0, 362, 363, 5, 29, 0, 0, 363, 364, 3, 62, 31, 0, 364, 365, 5, 33, 0, 0, 365, 366, 3, 40, 20, 0, 366, 368, 1, 0, 0, 0, 367, 362, 1, 0, 0, 0, 368, 371, 1, 0, 0, 0, 369, 367, 1, 0, 0, 0, 369, 370, 1, 0, 0, 0, 370, 61, 1, 0, 0, 0, 371, 369, 1, 0, 0, 0, 372, 374, 5, 32, 0, 0, 373, 372, 1, 0, 0, 0, 373, 374, 1, 0, 0, 0, 374, 375, 1, 0, 0, 0, 375, 376, 5, 48, 0, 0, 376, 63, 1, 0, 0, 0, 377, 378, 3, 66, 33, 0, 378, 379, 5, 33, 0, 0, 379, 387, 3, 40, 20, 0, 380, 381, 5, 29, 0, 0, 381, 382, 3, 66, 33, 0, 382, 383, 5, 33, 0, 0, 383, 384, 3, 40, 20, 0, 384, 386, 1, 0, 0, 0, 385, 380, 1, 0, 0, 0, 386, 389, 1, 0, 0, 0, 387, 385, 1, 0, 0, 0, 387, 388, 1, 0, 0, 0, 388, 65, 1, 0, 0, 0, 389, 387, 1, 0, 0, 0, 390, 392, 5, 32, 0, 0, 391, 390, 1, 0, 0, 0, 391, 392, 1, 0, 0, 0, 392, 393, 1, 0, 0, 0, 393, 394, 3, 40, 20, 0, 394, 67, 1, 0, 0, 0, 395, 397, 5, 30, 0, 0, 396, 395, 1, 0, 0, 0, 396, 397, 1, 0, 0, 0, 397, 398, 1, 0, 0, 0, 398, 410, 5, 44, 0, 0, 399, 410, 5, 45, 0, 0, 400, 402, 5, 30, 0, 0, 401, 400, 1, 0, 0, 0, 401, 402, 1, 0, 0, 0, 402, 403, 1, 0, 0, 0, 403, 410, 5, 43, 0, 0, 404, 410, 5, 46, 0, 0, 405, 410, 5, 47, 0, 0, 406, 410, 5, 38, 0, 0, 407, 410, 5, 39, 0, 0, 408, 410, 5, 40, 0, 0, 409, 396, 1, 0, 0, 0, 409, 399, 1, 0, 0, 0, 409, 401, 1, 0, 0, 0, 409, 404, 1, 0, 0, 0, 409, 405, 1, 0, 0, 0, 409, 406, 1, 0, 0, 0, 409, 407, 1, 0, 0, 0, 409, 408, 1, 0, 0, 0, 410, 69, 1, 0, 0, 0, 51, 82, 93, 100, 105, 114, 117, 130, 135, 137, 149, 154, 161, 169, 172, 179, 188, 202, 209, 217, 228, 240, 242, 249, 255, 258, 266, 274, 280, 285, 287, 291, 296, 299, 307, 310, 315, 318, 322, 329, 334, 337, 341, 348, 356, 369, 373, 387, 391, 396, 401, 409] \ No newline at end of file diff --git a/repl/parser/Commands.tokens b/repl/parser/Commands.tokens index 86c6bdb6..10fe2fb8 100644 --- a/repl/parser/Commands.tokens +++ b/repl/parser/Commands.tokens @@ -5,80 +5,82 @@ T__3=4 T__4=5 T__5=6 T__6=7 -COMMAND=8 -FLAG=9 -ARROW=10 -EQUAL_ASSIGN=11 -EQUALS=12 -NOT_EQUALS=13 -IN=14 -LESS=15 -LESS_EQUALS=16 -GREATER_EQUALS=17 -GREATER=18 -LOGICAL_AND=19 -LOGICAL_OR=20 -LBRACKET=21 -RPRACKET=22 -LBRACE=23 -RBRACE=24 -LPAREN=25 -RPAREN=26 -DOT=27 -COMMA=28 -MINUS=29 -EXCLAM=30 -QUESTIONMARK=31 -COLON=32 -PLUS=33 -STAR=34 -SLASH=35 -PERCENT=36 -CEL_TRUE=37 -CEL_FALSE=38 -NUL=39 -WHITESPACE=40 -COMMENT=41 -NUM_FLOAT=42 -NUM_INT=43 -NUM_UINT=44 -STRING=45 -BYTES=46 -IDENTIFIER=47 +T__7=8 +COMMAND=9 +FLAG=10 +ARROW=11 +EQUAL_ASSIGN=12 +EQUALS=13 +NOT_EQUALS=14 +IN=15 +LESS=16 +LESS_EQUALS=17 +GREATER_EQUALS=18 +GREATER=19 +LOGICAL_AND=20 +LOGICAL_OR=21 +LBRACKET=22 +RPRACKET=23 +LBRACE=24 +RBRACE=25 +LPAREN=26 +RPAREN=27 +DOT=28 +COMMA=29 +MINUS=30 +EXCLAM=31 +QUESTIONMARK=32 +COLON=33 +PLUS=34 +STAR=35 +SLASH=36 +PERCENT=37 +CEL_TRUE=38 +CEL_FALSE=39 +NUL=40 +WHITESPACE=41 +COMMENT=42 +NUM_FLOAT=43 +NUM_INT=44 +NUM_UINT=45 +STRING=46 +BYTES=47 +IDENTIFIER=48 '%help'=1 '%?'=2 '%let'=3 '%declare'=4 '%delete'=5 '%compile'=6 -'%eval'=7 -'->'=10 -'='=11 -'=='=12 -'!='=13 -'in'=14 -'<'=15 -'<='=16 -'>='=17 -'>'=18 -'&&'=19 -'||'=20 -'['=21 -']'=22 -'{'=23 -'}'=24 -'('=25 -')'=26 -'.'=27 -','=28 -'-'=29 -'!'=30 -'?'=31 -':'=32 -'+'=33 -'*'=34 -'/'=35 -'%'=36 -'true'=37 -'false'=38 -'null'=39 +'%parse'=7 +'%eval'=8 +'->'=11 +'='=12 +'=='=13 +'!='=14 +'in'=15 +'<'=16 +'<='=17 +'>='=18 +'>'=19 +'&&'=20 +'||'=21 +'['=22 +']'=23 +'{'=24 +'}'=25 +'('=26 +')'=27 +'.'=28 +','=29 +'-'=30 +'!'=31 +'?'=32 +':'=33 +'+'=34 +'*'=35 +'/'=36 +'%'=37 +'true'=38 +'false'=39 +'null'=40 diff --git a/repl/parser/CommandsLexer.interp b/repl/parser/CommandsLexer.interp index cf2103bb..f5ff7df6 100644 --- a/repl/parser/CommandsLexer.interp +++ b/repl/parser/CommandsLexer.interp @@ -6,6 +6,7 @@ null '%declare' '%delete' '%compile' +'%parse' '%eval' null null @@ -57,6 +58,7 @@ null null null null +null COMMAND FLAG ARROW @@ -106,6 +108,7 @@ T__3 T__4 T__5 T__6 +T__7 COMMAND FLAG ARROW @@ -166,4 +169,4 @@ mode names: DEFAULT_MODE atn: -[4, 0, 47, 505, 6, -1, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30, 7, 30, 2, 31, 7, 31, 2, 32, 7, 32, 2, 33, 7, 33, 2, 34, 7, 34, 2, 35, 7, 35, 2, 36, 7, 36, 2, 37, 7, 37, 2, 38, 7, 38, 2, 39, 7, 39, 2, 40, 7, 40, 2, 41, 7, 41, 2, 42, 7, 42, 2, 43, 7, 43, 2, 44, 7, 44, 2, 45, 7, 45, 2, 46, 7, 46, 2, 47, 7, 47, 2, 48, 7, 48, 2, 49, 7, 49, 2, 50, 7, 50, 2, 51, 7, 51, 2, 52, 7, 52, 2, 53, 7, 53, 2, 54, 7, 54, 2, 55, 7, 55, 2, 56, 7, 56, 2, 57, 7, 57, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 7, 1, 7, 1, 7, 1, 8, 3, 8, 168, 8, 8, 1, 8, 1, 8, 1, 8, 1, 9, 1, 9, 1, 9, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 1, 12, 1, 12, 1, 12, 1, 13, 1, 13, 1, 13, 1, 14, 1, 14, 1, 15, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 1, 17, 1, 17, 1, 18, 1, 18, 1, 18, 1, 19, 1, 19, 1, 19, 1, 20, 1, 20, 1, 21, 1, 21, 1, 22, 1, 22, 1, 23, 1, 23, 1, 24, 1, 24, 1, 25, 1, 25, 1, 26, 1, 26, 1, 27, 1, 27, 1, 28, 1, 28, 1, 29, 1, 29, 1, 30, 1, 30, 1, 31, 1, 31, 1, 32, 1, 32, 1, 33, 1, 33, 1, 34, 1, 34, 1, 35, 1, 35, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 39, 1, 39, 1, 40, 1, 40, 1, 41, 1, 41, 1, 42, 1, 42, 3, 42, 259, 8, 42, 1, 42, 4, 42, 262, 8, 42, 11, 42, 12, 42, 263, 1, 43, 1, 43, 1, 44, 1, 44, 1, 45, 1, 45, 1, 45, 1, 45, 3, 45, 274, 8, 45, 1, 46, 1, 46, 1, 46, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 3, 49, 307, 8, 49, 1, 50, 4, 50, 310, 8, 50, 11, 50, 12, 50, 311, 1, 50, 1, 50, 1, 51, 1, 51, 1, 51, 1, 51, 5, 51, 320, 8, 51, 10, 51, 12, 51, 323, 9, 51, 1, 51, 1, 51, 1, 52, 4, 52, 328, 8, 52, 11, 52, 12, 52, 329, 1, 52, 1, 52, 4, 52, 334, 8, 52, 11, 52, 12, 52, 335, 1, 52, 3, 52, 339, 8, 52, 1, 52, 4, 52, 342, 8, 52, 11, 52, 12, 52, 343, 1, 52, 1, 52, 1, 52, 1, 52, 4, 52, 350, 8, 52, 11, 52, 12, 52, 351, 1, 52, 3, 52, 355, 8, 52, 3, 52, 357, 8, 52, 1, 53, 4, 53, 360, 8, 53, 11, 53, 12, 53, 361, 1, 53, 1, 53, 1, 53, 1, 53, 4, 53, 368, 8, 53, 11, 53, 12, 53, 369, 3, 53, 372, 8, 53, 1, 54, 4, 54, 375, 8, 54, 11, 54, 12, 54, 376, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 4, 54, 385, 8, 54, 11, 54, 12, 54, 386, 1, 54, 1, 54, 3, 54, 391, 8, 54, 1, 55, 1, 55, 1, 55, 5, 55, 396, 8, 55, 10, 55, 12, 55, 399, 9, 55, 1, 55, 1, 55, 1, 55, 1, 55, 5, 55, 405, 8, 55, 10, 55, 12, 55, 408, 9, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 5, 55, 417, 8, 55, 10, 55, 12, 55, 420, 9, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 5, 55, 431, 8, 55, 10, 55, 12, 55, 434, 9, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 5, 55, 442, 8, 55, 10, 55, 12, 55, 445, 9, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 5, 55, 452, 8, 55, 10, 55, 12, 55, 455, 9, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 5, 55, 465, 8, 55, 10, 55, 12, 55, 468, 9, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 5, 55, 480, 8, 55, 10, 55, 12, 55, 483, 9, 55, 1, 55, 1, 55, 1, 55, 1, 55, 3, 55, 489, 8, 55, 1, 56, 1, 56, 1, 56, 1, 57, 1, 57, 3, 57, 496, 8, 57, 1, 57, 1, 57, 1, 57, 5, 57, 501, 8, 57, 10, 57, 12, 57, 504, 9, 57, 4, 418, 432, 466, 481, 0, 58, 1, 1, 3, 2, 5, 3, 7, 4, 9, 5, 11, 6, 13, 7, 15, 8, 17, 9, 19, 10, 21, 11, 23, 12, 25, 13, 27, 14, 29, 15, 31, 16, 33, 17, 35, 18, 37, 19, 39, 20, 41, 21, 43, 22, 45, 23, 47, 24, 49, 25, 51, 26, 53, 27, 55, 28, 57, 29, 59, 30, 61, 31, 63, 32, 65, 33, 67, 34, 69, 35, 71, 36, 73, 37, 75, 38, 77, 39, 79, 0, 81, 0, 83, 0, 85, 0, 87, 0, 89, 0, 91, 0, 93, 0, 95, 0, 97, 0, 99, 0, 101, 40, 103, 41, 105, 42, 107, 43, 109, 44, 111, 45, 113, 46, 115, 47, 1, 0, 16, 2, 0, 65, 90, 97, 122, 2, 0, 69, 69, 101, 101, 2, 0, 43, 43, 45, 45, 3, 0, 48, 57, 65, 70, 97, 102, 2, 0, 82, 82, 114, 114, 10, 0, 34, 34, 39, 39, 63, 63, 92, 92, 96, 98, 102, 102, 110, 110, 114, 114, 116, 116, 118, 118, 2, 0, 88, 88, 120, 120, 3, 0, 9, 10, 12, 13, 32, 32, 1, 0, 10, 10, 2, 0, 85, 85, 117, 117, 4, 0, 10, 10, 13, 13, 34, 34, 92, 92, 4, 0, 10, 10, 13, 13, 39, 39, 92, 92, 1, 0, 92, 92, 3, 0, 10, 10, 13, 13, 34, 34, 3, 0, 10, 10, 13, 13, 39, 39, 2, 0, 66, 66, 98, 98, 539, 0, 1, 1, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 5, 1, 0, 0, 0, 0, 7, 1, 0, 0, 0, 0, 9, 1, 0, 0, 0, 0, 11, 1, 0, 0, 0, 0, 13, 1, 0, 0, 0, 0, 15, 1, 0, 0, 0, 0, 17, 1, 0, 0, 0, 0, 19, 1, 0, 0, 0, 0, 21, 1, 0, 0, 0, 0, 23, 1, 0, 0, 0, 0, 25, 1, 0, 0, 0, 0, 27, 1, 0, 0, 0, 0, 29, 1, 0, 0, 0, 0, 31, 1, 0, 0, 0, 0, 33, 1, 0, 0, 0, 0, 35, 1, 0, 0, 0, 0, 37, 1, 0, 0, 0, 0, 39, 1, 0, 0, 0, 0, 41, 1, 0, 0, 0, 0, 43, 1, 0, 0, 0, 0, 45, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 49, 1, 0, 0, 0, 0, 51, 1, 0, 0, 0, 0, 53, 1, 0, 0, 0, 0, 55, 1, 0, 0, 0, 0, 57, 1, 0, 0, 0, 0, 59, 1, 0, 0, 0, 0, 61, 1, 0, 0, 0, 0, 63, 1, 0, 0, 0, 0, 65, 1, 0, 0, 0, 0, 67, 1, 0, 0, 0, 0, 69, 1, 0, 0, 0, 0, 71, 1, 0, 0, 0, 0, 73, 1, 0, 0, 0, 0, 75, 1, 0, 0, 0, 0, 77, 1, 0, 0, 0, 0, 101, 1, 0, 0, 0, 0, 103, 1, 0, 0, 0, 0, 105, 1, 0, 0, 0, 0, 107, 1, 0, 0, 0, 0, 109, 1, 0, 0, 0, 0, 111, 1, 0, 0, 0, 0, 113, 1, 0, 0, 0, 0, 115, 1, 0, 0, 0, 1, 117, 1, 0, 0, 0, 3, 123, 1, 0, 0, 0, 5, 126, 1, 0, 0, 0, 7, 131, 1, 0, 0, 0, 9, 140, 1, 0, 0, 0, 11, 148, 1, 0, 0, 0, 13, 157, 1, 0, 0, 0, 15, 163, 1, 0, 0, 0, 17, 167, 1, 0, 0, 0, 19, 172, 1, 0, 0, 0, 21, 175, 1, 0, 0, 0, 23, 177, 1, 0, 0, 0, 25, 180, 1, 0, 0, 0, 27, 183, 1, 0, 0, 0, 29, 186, 1, 0, 0, 0, 31, 188, 1, 0, 0, 0, 33, 191, 1, 0, 0, 0, 35, 194, 1, 0, 0, 0, 37, 196, 1, 0, 0, 0, 39, 199, 1, 0, 0, 0, 41, 202, 1, 0, 0, 0, 43, 204, 1, 0, 0, 0, 45, 206, 1, 0, 0, 0, 47, 208, 1, 0, 0, 0, 49, 210, 1, 0, 0, 0, 51, 212, 1, 0, 0, 0, 53, 214, 1, 0, 0, 0, 55, 216, 1, 0, 0, 0, 57, 218, 1, 0, 0, 0, 59, 220, 1, 0, 0, 0, 61, 222, 1, 0, 0, 0, 63, 224, 1, 0, 0, 0, 65, 226, 1, 0, 0, 0, 67, 228, 1, 0, 0, 0, 69, 230, 1, 0, 0, 0, 71, 232, 1, 0, 0, 0, 73, 234, 1, 0, 0, 0, 75, 239, 1, 0, 0, 0, 77, 245, 1, 0, 0, 0, 79, 250, 1, 0, 0, 0, 81, 252, 1, 0, 0, 0, 83, 254, 1, 0, 0, 0, 85, 256, 1, 0, 0, 0, 87, 265, 1, 0, 0, 0, 89, 267, 1, 0, 0, 0, 91, 273, 1, 0, 0, 0, 93, 275, 1, 0, 0, 0, 95, 278, 1, 0, 0, 0, 97, 283, 1, 0, 0, 0, 99, 306, 1, 0, 0, 0, 101, 309, 1, 0, 0, 0, 103, 315, 1, 0, 0, 0, 105, 356, 1, 0, 0, 0, 107, 371, 1, 0, 0, 0, 109, 390, 1, 0, 0, 0, 111, 488, 1, 0, 0, 0, 113, 490, 1, 0, 0, 0, 115, 495, 1, 0, 0, 0, 117, 118, 5, 37, 0, 0, 118, 119, 5, 104, 0, 0, 119, 120, 5, 101, 0, 0, 120, 121, 5, 108, 0, 0, 121, 122, 5, 112, 0, 0, 122, 2, 1, 0, 0, 0, 123, 124, 5, 37, 0, 0, 124, 125, 5, 63, 0, 0, 125, 4, 1, 0, 0, 0, 126, 127, 5, 37, 0, 0, 127, 128, 5, 108, 0, 0, 128, 129, 5, 101, 0, 0, 129, 130, 5, 116, 0, 0, 130, 6, 1, 0, 0, 0, 131, 132, 5, 37, 0, 0, 132, 133, 5, 100, 0, 0, 133, 134, 5, 101, 0, 0, 134, 135, 5, 99, 0, 0, 135, 136, 5, 108, 0, 0, 136, 137, 5, 97, 0, 0, 137, 138, 5, 114, 0, 0, 138, 139, 5, 101, 0, 0, 139, 8, 1, 0, 0, 0, 140, 141, 5, 37, 0, 0, 141, 142, 5, 100, 0, 0, 142, 143, 5, 101, 0, 0, 143, 144, 5, 108, 0, 0, 144, 145, 5, 101, 0, 0, 145, 146, 5, 116, 0, 0, 146, 147, 5, 101, 0, 0, 147, 10, 1, 0, 0, 0, 148, 149, 5, 37, 0, 0, 149, 150, 5, 99, 0, 0, 150, 151, 5, 111, 0, 0, 151, 152, 5, 109, 0, 0, 152, 153, 5, 112, 0, 0, 153, 154, 5, 105, 0, 0, 154, 155, 5, 108, 0, 0, 155, 156, 5, 101, 0, 0, 156, 12, 1, 0, 0, 0, 157, 158, 5, 37, 0, 0, 158, 159, 5, 101, 0, 0, 159, 160, 5, 118, 0, 0, 160, 161, 5, 97, 0, 0, 161, 162, 5, 108, 0, 0, 162, 14, 1, 0, 0, 0, 163, 164, 5, 37, 0, 0, 164, 165, 3, 115, 57, 0, 165, 16, 1, 0, 0, 0, 166, 168, 5, 45, 0, 0, 167, 166, 1, 0, 0, 0, 167, 168, 1, 0, 0, 0, 168, 169, 1, 0, 0, 0, 169, 170, 5, 45, 0, 0, 170, 171, 3, 115, 57, 0, 171, 18, 1, 0, 0, 0, 172, 173, 5, 45, 0, 0, 173, 174, 5, 62, 0, 0, 174, 20, 1, 0, 0, 0, 175, 176, 5, 61, 0, 0, 176, 22, 1, 0, 0, 0, 177, 178, 5, 61, 0, 0, 178, 179, 5, 61, 0, 0, 179, 24, 1, 0, 0, 0, 180, 181, 5, 33, 0, 0, 181, 182, 5, 61, 0, 0, 182, 26, 1, 0, 0, 0, 183, 184, 5, 105, 0, 0, 184, 185, 5, 110, 0, 0, 185, 28, 1, 0, 0, 0, 186, 187, 5, 60, 0, 0, 187, 30, 1, 0, 0, 0, 188, 189, 5, 60, 0, 0, 189, 190, 5, 61, 0, 0, 190, 32, 1, 0, 0, 0, 191, 192, 5, 62, 0, 0, 192, 193, 5, 61, 0, 0, 193, 34, 1, 0, 0, 0, 194, 195, 5, 62, 0, 0, 195, 36, 1, 0, 0, 0, 196, 197, 5, 38, 0, 0, 197, 198, 5, 38, 0, 0, 198, 38, 1, 0, 0, 0, 199, 200, 5, 124, 0, 0, 200, 201, 5, 124, 0, 0, 201, 40, 1, 0, 0, 0, 202, 203, 5, 91, 0, 0, 203, 42, 1, 0, 0, 0, 204, 205, 5, 93, 0, 0, 205, 44, 1, 0, 0, 0, 206, 207, 5, 123, 0, 0, 207, 46, 1, 0, 0, 0, 208, 209, 5, 125, 0, 0, 209, 48, 1, 0, 0, 0, 210, 211, 5, 40, 0, 0, 211, 50, 1, 0, 0, 0, 212, 213, 5, 41, 0, 0, 213, 52, 1, 0, 0, 0, 214, 215, 5, 46, 0, 0, 215, 54, 1, 0, 0, 0, 216, 217, 5, 44, 0, 0, 217, 56, 1, 0, 0, 0, 218, 219, 5, 45, 0, 0, 219, 58, 1, 0, 0, 0, 220, 221, 5, 33, 0, 0, 221, 60, 1, 0, 0, 0, 222, 223, 5, 63, 0, 0, 223, 62, 1, 0, 0, 0, 224, 225, 5, 58, 0, 0, 225, 64, 1, 0, 0, 0, 226, 227, 5, 43, 0, 0, 227, 66, 1, 0, 0, 0, 228, 229, 5, 42, 0, 0, 229, 68, 1, 0, 0, 0, 230, 231, 5, 47, 0, 0, 231, 70, 1, 0, 0, 0, 232, 233, 5, 37, 0, 0, 233, 72, 1, 0, 0, 0, 234, 235, 5, 116, 0, 0, 235, 236, 5, 114, 0, 0, 236, 237, 5, 117, 0, 0, 237, 238, 5, 101, 0, 0, 238, 74, 1, 0, 0, 0, 239, 240, 5, 102, 0, 0, 240, 241, 5, 97, 0, 0, 241, 242, 5, 108, 0, 0, 242, 243, 5, 115, 0, 0, 243, 244, 5, 101, 0, 0, 244, 76, 1, 0, 0, 0, 245, 246, 5, 110, 0, 0, 246, 247, 5, 117, 0, 0, 247, 248, 5, 108, 0, 0, 248, 249, 5, 108, 0, 0, 249, 78, 1, 0, 0, 0, 250, 251, 5, 92, 0, 0, 251, 80, 1, 0, 0, 0, 252, 253, 7, 0, 0, 0, 253, 82, 1, 0, 0, 0, 254, 255, 2, 48, 57, 0, 255, 84, 1, 0, 0, 0, 256, 258, 7, 1, 0, 0, 257, 259, 7, 2, 0, 0, 258, 257, 1, 0, 0, 0, 258, 259, 1, 0, 0, 0, 259, 261, 1, 0, 0, 0, 260, 262, 3, 83, 41, 0, 261, 260, 1, 0, 0, 0, 262, 263, 1, 0, 0, 0, 263, 261, 1, 0, 0, 0, 263, 264, 1, 0, 0, 0, 264, 86, 1, 0, 0, 0, 265, 266, 7, 3, 0, 0, 266, 88, 1, 0, 0, 0, 267, 268, 7, 4, 0, 0, 268, 90, 1, 0, 0, 0, 269, 274, 3, 93, 46, 0, 270, 274, 3, 97, 48, 0, 271, 274, 3, 99, 49, 0, 272, 274, 3, 95, 47, 0, 273, 269, 1, 0, 0, 0, 273, 270, 1, 0, 0, 0, 273, 271, 1, 0, 0, 0, 273, 272, 1, 0, 0, 0, 274, 92, 1, 0, 0, 0, 275, 276, 3, 79, 39, 0, 276, 277, 7, 5, 0, 0, 277, 94, 1, 0, 0, 0, 278, 279, 3, 79, 39, 0, 279, 280, 2, 48, 51, 0, 280, 281, 2, 48, 55, 0, 281, 282, 2, 48, 55, 0, 282, 96, 1, 0, 0, 0, 283, 284, 3, 79, 39, 0, 284, 285, 7, 6, 0, 0, 285, 286, 3, 87, 43, 0, 286, 287, 3, 87, 43, 0, 287, 98, 1, 0, 0, 0, 288, 289, 3, 79, 39, 0, 289, 290, 5, 117, 0, 0, 290, 291, 3, 87, 43, 0, 291, 292, 3, 87, 43, 0, 292, 293, 3, 87, 43, 0, 293, 294, 3, 87, 43, 0, 294, 307, 1, 0, 0, 0, 295, 296, 3, 79, 39, 0, 296, 297, 5, 85, 0, 0, 297, 298, 3, 87, 43, 0, 298, 299, 3, 87, 43, 0, 299, 300, 3, 87, 43, 0, 300, 301, 3, 87, 43, 0, 301, 302, 3, 87, 43, 0, 302, 303, 3, 87, 43, 0, 303, 304, 3, 87, 43, 0, 304, 305, 3, 87, 43, 0, 305, 307, 1, 0, 0, 0, 306, 288, 1, 0, 0, 0, 306, 295, 1, 0, 0, 0, 307, 100, 1, 0, 0, 0, 308, 310, 7, 7, 0, 0, 309, 308, 1, 0, 0, 0, 310, 311, 1, 0, 0, 0, 311, 309, 1, 0, 0, 0, 311, 312, 1, 0, 0, 0, 312, 313, 1, 0, 0, 0, 313, 314, 6, 50, 0, 0, 314, 102, 1, 0, 0, 0, 315, 316, 5, 47, 0, 0, 316, 317, 5, 47, 0, 0, 317, 321, 1, 0, 0, 0, 318, 320, 8, 8, 0, 0, 319, 318, 1, 0, 0, 0, 320, 323, 1, 0, 0, 0, 321, 319, 1, 0, 0, 0, 321, 322, 1, 0, 0, 0, 322, 324, 1, 0, 0, 0, 323, 321, 1, 0, 0, 0, 324, 325, 6, 51, 0, 0, 325, 104, 1, 0, 0, 0, 326, 328, 3, 83, 41, 0, 327, 326, 1, 0, 0, 0, 328, 329, 1, 0, 0, 0, 329, 327, 1, 0, 0, 0, 329, 330, 1, 0, 0, 0, 330, 331, 1, 0, 0, 0, 331, 333, 5, 46, 0, 0, 332, 334, 3, 83, 41, 0, 333, 332, 1, 0, 0, 0, 334, 335, 1, 0, 0, 0, 335, 333, 1, 0, 0, 0, 335, 336, 1, 0, 0, 0, 336, 338, 1, 0, 0, 0, 337, 339, 3, 85, 42, 0, 338, 337, 1, 0, 0, 0, 338, 339, 1, 0, 0, 0, 339, 357, 1, 0, 0, 0, 340, 342, 3, 83, 41, 0, 341, 340, 1, 0, 0, 0, 342, 343, 1, 0, 0, 0, 343, 341, 1, 0, 0, 0, 343, 344, 1, 0, 0, 0, 344, 345, 1, 0, 0, 0, 345, 346, 3, 85, 42, 0, 346, 357, 1, 0, 0, 0, 347, 349, 5, 46, 0, 0, 348, 350, 3, 83, 41, 0, 349, 348, 1, 0, 0, 0, 350, 351, 1, 0, 0, 0, 351, 349, 1, 0, 0, 0, 351, 352, 1, 0, 0, 0, 352, 354, 1, 0, 0, 0, 353, 355, 3, 85, 42, 0, 354, 353, 1, 0, 0, 0, 354, 355, 1, 0, 0, 0, 355, 357, 1, 0, 0, 0, 356, 327, 1, 0, 0, 0, 356, 341, 1, 0, 0, 0, 356, 347, 1, 0, 0, 0, 357, 106, 1, 0, 0, 0, 358, 360, 3, 83, 41, 0, 359, 358, 1, 0, 0, 0, 360, 361, 1, 0, 0, 0, 361, 359, 1, 0, 0, 0, 361, 362, 1, 0, 0, 0, 362, 372, 1, 0, 0, 0, 363, 364, 5, 48, 0, 0, 364, 365, 5, 120, 0, 0, 365, 367, 1, 0, 0, 0, 366, 368, 3, 87, 43, 0, 367, 366, 1, 0, 0, 0, 368, 369, 1, 0, 0, 0, 369, 367, 1, 0, 0, 0, 369, 370, 1, 0, 0, 0, 370, 372, 1, 0, 0, 0, 371, 359, 1, 0, 0, 0, 371, 363, 1, 0, 0, 0, 372, 108, 1, 0, 0, 0, 373, 375, 3, 83, 41, 0, 374, 373, 1, 0, 0, 0, 375, 376, 1, 0, 0, 0, 376, 374, 1, 0, 0, 0, 376, 377, 1, 0, 0, 0, 377, 378, 1, 0, 0, 0, 378, 379, 7, 9, 0, 0, 379, 391, 1, 0, 0, 0, 380, 381, 5, 48, 0, 0, 381, 382, 5, 120, 0, 0, 382, 384, 1, 0, 0, 0, 383, 385, 3, 87, 43, 0, 384, 383, 1, 0, 0, 0, 385, 386, 1, 0, 0, 0, 386, 384, 1, 0, 0, 0, 386, 387, 1, 0, 0, 0, 387, 388, 1, 0, 0, 0, 388, 389, 7, 9, 0, 0, 389, 391, 1, 0, 0, 0, 390, 374, 1, 0, 0, 0, 390, 380, 1, 0, 0, 0, 391, 110, 1, 0, 0, 0, 392, 397, 5, 34, 0, 0, 393, 396, 3, 91, 45, 0, 394, 396, 8, 10, 0, 0, 395, 393, 1, 0, 0, 0, 395, 394, 1, 0, 0, 0, 396, 399, 1, 0, 0, 0, 397, 395, 1, 0, 0, 0, 397, 398, 1, 0, 0, 0, 398, 400, 1, 0, 0, 0, 399, 397, 1, 0, 0, 0, 400, 489, 5, 34, 0, 0, 401, 406, 5, 39, 0, 0, 402, 405, 3, 91, 45, 0, 403, 405, 8, 11, 0, 0, 404, 402, 1, 0, 0, 0, 404, 403, 1, 0, 0, 0, 405, 408, 1, 0, 0, 0, 406, 404, 1, 0, 0, 0, 406, 407, 1, 0, 0, 0, 407, 409, 1, 0, 0, 0, 408, 406, 1, 0, 0, 0, 409, 489, 5, 39, 0, 0, 410, 411, 5, 34, 0, 0, 411, 412, 5, 34, 0, 0, 412, 413, 5, 34, 0, 0, 413, 418, 1, 0, 0, 0, 414, 417, 3, 91, 45, 0, 415, 417, 8, 12, 0, 0, 416, 414, 1, 0, 0, 0, 416, 415, 1, 0, 0, 0, 417, 420, 1, 0, 0, 0, 418, 419, 1, 0, 0, 0, 418, 416, 1, 0, 0, 0, 419, 421, 1, 0, 0, 0, 420, 418, 1, 0, 0, 0, 421, 422, 5, 34, 0, 0, 422, 423, 5, 34, 0, 0, 423, 489, 5, 34, 0, 0, 424, 425, 5, 39, 0, 0, 425, 426, 5, 39, 0, 0, 426, 427, 5, 39, 0, 0, 427, 432, 1, 0, 0, 0, 428, 431, 3, 91, 45, 0, 429, 431, 8, 12, 0, 0, 430, 428, 1, 0, 0, 0, 430, 429, 1, 0, 0, 0, 431, 434, 1, 0, 0, 0, 432, 433, 1, 0, 0, 0, 432, 430, 1, 0, 0, 0, 433, 435, 1, 0, 0, 0, 434, 432, 1, 0, 0, 0, 435, 436, 5, 39, 0, 0, 436, 437, 5, 39, 0, 0, 437, 489, 5, 39, 0, 0, 438, 439, 3, 89, 44, 0, 439, 443, 5, 34, 0, 0, 440, 442, 8, 13, 0, 0, 441, 440, 1, 0, 0, 0, 442, 445, 1, 0, 0, 0, 443, 441, 1, 0, 0, 0, 443, 444, 1, 0, 0, 0, 444, 446, 1, 0, 0, 0, 445, 443, 1, 0, 0, 0, 446, 447, 5, 34, 0, 0, 447, 489, 1, 0, 0, 0, 448, 449, 3, 89, 44, 0, 449, 453, 5, 39, 0, 0, 450, 452, 8, 14, 0, 0, 451, 450, 1, 0, 0, 0, 452, 455, 1, 0, 0, 0, 453, 451, 1, 0, 0, 0, 453, 454, 1, 0, 0, 0, 454, 456, 1, 0, 0, 0, 455, 453, 1, 0, 0, 0, 456, 457, 5, 39, 0, 0, 457, 489, 1, 0, 0, 0, 458, 459, 3, 89, 44, 0, 459, 460, 5, 34, 0, 0, 460, 461, 5, 34, 0, 0, 461, 462, 5, 34, 0, 0, 462, 466, 1, 0, 0, 0, 463, 465, 9, 0, 0, 0, 464, 463, 1, 0, 0, 0, 465, 468, 1, 0, 0, 0, 466, 467, 1, 0, 0, 0, 466, 464, 1, 0, 0, 0, 467, 469, 1, 0, 0, 0, 468, 466, 1, 0, 0, 0, 469, 470, 5, 34, 0, 0, 470, 471, 5, 34, 0, 0, 471, 472, 5, 34, 0, 0, 472, 489, 1, 0, 0, 0, 473, 474, 3, 89, 44, 0, 474, 475, 5, 39, 0, 0, 475, 476, 5, 39, 0, 0, 476, 477, 5, 39, 0, 0, 477, 481, 1, 0, 0, 0, 478, 480, 9, 0, 0, 0, 479, 478, 1, 0, 0, 0, 480, 483, 1, 0, 0, 0, 481, 482, 1, 0, 0, 0, 481, 479, 1, 0, 0, 0, 482, 484, 1, 0, 0, 0, 483, 481, 1, 0, 0, 0, 484, 485, 5, 39, 0, 0, 485, 486, 5, 39, 0, 0, 486, 487, 5, 39, 0, 0, 487, 489, 1, 0, 0, 0, 488, 392, 1, 0, 0, 0, 488, 401, 1, 0, 0, 0, 488, 410, 1, 0, 0, 0, 488, 424, 1, 0, 0, 0, 488, 438, 1, 0, 0, 0, 488, 448, 1, 0, 0, 0, 488, 458, 1, 0, 0, 0, 488, 473, 1, 0, 0, 0, 489, 112, 1, 0, 0, 0, 490, 491, 7, 15, 0, 0, 491, 492, 3, 111, 55, 0, 492, 114, 1, 0, 0, 0, 493, 496, 3, 81, 40, 0, 494, 496, 5, 95, 0, 0, 495, 493, 1, 0, 0, 0, 495, 494, 1, 0, 0, 0, 496, 502, 1, 0, 0, 0, 497, 501, 3, 81, 40, 0, 498, 501, 3, 83, 41, 0, 499, 501, 5, 95, 0, 0, 500, 497, 1, 0, 0, 0, 500, 498, 1, 0, 0, 0, 500, 499, 1, 0, 0, 0, 501, 504, 1, 0, 0, 0, 502, 500, 1, 0, 0, 0, 502, 503, 1, 0, 0, 0, 503, 116, 1, 0, 0, 0, 504, 502, 1, 0, 0, 0, 37, 0, 167, 258, 263, 273, 306, 311, 321, 329, 335, 338, 343, 351, 354, 356, 361, 369, 371, 376, 386, 390, 395, 397, 404, 406, 416, 418, 430, 432, 443, 453, 466, 481, 488, 495, 500, 502, 1, 0, 1, 0] \ No newline at end of file +[4, 0, 48, 514, 6, -1, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30, 7, 30, 2, 31, 7, 31, 2, 32, 7, 32, 2, 33, 7, 33, 2, 34, 7, 34, 2, 35, 7, 35, 2, 36, 7, 36, 2, 37, 7, 37, 2, 38, 7, 38, 2, 39, 7, 39, 2, 40, 7, 40, 2, 41, 7, 41, 2, 42, 7, 42, 2, 43, 7, 43, 2, 44, 7, 44, 2, 45, 7, 45, 2, 46, 7, 46, 2, 47, 7, 47, 2, 48, 7, 48, 2, 49, 7, 49, 2, 50, 7, 50, 2, 51, 7, 51, 2, 52, 7, 52, 2, 53, 7, 53, 2, 54, 7, 54, 2, 55, 7, 55, 2, 56, 7, 56, 2, 57, 7, 57, 2, 58, 7, 58, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 8, 1, 8, 1, 8, 1, 9, 3, 9, 177, 8, 9, 1, 9, 1, 9, 1, 9, 1, 10, 1, 10, 1, 10, 1, 11, 1, 11, 1, 12, 1, 12, 1, 12, 1, 13, 1, 13, 1, 13, 1, 14, 1, 14, 1, 14, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 1, 17, 1, 17, 1, 17, 1, 18, 1, 18, 1, 19, 1, 19, 1, 19, 1, 20, 1, 20, 1, 20, 1, 21, 1, 21, 1, 22, 1, 22, 1, 23, 1, 23, 1, 24, 1, 24, 1, 25, 1, 25, 1, 26, 1, 26, 1, 27, 1, 27, 1, 28, 1, 28, 1, 29, 1, 29, 1, 30, 1, 30, 1, 31, 1, 31, 1, 32, 1, 32, 1, 33, 1, 33, 1, 34, 1, 34, 1, 35, 1, 35, 1, 36, 1, 36, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 40, 1, 40, 1, 41, 1, 41, 1, 42, 1, 42, 1, 43, 1, 43, 3, 43, 268, 8, 43, 1, 43, 4, 43, 271, 8, 43, 11, 43, 12, 43, 272, 1, 44, 1, 44, 1, 45, 1, 45, 1, 46, 1, 46, 1, 46, 1, 46, 3, 46, 283, 8, 46, 1, 47, 1, 47, 1, 47, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 3, 50, 316, 8, 50, 1, 51, 4, 51, 319, 8, 51, 11, 51, 12, 51, 320, 1, 51, 1, 51, 1, 52, 1, 52, 1, 52, 1, 52, 5, 52, 329, 8, 52, 10, 52, 12, 52, 332, 9, 52, 1, 52, 1, 52, 1, 53, 4, 53, 337, 8, 53, 11, 53, 12, 53, 338, 1, 53, 1, 53, 4, 53, 343, 8, 53, 11, 53, 12, 53, 344, 1, 53, 3, 53, 348, 8, 53, 1, 53, 4, 53, 351, 8, 53, 11, 53, 12, 53, 352, 1, 53, 1, 53, 1, 53, 1, 53, 4, 53, 359, 8, 53, 11, 53, 12, 53, 360, 1, 53, 3, 53, 364, 8, 53, 3, 53, 366, 8, 53, 1, 54, 4, 54, 369, 8, 54, 11, 54, 12, 54, 370, 1, 54, 1, 54, 1, 54, 1, 54, 4, 54, 377, 8, 54, 11, 54, 12, 54, 378, 3, 54, 381, 8, 54, 1, 55, 4, 55, 384, 8, 55, 11, 55, 12, 55, 385, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 4, 55, 394, 8, 55, 11, 55, 12, 55, 395, 1, 55, 1, 55, 3, 55, 400, 8, 55, 1, 56, 1, 56, 1, 56, 5, 56, 405, 8, 56, 10, 56, 12, 56, 408, 9, 56, 1, 56, 1, 56, 1, 56, 1, 56, 5, 56, 414, 8, 56, 10, 56, 12, 56, 417, 9, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 5, 56, 426, 8, 56, 10, 56, 12, 56, 429, 9, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 5, 56, 440, 8, 56, 10, 56, 12, 56, 443, 9, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 5, 56, 451, 8, 56, 10, 56, 12, 56, 454, 9, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 5, 56, 461, 8, 56, 10, 56, 12, 56, 464, 9, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 5, 56, 474, 8, 56, 10, 56, 12, 56, 477, 9, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 5, 56, 489, 8, 56, 10, 56, 12, 56, 492, 9, 56, 1, 56, 1, 56, 1, 56, 1, 56, 3, 56, 498, 8, 56, 1, 57, 1, 57, 1, 57, 1, 58, 1, 58, 3, 58, 505, 8, 58, 1, 58, 1, 58, 1, 58, 5, 58, 510, 8, 58, 10, 58, 12, 58, 513, 9, 58, 4, 427, 441, 475, 490, 0, 59, 1, 1, 3, 2, 5, 3, 7, 4, 9, 5, 11, 6, 13, 7, 15, 8, 17, 9, 19, 10, 21, 11, 23, 12, 25, 13, 27, 14, 29, 15, 31, 16, 33, 17, 35, 18, 37, 19, 39, 20, 41, 21, 43, 22, 45, 23, 47, 24, 49, 25, 51, 26, 53, 27, 55, 28, 57, 29, 59, 30, 61, 31, 63, 32, 65, 33, 67, 34, 69, 35, 71, 36, 73, 37, 75, 38, 77, 39, 79, 40, 81, 0, 83, 0, 85, 0, 87, 0, 89, 0, 91, 0, 93, 0, 95, 0, 97, 0, 99, 0, 101, 0, 103, 41, 105, 42, 107, 43, 109, 44, 111, 45, 113, 46, 115, 47, 117, 48, 1, 0, 16, 2, 0, 65, 90, 97, 122, 2, 0, 69, 69, 101, 101, 2, 0, 43, 43, 45, 45, 3, 0, 48, 57, 65, 70, 97, 102, 2, 0, 82, 82, 114, 114, 10, 0, 34, 34, 39, 39, 63, 63, 92, 92, 96, 98, 102, 102, 110, 110, 114, 114, 116, 116, 118, 118, 2, 0, 88, 88, 120, 120, 3, 0, 9, 10, 12, 13, 32, 32, 1, 0, 10, 10, 2, 0, 85, 85, 117, 117, 4, 0, 10, 10, 13, 13, 34, 34, 92, 92, 4, 0, 10, 10, 13, 13, 39, 39, 92, 92, 1, 0, 92, 92, 3, 0, 10, 10, 13, 13, 34, 34, 3, 0, 10, 10, 13, 13, 39, 39, 2, 0, 66, 66, 98, 98, 548, 0, 1, 1, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 5, 1, 0, 0, 0, 0, 7, 1, 0, 0, 0, 0, 9, 1, 0, 0, 0, 0, 11, 1, 0, 0, 0, 0, 13, 1, 0, 0, 0, 0, 15, 1, 0, 0, 0, 0, 17, 1, 0, 0, 0, 0, 19, 1, 0, 0, 0, 0, 21, 1, 0, 0, 0, 0, 23, 1, 0, 0, 0, 0, 25, 1, 0, 0, 0, 0, 27, 1, 0, 0, 0, 0, 29, 1, 0, 0, 0, 0, 31, 1, 0, 0, 0, 0, 33, 1, 0, 0, 0, 0, 35, 1, 0, 0, 0, 0, 37, 1, 0, 0, 0, 0, 39, 1, 0, 0, 0, 0, 41, 1, 0, 0, 0, 0, 43, 1, 0, 0, 0, 0, 45, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 49, 1, 0, 0, 0, 0, 51, 1, 0, 0, 0, 0, 53, 1, 0, 0, 0, 0, 55, 1, 0, 0, 0, 0, 57, 1, 0, 0, 0, 0, 59, 1, 0, 0, 0, 0, 61, 1, 0, 0, 0, 0, 63, 1, 0, 0, 0, 0, 65, 1, 0, 0, 0, 0, 67, 1, 0, 0, 0, 0, 69, 1, 0, 0, 0, 0, 71, 1, 0, 0, 0, 0, 73, 1, 0, 0, 0, 0, 75, 1, 0, 0, 0, 0, 77, 1, 0, 0, 0, 0, 79, 1, 0, 0, 0, 0, 103, 1, 0, 0, 0, 0, 105, 1, 0, 0, 0, 0, 107, 1, 0, 0, 0, 0, 109, 1, 0, 0, 0, 0, 111, 1, 0, 0, 0, 0, 113, 1, 0, 0, 0, 0, 115, 1, 0, 0, 0, 0, 117, 1, 0, 0, 0, 1, 119, 1, 0, 0, 0, 3, 125, 1, 0, 0, 0, 5, 128, 1, 0, 0, 0, 7, 133, 1, 0, 0, 0, 9, 142, 1, 0, 0, 0, 11, 150, 1, 0, 0, 0, 13, 159, 1, 0, 0, 0, 15, 166, 1, 0, 0, 0, 17, 172, 1, 0, 0, 0, 19, 176, 1, 0, 0, 0, 21, 181, 1, 0, 0, 0, 23, 184, 1, 0, 0, 0, 25, 186, 1, 0, 0, 0, 27, 189, 1, 0, 0, 0, 29, 192, 1, 0, 0, 0, 31, 195, 1, 0, 0, 0, 33, 197, 1, 0, 0, 0, 35, 200, 1, 0, 0, 0, 37, 203, 1, 0, 0, 0, 39, 205, 1, 0, 0, 0, 41, 208, 1, 0, 0, 0, 43, 211, 1, 0, 0, 0, 45, 213, 1, 0, 0, 0, 47, 215, 1, 0, 0, 0, 49, 217, 1, 0, 0, 0, 51, 219, 1, 0, 0, 0, 53, 221, 1, 0, 0, 0, 55, 223, 1, 0, 0, 0, 57, 225, 1, 0, 0, 0, 59, 227, 1, 0, 0, 0, 61, 229, 1, 0, 0, 0, 63, 231, 1, 0, 0, 0, 65, 233, 1, 0, 0, 0, 67, 235, 1, 0, 0, 0, 69, 237, 1, 0, 0, 0, 71, 239, 1, 0, 0, 0, 73, 241, 1, 0, 0, 0, 75, 243, 1, 0, 0, 0, 77, 248, 1, 0, 0, 0, 79, 254, 1, 0, 0, 0, 81, 259, 1, 0, 0, 0, 83, 261, 1, 0, 0, 0, 85, 263, 1, 0, 0, 0, 87, 265, 1, 0, 0, 0, 89, 274, 1, 0, 0, 0, 91, 276, 1, 0, 0, 0, 93, 282, 1, 0, 0, 0, 95, 284, 1, 0, 0, 0, 97, 287, 1, 0, 0, 0, 99, 292, 1, 0, 0, 0, 101, 315, 1, 0, 0, 0, 103, 318, 1, 0, 0, 0, 105, 324, 1, 0, 0, 0, 107, 365, 1, 0, 0, 0, 109, 380, 1, 0, 0, 0, 111, 399, 1, 0, 0, 0, 113, 497, 1, 0, 0, 0, 115, 499, 1, 0, 0, 0, 117, 504, 1, 0, 0, 0, 119, 120, 5, 37, 0, 0, 120, 121, 5, 104, 0, 0, 121, 122, 5, 101, 0, 0, 122, 123, 5, 108, 0, 0, 123, 124, 5, 112, 0, 0, 124, 2, 1, 0, 0, 0, 125, 126, 5, 37, 0, 0, 126, 127, 5, 63, 0, 0, 127, 4, 1, 0, 0, 0, 128, 129, 5, 37, 0, 0, 129, 130, 5, 108, 0, 0, 130, 131, 5, 101, 0, 0, 131, 132, 5, 116, 0, 0, 132, 6, 1, 0, 0, 0, 133, 134, 5, 37, 0, 0, 134, 135, 5, 100, 0, 0, 135, 136, 5, 101, 0, 0, 136, 137, 5, 99, 0, 0, 137, 138, 5, 108, 0, 0, 138, 139, 5, 97, 0, 0, 139, 140, 5, 114, 0, 0, 140, 141, 5, 101, 0, 0, 141, 8, 1, 0, 0, 0, 142, 143, 5, 37, 0, 0, 143, 144, 5, 100, 0, 0, 144, 145, 5, 101, 0, 0, 145, 146, 5, 108, 0, 0, 146, 147, 5, 101, 0, 0, 147, 148, 5, 116, 0, 0, 148, 149, 5, 101, 0, 0, 149, 10, 1, 0, 0, 0, 150, 151, 5, 37, 0, 0, 151, 152, 5, 99, 0, 0, 152, 153, 5, 111, 0, 0, 153, 154, 5, 109, 0, 0, 154, 155, 5, 112, 0, 0, 155, 156, 5, 105, 0, 0, 156, 157, 5, 108, 0, 0, 157, 158, 5, 101, 0, 0, 158, 12, 1, 0, 0, 0, 159, 160, 5, 37, 0, 0, 160, 161, 5, 112, 0, 0, 161, 162, 5, 97, 0, 0, 162, 163, 5, 114, 0, 0, 163, 164, 5, 115, 0, 0, 164, 165, 5, 101, 0, 0, 165, 14, 1, 0, 0, 0, 166, 167, 5, 37, 0, 0, 167, 168, 5, 101, 0, 0, 168, 169, 5, 118, 0, 0, 169, 170, 5, 97, 0, 0, 170, 171, 5, 108, 0, 0, 171, 16, 1, 0, 0, 0, 172, 173, 5, 37, 0, 0, 173, 174, 3, 117, 58, 0, 174, 18, 1, 0, 0, 0, 175, 177, 5, 45, 0, 0, 176, 175, 1, 0, 0, 0, 176, 177, 1, 0, 0, 0, 177, 178, 1, 0, 0, 0, 178, 179, 5, 45, 0, 0, 179, 180, 3, 117, 58, 0, 180, 20, 1, 0, 0, 0, 181, 182, 5, 45, 0, 0, 182, 183, 5, 62, 0, 0, 183, 22, 1, 0, 0, 0, 184, 185, 5, 61, 0, 0, 185, 24, 1, 0, 0, 0, 186, 187, 5, 61, 0, 0, 187, 188, 5, 61, 0, 0, 188, 26, 1, 0, 0, 0, 189, 190, 5, 33, 0, 0, 190, 191, 5, 61, 0, 0, 191, 28, 1, 0, 0, 0, 192, 193, 5, 105, 0, 0, 193, 194, 5, 110, 0, 0, 194, 30, 1, 0, 0, 0, 195, 196, 5, 60, 0, 0, 196, 32, 1, 0, 0, 0, 197, 198, 5, 60, 0, 0, 198, 199, 5, 61, 0, 0, 199, 34, 1, 0, 0, 0, 200, 201, 5, 62, 0, 0, 201, 202, 5, 61, 0, 0, 202, 36, 1, 0, 0, 0, 203, 204, 5, 62, 0, 0, 204, 38, 1, 0, 0, 0, 205, 206, 5, 38, 0, 0, 206, 207, 5, 38, 0, 0, 207, 40, 1, 0, 0, 0, 208, 209, 5, 124, 0, 0, 209, 210, 5, 124, 0, 0, 210, 42, 1, 0, 0, 0, 211, 212, 5, 91, 0, 0, 212, 44, 1, 0, 0, 0, 213, 214, 5, 93, 0, 0, 214, 46, 1, 0, 0, 0, 215, 216, 5, 123, 0, 0, 216, 48, 1, 0, 0, 0, 217, 218, 5, 125, 0, 0, 218, 50, 1, 0, 0, 0, 219, 220, 5, 40, 0, 0, 220, 52, 1, 0, 0, 0, 221, 222, 5, 41, 0, 0, 222, 54, 1, 0, 0, 0, 223, 224, 5, 46, 0, 0, 224, 56, 1, 0, 0, 0, 225, 226, 5, 44, 0, 0, 226, 58, 1, 0, 0, 0, 227, 228, 5, 45, 0, 0, 228, 60, 1, 0, 0, 0, 229, 230, 5, 33, 0, 0, 230, 62, 1, 0, 0, 0, 231, 232, 5, 63, 0, 0, 232, 64, 1, 0, 0, 0, 233, 234, 5, 58, 0, 0, 234, 66, 1, 0, 0, 0, 235, 236, 5, 43, 0, 0, 236, 68, 1, 0, 0, 0, 237, 238, 5, 42, 0, 0, 238, 70, 1, 0, 0, 0, 239, 240, 5, 47, 0, 0, 240, 72, 1, 0, 0, 0, 241, 242, 5, 37, 0, 0, 242, 74, 1, 0, 0, 0, 243, 244, 5, 116, 0, 0, 244, 245, 5, 114, 0, 0, 245, 246, 5, 117, 0, 0, 246, 247, 5, 101, 0, 0, 247, 76, 1, 0, 0, 0, 248, 249, 5, 102, 0, 0, 249, 250, 5, 97, 0, 0, 250, 251, 5, 108, 0, 0, 251, 252, 5, 115, 0, 0, 252, 253, 5, 101, 0, 0, 253, 78, 1, 0, 0, 0, 254, 255, 5, 110, 0, 0, 255, 256, 5, 117, 0, 0, 256, 257, 5, 108, 0, 0, 257, 258, 5, 108, 0, 0, 258, 80, 1, 0, 0, 0, 259, 260, 5, 92, 0, 0, 260, 82, 1, 0, 0, 0, 261, 262, 7, 0, 0, 0, 262, 84, 1, 0, 0, 0, 263, 264, 2, 48, 57, 0, 264, 86, 1, 0, 0, 0, 265, 267, 7, 1, 0, 0, 266, 268, 7, 2, 0, 0, 267, 266, 1, 0, 0, 0, 267, 268, 1, 0, 0, 0, 268, 270, 1, 0, 0, 0, 269, 271, 3, 85, 42, 0, 270, 269, 1, 0, 0, 0, 271, 272, 1, 0, 0, 0, 272, 270, 1, 0, 0, 0, 272, 273, 1, 0, 0, 0, 273, 88, 1, 0, 0, 0, 274, 275, 7, 3, 0, 0, 275, 90, 1, 0, 0, 0, 276, 277, 7, 4, 0, 0, 277, 92, 1, 0, 0, 0, 278, 283, 3, 95, 47, 0, 279, 283, 3, 99, 49, 0, 280, 283, 3, 101, 50, 0, 281, 283, 3, 97, 48, 0, 282, 278, 1, 0, 0, 0, 282, 279, 1, 0, 0, 0, 282, 280, 1, 0, 0, 0, 282, 281, 1, 0, 0, 0, 283, 94, 1, 0, 0, 0, 284, 285, 3, 81, 40, 0, 285, 286, 7, 5, 0, 0, 286, 96, 1, 0, 0, 0, 287, 288, 3, 81, 40, 0, 288, 289, 2, 48, 51, 0, 289, 290, 2, 48, 55, 0, 290, 291, 2, 48, 55, 0, 291, 98, 1, 0, 0, 0, 292, 293, 3, 81, 40, 0, 293, 294, 7, 6, 0, 0, 294, 295, 3, 89, 44, 0, 295, 296, 3, 89, 44, 0, 296, 100, 1, 0, 0, 0, 297, 298, 3, 81, 40, 0, 298, 299, 5, 117, 0, 0, 299, 300, 3, 89, 44, 0, 300, 301, 3, 89, 44, 0, 301, 302, 3, 89, 44, 0, 302, 303, 3, 89, 44, 0, 303, 316, 1, 0, 0, 0, 304, 305, 3, 81, 40, 0, 305, 306, 5, 85, 0, 0, 306, 307, 3, 89, 44, 0, 307, 308, 3, 89, 44, 0, 308, 309, 3, 89, 44, 0, 309, 310, 3, 89, 44, 0, 310, 311, 3, 89, 44, 0, 311, 312, 3, 89, 44, 0, 312, 313, 3, 89, 44, 0, 313, 314, 3, 89, 44, 0, 314, 316, 1, 0, 0, 0, 315, 297, 1, 0, 0, 0, 315, 304, 1, 0, 0, 0, 316, 102, 1, 0, 0, 0, 317, 319, 7, 7, 0, 0, 318, 317, 1, 0, 0, 0, 319, 320, 1, 0, 0, 0, 320, 318, 1, 0, 0, 0, 320, 321, 1, 0, 0, 0, 321, 322, 1, 0, 0, 0, 322, 323, 6, 51, 0, 0, 323, 104, 1, 0, 0, 0, 324, 325, 5, 47, 0, 0, 325, 326, 5, 47, 0, 0, 326, 330, 1, 0, 0, 0, 327, 329, 8, 8, 0, 0, 328, 327, 1, 0, 0, 0, 329, 332, 1, 0, 0, 0, 330, 328, 1, 0, 0, 0, 330, 331, 1, 0, 0, 0, 331, 333, 1, 0, 0, 0, 332, 330, 1, 0, 0, 0, 333, 334, 6, 52, 0, 0, 334, 106, 1, 0, 0, 0, 335, 337, 3, 85, 42, 0, 336, 335, 1, 0, 0, 0, 337, 338, 1, 0, 0, 0, 338, 336, 1, 0, 0, 0, 338, 339, 1, 0, 0, 0, 339, 340, 1, 0, 0, 0, 340, 342, 5, 46, 0, 0, 341, 343, 3, 85, 42, 0, 342, 341, 1, 0, 0, 0, 343, 344, 1, 0, 0, 0, 344, 342, 1, 0, 0, 0, 344, 345, 1, 0, 0, 0, 345, 347, 1, 0, 0, 0, 346, 348, 3, 87, 43, 0, 347, 346, 1, 0, 0, 0, 347, 348, 1, 0, 0, 0, 348, 366, 1, 0, 0, 0, 349, 351, 3, 85, 42, 0, 350, 349, 1, 0, 0, 0, 351, 352, 1, 0, 0, 0, 352, 350, 1, 0, 0, 0, 352, 353, 1, 0, 0, 0, 353, 354, 1, 0, 0, 0, 354, 355, 3, 87, 43, 0, 355, 366, 1, 0, 0, 0, 356, 358, 5, 46, 0, 0, 357, 359, 3, 85, 42, 0, 358, 357, 1, 0, 0, 0, 359, 360, 1, 0, 0, 0, 360, 358, 1, 0, 0, 0, 360, 361, 1, 0, 0, 0, 361, 363, 1, 0, 0, 0, 362, 364, 3, 87, 43, 0, 363, 362, 1, 0, 0, 0, 363, 364, 1, 0, 0, 0, 364, 366, 1, 0, 0, 0, 365, 336, 1, 0, 0, 0, 365, 350, 1, 0, 0, 0, 365, 356, 1, 0, 0, 0, 366, 108, 1, 0, 0, 0, 367, 369, 3, 85, 42, 0, 368, 367, 1, 0, 0, 0, 369, 370, 1, 0, 0, 0, 370, 368, 1, 0, 0, 0, 370, 371, 1, 0, 0, 0, 371, 381, 1, 0, 0, 0, 372, 373, 5, 48, 0, 0, 373, 374, 5, 120, 0, 0, 374, 376, 1, 0, 0, 0, 375, 377, 3, 89, 44, 0, 376, 375, 1, 0, 0, 0, 377, 378, 1, 0, 0, 0, 378, 376, 1, 0, 0, 0, 378, 379, 1, 0, 0, 0, 379, 381, 1, 0, 0, 0, 380, 368, 1, 0, 0, 0, 380, 372, 1, 0, 0, 0, 381, 110, 1, 0, 0, 0, 382, 384, 3, 85, 42, 0, 383, 382, 1, 0, 0, 0, 384, 385, 1, 0, 0, 0, 385, 383, 1, 0, 0, 0, 385, 386, 1, 0, 0, 0, 386, 387, 1, 0, 0, 0, 387, 388, 7, 9, 0, 0, 388, 400, 1, 0, 0, 0, 389, 390, 5, 48, 0, 0, 390, 391, 5, 120, 0, 0, 391, 393, 1, 0, 0, 0, 392, 394, 3, 89, 44, 0, 393, 392, 1, 0, 0, 0, 394, 395, 1, 0, 0, 0, 395, 393, 1, 0, 0, 0, 395, 396, 1, 0, 0, 0, 396, 397, 1, 0, 0, 0, 397, 398, 7, 9, 0, 0, 398, 400, 1, 0, 0, 0, 399, 383, 1, 0, 0, 0, 399, 389, 1, 0, 0, 0, 400, 112, 1, 0, 0, 0, 401, 406, 5, 34, 0, 0, 402, 405, 3, 93, 46, 0, 403, 405, 8, 10, 0, 0, 404, 402, 1, 0, 0, 0, 404, 403, 1, 0, 0, 0, 405, 408, 1, 0, 0, 0, 406, 404, 1, 0, 0, 0, 406, 407, 1, 0, 0, 0, 407, 409, 1, 0, 0, 0, 408, 406, 1, 0, 0, 0, 409, 498, 5, 34, 0, 0, 410, 415, 5, 39, 0, 0, 411, 414, 3, 93, 46, 0, 412, 414, 8, 11, 0, 0, 413, 411, 1, 0, 0, 0, 413, 412, 1, 0, 0, 0, 414, 417, 1, 0, 0, 0, 415, 413, 1, 0, 0, 0, 415, 416, 1, 0, 0, 0, 416, 418, 1, 0, 0, 0, 417, 415, 1, 0, 0, 0, 418, 498, 5, 39, 0, 0, 419, 420, 5, 34, 0, 0, 420, 421, 5, 34, 0, 0, 421, 422, 5, 34, 0, 0, 422, 427, 1, 0, 0, 0, 423, 426, 3, 93, 46, 0, 424, 426, 8, 12, 0, 0, 425, 423, 1, 0, 0, 0, 425, 424, 1, 0, 0, 0, 426, 429, 1, 0, 0, 0, 427, 428, 1, 0, 0, 0, 427, 425, 1, 0, 0, 0, 428, 430, 1, 0, 0, 0, 429, 427, 1, 0, 0, 0, 430, 431, 5, 34, 0, 0, 431, 432, 5, 34, 0, 0, 432, 498, 5, 34, 0, 0, 433, 434, 5, 39, 0, 0, 434, 435, 5, 39, 0, 0, 435, 436, 5, 39, 0, 0, 436, 441, 1, 0, 0, 0, 437, 440, 3, 93, 46, 0, 438, 440, 8, 12, 0, 0, 439, 437, 1, 0, 0, 0, 439, 438, 1, 0, 0, 0, 440, 443, 1, 0, 0, 0, 441, 442, 1, 0, 0, 0, 441, 439, 1, 0, 0, 0, 442, 444, 1, 0, 0, 0, 443, 441, 1, 0, 0, 0, 444, 445, 5, 39, 0, 0, 445, 446, 5, 39, 0, 0, 446, 498, 5, 39, 0, 0, 447, 448, 3, 91, 45, 0, 448, 452, 5, 34, 0, 0, 449, 451, 8, 13, 0, 0, 450, 449, 1, 0, 0, 0, 451, 454, 1, 0, 0, 0, 452, 450, 1, 0, 0, 0, 452, 453, 1, 0, 0, 0, 453, 455, 1, 0, 0, 0, 454, 452, 1, 0, 0, 0, 455, 456, 5, 34, 0, 0, 456, 498, 1, 0, 0, 0, 457, 458, 3, 91, 45, 0, 458, 462, 5, 39, 0, 0, 459, 461, 8, 14, 0, 0, 460, 459, 1, 0, 0, 0, 461, 464, 1, 0, 0, 0, 462, 460, 1, 0, 0, 0, 462, 463, 1, 0, 0, 0, 463, 465, 1, 0, 0, 0, 464, 462, 1, 0, 0, 0, 465, 466, 5, 39, 0, 0, 466, 498, 1, 0, 0, 0, 467, 468, 3, 91, 45, 0, 468, 469, 5, 34, 0, 0, 469, 470, 5, 34, 0, 0, 470, 471, 5, 34, 0, 0, 471, 475, 1, 0, 0, 0, 472, 474, 9, 0, 0, 0, 473, 472, 1, 0, 0, 0, 474, 477, 1, 0, 0, 0, 475, 476, 1, 0, 0, 0, 475, 473, 1, 0, 0, 0, 476, 478, 1, 0, 0, 0, 477, 475, 1, 0, 0, 0, 478, 479, 5, 34, 0, 0, 479, 480, 5, 34, 0, 0, 480, 481, 5, 34, 0, 0, 481, 498, 1, 0, 0, 0, 482, 483, 3, 91, 45, 0, 483, 484, 5, 39, 0, 0, 484, 485, 5, 39, 0, 0, 485, 486, 5, 39, 0, 0, 486, 490, 1, 0, 0, 0, 487, 489, 9, 0, 0, 0, 488, 487, 1, 0, 0, 0, 489, 492, 1, 0, 0, 0, 490, 491, 1, 0, 0, 0, 490, 488, 1, 0, 0, 0, 491, 493, 1, 0, 0, 0, 492, 490, 1, 0, 0, 0, 493, 494, 5, 39, 0, 0, 494, 495, 5, 39, 0, 0, 495, 496, 5, 39, 0, 0, 496, 498, 1, 0, 0, 0, 497, 401, 1, 0, 0, 0, 497, 410, 1, 0, 0, 0, 497, 419, 1, 0, 0, 0, 497, 433, 1, 0, 0, 0, 497, 447, 1, 0, 0, 0, 497, 457, 1, 0, 0, 0, 497, 467, 1, 0, 0, 0, 497, 482, 1, 0, 0, 0, 498, 114, 1, 0, 0, 0, 499, 500, 7, 15, 0, 0, 500, 501, 3, 113, 56, 0, 501, 116, 1, 0, 0, 0, 502, 505, 3, 83, 41, 0, 503, 505, 5, 95, 0, 0, 504, 502, 1, 0, 0, 0, 504, 503, 1, 0, 0, 0, 505, 511, 1, 0, 0, 0, 506, 510, 3, 83, 41, 0, 507, 510, 3, 85, 42, 0, 508, 510, 5, 95, 0, 0, 509, 506, 1, 0, 0, 0, 509, 507, 1, 0, 0, 0, 509, 508, 1, 0, 0, 0, 510, 513, 1, 0, 0, 0, 511, 509, 1, 0, 0, 0, 511, 512, 1, 0, 0, 0, 512, 118, 1, 0, 0, 0, 513, 511, 1, 0, 0, 0, 37, 0, 176, 267, 272, 282, 315, 320, 330, 338, 344, 347, 352, 360, 363, 365, 370, 378, 380, 385, 395, 399, 404, 406, 413, 415, 425, 427, 439, 441, 452, 462, 475, 490, 497, 504, 509, 511, 1, 0, 1, 0] \ No newline at end of file diff --git a/repl/parser/CommandsLexer.tokens b/repl/parser/CommandsLexer.tokens index 86c6bdb6..10fe2fb8 100644 --- a/repl/parser/CommandsLexer.tokens +++ b/repl/parser/CommandsLexer.tokens @@ -5,80 +5,82 @@ T__3=4 T__4=5 T__5=6 T__6=7 -COMMAND=8 -FLAG=9 -ARROW=10 -EQUAL_ASSIGN=11 -EQUALS=12 -NOT_EQUALS=13 -IN=14 -LESS=15 -LESS_EQUALS=16 -GREATER_EQUALS=17 -GREATER=18 -LOGICAL_AND=19 -LOGICAL_OR=20 -LBRACKET=21 -RPRACKET=22 -LBRACE=23 -RBRACE=24 -LPAREN=25 -RPAREN=26 -DOT=27 -COMMA=28 -MINUS=29 -EXCLAM=30 -QUESTIONMARK=31 -COLON=32 -PLUS=33 -STAR=34 -SLASH=35 -PERCENT=36 -CEL_TRUE=37 -CEL_FALSE=38 -NUL=39 -WHITESPACE=40 -COMMENT=41 -NUM_FLOAT=42 -NUM_INT=43 -NUM_UINT=44 -STRING=45 -BYTES=46 -IDENTIFIER=47 +T__7=8 +COMMAND=9 +FLAG=10 +ARROW=11 +EQUAL_ASSIGN=12 +EQUALS=13 +NOT_EQUALS=14 +IN=15 +LESS=16 +LESS_EQUALS=17 +GREATER_EQUALS=18 +GREATER=19 +LOGICAL_AND=20 +LOGICAL_OR=21 +LBRACKET=22 +RPRACKET=23 +LBRACE=24 +RBRACE=25 +LPAREN=26 +RPAREN=27 +DOT=28 +COMMA=29 +MINUS=30 +EXCLAM=31 +QUESTIONMARK=32 +COLON=33 +PLUS=34 +STAR=35 +SLASH=36 +PERCENT=37 +CEL_TRUE=38 +CEL_FALSE=39 +NUL=40 +WHITESPACE=41 +COMMENT=42 +NUM_FLOAT=43 +NUM_INT=44 +NUM_UINT=45 +STRING=46 +BYTES=47 +IDENTIFIER=48 '%help'=1 '%?'=2 '%let'=3 '%declare'=4 '%delete'=5 '%compile'=6 -'%eval'=7 -'->'=10 -'='=11 -'=='=12 -'!='=13 -'in'=14 -'<'=15 -'<='=16 -'>='=17 -'>'=18 -'&&'=19 -'||'=20 -'['=21 -']'=22 -'{'=23 -'}'=24 -'('=25 -')'=26 -'.'=27 -','=28 -'-'=29 -'!'=30 -'?'=31 -':'=32 -'+'=33 -'*'=34 -'/'=35 -'%'=36 -'true'=37 -'false'=38 -'null'=39 +'%parse'=7 +'%eval'=8 +'->'=11 +'='=12 +'=='=13 +'!='=14 +'in'=15 +'<'=16 +'<='=17 +'>='=18 +'>'=19 +'&&'=20 +'||'=21 +'['=22 +']'=23 +'{'=24 +'}'=25 +'('=26 +')'=27 +'.'=28 +','=29 +'-'=30 +'!'=31 +'?'=32 +':'=33 +'+'=34 +'*'=35 +'/'=36 +'%'=37 +'true'=38 +'false'=39 +'null'=40 diff --git a/repl/parser/commands_base_listener.go b/repl/parser/commands_base_listener.go index 15695548..14931f6d 100644 --- a/repl/parser/commands_base_listener.go +++ b/repl/parser/commands_base_listener.go @@ -92,6 +92,12 @@ func (s *BaseCommandsListener) EnterCompile(ctx *CompileContext) {} // ExitCompile is called when production compile is exited. func (s *BaseCommandsListener) ExitCompile(ctx *CompileContext) {} +// EnterParse is called when production parse is entered. +func (s *BaseCommandsListener) EnterParse(ctx *ParseContext) {} + +// ExitParse is called when production parse is exited. +func (s *BaseCommandsListener) ExitParse(ctx *ParseContext) {} + // EnterExprCmd is called when production exprCmd is entered. func (s *BaseCommandsListener) EnterExprCmd(ctx *ExprCmdContext) {} diff --git a/repl/parser/commands_base_visitor.go b/repl/parser/commands_base_visitor.go index 6de2759e..ff67a6f6 100644 --- a/repl/parser/commands_base_visitor.go +++ b/repl/parser/commands_base_visitor.go @@ -3,7 +3,6 @@ package parser // Commands import "github.com/antlr4-go/antlr/v4" - type BaseCommandsVisitor struct { *antlr.BaseParseTreeVisitor } @@ -56,6 +55,10 @@ func (v *BaseCommandsVisitor) VisitCompile(ctx *CompileContext) interface{} { return v.VisitChildren(ctx) } +func (v *BaseCommandsVisitor) VisitParse(ctx *ParseContext) interface{} { + return v.VisitChildren(ctx) +} + func (v *BaseCommandsVisitor) VisitExprCmd(ctx *ExprCmdContext) interface{} { return v.VisitChildren(ctx) } diff --git a/repl/parser/commands_lexer.go b/repl/parser/commands_lexer.go index e5942a65..28f4dc12 100644 --- a/repl/parser/commands_lexer.go +++ b/repl/parser/commands_lexer.go @@ -1,316 +1,321 @@ // Code generated from ./Commands.g4 by ANTLR 4.13.1. DO NOT EDIT. package parser + import ( "fmt" - "sync" - "unicode" "github.com/antlr4-go/antlr/v4" + "sync" + "unicode" ) + // Suppress unused import error var _ = fmt.Printf var _ = sync.Once{} var _ = unicode.IsLetter - type CommandsLexer struct { *antlr.BaseLexer channelNames []string - modeNames []string + modeNames []string // TODO: EOF string } var CommandsLexerLexerStaticData struct { - once sync.Once - serializedATN []int32 - ChannelNames []string - ModeNames []string - LiteralNames []string - SymbolicNames []string - RuleNames []string - PredictionContextCache *antlr.PredictionContextCache - atn *antlr.ATN - decisionToDFA []*antlr.DFA + once sync.Once + serializedATN []int32 + ChannelNames []string + ModeNames []string + LiteralNames []string + SymbolicNames []string + RuleNames []string + PredictionContextCache *antlr.PredictionContextCache + atn *antlr.ATN + decisionToDFA []*antlr.DFA } func commandslexerLexerInit() { - staticData := &CommandsLexerLexerStaticData - staticData.ChannelNames = []string{ - "DEFAULT_TOKEN_CHANNEL", "HIDDEN", - } - staticData.ModeNames = []string{ - "DEFAULT_MODE", - } - staticData.LiteralNames = []string{ - "", "'%help'", "'%?'", "'%let'", "'%declare'", "'%delete'", "'%compile'", - "'%eval'", "", "", "'->'", "'='", "'=='", "'!='", "'in'", "'<'", "'<='", - "'>='", "'>'", "'&&'", "'||'", "'['", "']'", "'{'", "'}'", "'('", "')'", - "'.'", "','", "'-'", "'!'", "'?'", "':'", "'+'", "'*'", "'/'", "'%'", - "'true'", "'false'", "'null'", - } - staticData.SymbolicNames = []string{ - "", "", "", "", "", "", "", "", "COMMAND", "FLAG", "ARROW", "EQUAL_ASSIGN", - "EQUALS", "NOT_EQUALS", "IN", "LESS", "LESS_EQUALS", "GREATER_EQUALS", - "GREATER", "LOGICAL_AND", "LOGICAL_OR", "LBRACKET", "RPRACKET", "LBRACE", - "RBRACE", "LPAREN", "RPAREN", "DOT", "COMMA", "MINUS", "EXCLAM", "QUESTIONMARK", - "COLON", "PLUS", "STAR", "SLASH", "PERCENT", "CEL_TRUE", "CEL_FALSE", - "NUL", "WHITESPACE", "COMMENT", "NUM_FLOAT", "NUM_INT", "NUM_UINT", - "STRING", "BYTES", "IDENTIFIER", - } - staticData.RuleNames = []string{ - "T__0", "T__1", "T__2", "T__3", "T__4", "T__5", "T__6", "COMMAND", "FLAG", - "ARROW", "EQUAL_ASSIGN", "EQUALS", "NOT_EQUALS", "IN", "LESS", "LESS_EQUALS", - "GREATER_EQUALS", "GREATER", "LOGICAL_AND", "LOGICAL_OR", "LBRACKET", - "RPRACKET", "LBRACE", "RBRACE", "LPAREN", "RPAREN", "DOT", "COMMA", - "MINUS", "EXCLAM", "QUESTIONMARK", "COLON", "PLUS", "STAR", "SLASH", - "PERCENT", "CEL_TRUE", "CEL_FALSE", "NUL", "BACKSLASH", "LETTER", "DIGIT", - "EXPONENT", "HEXDIGIT", "RAW", "ESC_SEQ", "ESC_CHAR_SEQ", "ESC_OCT_SEQ", - "ESC_BYTE_SEQ", "ESC_UNI_SEQ", "WHITESPACE", "COMMENT", "NUM_FLOAT", - "NUM_INT", "NUM_UINT", "STRING", "BYTES", "IDENTIFIER", - } - staticData.PredictionContextCache = antlr.NewPredictionContextCache() - staticData.serializedATN = []int32{ - 4, 0, 47, 505, 6, -1, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, - 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, - 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, - 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, - 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, - 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30, 7, 30, 2, - 31, 7, 31, 2, 32, 7, 32, 2, 33, 7, 33, 2, 34, 7, 34, 2, 35, 7, 35, 2, 36, - 7, 36, 2, 37, 7, 37, 2, 38, 7, 38, 2, 39, 7, 39, 2, 40, 7, 40, 2, 41, 7, - 41, 2, 42, 7, 42, 2, 43, 7, 43, 2, 44, 7, 44, 2, 45, 7, 45, 2, 46, 7, 46, - 2, 47, 7, 47, 2, 48, 7, 48, 2, 49, 7, 49, 2, 50, 7, 50, 2, 51, 7, 51, 2, - 52, 7, 52, 2, 53, 7, 53, 2, 54, 7, 54, 2, 55, 7, 55, 2, 56, 7, 56, 2, 57, - 7, 57, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, - 1, 2, 1, 2, 1, 2, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, - 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, 5, - 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 7, - 1, 7, 1, 7, 1, 8, 3, 8, 168, 8, 8, 1, 8, 1, 8, 1, 8, 1, 9, 1, 9, 1, 9, - 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 1, 12, 1, 12, 1, 12, 1, 13, 1, 13, 1, - 13, 1, 14, 1, 14, 1, 15, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 1, 17, 1, 17, - 1, 18, 1, 18, 1, 18, 1, 19, 1, 19, 1, 19, 1, 20, 1, 20, 1, 21, 1, 21, 1, - 22, 1, 22, 1, 23, 1, 23, 1, 24, 1, 24, 1, 25, 1, 25, 1, 26, 1, 26, 1, 27, - 1, 27, 1, 28, 1, 28, 1, 29, 1, 29, 1, 30, 1, 30, 1, 31, 1, 31, 1, 32, 1, - 32, 1, 33, 1, 33, 1, 34, 1, 34, 1, 35, 1, 35, 1, 36, 1, 36, 1, 36, 1, 36, - 1, 36, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 38, 1, 38, 1, 38, 1, - 38, 1, 38, 1, 39, 1, 39, 1, 40, 1, 40, 1, 41, 1, 41, 1, 42, 1, 42, 3, 42, - 259, 8, 42, 1, 42, 4, 42, 262, 8, 42, 11, 42, 12, 42, 263, 1, 43, 1, 43, - 1, 44, 1, 44, 1, 45, 1, 45, 1, 45, 1, 45, 3, 45, 274, 8, 45, 1, 46, 1, - 46, 1, 46, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 48, 1, 48, 1, 48, 1, 48, - 1, 48, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, - 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 3, 49, 307, - 8, 49, 1, 50, 4, 50, 310, 8, 50, 11, 50, 12, 50, 311, 1, 50, 1, 50, 1, - 51, 1, 51, 1, 51, 1, 51, 5, 51, 320, 8, 51, 10, 51, 12, 51, 323, 9, 51, - 1, 51, 1, 51, 1, 52, 4, 52, 328, 8, 52, 11, 52, 12, 52, 329, 1, 52, 1, - 52, 4, 52, 334, 8, 52, 11, 52, 12, 52, 335, 1, 52, 3, 52, 339, 8, 52, 1, - 52, 4, 52, 342, 8, 52, 11, 52, 12, 52, 343, 1, 52, 1, 52, 1, 52, 1, 52, - 4, 52, 350, 8, 52, 11, 52, 12, 52, 351, 1, 52, 3, 52, 355, 8, 52, 3, 52, - 357, 8, 52, 1, 53, 4, 53, 360, 8, 53, 11, 53, 12, 53, 361, 1, 53, 1, 53, - 1, 53, 1, 53, 4, 53, 368, 8, 53, 11, 53, 12, 53, 369, 3, 53, 372, 8, 53, - 1, 54, 4, 54, 375, 8, 54, 11, 54, 12, 54, 376, 1, 54, 1, 54, 1, 54, 1, - 54, 1, 54, 1, 54, 4, 54, 385, 8, 54, 11, 54, 12, 54, 386, 1, 54, 1, 54, - 3, 54, 391, 8, 54, 1, 55, 1, 55, 1, 55, 5, 55, 396, 8, 55, 10, 55, 12, - 55, 399, 9, 55, 1, 55, 1, 55, 1, 55, 1, 55, 5, 55, 405, 8, 55, 10, 55, - 12, 55, 408, 9, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 5, - 55, 417, 8, 55, 10, 55, 12, 55, 420, 9, 55, 1, 55, 1, 55, 1, 55, 1, 55, - 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 5, 55, 431, 8, 55, 10, 55, 12, 55, 434, - 9, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 5, 55, 442, 8, 55, 10, - 55, 12, 55, 445, 9, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 5, 55, 452, - 8, 55, 10, 55, 12, 55, 455, 9, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, - 55, 1, 55, 1, 55, 5, 55, 465, 8, 55, 10, 55, 12, 55, 468, 9, 55, 1, 55, - 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 5, 55, 480, - 8, 55, 10, 55, 12, 55, 483, 9, 55, 1, 55, 1, 55, 1, 55, 1, 55, 3, 55, 489, - 8, 55, 1, 56, 1, 56, 1, 56, 1, 57, 1, 57, 3, 57, 496, 8, 57, 1, 57, 1, - 57, 1, 57, 5, 57, 501, 8, 57, 10, 57, 12, 57, 504, 9, 57, 4, 418, 432, - 466, 481, 0, 58, 1, 1, 3, 2, 5, 3, 7, 4, 9, 5, 11, 6, 13, 7, 15, 8, 17, - 9, 19, 10, 21, 11, 23, 12, 25, 13, 27, 14, 29, 15, 31, 16, 33, 17, 35, - 18, 37, 19, 39, 20, 41, 21, 43, 22, 45, 23, 47, 24, 49, 25, 51, 26, 53, - 27, 55, 28, 57, 29, 59, 30, 61, 31, 63, 32, 65, 33, 67, 34, 69, 35, 71, - 36, 73, 37, 75, 38, 77, 39, 79, 0, 81, 0, 83, 0, 85, 0, 87, 0, 89, 0, 91, - 0, 93, 0, 95, 0, 97, 0, 99, 0, 101, 40, 103, 41, 105, 42, 107, 43, 109, - 44, 111, 45, 113, 46, 115, 47, 1, 0, 16, 2, 0, 65, 90, 97, 122, 2, 0, 69, - 69, 101, 101, 2, 0, 43, 43, 45, 45, 3, 0, 48, 57, 65, 70, 97, 102, 2, 0, - 82, 82, 114, 114, 10, 0, 34, 34, 39, 39, 63, 63, 92, 92, 96, 98, 102, 102, - 110, 110, 114, 114, 116, 116, 118, 118, 2, 0, 88, 88, 120, 120, 3, 0, 9, - 10, 12, 13, 32, 32, 1, 0, 10, 10, 2, 0, 85, 85, 117, 117, 4, 0, 10, 10, - 13, 13, 34, 34, 92, 92, 4, 0, 10, 10, 13, 13, 39, 39, 92, 92, 1, 0, 92, - 92, 3, 0, 10, 10, 13, 13, 34, 34, 3, 0, 10, 10, 13, 13, 39, 39, 2, 0, 66, - 66, 98, 98, 539, 0, 1, 1, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 5, 1, 0, 0, 0, - 0, 7, 1, 0, 0, 0, 0, 9, 1, 0, 0, 0, 0, 11, 1, 0, 0, 0, 0, 13, 1, 0, 0, - 0, 0, 15, 1, 0, 0, 0, 0, 17, 1, 0, 0, 0, 0, 19, 1, 0, 0, 0, 0, 21, 1, 0, - 0, 0, 0, 23, 1, 0, 0, 0, 0, 25, 1, 0, 0, 0, 0, 27, 1, 0, 0, 0, 0, 29, 1, - 0, 0, 0, 0, 31, 1, 0, 0, 0, 0, 33, 1, 0, 0, 0, 0, 35, 1, 0, 0, 0, 0, 37, - 1, 0, 0, 0, 0, 39, 1, 0, 0, 0, 0, 41, 1, 0, 0, 0, 0, 43, 1, 0, 0, 0, 0, - 45, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 49, 1, 0, 0, 0, 0, 51, 1, 0, 0, 0, - 0, 53, 1, 0, 0, 0, 0, 55, 1, 0, 0, 0, 0, 57, 1, 0, 0, 0, 0, 59, 1, 0, 0, - 0, 0, 61, 1, 0, 0, 0, 0, 63, 1, 0, 0, 0, 0, 65, 1, 0, 0, 0, 0, 67, 1, 0, - 0, 0, 0, 69, 1, 0, 0, 0, 0, 71, 1, 0, 0, 0, 0, 73, 1, 0, 0, 0, 0, 75, 1, - 0, 0, 0, 0, 77, 1, 0, 0, 0, 0, 101, 1, 0, 0, 0, 0, 103, 1, 0, 0, 0, 0, - 105, 1, 0, 0, 0, 0, 107, 1, 0, 0, 0, 0, 109, 1, 0, 0, 0, 0, 111, 1, 0, - 0, 0, 0, 113, 1, 0, 0, 0, 0, 115, 1, 0, 0, 0, 1, 117, 1, 0, 0, 0, 3, 123, - 1, 0, 0, 0, 5, 126, 1, 0, 0, 0, 7, 131, 1, 0, 0, 0, 9, 140, 1, 0, 0, 0, - 11, 148, 1, 0, 0, 0, 13, 157, 1, 0, 0, 0, 15, 163, 1, 0, 0, 0, 17, 167, - 1, 0, 0, 0, 19, 172, 1, 0, 0, 0, 21, 175, 1, 0, 0, 0, 23, 177, 1, 0, 0, - 0, 25, 180, 1, 0, 0, 0, 27, 183, 1, 0, 0, 0, 29, 186, 1, 0, 0, 0, 31, 188, - 1, 0, 0, 0, 33, 191, 1, 0, 0, 0, 35, 194, 1, 0, 0, 0, 37, 196, 1, 0, 0, - 0, 39, 199, 1, 0, 0, 0, 41, 202, 1, 0, 0, 0, 43, 204, 1, 0, 0, 0, 45, 206, - 1, 0, 0, 0, 47, 208, 1, 0, 0, 0, 49, 210, 1, 0, 0, 0, 51, 212, 1, 0, 0, - 0, 53, 214, 1, 0, 0, 0, 55, 216, 1, 0, 0, 0, 57, 218, 1, 0, 0, 0, 59, 220, - 1, 0, 0, 0, 61, 222, 1, 0, 0, 0, 63, 224, 1, 0, 0, 0, 65, 226, 1, 0, 0, - 0, 67, 228, 1, 0, 0, 0, 69, 230, 1, 0, 0, 0, 71, 232, 1, 0, 0, 0, 73, 234, - 1, 0, 0, 0, 75, 239, 1, 0, 0, 0, 77, 245, 1, 0, 0, 0, 79, 250, 1, 0, 0, - 0, 81, 252, 1, 0, 0, 0, 83, 254, 1, 0, 0, 0, 85, 256, 1, 0, 0, 0, 87, 265, - 1, 0, 0, 0, 89, 267, 1, 0, 0, 0, 91, 273, 1, 0, 0, 0, 93, 275, 1, 0, 0, - 0, 95, 278, 1, 0, 0, 0, 97, 283, 1, 0, 0, 0, 99, 306, 1, 0, 0, 0, 101, - 309, 1, 0, 0, 0, 103, 315, 1, 0, 0, 0, 105, 356, 1, 0, 0, 0, 107, 371, - 1, 0, 0, 0, 109, 390, 1, 0, 0, 0, 111, 488, 1, 0, 0, 0, 113, 490, 1, 0, - 0, 0, 115, 495, 1, 0, 0, 0, 117, 118, 5, 37, 0, 0, 118, 119, 5, 104, 0, - 0, 119, 120, 5, 101, 0, 0, 120, 121, 5, 108, 0, 0, 121, 122, 5, 112, 0, - 0, 122, 2, 1, 0, 0, 0, 123, 124, 5, 37, 0, 0, 124, 125, 5, 63, 0, 0, 125, - 4, 1, 0, 0, 0, 126, 127, 5, 37, 0, 0, 127, 128, 5, 108, 0, 0, 128, 129, - 5, 101, 0, 0, 129, 130, 5, 116, 0, 0, 130, 6, 1, 0, 0, 0, 131, 132, 5, - 37, 0, 0, 132, 133, 5, 100, 0, 0, 133, 134, 5, 101, 0, 0, 134, 135, 5, - 99, 0, 0, 135, 136, 5, 108, 0, 0, 136, 137, 5, 97, 0, 0, 137, 138, 5, 114, - 0, 0, 138, 139, 5, 101, 0, 0, 139, 8, 1, 0, 0, 0, 140, 141, 5, 37, 0, 0, - 141, 142, 5, 100, 0, 0, 142, 143, 5, 101, 0, 0, 143, 144, 5, 108, 0, 0, - 144, 145, 5, 101, 0, 0, 145, 146, 5, 116, 0, 0, 146, 147, 5, 101, 0, 0, - 147, 10, 1, 0, 0, 0, 148, 149, 5, 37, 0, 0, 149, 150, 5, 99, 0, 0, 150, - 151, 5, 111, 0, 0, 151, 152, 5, 109, 0, 0, 152, 153, 5, 112, 0, 0, 153, - 154, 5, 105, 0, 0, 154, 155, 5, 108, 0, 0, 155, 156, 5, 101, 0, 0, 156, - 12, 1, 0, 0, 0, 157, 158, 5, 37, 0, 0, 158, 159, 5, 101, 0, 0, 159, 160, - 5, 118, 0, 0, 160, 161, 5, 97, 0, 0, 161, 162, 5, 108, 0, 0, 162, 14, 1, - 0, 0, 0, 163, 164, 5, 37, 0, 0, 164, 165, 3, 115, 57, 0, 165, 16, 1, 0, - 0, 0, 166, 168, 5, 45, 0, 0, 167, 166, 1, 0, 0, 0, 167, 168, 1, 0, 0, 0, - 168, 169, 1, 0, 0, 0, 169, 170, 5, 45, 0, 0, 170, 171, 3, 115, 57, 0, 171, - 18, 1, 0, 0, 0, 172, 173, 5, 45, 0, 0, 173, 174, 5, 62, 0, 0, 174, 20, - 1, 0, 0, 0, 175, 176, 5, 61, 0, 0, 176, 22, 1, 0, 0, 0, 177, 178, 5, 61, - 0, 0, 178, 179, 5, 61, 0, 0, 179, 24, 1, 0, 0, 0, 180, 181, 5, 33, 0, 0, - 181, 182, 5, 61, 0, 0, 182, 26, 1, 0, 0, 0, 183, 184, 5, 105, 0, 0, 184, - 185, 5, 110, 0, 0, 185, 28, 1, 0, 0, 0, 186, 187, 5, 60, 0, 0, 187, 30, - 1, 0, 0, 0, 188, 189, 5, 60, 0, 0, 189, 190, 5, 61, 0, 0, 190, 32, 1, 0, - 0, 0, 191, 192, 5, 62, 0, 0, 192, 193, 5, 61, 0, 0, 193, 34, 1, 0, 0, 0, - 194, 195, 5, 62, 0, 0, 195, 36, 1, 0, 0, 0, 196, 197, 5, 38, 0, 0, 197, - 198, 5, 38, 0, 0, 198, 38, 1, 0, 0, 0, 199, 200, 5, 124, 0, 0, 200, 201, - 5, 124, 0, 0, 201, 40, 1, 0, 0, 0, 202, 203, 5, 91, 0, 0, 203, 42, 1, 0, - 0, 0, 204, 205, 5, 93, 0, 0, 205, 44, 1, 0, 0, 0, 206, 207, 5, 123, 0, - 0, 207, 46, 1, 0, 0, 0, 208, 209, 5, 125, 0, 0, 209, 48, 1, 0, 0, 0, 210, - 211, 5, 40, 0, 0, 211, 50, 1, 0, 0, 0, 212, 213, 5, 41, 0, 0, 213, 52, - 1, 0, 0, 0, 214, 215, 5, 46, 0, 0, 215, 54, 1, 0, 0, 0, 216, 217, 5, 44, - 0, 0, 217, 56, 1, 0, 0, 0, 218, 219, 5, 45, 0, 0, 219, 58, 1, 0, 0, 0, - 220, 221, 5, 33, 0, 0, 221, 60, 1, 0, 0, 0, 222, 223, 5, 63, 0, 0, 223, - 62, 1, 0, 0, 0, 224, 225, 5, 58, 0, 0, 225, 64, 1, 0, 0, 0, 226, 227, 5, - 43, 0, 0, 227, 66, 1, 0, 0, 0, 228, 229, 5, 42, 0, 0, 229, 68, 1, 0, 0, - 0, 230, 231, 5, 47, 0, 0, 231, 70, 1, 0, 0, 0, 232, 233, 5, 37, 0, 0, 233, - 72, 1, 0, 0, 0, 234, 235, 5, 116, 0, 0, 235, 236, 5, 114, 0, 0, 236, 237, - 5, 117, 0, 0, 237, 238, 5, 101, 0, 0, 238, 74, 1, 0, 0, 0, 239, 240, 5, - 102, 0, 0, 240, 241, 5, 97, 0, 0, 241, 242, 5, 108, 0, 0, 242, 243, 5, - 115, 0, 0, 243, 244, 5, 101, 0, 0, 244, 76, 1, 0, 0, 0, 245, 246, 5, 110, - 0, 0, 246, 247, 5, 117, 0, 0, 247, 248, 5, 108, 0, 0, 248, 249, 5, 108, - 0, 0, 249, 78, 1, 0, 0, 0, 250, 251, 5, 92, 0, 0, 251, 80, 1, 0, 0, 0, - 252, 253, 7, 0, 0, 0, 253, 82, 1, 0, 0, 0, 254, 255, 2, 48, 57, 0, 255, - 84, 1, 0, 0, 0, 256, 258, 7, 1, 0, 0, 257, 259, 7, 2, 0, 0, 258, 257, 1, - 0, 0, 0, 258, 259, 1, 0, 0, 0, 259, 261, 1, 0, 0, 0, 260, 262, 3, 83, 41, - 0, 261, 260, 1, 0, 0, 0, 262, 263, 1, 0, 0, 0, 263, 261, 1, 0, 0, 0, 263, - 264, 1, 0, 0, 0, 264, 86, 1, 0, 0, 0, 265, 266, 7, 3, 0, 0, 266, 88, 1, - 0, 0, 0, 267, 268, 7, 4, 0, 0, 268, 90, 1, 0, 0, 0, 269, 274, 3, 93, 46, - 0, 270, 274, 3, 97, 48, 0, 271, 274, 3, 99, 49, 0, 272, 274, 3, 95, 47, - 0, 273, 269, 1, 0, 0, 0, 273, 270, 1, 0, 0, 0, 273, 271, 1, 0, 0, 0, 273, - 272, 1, 0, 0, 0, 274, 92, 1, 0, 0, 0, 275, 276, 3, 79, 39, 0, 276, 277, - 7, 5, 0, 0, 277, 94, 1, 0, 0, 0, 278, 279, 3, 79, 39, 0, 279, 280, 2, 48, - 51, 0, 280, 281, 2, 48, 55, 0, 281, 282, 2, 48, 55, 0, 282, 96, 1, 0, 0, - 0, 283, 284, 3, 79, 39, 0, 284, 285, 7, 6, 0, 0, 285, 286, 3, 87, 43, 0, - 286, 287, 3, 87, 43, 0, 287, 98, 1, 0, 0, 0, 288, 289, 3, 79, 39, 0, 289, - 290, 5, 117, 0, 0, 290, 291, 3, 87, 43, 0, 291, 292, 3, 87, 43, 0, 292, - 293, 3, 87, 43, 0, 293, 294, 3, 87, 43, 0, 294, 307, 1, 0, 0, 0, 295, 296, - 3, 79, 39, 0, 296, 297, 5, 85, 0, 0, 297, 298, 3, 87, 43, 0, 298, 299, - 3, 87, 43, 0, 299, 300, 3, 87, 43, 0, 300, 301, 3, 87, 43, 0, 301, 302, - 3, 87, 43, 0, 302, 303, 3, 87, 43, 0, 303, 304, 3, 87, 43, 0, 304, 305, - 3, 87, 43, 0, 305, 307, 1, 0, 0, 0, 306, 288, 1, 0, 0, 0, 306, 295, 1, - 0, 0, 0, 307, 100, 1, 0, 0, 0, 308, 310, 7, 7, 0, 0, 309, 308, 1, 0, 0, - 0, 310, 311, 1, 0, 0, 0, 311, 309, 1, 0, 0, 0, 311, 312, 1, 0, 0, 0, 312, - 313, 1, 0, 0, 0, 313, 314, 6, 50, 0, 0, 314, 102, 1, 0, 0, 0, 315, 316, - 5, 47, 0, 0, 316, 317, 5, 47, 0, 0, 317, 321, 1, 0, 0, 0, 318, 320, 8, - 8, 0, 0, 319, 318, 1, 0, 0, 0, 320, 323, 1, 0, 0, 0, 321, 319, 1, 0, 0, - 0, 321, 322, 1, 0, 0, 0, 322, 324, 1, 0, 0, 0, 323, 321, 1, 0, 0, 0, 324, - 325, 6, 51, 0, 0, 325, 104, 1, 0, 0, 0, 326, 328, 3, 83, 41, 0, 327, 326, - 1, 0, 0, 0, 328, 329, 1, 0, 0, 0, 329, 327, 1, 0, 0, 0, 329, 330, 1, 0, - 0, 0, 330, 331, 1, 0, 0, 0, 331, 333, 5, 46, 0, 0, 332, 334, 3, 83, 41, - 0, 333, 332, 1, 0, 0, 0, 334, 335, 1, 0, 0, 0, 335, 333, 1, 0, 0, 0, 335, - 336, 1, 0, 0, 0, 336, 338, 1, 0, 0, 0, 337, 339, 3, 85, 42, 0, 338, 337, - 1, 0, 0, 0, 338, 339, 1, 0, 0, 0, 339, 357, 1, 0, 0, 0, 340, 342, 3, 83, - 41, 0, 341, 340, 1, 0, 0, 0, 342, 343, 1, 0, 0, 0, 343, 341, 1, 0, 0, 0, - 343, 344, 1, 0, 0, 0, 344, 345, 1, 0, 0, 0, 345, 346, 3, 85, 42, 0, 346, - 357, 1, 0, 0, 0, 347, 349, 5, 46, 0, 0, 348, 350, 3, 83, 41, 0, 349, 348, - 1, 0, 0, 0, 350, 351, 1, 0, 0, 0, 351, 349, 1, 0, 0, 0, 351, 352, 1, 0, - 0, 0, 352, 354, 1, 0, 0, 0, 353, 355, 3, 85, 42, 0, 354, 353, 1, 0, 0, - 0, 354, 355, 1, 0, 0, 0, 355, 357, 1, 0, 0, 0, 356, 327, 1, 0, 0, 0, 356, - 341, 1, 0, 0, 0, 356, 347, 1, 0, 0, 0, 357, 106, 1, 0, 0, 0, 358, 360, - 3, 83, 41, 0, 359, 358, 1, 0, 0, 0, 360, 361, 1, 0, 0, 0, 361, 359, 1, - 0, 0, 0, 361, 362, 1, 0, 0, 0, 362, 372, 1, 0, 0, 0, 363, 364, 5, 48, 0, - 0, 364, 365, 5, 120, 0, 0, 365, 367, 1, 0, 0, 0, 366, 368, 3, 87, 43, 0, - 367, 366, 1, 0, 0, 0, 368, 369, 1, 0, 0, 0, 369, 367, 1, 0, 0, 0, 369, - 370, 1, 0, 0, 0, 370, 372, 1, 0, 0, 0, 371, 359, 1, 0, 0, 0, 371, 363, - 1, 0, 0, 0, 372, 108, 1, 0, 0, 0, 373, 375, 3, 83, 41, 0, 374, 373, 1, - 0, 0, 0, 375, 376, 1, 0, 0, 0, 376, 374, 1, 0, 0, 0, 376, 377, 1, 0, 0, - 0, 377, 378, 1, 0, 0, 0, 378, 379, 7, 9, 0, 0, 379, 391, 1, 0, 0, 0, 380, - 381, 5, 48, 0, 0, 381, 382, 5, 120, 0, 0, 382, 384, 1, 0, 0, 0, 383, 385, - 3, 87, 43, 0, 384, 383, 1, 0, 0, 0, 385, 386, 1, 0, 0, 0, 386, 384, 1, - 0, 0, 0, 386, 387, 1, 0, 0, 0, 387, 388, 1, 0, 0, 0, 388, 389, 7, 9, 0, - 0, 389, 391, 1, 0, 0, 0, 390, 374, 1, 0, 0, 0, 390, 380, 1, 0, 0, 0, 391, - 110, 1, 0, 0, 0, 392, 397, 5, 34, 0, 0, 393, 396, 3, 91, 45, 0, 394, 396, - 8, 10, 0, 0, 395, 393, 1, 0, 0, 0, 395, 394, 1, 0, 0, 0, 396, 399, 1, 0, - 0, 0, 397, 395, 1, 0, 0, 0, 397, 398, 1, 0, 0, 0, 398, 400, 1, 0, 0, 0, - 399, 397, 1, 0, 0, 0, 400, 489, 5, 34, 0, 0, 401, 406, 5, 39, 0, 0, 402, - 405, 3, 91, 45, 0, 403, 405, 8, 11, 0, 0, 404, 402, 1, 0, 0, 0, 404, 403, - 1, 0, 0, 0, 405, 408, 1, 0, 0, 0, 406, 404, 1, 0, 0, 0, 406, 407, 1, 0, - 0, 0, 407, 409, 1, 0, 0, 0, 408, 406, 1, 0, 0, 0, 409, 489, 5, 39, 0, 0, - 410, 411, 5, 34, 0, 0, 411, 412, 5, 34, 0, 0, 412, 413, 5, 34, 0, 0, 413, - 418, 1, 0, 0, 0, 414, 417, 3, 91, 45, 0, 415, 417, 8, 12, 0, 0, 416, 414, - 1, 0, 0, 0, 416, 415, 1, 0, 0, 0, 417, 420, 1, 0, 0, 0, 418, 419, 1, 0, - 0, 0, 418, 416, 1, 0, 0, 0, 419, 421, 1, 0, 0, 0, 420, 418, 1, 0, 0, 0, - 421, 422, 5, 34, 0, 0, 422, 423, 5, 34, 0, 0, 423, 489, 5, 34, 0, 0, 424, - 425, 5, 39, 0, 0, 425, 426, 5, 39, 0, 0, 426, 427, 5, 39, 0, 0, 427, 432, - 1, 0, 0, 0, 428, 431, 3, 91, 45, 0, 429, 431, 8, 12, 0, 0, 430, 428, 1, - 0, 0, 0, 430, 429, 1, 0, 0, 0, 431, 434, 1, 0, 0, 0, 432, 433, 1, 0, 0, - 0, 432, 430, 1, 0, 0, 0, 433, 435, 1, 0, 0, 0, 434, 432, 1, 0, 0, 0, 435, - 436, 5, 39, 0, 0, 436, 437, 5, 39, 0, 0, 437, 489, 5, 39, 0, 0, 438, 439, - 3, 89, 44, 0, 439, 443, 5, 34, 0, 0, 440, 442, 8, 13, 0, 0, 441, 440, 1, - 0, 0, 0, 442, 445, 1, 0, 0, 0, 443, 441, 1, 0, 0, 0, 443, 444, 1, 0, 0, - 0, 444, 446, 1, 0, 0, 0, 445, 443, 1, 0, 0, 0, 446, 447, 5, 34, 0, 0, 447, - 489, 1, 0, 0, 0, 448, 449, 3, 89, 44, 0, 449, 453, 5, 39, 0, 0, 450, 452, - 8, 14, 0, 0, 451, 450, 1, 0, 0, 0, 452, 455, 1, 0, 0, 0, 453, 451, 1, 0, - 0, 0, 453, 454, 1, 0, 0, 0, 454, 456, 1, 0, 0, 0, 455, 453, 1, 0, 0, 0, - 456, 457, 5, 39, 0, 0, 457, 489, 1, 0, 0, 0, 458, 459, 3, 89, 44, 0, 459, - 460, 5, 34, 0, 0, 460, 461, 5, 34, 0, 0, 461, 462, 5, 34, 0, 0, 462, 466, - 1, 0, 0, 0, 463, 465, 9, 0, 0, 0, 464, 463, 1, 0, 0, 0, 465, 468, 1, 0, - 0, 0, 466, 467, 1, 0, 0, 0, 466, 464, 1, 0, 0, 0, 467, 469, 1, 0, 0, 0, - 468, 466, 1, 0, 0, 0, 469, 470, 5, 34, 0, 0, 470, 471, 5, 34, 0, 0, 471, - 472, 5, 34, 0, 0, 472, 489, 1, 0, 0, 0, 473, 474, 3, 89, 44, 0, 474, 475, - 5, 39, 0, 0, 475, 476, 5, 39, 0, 0, 476, 477, 5, 39, 0, 0, 477, 481, 1, - 0, 0, 0, 478, 480, 9, 0, 0, 0, 479, 478, 1, 0, 0, 0, 480, 483, 1, 0, 0, - 0, 481, 482, 1, 0, 0, 0, 481, 479, 1, 0, 0, 0, 482, 484, 1, 0, 0, 0, 483, - 481, 1, 0, 0, 0, 484, 485, 5, 39, 0, 0, 485, 486, 5, 39, 0, 0, 486, 487, - 5, 39, 0, 0, 487, 489, 1, 0, 0, 0, 488, 392, 1, 0, 0, 0, 488, 401, 1, 0, - 0, 0, 488, 410, 1, 0, 0, 0, 488, 424, 1, 0, 0, 0, 488, 438, 1, 0, 0, 0, - 488, 448, 1, 0, 0, 0, 488, 458, 1, 0, 0, 0, 488, 473, 1, 0, 0, 0, 489, - 112, 1, 0, 0, 0, 490, 491, 7, 15, 0, 0, 491, 492, 3, 111, 55, 0, 492, 114, - 1, 0, 0, 0, 493, 496, 3, 81, 40, 0, 494, 496, 5, 95, 0, 0, 495, 493, 1, - 0, 0, 0, 495, 494, 1, 0, 0, 0, 496, 502, 1, 0, 0, 0, 497, 501, 3, 81, 40, - 0, 498, 501, 3, 83, 41, 0, 499, 501, 5, 95, 0, 0, 500, 497, 1, 0, 0, 0, - 500, 498, 1, 0, 0, 0, 500, 499, 1, 0, 0, 0, 501, 504, 1, 0, 0, 0, 502, - 500, 1, 0, 0, 0, 502, 503, 1, 0, 0, 0, 503, 116, 1, 0, 0, 0, 504, 502, - 1, 0, 0, 0, 37, 0, 167, 258, 263, 273, 306, 311, 321, 329, 335, 338, 343, - 351, 354, 356, 361, 369, 371, 376, 386, 390, 395, 397, 404, 406, 416, 418, - 430, 432, 443, 453, 466, 481, 488, 495, 500, 502, 1, 0, 1, 0, -} - deserializer := antlr.NewATNDeserializer(nil) - staticData.atn = deserializer.Deserialize(staticData.serializedATN) - atn := staticData.atn - staticData.decisionToDFA = make([]*antlr.DFA, len(atn.DecisionToState)) - decisionToDFA := staticData.decisionToDFA - for index, state := range atn.DecisionToState { - decisionToDFA[index] = antlr.NewDFA(state, index) - } + staticData := &CommandsLexerLexerStaticData + staticData.ChannelNames = []string{ + "DEFAULT_TOKEN_CHANNEL", "HIDDEN", + } + staticData.ModeNames = []string{ + "DEFAULT_MODE", + } + staticData.LiteralNames = []string{ + "", "'%help'", "'%?'", "'%let'", "'%declare'", "'%delete'", "'%compile'", + "'%parse'", "'%eval'", "", "", "'->'", "'='", "'=='", "'!='", "'in'", + "'<'", "'<='", "'>='", "'>'", "'&&'", "'||'", "'['", "']'", "'{'", "'}'", + "'('", "')'", "'.'", "','", "'-'", "'!'", "'?'", "':'", "'+'", "'*'", + "'/'", "'%'", "'true'", "'false'", "'null'", + } + staticData.SymbolicNames = []string{ + "", "", "", "", "", "", "", "", "", "COMMAND", "FLAG", "ARROW", "EQUAL_ASSIGN", + "EQUALS", "NOT_EQUALS", "IN", "LESS", "LESS_EQUALS", "GREATER_EQUALS", + "GREATER", "LOGICAL_AND", "LOGICAL_OR", "LBRACKET", "RPRACKET", "LBRACE", + "RBRACE", "LPAREN", "RPAREN", "DOT", "COMMA", "MINUS", "EXCLAM", "QUESTIONMARK", + "COLON", "PLUS", "STAR", "SLASH", "PERCENT", "CEL_TRUE", "CEL_FALSE", + "NUL", "WHITESPACE", "COMMENT", "NUM_FLOAT", "NUM_INT", "NUM_UINT", + "STRING", "BYTES", "IDENTIFIER", + } + staticData.RuleNames = []string{ + "T__0", "T__1", "T__2", "T__3", "T__4", "T__5", "T__6", "T__7", "COMMAND", + "FLAG", "ARROW", "EQUAL_ASSIGN", "EQUALS", "NOT_EQUALS", "IN", "LESS", + "LESS_EQUALS", "GREATER_EQUALS", "GREATER", "LOGICAL_AND", "LOGICAL_OR", + "LBRACKET", "RPRACKET", "LBRACE", "RBRACE", "LPAREN", "RPAREN", "DOT", + "COMMA", "MINUS", "EXCLAM", "QUESTIONMARK", "COLON", "PLUS", "STAR", + "SLASH", "PERCENT", "CEL_TRUE", "CEL_FALSE", "NUL", "BACKSLASH", "LETTER", + "DIGIT", "EXPONENT", "HEXDIGIT", "RAW", "ESC_SEQ", "ESC_CHAR_SEQ", "ESC_OCT_SEQ", + "ESC_BYTE_SEQ", "ESC_UNI_SEQ", "WHITESPACE", "COMMENT", "NUM_FLOAT", + "NUM_INT", "NUM_UINT", "STRING", "BYTES", "IDENTIFIER", + } + staticData.PredictionContextCache = antlr.NewPredictionContextCache() + staticData.serializedATN = []int32{ + 4, 0, 48, 514, 6, -1, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, + 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, + 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, + 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, + 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, + 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30, 7, 30, 2, + 31, 7, 31, 2, 32, 7, 32, 2, 33, 7, 33, 2, 34, 7, 34, 2, 35, 7, 35, 2, 36, + 7, 36, 2, 37, 7, 37, 2, 38, 7, 38, 2, 39, 7, 39, 2, 40, 7, 40, 2, 41, 7, + 41, 2, 42, 7, 42, 2, 43, 7, 43, 2, 44, 7, 44, 2, 45, 7, 45, 2, 46, 7, 46, + 2, 47, 7, 47, 2, 48, 7, 48, 2, 49, 7, 49, 2, 50, 7, 50, 2, 51, 7, 51, 2, + 52, 7, 52, 2, 53, 7, 53, 2, 54, 7, 54, 2, 55, 7, 55, 2, 56, 7, 56, 2, 57, + 7, 57, 2, 58, 7, 58, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, + 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, + 3, 1, 3, 1, 3, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 5, 1, + 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 6, 1, 6, 1, 6, 1, 6, 1, + 6, 1, 6, 1, 6, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 8, 1, 8, 1, 8, 1, + 9, 3, 9, 177, 8, 9, 1, 9, 1, 9, 1, 9, 1, 10, 1, 10, 1, 10, 1, 11, 1, 11, + 1, 12, 1, 12, 1, 12, 1, 13, 1, 13, 1, 13, 1, 14, 1, 14, 1, 14, 1, 15, 1, + 15, 1, 16, 1, 16, 1, 16, 1, 17, 1, 17, 1, 17, 1, 18, 1, 18, 1, 19, 1, 19, + 1, 19, 1, 20, 1, 20, 1, 20, 1, 21, 1, 21, 1, 22, 1, 22, 1, 23, 1, 23, 1, + 24, 1, 24, 1, 25, 1, 25, 1, 26, 1, 26, 1, 27, 1, 27, 1, 28, 1, 28, 1, 29, + 1, 29, 1, 30, 1, 30, 1, 31, 1, 31, 1, 32, 1, 32, 1, 33, 1, 33, 1, 34, 1, + 34, 1, 35, 1, 35, 1, 36, 1, 36, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 38, + 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, + 40, 1, 40, 1, 41, 1, 41, 1, 42, 1, 42, 1, 43, 1, 43, 3, 43, 268, 8, 43, + 1, 43, 4, 43, 271, 8, 43, 11, 43, 12, 43, 272, 1, 44, 1, 44, 1, 45, 1, + 45, 1, 46, 1, 46, 1, 46, 1, 46, 3, 46, 283, 8, 46, 1, 47, 1, 47, 1, 47, + 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, + 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, + 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 3, 50, 316, 8, 50, 1, + 51, 4, 51, 319, 8, 51, 11, 51, 12, 51, 320, 1, 51, 1, 51, 1, 52, 1, 52, + 1, 52, 1, 52, 5, 52, 329, 8, 52, 10, 52, 12, 52, 332, 9, 52, 1, 52, 1, + 52, 1, 53, 4, 53, 337, 8, 53, 11, 53, 12, 53, 338, 1, 53, 1, 53, 4, 53, + 343, 8, 53, 11, 53, 12, 53, 344, 1, 53, 3, 53, 348, 8, 53, 1, 53, 4, 53, + 351, 8, 53, 11, 53, 12, 53, 352, 1, 53, 1, 53, 1, 53, 1, 53, 4, 53, 359, + 8, 53, 11, 53, 12, 53, 360, 1, 53, 3, 53, 364, 8, 53, 3, 53, 366, 8, 53, + 1, 54, 4, 54, 369, 8, 54, 11, 54, 12, 54, 370, 1, 54, 1, 54, 1, 54, 1, + 54, 4, 54, 377, 8, 54, 11, 54, 12, 54, 378, 3, 54, 381, 8, 54, 1, 55, 4, + 55, 384, 8, 55, 11, 55, 12, 55, 385, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, + 1, 55, 4, 55, 394, 8, 55, 11, 55, 12, 55, 395, 1, 55, 1, 55, 3, 55, 400, + 8, 55, 1, 56, 1, 56, 1, 56, 5, 56, 405, 8, 56, 10, 56, 12, 56, 408, 9, + 56, 1, 56, 1, 56, 1, 56, 1, 56, 5, 56, 414, 8, 56, 10, 56, 12, 56, 417, + 9, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 5, 56, 426, 8, + 56, 10, 56, 12, 56, 429, 9, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, + 1, 56, 1, 56, 1, 56, 5, 56, 440, 8, 56, 10, 56, 12, 56, 443, 9, 56, 1, + 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 5, 56, 451, 8, 56, 10, 56, 12, 56, + 454, 9, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 5, 56, 461, 8, 56, 10, 56, + 12, 56, 464, 9, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, + 56, 5, 56, 474, 8, 56, 10, 56, 12, 56, 477, 9, 56, 1, 56, 1, 56, 1, 56, + 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 5, 56, 489, 8, 56, 10, + 56, 12, 56, 492, 9, 56, 1, 56, 1, 56, 1, 56, 1, 56, 3, 56, 498, 8, 56, + 1, 57, 1, 57, 1, 57, 1, 58, 1, 58, 3, 58, 505, 8, 58, 1, 58, 1, 58, 1, + 58, 5, 58, 510, 8, 58, 10, 58, 12, 58, 513, 9, 58, 4, 427, 441, 475, 490, + 0, 59, 1, 1, 3, 2, 5, 3, 7, 4, 9, 5, 11, 6, 13, 7, 15, 8, 17, 9, 19, 10, + 21, 11, 23, 12, 25, 13, 27, 14, 29, 15, 31, 16, 33, 17, 35, 18, 37, 19, + 39, 20, 41, 21, 43, 22, 45, 23, 47, 24, 49, 25, 51, 26, 53, 27, 55, 28, + 57, 29, 59, 30, 61, 31, 63, 32, 65, 33, 67, 34, 69, 35, 71, 36, 73, 37, + 75, 38, 77, 39, 79, 40, 81, 0, 83, 0, 85, 0, 87, 0, 89, 0, 91, 0, 93, 0, + 95, 0, 97, 0, 99, 0, 101, 0, 103, 41, 105, 42, 107, 43, 109, 44, 111, 45, + 113, 46, 115, 47, 117, 48, 1, 0, 16, 2, 0, 65, 90, 97, 122, 2, 0, 69, 69, + 101, 101, 2, 0, 43, 43, 45, 45, 3, 0, 48, 57, 65, 70, 97, 102, 2, 0, 82, + 82, 114, 114, 10, 0, 34, 34, 39, 39, 63, 63, 92, 92, 96, 98, 102, 102, + 110, 110, 114, 114, 116, 116, 118, 118, 2, 0, 88, 88, 120, 120, 3, 0, 9, + 10, 12, 13, 32, 32, 1, 0, 10, 10, 2, 0, 85, 85, 117, 117, 4, 0, 10, 10, + 13, 13, 34, 34, 92, 92, 4, 0, 10, 10, 13, 13, 39, 39, 92, 92, 1, 0, 92, + 92, 3, 0, 10, 10, 13, 13, 34, 34, 3, 0, 10, 10, 13, 13, 39, 39, 2, 0, 66, + 66, 98, 98, 548, 0, 1, 1, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 5, 1, 0, 0, 0, + 0, 7, 1, 0, 0, 0, 0, 9, 1, 0, 0, 0, 0, 11, 1, 0, 0, 0, 0, 13, 1, 0, 0, + 0, 0, 15, 1, 0, 0, 0, 0, 17, 1, 0, 0, 0, 0, 19, 1, 0, 0, 0, 0, 21, 1, 0, + 0, 0, 0, 23, 1, 0, 0, 0, 0, 25, 1, 0, 0, 0, 0, 27, 1, 0, 0, 0, 0, 29, 1, + 0, 0, 0, 0, 31, 1, 0, 0, 0, 0, 33, 1, 0, 0, 0, 0, 35, 1, 0, 0, 0, 0, 37, + 1, 0, 0, 0, 0, 39, 1, 0, 0, 0, 0, 41, 1, 0, 0, 0, 0, 43, 1, 0, 0, 0, 0, + 45, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 49, 1, 0, 0, 0, 0, 51, 1, 0, 0, 0, + 0, 53, 1, 0, 0, 0, 0, 55, 1, 0, 0, 0, 0, 57, 1, 0, 0, 0, 0, 59, 1, 0, 0, + 0, 0, 61, 1, 0, 0, 0, 0, 63, 1, 0, 0, 0, 0, 65, 1, 0, 0, 0, 0, 67, 1, 0, + 0, 0, 0, 69, 1, 0, 0, 0, 0, 71, 1, 0, 0, 0, 0, 73, 1, 0, 0, 0, 0, 75, 1, + 0, 0, 0, 0, 77, 1, 0, 0, 0, 0, 79, 1, 0, 0, 0, 0, 103, 1, 0, 0, 0, 0, 105, + 1, 0, 0, 0, 0, 107, 1, 0, 0, 0, 0, 109, 1, 0, 0, 0, 0, 111, 1, 0, 0, 0, + 0, 113, 1, 0, 0, 0, 0, 115, 1, 0, 0, 0, 0, 117, 1, 0, 0, 0, 1, 119, 1, + 0, 0, 0, 3, 125, 1, 0, 0, 0, 5, 128, 1, 0, 0, 0, 7, 133, 1, 0, 0, 0, 9, + 142, 1, 0, 0, 0, 11, 150, 1, 0, 0, 0, 13, 159, 1, 0, 0, 0, 15, 166, 1, + 0, 0, 0, 17, 172, 1, 0, 0, 0, 19, 176, 1, 0, 0, 0, 21, 181, 1, 0, 0, 0, + 23, 184, 1, 0, 0, 0, 25, 186, 1, 0, 0, 0, 27, 189, 1, 0, 0, 0, 29, 192, + 1, 0, 0, 0, 31, 195, 1, 0, 0, 0, 33, 197, 1, 0, 0, 0, 35, 200, 1, 0, 0, + 0, 37, 203, 1, 0, 0, 0, 39, 205, 1, 0, 0, 0, 41, 208, 1, 0, 0, 0, 43, 211, + 1, 0, 0, 0, 45, 213, 1, 0, 0, 0, 47, 215, 1, 0, 0, 0, 49, 217, 1, 0, 0, + 0, 51, 219, 1, 0, 0, 0, 53, 221, 1, 0, 0, 0, 55, 223, 1, 0, 0, 0, 57, 225, + 1, 0, 0, 0, 59, 227, 1, 0, 0, 0, 61, 229, 1, 0, 0, 0, 63, 231, 1, 0, 0, + 0, 65, 233, 1, 0, 0, 0, 67, 235, 1, 0, 0, 0, 69, 237, 1, 0, 0, 0, 71, 239, + 1, 0, 0, 0, 73, 241, 1, 0, 0, 0, 75, 243, 1, 0, 0, 0, 77, 248, 1, 0, 0, + 0, 79, 254, 1, 0, 0, 0, 81, 259, 1, 0, 0, 0, 83, 261, 1, 0, 0, 0, 85, 263, + 1, 0, 0, 0, 87, 265, 1, 0, 0, 0, 89, 274, 1, 0, 0, 0, 91, 276, 1, 0, 0, + 0, 93, 282, 1, 0, 0, 0, 95, 284, 1, 0, 0, 0, 97, 287, 1, 0, 0, 0, 99, 292, + 1, 0, 0, 0, 101, 315, 1, 0, 0, 0, 103, 318, 1, 0, 0, 0, 105, 324, 1, 0, + 0, 0, 107, 365, 1, 0, 0, 0, 109, 380, 1, 0, 0, 0, 111, 399, 1, 0, 0, 0, + 113, 497, 1, 0, 0, 0, 115, 499, 1, 0, 0, 0, 117, 504, 1, 0, 0, 0, 119, + 120, 5, 37, 0, 0, 120, 121, 5, 104, 0, 0, 121, 122, 5, 101, 0, 0, 122, + 123, 5, 108, 0, 0, 123, 124, 5, 112, 0, 0, 124, 2, 1, 0, 0, 0, 125, 126, + 5, 37, 0, 0, 126, 127, 5, 63, 0, 0, 127, 4, 1, 0, 0, 0, 128, 129, 5, 37, + 0, 0, 129, 130, 5, 108, 0, 0, 130, 131, 5, 101, 0, 0, 131, 132, 5, 116, + 0, 0, 132, 6, 1, 0, 0, 0, 133, 134, 5, 37, 0, 0, 134, 135, 5, 100, 0, 0, + 135, 136, 5, 101, 0, 0, 136, 137, 5, 99, 0, 0, 137, 138, 5, 108, 0, 0, + 138, 139, 5, 97, 0, 0, 139, 140, 5, 114, 0, 0, 140, 141, 5, 101, 0, 0, + 141, 8, 1, 0, 0, 0, 142, 143, 5, 37, 0, 0, 143, 144, 5, 100, 0, 0, 144, + 145, 5, 101, 0, 0, 145, 146, 5, 108, 0, 0, 146, 147, 5, 101, 0, 0, 147, + 148, 5, 116, 0, 0, 148, 149, 5, 101, 0, 0, 149, 10, 1, 0, 0, 0, 150, 151, + 5, 37, 0, 0, 151, 152, 5, 99, 0, 0, 152, 153, 5, 111, 0, 0, 153, 154, 5, + 109, 0, 0, 154, 155, 5, 112, 0, 0, 155, 156, 5, 105, 0, 0, 156, 157, 5, + 108, 0, 0, 157, 158, 5, 101, 0, 0, 158, 12, 1, 0, 0, 0, 159, 160, 5, 37, + 0, 0, 160, 161, 5, 112, 0, 0, 161, 162, 5, 97, 0, 0, 162, 163, 5, 114, + 0, 0, 163, 164, 5, 115, 0, 0, 164, 165, 5, 101, 0, 0, 165, 14, 1, 0, 0, + 0, 166, 167, 5, 37, 0, 0, 167, 168, 5, 101, 0, 0, 168, 169, 5, 118, 0, + 0, 169, 170, 5, 97, 0, 0, 170, 171, 5, 108, 0, 0, 171, 16, 1, 0, 0, 0, + 172, 173, 5, 37, 0, 0, 173, 174, 3, 117, 58, 0, 174, 18, 1, 0, 0, 0, 175, + 177, 5, 45, 0, 0, 176, 175, 1, 0, 0, 0, 176, 177, 1, 0, 0, 0, 177, 178, + 1, 0, 0, 0, 178, 179, 5, 45, 0, 0, 179, 180, 3, 117, 58, 0, 180, 20, 1, + 0, 0, 0, 181, 182, 5, 45, 0, 0, 182, 183, 5, 62, 0, 0, 183, 22, 1, 0, 0, + 0, 184, 185, 5, 61, 0, 0, 185, 24, 1, 0, 0, 0, 186, 187, 5, 61, 0, 0, 187, + 188, 5, 61, 0, 0, 188, 26, 1, 0, 0, 0, 189, 190, 5, 33, 0, 0, 190, 191, + 5, 61, 0, 0, 191, 28, 1, 0, 0, 0, 192, 193, 5, 105, 0, 0, 193, 194, 5, + 110, 0, 0, 194, 30, 1, 0, 0, 0, 195, 196, 5, 60, 0, 0, 196, 32, 1, 0, 0, + 0, 197, 198, 5, 60, 0, 0, 198, 199, 5, 61, 0, 0, 199, 34, 1, 0, 0, 0, 200, + 201, 5, 62, 0, 0, 201, 202, 5, 61, 0, 0, 202, 36, 1, 0, 0, 0, 203, 204, + 5, 62, 0, 0, 204, 38, 1, 0, 0, 0, 205, 206, 5, 38, 0, 0, 206, 207, 5, 38, + 0, 0, 207, 40, 1, 0, 0, 0, 208, 209, 5, 124, 0, 0, 209, 210, 5, 124, 0, + 0, 210, 42, 1, 0, 0, 0, 211, 212, 5, 91, 0, 0, 212, 44, 1, 0, 0, 0, 213, + 214, 5, 93, 0, 0, 214, 46, 1, 0, 0, 0, 215, 216, 5, 123, 0, 0, 216, 48, + 1, 0, 0, 0, 217, 218, 5, 125, 0, 0, 218, 50, 1, 0, 0, 0, 219, 220, 5, 40, + 0, 0, 220, 52, 1, 0, 0, 0, 221, 222, 5, 41, 0, 0, 222, 54, 1, 0, 0, 0, + 223, 224, 5, 46, 0, 0, 224, 56, 1, 0, 0, 0, 225, 226, 5, 44, 0, 0, 226, + 58, 1, 0, 0, 0, 227, 228, 5, 45, 0, 0, 228, 60, 1, 0, 0, 0, 229, 230, 5, + 33, 0, 0, 230, 62, 1, 0, 0, 0, 231, 232, 5, 63, 0, 0, 232, 64, 1, 0, 0, + 0, 233, 234, 5, 58, 0, 0, 234, 66, 1, 0, 0, 0, 235, 236, 5, 43, 0, 0, 236, + 68, 1, 0, 0, 0, 237, 238, 5, 42, 0, 0, 238, 70, 1, 0, 0, 0, 239, 240, 5, + 47, 0, 0, 240, 72, 1, 0, 0, 0, 241, 242, 5, 37, 0, 0, 242, 74, 1, 0, 0, + 0, 243, 244, 5, 116, 0, 0, 244, 245, 5, 114, 0, 0, 245, 246, 5, 117, 0, + 0, 246, 247, 5, 101, 0, 0, 247, 76, 1, 0, 0, 0, 248, 249, 5, 102, 0, 0, + 249, 250, 5, 97, 0, 0, 250, 251, 5, 108, 0, 0, 251, 252, 5, 115, 0, 0, + 252, 253, 5, 101, 0, 0, 253, 78, 1, 0, 0, 0, 254, 255, 5, 110, 0, 0, 255, + 256, 5, 117, 0, 0, 256, 257, 5, 108, 0, 0, 257, 258, 5, 108, 0, 0, 258, + 80, 1, 0, 0, 0, 259, 260, 5, 92, 0, 0, 260, 82, 1, 0, 0, 0, 261, 262, 7, + 0, 0, 0, 262, 84, 1, 0, 0, 0, 263, 264, 2, 48, 57, 0, 264, 86, 1, 0, 0, + 0, 265, 267, 7, 1, 0, 0, 266, 268, 7, 2, 0, 0, 267, 266, 1, 0, 0, 0, 267, + 268, 1, 0, 0, 0, 268, 270, 1, 0, 0, 0, 269, 271, 3, 85, 42, 0, 270, 269, + 1, 0, 0, 0, 271, 272, 1, 0, 0, 0, 272, 270, 1, 0, 0, 0, 272, 273, 1, 0, + 0, 0, 273, 88, 1, 0, 0, 0, 274, 275, 7, 3, 0, 0, 275, 90, 1, 0, 0, 0, 276, + 277, 7, 4, 0, 0, 277, 92, 1, 0, 0, 0, 278, 283, 3, 95, 47, 0, 279, 283, + 3, 99, 49, 0, 280, 283, 3, 101, 50, 0, 281, 283, 3, 97, 48, 0, 282, 278, + 1, 0, 0, 0, 282, 279, 1, 0, 0, 0, 282, 280, 1, 0, 0, 0, 282, 281, 1, 0, + 0, 0, 283, 94, 1, 0, 0, 0, 284, 285, 3, 81, 40, 0, 285, 286, 7, 5, 0, 0, + 286, 96, 1, 0, 0, 0, 287, 288, 3, 81, 40, 0, 288, 289, 2, 48, 51, 0, 289, + 290, 2, 48, 55, 0, 290, 291, 2, 48, 55, 0, 291, 98, 1, 0, 0, 0, 292, 293, + 3, 81, 40, 0, 293, 294, 7, 6, 0, 0, 294, 295, 3, 89, 44, 0, 295, 296, 3, + 89, 44, 0, 296, 100, 1, 0, 0, 0, 297, 298, 3, 81, 40, 0, 298, 299, 5, 117, + 0, 0, 299, 300, 3, 89, 44, 0, 300, 301, 3, 89, 44, 0, 301, 302, 3, 89, + 44, 0, 302, 303, 3, 89, 44, 0, 303, 316, 1, 0, 0, 0, 304, 305, 3, 81, 40, + 0, 305, 306, 5, 85, 0, 0, 306, 307, 3, 89, 44, 0, 307, 308, 3, 89, 44, + 0, 308, 309, 3, 89, 44, 0, 309, 310, 3, 89, 44, 0, 310, 311, 3, 89, 44, + 0, 311, 312, 3, 89, 44, 0, 312, 313, 3, 89, 44, 0, 313, 314, 3, 89, 44, + 0, 314, 316, 1, 0, 0, 0, 315, 297, 1, 0, 0, 0, 315, 304, 1, 0, 0, 0, 316, + 102, 1, 0, 0, 0, 317, 319, 7, 7, 0, 0, 318, 317, 1, 0, 0, 0, 319, 320, + 1, 0, 0, 0, 320, 318, 1, 0, 0, 0, 320, 321, 1, 0, 0, 0, 321, 322, 1, 0, + 0, 0, 322, 323, 6, 51, 0, 0, 323, 104, 1, 0, 0, 0, 324, 325, 5, 47, 0, + 0, 325, 326, 5, 47, 0, 0, 326, 330, 1, 0, 0, 0, 327, 329, 8, 8, 0, 0, 328, + 327, 1, 0, 0, 0, 329, 332, 1, 0, 0, 0, 330, 328, 1, 0, 0, 0, 330, 331, + 1, 0, 0, 0, 331, 333, 1, 0, 0, 0, 332, 330, 1, 0, 0, 0, 333, 334, 6, 52, + 0, 0, 334, 106, 1, 0, 0, 0, 335, 337, 3, 85, 42, 0, 336, 335, 1, 0, 0, + 0, 337, 338, 1, 0, 0, 0, 338, 336, 1, 0, 0, 0, 338, 339, 1, 0, 0, 0, 339, + 340, 1, 0, 0, 0, 340, 342, 5, 46, 0, 0, 341, 343, 3, 85, 42, 0, 342, 341, + 1, 0, 0, 0, 343, 344, 1, 0, 0, 0, 344, 342, 1, 0, 0, 0, 344, 345, 1, 0, + 0, 0, 345, 347, 1, 0, 0, 0, 346, 348, 3, 87, 43, 0, 347, 346, 1, 0, 0, + 0, 347, 348, 1, 0, 0, 0, 348, 366, 1, 0, 0, 0, 349, 351, 3, 85, 42, 0, + 350, 349, 1, 0, 0, 0, 351, 352, 1, 0, 0, 0, 352, 350, 1, 0, 0, 0, 352, + 353, 1, 0, 0, 0, 353, 354, 1, 0, 0, 0, 354, 355, 3, 87, 43, 0, 355, 366, + 1, 0, 0, 0, 356, 358, 5, 46, 0, 0, 357, 359, 3, 85, 42, 0, 358, 357, 1, + 0, 0, 0, 359, 360, 1, 0, 0, 0, 360, 358, 1, 0, 0, 0, 360, 361, 1, 0, 0, + 0, 361, 363, 1, 0, 0, 0, 362, 364, 3, 87, 43, 0, 363, 362, 1, 0, 0, 0, + 363, 364, 1, 0, 0, 0, 364, 366, 1, 0, 0, 0, 365, 336, 1, 0, 0, 0, 365, + 350, 1, 0, 0, 0, 365, 356, 1, 0, 0, 0, 366, 108, 1, 0, 0, 0, 367, 369, + 3, 85, 42, 0, 368, 367, 1, 0, 0, 0, 369, 370, 1, 0, 0, 0, 370, 368, 1, + 0, 0, 0, 370, 371, 1, 0, 0, 0, 371, 381, 1, 0, 0, 0, 372, 373, 5, 48, 0, + 0, 373, 374, 5, 120, 0, 0, 374, 376, 1, 0, 0, 0, 375, 377, 3, 89, 44, 0, + 376, 375, 1, 0, 0, 0, 377, 378, 1, 0, 0, 0, 378, 376, 1, 0, 0, 0, 378, + 379, 1, 0, 0, 0, 379, 381, 1, 0, 0, 0, 380, 368, 1, 0, 0, 0, 380, 372, + 1, 0, 0, 0, 381, 110, 1, 0, 0, 0, 382, 384, 3, 85, 42, 0, 383, 382, 1, + 0, 0, 0, 384, 385, 1, 0, 0, 0, 385, 383, 1, 0, 0, 0, 385, 386, 1, 0, 0, + 0, 386, 387, 1, 0, 0, 0, 387, 388, 7, 9, 0, 0, 388, 400, 1, 0, 0, 0, 389, + 390, 5, 48, 0, 0, 390, 391, 5, 120, 0, 0, 391, 393, 1, 0, 0, 0, 392, 394, + 3, 89, 44, 0, 393, 392, 1, 0, 0, 0, 394, 395, 1, 0, 0, 0, 395, 393, 1, + 0, 0, 0, 395, 396, 1, 0, 0, 0, 396, 397, 1, 0, 0, 0, 397, 398, 7, 9, 0, + 0, 398, 400, 1, 0, 0, 0, 399, 383, 1, 0, 0, 0, 399, 389, 1, 0, 0, 0, 400, + 112, 1, 0, 0, 0, 401, 406, 5, 34, 0, 0, 402, 405, 3, 93, 46, 0, 403, 405, + 8, 10, 0, 0, 404, 402, 1, 0, 0, 0, 404, 403, 1, 0, 0, 0, 405, 408, 1, 0, + 0, 0, 406, 404, 1, 0, 0, 0, 406, 407, 1, 0, 0, 0, 407, 409, 1, 0, 0, 0, + 408, 406, 1, 0, 0, 0, 409, 498, 5, 34, 0, 0, 410, 415, 5, 39, 0, 0, 411, + 414, 3, 93, 46, 0, 412, 414, 8, 11, 0, 0, 413, 411, 1, 0, 0, 0, 413, 412, + 1, 0, 0, 0, 414, 417, 1, 0, 0, 0, 415, 413, 1, 0, 0, 0, 415, 416, 1, 0, + 0, 0, 416, 418, 1, 0, 0, 0, 417, 415, 1, 0, 0, 0, 418, 498, 5, 39, 0, 0, + 419, 420, 5, 34, 0, 0, 420, 421, 5, 34, 0, 0, 421, 422, 5, 34, 0, 0, 422, + 427, 1, 0, 0, 0, 423, 426, 3, 93, 46, 0, 424, 426, 8, 12, 0, 0, 425, 423, + 1, 0, 0, 0, 425, 424, 1, 0, 0, 0, 426, 429, 1, 0, 0, 0, 427, 428, 1, 0, + 0, 0, 427, 425, 1, 0, 0, 0, 428, 430, 1, 0, 0, 0, 429, 427, 1, 0, 0, 0, + 430, 431, 5, 34, 0, 0, 431, 432, 5, 34, 0, 0, 432, 498, 5, 34, 0, 0, 433, + 434, 5, 39, 0, 0, 434, 435, 5, 39, 0, 0, 435, 436, 5, 39, 0, 0, 436, 441, + 1, 0, 0, 0, 437, 440, 3, 93, 46, 0, 438, 440, 8, 12, 0, 0, 439, 437, 1, + 0, 0, 0, 439, 438, 1, 0, 0, 0, 440, 443, 1, 0, 0, 0, 441, 442, 1, 0, 0, + 0, 441, 439, 1, 0, 0, 0, 442, 444, 1, 0, 0, 0, 443, 441, 1, 0, 0, 0, 444, + 445, 5, 39, 0, 0, 445, 446, 5, 39, 0, 0, 446, 498, 5, 39, 0, 0, 447, 448, + 3, 91, 45, 0, 448, 452, 5, 34, 0, 0, 449, 451, 8, 13, 0, 0, 450, 449, 1, + 0, 0, 0, 451, 454, 1, 0, 0, 0, 452, 450, 1, 0, 0, 0, 452, 453, 1, 0, 0, + 0, 453, 455, 1, 0, 0, 0, 454, 452, 1, 0, 0, 0, 455, 456, 5, 34, 0, 0, 456, + 498, 1, 0, 0, 0, 457, 458, 3, 91, 45, 0, 458, 462, 5, 39, 0, 0, 459, 461, + 8, 14, 0, 0, 460, 459, 1, 0, 0, 0, 461, 464, 1, 0, 0, 0, 462, 460, 1, 0, + 0, 0, 462, 463, 1, 0, 0, 0, 463, 465, 1, 0, 0, 0, 464, 462, 1, 0, 0, 0, + 465, 466, 5, 39, 0, 0, 466, 498, 1, 0, 0, 0, 467, 468, 3, 91, 45, 0, 468, + 469, 5, 34, 0, 0, 469, 470, 5, 34, 0, 0, 470, 471, 5, 34, 0, 0, 471, 475, + 1, 0, 0, 0, 472, 474, 9, 0, 0, 0, 473, 472, 1, 0, 0, 0, 474, 477, 1, 0, + 0, 0, 475, 476, 1, 0, 0, 0, 475, 473, 1, 0, 0, 0, 476, 478, 1, 0, 0, 0, + 477, 475, 1, 0, 0, 0, 478, 479, 5, 34, 0, 0, 479, 480, 5, 34, 0, 0, 480, + 481, 5, 34, 0, 0, 481, 498, 1, 0, 0, 0, 482, 483, 3, 91, 45, 0, 483, 484, + 5, 39, 0, 0, 484, 485, 5, 39, 0, 0, 485, 486, 5, 39, 0, 0, 486, 490, 1, + 0, 0, 0, 487, 489, 9, 0, 0, 0, 488, 487, 1, 0, 0, 0, 489, 492, 1, 0, 0, + 0, 490, 491, 1, 0, 0, 0, 490, 488, 1, 0, 0, 0, 491, 493, 1, 0, 0, 0, 492, + 490, 1, 0, 0, 0, 493, 494, 5, 39, 0, 0, 494, 495, 5, 39, 0, 0, 495, 496, + 5, 39, 0, 0, 496, 498, 1, 0, 0, 0, 497, 401, 1, 0, 0, 0, 497, 410, 1, 0, + 0, 0, 497, 419, 1, 0, 0, 0, 497, 433, 1, 0, 0, 0, 497, 447, 1, 0, 0, 0, + 497, 457, 1, 0, 0, 0, 497, 467, 1, 0, 0, 0, 497, 482, 1, 0, 0, 0, 498, + 114, 1, 0, 0, 0, 499, 500, 7, 15, 0, 0, 500, 501, 3, 113, 56, 0, 501, 116, + 1, 0, 0, 0, 502, 505, 3, 83, 41, 0, 503, 505, 5, 95, 0, 0, 504, 502, 1, + 0, 0, 0, 504, 503, 1, 0, 0, 0, 505, 511, 1, 0, 0, 0, 506, 510, 3, 83, 41, + 0, 507, 510, 3, 85, 42, 0, 508, 510, 5, 95, 0, 0, 509, 506, 1, 0, 0, 0, + 509, 507, 1, 0, 0, 0, 509, 508, 1, 0, 0, 0, 510, 513, 1, 0, 0, 0, 511, + 509, 1, 0, 0, 0, 511, 512, 1, 0, 0, 0, 512, 118, 1, 0, 0, 0, 513, 511, + 1, 0, 0, 0, 37, 0, 176, 267, 272, 282, 315, 320, 330, 338, 344, 347, 352, + 360, 363, 365, 370, 378, 380, 385, 395, 399, 404, 406, 413, 415, 425, 427, + 439, 441, 452, 462, 475, 490, 497, 504, 509, 511, 1, 0, 1, 0, + } + deserializer := antlr.NewATNDeserializer(nil) + staticData.atn = deserializer.Deserialize(staticData.serializedATN) + atn := staticData.atn + staticData.decisionToDFA = make([]*antlr.DFA, len(atn.DecisionToState)) + decisionToDFA := staticData.decisionToDFA + for index, state := range atn.DecisionToState { + decisionToDFA[index] = antlr.NewDFA(state, index) + } } // CommandsLexerInit initializes any static state used to implement CommandsLexer. By default the @@ -318,16 +323,16 @@ func commandslexerLexerInit() { // NewCommandsLexer(). You can call this function if you wish to initialize the static state ahead // of time. func CommandsLexerInit() { - staticData := &CommandsLexerLexerStaticData - staticData.once.Do(commandslexerLexerInit) + staticData := &CommandsLexerLexerStaticData + staticData.once.Do(commandslexerLexerInit) } // NewCommandsLexer produces a new lexer instance for the optional input antlr.CharStream. func NewCommandsLexer(input antlr.CharStream) *CommandsLexer { - CommandsLexerInit() + CommandsLexerInit() l := new(CommandsLexer) l.BaseLexer = antlr.NewBaseLexer(input) - staticData := &CommandsLexerLexerStaticData + staticData := &CommandsLexerLexerStaticData l.Interpreter = antlr.NewLexerATNSimulator(l, staticData.atn, staticData.decisionToDFA, staticData.PredictionContextCache) l.channelNames = staticData.ChannelNames l.modeNames = staticData.ModeNames @@ -342,52 +347,52 @@ func NewCommandsLexer(input antlr.CharStream) *CommandsLexer { // CommandsLexer tokens. const ( - CommandsLexerT__0 = 1 - CommandsLexerT__1 = 2 - CommandsLexerT__2 = 3 - CommandsLexerT__3 = 4 - CommandsLexerT__4 = 5 - CommandsLexerT__5 = 6 - CommandsLexerT__6 = 7 - CommandsLexerCOMMAND = 8 - CommandsLexerFLAG = 9 - CommandsLexerARROW = 10 - CommandsLexerEQUAL_ASSIGN = 11 - CommandsLexerEQUALS = 12 - CommandsLexerNOT_EQUALS = 13 - CommandsLexerIN = 14 - CommandsLexerLESS = 15 - CommandsLexerLESS_EQUALS = 16 - CommandsLexerGREATER_EQUALS = 17 - CommandsLexerGREATER = 18 - CommandsLexerLOGICAL_AND = 19 - CommandsLexerLOGICAL_OR = 20 - CommandsLexerLBRACKET = 21 - CommandsLexerRPRACKET = 22 - CommandsLexerLBRACE = 23 - CommandsLexerRBRACE = 24 - CommandsLexerLPAREN = 25 - CommandsLexerRPAREN = 26 - CommandsLexerDOT = 27 - CommandsLexerCOMMA = 28 - CommandsLexerMINUS = 29 - CommandsLexerEXCLAM = 30 - CommandsLexerQUESTIONMARK = 31 - CommandsLexerCOLON = 32 - CommandsLexerPLUS = 33 - CommandsLexerSTAR = 34 - CommandsLexerSLASH = 35 - CommandsLexerPERCENT = 36 - CommandsLexerCEL_TRUE = 37 - CommandsLexerCEL_FALSE = 38 - CommandsLexerNUL = 39 - CommandsLexerWHITESPACE = 40 - CommandsLexerCOMMENT = 41 - CommandsLexerNUM_FLOAT = 42 - CommandsLexerNUM_INT = 43 - CommandsLexerNUM_UINT = 44 - CommandsLexerSTRING = 45 - CommandsLexerBYTES = 46 - CommandsLexerIDENTIFIER = 47 + CommandsLexerT__0 = 1 + CommandsLexerT__1 = 2 + CommandsLexerT__2 = 3 + CommandsLexerT__3 = 4 + CommandsLexerT__4 = 5 + CommandsLexerT__5 = 6 + CommandsLexerT__6 = 7 + CommandsLexerT__7 = 8 + CommandsLexerCOMMAND = 9 + CommandsLexerFLAG = 10 + CommandsLexerARROW = 11 + CommandsLexerEQUAL_ASSIGN = 12 + CommandsLexerEQUALS = 13 + CommandsLexerNOT_EQUALS = 14 + CommandsLexerIN = 15 + CommandsLexerLESS = 16 + CommandsLexerLESS_EQUALS = 17 + CommandsLexerGREATER_EQUALS = 18 + CommandsLexerGREATER = 19 + CommandsLexerLOGICAL_AND = 20 + CommandsLexerLOGICAL_OR = 21 + CommandsLexerLBRACKET = 22 + CommandsLexerRPRACKET = 23 + CommandsLexerLBRACE = 24 + CommandsLexerRBRACE = 25 + CommandsLexerLPAREN = 26 + CommandsLexerRPAREN = 27 + CommandsLexerDOT = 28 + CommandsLexerCOMMA = 29 + CommandsLexerMINUS = 30 + CommandsLexerEXCLAM = 31 + CommandsLexerQUESTIONMARK = 32 + CommandsLexerCOLON = 33 + CommandsLexerPLUS = 34 + CommandsLexerSTAR = 35 + CommandsLexerSLASH = 36 + CommandsLexerPERCENT = 37 + CommandsLexerCEL_TRUE = 38 + CommandsLexerCEL_FALSE = 39 + CommandsLexerNUL = 40 + CommandsLexerWHITESPACE = 41 + CommandsLexerCOMMENT = 42 + CommandsLexerNUM_FLOAT = 43 + CommandsLexerNUM_INT = 44 + CommandsLexerNUM_UINT = 45 + CommandsLexerSTRING = 46 + CommandsLexerBYTES = 47 + CommandsLexerIDENTIFIER = 48 ) - diff --git a/repl/parser/commands_listener.go b/repl/parser/commands_listener.go index dca34421..a983c269 100644 --- a/repl/parser/commands_listener.go +++ b/repl/parser/commands_listener.go @@ -3,7 +3,6 @@ package parser // Commands import "github.com/antlr4-go/antlr/v4" - // CommandsListener is a complete listener for a parse tree produced by CommandsParser. type CommandsListener interface { antlr.ParseTreeListener @@ -44,6 +43,9 @@ type CommandsListener interface { // EnterCompile is called when entering the compile production. EnterCompile(c *CompileContext) + // EnterParse is called when entering the parse production. + EnterParse(c *ParseContext) + // EnterExprCmd is called when entering the exprCmd production. EnterExprCmd(c *ExprCmdContext) @@ -197,6 +199,9 @@ type CommandsListener interface { // ExitCompile is called when exiting the compile production. ExitCompile(c *CompileContext) + // ExitParse is called when exiting the parse production. + ExitParse(c *ParseContext) + // ExitExprCmd is called when exiting the exprCmd production. ExitExprCmd(c *ExprCmdContext) diff --git a/repl/parser/commands_parser.go b/repl/parser/commands_parser.go index e94dce3d..968d673c 100644 --- a/repl/parser/commands_parser.go +++ b/repl/parser/commands_parser.go @@ -4,7 +4,7 @@ package parser // Commands import ( "fmt" "strconv" - "sync" + "sync" "github.com/antlr4-go/antlr/v4" ) @@ -14,244 +14,245 @@ var _ = fmt.Printf var _ = strconv.Itoa var _ = sync.Once{} - type CommandsParser struct { *antlr.BaseParser } var CommandsParserStaticData struct { - once sync.Once - serializedATN []int32 - LiteralNames []string - SymbolicNames []string - RuleNames []string - PredictionContextCache *antlr.PredictionContextCache - atn *antlr.ATN - decisionToDFA []*antlr.DFA + once sync.Once + serializedATN []int32 + LiteralNames []string + SymbolicNames []string + RuleNames []string + PredictionContextCache *antlr.PredictionContextCache + atn *antlr.ATN + decisionToDFA []*antlr.DFA } func commandsParserInit() { - staticData := &CommandsParserStaticData - staticData.LiteralNames = []string{ - "", "'%help'", "'%?'", "'%let'", "'%declare'", "'%delete'", "'%compile'", - "'%eval'", "", "", "'->'", "'='", "'=='", "'!='", "'in'", "'<'", "'<='", - "'>='", "'>'", "'&&'", "'||'", "'['", "']'", "'{'", "'}'", "'('", "')'", - "'.'", "','", "'-'", "'!'", "'?'", "':'", "'+'", "'*'", "'/'", "'%'", - "'true'", "'false'", "'null'", - } - staticData.SymbolicNames = []string{ - "", "", "", "", "", "", "", "", "COMMAND", "FLAG", "ARROW", "EQUAL_ASSIGN", - "EQUALS", "NOT_EQUALS", "IN", "LESS", "LESS_EQUALS", "GREATER_EQUALS", - "GREATER", "LOGICAL_AND", "LOGICAL_OR", "LBRACKET", "RPRACKET", "LBRACE", - "RBRACE", "LPAREN", "RPAREN", "DOT", "COMMA", "MINUS", "EXCLAM", "QUESTIONMARK", - "COLON", "PLUS", "STAR", "SLASH", "PERCENT", "CEL_TRUE", "CEL_FALSE", - "NUL", "WHITESPACE", "COMMENT", "NUM_FLOAT", "NUM_INT", "NUM_UINT", - "STRING", "BYTES", "IDENTIFIER", - } - staticData.RuleNames = []string{ - "startCommand", "command", "help", "let", "declare", "varDecl", "fnDecl", - "param", "delete", "simple", "empty", "compile", "exprCmd", "qualId", - "startType", "type", "typeId", "typeParamList", "start", "expr", "conditionalOr", - "conditionalAnd", "relation", "calc", "unary", "member", "primary", - "exprList", "listInit", "fieldInitializerList", "optField", "mapInitializerList", - "optExpr", "literal", - } - staticData.PredictionContextCache = antlr.NewPredictionContextCache() - staticData.serializedATN = []int32{ - 4, 1, 47, 406, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, - 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, - 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, - 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, - 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, 2, 26, - 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30, 7, 30, 2, 31, 7, - 31, 2, 32, 7, 32, 2, 33, 7, 33, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 80, 8, 1, 1, 2, 1, 2, 1, 3, 1, 3, 1, 3, - 1, 3, 1, 3, 1, 3, 1, 3, 3, 3, 91, 8, 3, 1, 3, 1, 3, 1, 4, 1, 4, 1, 4, 3, - 4, 98, 8, 4, 1, 5, 1, 5, 1, 5, 3, 5, 103, 8, 5, 1, 6, 1, 6, 1, 6, 1, 6, - 1, 6, 5, 6, 110, 8, 6, 10, 6, 12, 6, 113, 9, 6, 3, 6, 115, 8, 6, 1, 6, - 1, 6, 1, 6, 1, 6, 1, 7, 1, 7, 1, 7, 1, 7, 1, 8, 1, 8, 1, 8, 3, 8, 128, - 8, 8, 1, 9, 1, 9, 1, 9, 5, 9, 133, 8, 9, 10, 9, 12, 9, 136, 9, 9, 1, 10, - 1, 10, 1, 11, 1, 11, 1, 11, 1, 12, 3, 12, 144, 8, 12, 1, 12, 1, 12, 1, - 13, 3, 13, 149, 8, 13, 1, 13, 1, 13, 1, 13, 5, 13, 154, 8, 13, 10, 13, - 12, 13, 157, 9, 13, 1, 14, 1, 14, 1, 14, 1, 15, 1, 15, 3, 15, 164, 8, 15, - 1, 16, 3, 16, 167, 8, 16, 1, 16, 1, 16, 1, 16, 5, 16, 172, 8, 16, 10, 16, - 12, 16, 175, 9, 16, 1, 17, 1, 17, 1, 17, 1, 17, 5, 17, 181, 8, 17, 10, - 17, 12, 17, 184, 9, 17, 1, 17, 1, 17, 1, 18, 1, 18, 1, 18, 1, 19, 1, 19, - 1, 19, 1, 19, 1, 19, 1, 19, 3, 19, 197, 8, 19, 1, 20, 1, 20, 1, 20, 5, - 20, 202, 8, 20, 10, 20, 12, 20, 205, 9, 20, 1, 21, 1, 21, 1, 21, 5, 21, - 210, 8, 21, 10, 21, 12, 21, 213, 9, 21, 1, 22, 1, 22, 1, 22, 1, 22, 1, - 22, 1, 22, 5, 22, 221, 8, 22, 10, 22, 12, 22, 224, 9, 22, 1, 23, 1, 23, - 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 5, 23, 235, 8, 23, 10, - 23, 12, 23, 238, 9, 23, 1, 24, 1, 24, 4, 24, 242, 8, 24, 11, 24, 12, 24, - 243, 1, 24, 1, 24, 4, 24, 248, 8, 24, 11, 24, 12, 24, 249, 1, 24, 3, 24, - 253, 8, 24, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 3, 25, 261, 8, 25, - 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 3, 25, 269, 8, 25, 1, 25, 1, - 25, 1, 25, 1, 25, 3, 25, 275, 8, 25, 1, 25, 1, 25, 1, 25, 5, 25, 280, 8, - 25, 10, 25, 12, 25, 283, 9, 25, 1, 26, 3, 26, 286, 8, 26, 1, 26, 1, 26, - 1, 26, 3, 26, 291, 8, 26, 1, 26, 3, 26, 294, 8, 26, 1, 26, 1, 26, 1, 26, - 1, 26, 1, 26, 1, 26, 3, 26, 302, 8, 26, 1, 26, 3, 26, 305, 8, 26, 1, 26, - 1, 26, 1, 26, 3, 26, 310, 8, 26, 1, 26, 3, 26, 313, 8, 26, 1, 26, 1, 26, - 3, 26, 317, 8, 26, 1, 26, 1, 26, 1, 26, 5, 26, 322, 8, 26, 10, 26, 12, - 26, 325, 9, 26, 1, 26, 1, 26, 3, 26, 329, 8, 26, 1, 26, 3, 26, 332, 8, - 26, 1, 26, 1, 26, 3, 26, 336, 8, 26, 1, 27, 1, 27, 1, 27, 5, 27, 341, 8, - 27, 10, 27, 12, 27, 344, 9, 27, 1, 28, 1, 28, 1, 28, 5, 28, 349, 8, 28, - 10, 28, 12, 28, 352, 9, 28, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, - 29, 1, 29, 5, 29, 362, 8, 29, 10, 29, 12, 29, 365, 9, 29, 1, 30, 3, 30, - 368, 8, 30, 1, 30, 1, 30, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, - 31, 1, 31, 5, 31, 380, 8, 31, 10, 31, 12, 31, 383, 9, 31, 1, 32, 3, 32, - 386, 8, 32, 1, 32, 1, 32, 1, 33, 3, 33, 391, 8, 33, 1, 33, 1, 33, 1, 33, - 3, 33, 396, 8, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 3, 33, 404, - 8, 33, 1, 33, 0, 3, 44, 46, 50, 34, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, - 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, - 56, 58, 60, 62, 64, 66, 0, 5, 1, 0, 1, 2, 2, 0, 39, 39, 47, 47, 1, 0, 12, - 18, 1, 0, 34, 36, 2, 0, 29, 29, 33, 33, 440, 0, 68, 1, 0, 0, 0, 2, 79, - 1, 0, 0, 0, 4, 81, 1, 0, 0, 0, 6, 83, 1, 0, 0, 0, 8, 94, 1, 0, 0, 0, 10, - 99, 1, 0, 0, 0, 12, 104, 1, 0, 0, 0, 14, 120, 1, 0, 0, 0, 16, 124, 1, 0, - 0, 0, 18, 129, 1, 0, 0, 0, 20, 137, 1, 0, 0, 0, 22, 139, 1, 0, 0, 0, 24, - 143, 1, 0, 0, 0, 26, 148, 1, 0, 0, 0, 28, 158, 1, 0, 0, 0, 30, 161, 1, - 0, 0, 0, 32, 166, 1, 0, 0, 0, 34, 176, 1, 0, 0, 0, 36, 187, 1, 0, 0, 0, - 38, 190, 1, 0, 0, 0, 40, 198, 1, 0, 0, 0, 42, 206, 1, 0, 0, 0, 44, 214, - 1, 0, 0, 0, 46, 225, 1, 0, 0, 0, 48, 252, 1, 0, 0, 0, 50, 254, 1, 0, 0, - 0, 52, 335, 1, 0, 0, 0, 54, 337, 1, 0, 0, 0, 56, 345, 1, 0, 0, 0, 58, 353, - 1, 0, 0, 0, 60, 367, 1, 0, 0, 0, 62, 371, 1, 0, 0, 0, 64, 385, 1, 0, 0, - 0, 66, 403, 1, 0, 0, 0, 68, 69, 3, 2, 1, 0, 69, 70, 5, 0, 0, 1, 70, 1, - 1, 0, 0, 0, 71, 80, 3, 4, 2, 0, 72, 80, 3, 6, 3, 0, 73, 80, 3, 8, 4, 0, - 74, 80, 3, 16, 8, 0, 75, 80, 3, 18, 9, 0, 76, 80, 3, 22, 11, 0, 77, 80, - 3, 24, 12, 0, 78, 80, 3, 20, 10, 0, 79, 71, 1, 0, 0, 0, 79, 72, 1, 0, 0, - 0, 79, 73, 1, 0, 0, 0, 79, 74, 1, 0, 0, 0, 79, 75, 1, 0, 0, 0, 79, 76, - 1, 0, 0, 0, 79, 77, 1, 0, 0, 0, 79, 78, 1, 0, 0, 0, 80, 3, 1, 0, 0, 0, - 81, 82, 7, 0, 0, 0, 82, 5, 1, 0, 0, 0, 83, 90, 5, 3, 0, 0, 84, 85, 3, 10, - 5, 0, 85, 86, 5, 11, 0, 0, 86, 91, 1, 0, 0, 0, 87, 88, 3, 12, 6, 0, 88, - 89, 5, 10, 0, 0, 89, 91, 1, 0, 0, 0, 90, 84, 1, 0, 0, 0, 90, 87, 1, 0, - 0, 0, 91, 92, 1, 0, 0, 0, 92, 93, 3, 38, 19, 0, 93, 7, 1, 0, 0, 0, 94, - 97, 5, 4, 0, 0, 95, 98, 3, 10, 5, 0, 96, 98, 3, 12, 6, 0, 97, 95, 1, 0, - 0, 0, 97, 96, 1, 0, 0, 0, 98, 9, 1, 0, 0, 0, 99, 102, 3, 26, 13, 0, 100, - 101, 5, 32, 0, 0, 101, 103, 3, 30, 15, 0, 102, 100, 1, 0, 0, 0, 102, 103, - 1, 0, 0, 0, 103, 11, 1, 0, 0, 0, 104, 105, 3, 26, 13, 0, 105, 114, 5, 25, - 0, 0, 106, 111, 3, 14, 7, 0, 107, 108, 5, 28, 0, 0, 108, 110, 3, 14, 7, - 0, 109, 107, 1, 0, 0, 0, 110, 113, 1, 0, 0, 0, 111, 109, 1, 0, 0, 0, 111, - 112, 1, 0, 0, 0, 112, 115, 1, 0, 0, 0, 113, 111, 1, 0, 0, 0, 114, 106, - 1, 0, 0, 0, 114, 115, 1, 0, 0, 0, 115, 116, 1, 0, 0, 0, 116, 117, 5, 26, - 0, 0, 117, 118, 5, 32, 0, 0, 118, 119, 3, 30, 15, 0, 119, 13, 1, 0, 0, - 0, 120, 121, 5, 47, 0, 0, 121, 122, 5, 32, 0, 0, 122, 123, 3, 30, 15, 0, - 123, 15, 1, 0, 0, 0, 124, 127, 5, 5, 0, 0, 125, 128, 3, 10, 5, 0, 126, - 128, 3, 12, 6, 0, 127, 125, 1, 0, 0, 0, 127, 126, 1, 0, 0, 0, 128, 17, - 1, 0, 0, 0, 129, 134, 5, 8, 0, 0, 130, 133, 5, 9, 0, 0, 131, 133, 5, 45, - 0, 0, 132, 130, 1, 0, 0, 0, 132, 131, 1, 0, 0, 0, 133, 136, 1, 0, 0, 0, - 134, 132, 1, 0, 0, 0, 134, 135, 1, 0, 0, 0, 135, 19, 1, 0, 0, 0, 136, 134, - 1, 0, 0, 0, 137, 138, 1, 0, 0, 0, 138, 21, 1, 0, 0, 0, 139, 140, 5, 6, - 0, 0, 140, 141, 3, 38, 19, 0, 141, 23, 1, 0, 0, 0, 142, 144, 5, 7, 0, 0, - 143, 142, 1, 0, 0, 0, 143, 144, 1, 0, 0, 0, 144, 145, 1, 0, 0, 0, 145, - 146, 3, 38, 19, 0, 146, 25, 1, 0, 0, 0, 147, 149, 5, 27, 0, 0, 148, 147, - 1, 0, 0, 0, 148, 149, 1, 0, 0, 0, 149, 150, 1, 0, 0, 0, 150, 155, 5, 47, - 0, 0, 151, 152, 5, 27, 0, 0, 152, 154, 5, 47, 0, 0, 153, 151, 1, 0, 0, - 0, 154, 157, 1, 0, 0, 0, 155, 153, 1, 0, 0, 0, 155, 156, 1, 0, 0, 0, 156, - 27, 1, 0, 0, 0, 157, 155, 1, 0, 0, 0, 158, 159, 3, 30, 15, 0, 159, 160, - 5, 0, 0, 1, 160, 29, 1, 0, 0, 0, 161, 163, 3, 32, 16, 0, 162, 164, 3, 34, - 17, 0, 163, 162, 1, 0, 0, 0, 163, 164, 1, 0, 0, 0, 164, 31, 1, 0, 0, 0, - 165, 167, 5, 27, 0, 0, 166, 165, 1, 0, 0, 0, 166, 167, 1, 0, 0, 0, 167, - 168, 1, 0, 0, 0, 168, 173, 7, 1, 0, 0, 169, 170, 5, 27, 0, 0, 170, 172, - 5, 47, 0, 0, 171, 169, 1, 0, 0, 0, 172, 175, 1, 0, 0, 0, 173, 171, 1, 0, - 0, 0, 173, 174, 1, 0, 0, 0, 174, 33, 1, 0, 0, 0, 175, 173, 1, 0, 0, 0, - 176, 177, 5, 25, 0, 0, 177, 182, 3, 30, 15, 0, 178, 179, 5, 28, 0, 0, 179, - 181, 3, 30, 15, 0, 180, 178, 1, 0, 0, 0, 181, 184, 1, 0, 0, 0, 182, 180, - 1, 0, 0, 0, 182, 183, 1, 0, 0, 0, 183, 185, 1, 0, 0, 0, 184, 182, 1, 0, - 0, 0, 185, 186, 5, 26, 0, 0, 186, 35, 1, 0, 0, 0, 187, 188, 3, 38, 19, - 0, 188, 189, 5, 0, 0, 1, 189, 37, 1, 0, 0, 0, 190, 196, 3, 40, 20, 0, 191, - 192, 5, 31, 0, 0, 192, 193, 3, 40, 20, 0, 193, 194, 5, 32, 0, 0, 194, 195, - 3, 38, 19, 0, 195, 197, 1, 0, 0, 0, 196, 191, 1, 0, 0, 0, 196, 197, 1, - 0, 0, 0, 197, 39, 1, 0, 0, 0, 198, 203, 3, 42, 21, 0, 199, 200, 5, 20, - 0, 0, 200, 202, 3, 42, 21, 0, 201, 199, 1, 0, 0, 0, 202, 205, 1, 0, 0, - 0, 203, 201, 1, 0, 0, 0, 203, 204, 1, 0, 0, 0, 204, 41, 1, 0, 0, 0, 205, - 203, 1, 0, 0, 0, 206, 211, 3, 44, 22, 0, 207, 208, 5, 19, 0, 0, 208, 210, - 3, 44, 22, 0, 209, 207, 1, 0, 0, 0, 210, 213, 1, 0, 0, 0, 211, 209, 1, - 0, 0, 0, 211, 212, 1, 0, 0, 0, 212, 43, 1, 0, 0, 0, 213, 211, 1, 0, 0, - 0, 214, 215, 6, 22, -1, 0, 215, 216, 3, 46, 23, 0, 216, 222, 1, 0, 0, 0, - 217, 218, 10, 1, 0, 0, 218, 219, 7, 2, 0, 0, 219, 221, 3, 44, 22, 2, 220, - 217, 1, 0, 0, 0, 221, 224, 1, 0, 0, 0, 222, 220, 1, 0, 0, 0, 222, 223, - 1, 0, 0, 0, 223, 45, 1, 0, 0, 0, 224, 222, 1, 0, 0, 0, 225, 226, 6, 23, - -1, 0, 226, 227, 3, 48, 24, 0, 227, 236, 1, 0, 0, 0, 228, 229, 10, 2, 0, - 0, 229, 230, 7, 3, 0, 0, 230, 235, 3, 46, 23, 3, 231, 232, 10, 1, 0, 0, - 232, 233, 7, 4, 0, 0, 233, 235, 3, 46, 23, 2, 234, 228, 1, 0, 0, 0, 234, - 231, 1, 0, 0, 0, 235, 238, 1, 0, 0, 0, 236, 234, 1, 0, 0, 0, 236, 237, - 1, 0, 0, 0, 237, 47, 1, 0, 0, 0, 238, 236, 1, 0, 0, 0, 239, 253, 3, 50, - 25, 0, 240, 242, 5, 30, 0, 0, 241, 240, 1, 0, 0, 0, 242, 243, 1, 0, 0, - 0, 243, 241, 1, 0, 0, 0, 243, 244, 1, 0, 0, 0, 244, 245, 1, 0, 0, 0, 245, - 253, 3, 50, 25, 0, 246, 248, 5, 29, 0, 0, 247, 246, 1, 0, 0, 0, 248, 249, - 1, 0, 0, 0, 249, 247, 1, 0, 0, 0, 249, 250, 1, 0, 0, 0, 250, 251, 1, 0, - 0, 0, 251, 253, 3, 50, 25, 0, 252, 239, 1, 0, 0, 0, 252, 241, 1, 0, 0, - 0, 252, 247, 1, 0, 0, 0, 253, 49, 1, 0, 0, 0, 254, 255, 6, 25, -1, 0, 255, - 256, 3, 52, 26, 0, 256, 281, 1, 0, 0, 0, 257, 258, 10, 3, 0, 0, 258, 260, - 5, 27, 0, 0, 259, 261, 5, 31, 0, 0, 260, 259, 1, 0, 0, 0, 260, 261, 1, - 0, 0, 0, 261, 262, 1, 0, 0, 0, 262, 280, 5, 47, 0, 0, 263, 264, 10, 2, - 0, 0, 264, 265, 5, 27, 0, 0, 265, 266, 5, 47, 0, 0, 266, 268, 5, 25, 0, - 0, 267, 269, 3, 54, 27, 0, 268, 267, 1, 0, 0, 0, 268, 269, 1, 0, 0, 0, - 269, 270, 1, 0, 0, 0, 270, 280, 5, 26, 0, 0, 271, 272, 10, 1, 0, 0, 272, - 274, 5, 21, 0, 0, 273, 275, 5, 31, 0, 0, 274, 273, 1, 0, 0, 0, 274, 275, - 1, 0, 0, 0, 275, 276, 1, 0, 0, 0, 276, 277, 3, 38, 19, 0, 277, 278, 5, - 22, 0, 0, 278, 280, 1, 0, 0, 0, 279, 257, 1, 0, 0, 0, 279, 263, 1, 0, 0, - 0, 279, 271, 1, 0, 0, 0, 280, 283, 1, 0, 0, 0, 281, 279, 1, 0, 0, 0, 281, - 282, 1, 0, 0, 0, 282, 51, 1, 0, 0, 0, 283, 281, 1, 0, 0, 0, 284, 286, 5, - 27, 0, 0, 285, 284, 1, 0, 0, 0, 285, 286, 1, 0, 0, 0, 286, 287, 1, 0, 0, - 0, 287, 293, 5, 47, 0, 0, 288, 290, 5, 25, 0, 0, 289, 291, 3, 54, 27, 0, - 290, 289, 1, 0, 0, 0, 290, 291, 1, 0, 0, 0, 291, 292, 1, 0, 0, 0, 292, - 294, 5, 26, 0, 0, 293, 288, 1, 0, 0, 0, 293, 294, 1, 0, 0, 0, 294, 336, - 1, 0, 0, 0, 295, 296, 5, 25, 0, 0, 296, 297, 3, 38, 19, 0, 297, 298, 5, - 26, 0, 0, 298, 336, 1, 0, 0, 0, 299, 301, 5, 21, 0, 0, 300, 302, 3, 56, - 28, 0, 301, 300, 1, 0, 0, 0, 301, 302, 1, 0, 0, 0, 302, 304, 1, 0, 0, 0, - 303, 305, 5, 28, 0, 0, 304, 303, 1, 0, 0, 0, 304, 305, 1, 0, 0, 0, 305, - 306, 1, 0, 0, 0, 306, 336, 5, 22, 0, 0, 307, 309, 5, 23, 0, 0, 308, 310, - 3, 62, 31, 0, 309, 308, 1, 0, 0, 0, 309, 310, 1, 0, 0, 0, 310, 312, 1, - 0, 0, 0, 311, 313, 5, 28, 0, 0, 312, 311, 1, 0, 0, 0, 312, 313, 1, 0, 0, - 0, 313, 314, 1, 0, 0, 0, 314, 336, 5, 24, 0, 0, 315, 317, 5, 27, 0, 0, - 316, 315, 1, 0, 0, 0, 316, 317, 1, 0, 0, 0, 317, 318, 1, 0, 0, 0, 318, - 323, 5, 47, 0, 0, 319, 320, 5, 27, 0, 0, 320, 322, 5, 47, 0, 0, 321, 319, - 1, 0, 0, 0, 322, 325, 1, 0, 0, 0, 323, 321, 1, 0, 0, 0, 323, 324, 1, 0, - 0, 0, 324, 326, 1, 0, 0, 0, 325, 323, 1, 0, 0, 0, 326, 328, 5, 23, 0, 0, - 327, 329, 3, 58, 29, 0, 328, 327, 1, 0, 0, 0, 328, 329, 1, 0, 0, 0, 329, - 331, 1, 0, 0, 0, 330, 332, 5, 28, 0, 0, 331, 330, 1, 0, 0, 0, 331, 332, - 1, 0, 0, 0, 332, 333, 1, 0, 0, 0, 333, 336, 5, 24, 0, 0, 334, 336, 3, 66, - 33, 0, 335, 285, 1, 0, 0, 0, 335, 295, 1, 0, 0, 0, 335, 299, 1, 0, 0, 0, - 335, 307, 1, 0, 0, 0, 335, 316, 1, 0, 0, 0, 335, 334, 1, 0, 0, 0, 336, - 53, 1, 0, 0, 0, 337, 342, 3, 38, 19, 0, 338, 339, 5, 28, 0, 0, 339, 341, - 3, 38, 19, 0, 340, 338, 1, 0, 0, 0, 341, 344, 1, 0, 0, 0, 342, 340, 1, - 0, 0, 0, 342, 343, 1, 0, 0, 0, 343, 55, 1, 0, 0, 0, 344, 342, 1, 0, 0, - 0, 345, 350, 3, 64, 32, 0, 346, 347, 5, 28, 0, 0, 347, 349, 3, 64, 32, - 0, 348, 346, 1, 0, 0, 0, 349, 352, 1, 0, 0, 0, 350, 348, 1, 0, 0, 0, 350, - 351, 1, 0, 0, 0, 351, 57, 1, 0, 0, 0, 352, 350, 1, 0, 0, 0, 353, 354, 3, - 60, 30, 0, 354, 355, 5, 32, 0, 0, 355, 363, 3, 38, 19, 0, 356, 357, 5, - 28, 0, 0, 357, 358, 3, 60, 30, 0, 358, 359, 5, 32, 0, 0, 359, 360, 3, 38, - 19, 0, 360, 362, 1, 0, 0, 0, 361, 356, 1, 0, 0, 0, 362, 365, 1, 0, 0, 0, - 363, 361, 1, 0, 0, 0, 363, 364, 1, 0, 0, 0, 364, 59, 1, 0, 0, 0, 365, 363, - 1, 0, 0, 0, 366, 368, 5, 31, 0, 0, 367, 366, 1, 0, 0, 0, 367, 368, 1, 0, - 0, 0, 368, 369, 1, 0, 0, 0, 369, 370, 5, 47, 0, 0, 370, 61, 1, 0, 0, 0, - 371, 372, 3, 64, 32, 0, 372, 373, 5, 32, 0, 0, 373, 381, 3, 38, 19, 0, - 374, 375, 5, 28, 0, 0, 375, 376, 3, 64, 32, 0, 376, 377, 5, 32, 0, 0, 377, - 378, 3, 38, 19, 0, 378, 380, 1, 0, 0, 0, 379, 374, 1, 0, 0, 0, 380, 383, - 1, 0, 0, 0, 381, 379, 1, 0, 0, 0, 381, 382, 1, 0, 0, 0, 382, 63, 1, 0, - 0, 0, 383, 381, 1, 0, 0, 0, 384, 386, 5, 31, 0, 0, 385, 384, 1, 0, 0, 0, - 385, 386, 1, 0, 0, 0, 386, 387, 1, 0, 0, 0, 387, 388, 3, 38, 19, 0, 388, - 65, 1, 0, 0, 0, 389, 391, 5, 29, 0, 0, 390, 389, 1, 0, 0, 0, 390, 391, - 1, 0, 0, 0, 391, 392, 1, 0, 0, 0, 392, 404, 5, 43, 0, 0, 393, 404, 5, 44, - 0, 0, 394, 396, 5, 29, 0, 0, 395, 394, 1, 0, 0, 0, 395, 396, 1, 0, 0, 0, - 396, 397, 1, 0, 0, 0, 397, 404, 5, 42, 0, 0, 398, 404, 5, 45, 0, 0, 399, - 404, 5, 46, 0, 0, 400, 404, 5, 37, 0, 0, 401, 404, 5, 38, 0, 0, 402, 404, - 5, 39, 0, 0, 403, 390, 1, 0, 0, 0, 403, 393, 1, 0, 0, 0, 403, 395, 1, 0, - 0, 0, 403, 398, 1, 0, 0, 0, 403, 399, 1, 0, 0, 0, 403, 400, 1, 0, 0, 0, - 403, 401, 1, 0, 0, 0, 403, 402, 1, 0, 0, 0, 404, 67, 1, 0, 0, 0, 51, 79, - 90, 97, 102, 111, 114, 127, 132, 134, 143, 148, 155, 163, 166, 173, 182, - 196, 203, 211, 222, 234, 236, 243, 249, 252, 260, 268, 274, 279, 281, 285, - 290, 293, 301, 304, 309, 312, 316, 323, 328, 331, 335, 342, 350, 363, 367, - 381, 385, 390, 395, 403, -} - deserializer := antlr.NewATNDeserializer(nil) - staticData.atn = deserializer.Deserialize(staticData.serializedATN) - atn := staticData.atn - staticData.decisionToDFA = make([]*antlr.DFA, len(atn.DecisionToState)) - decisionToDFA := staticData.decisionToDFA - for index, state := range atn.DecisionToState { - decisionToDFA[index] = antlr.NewDFA(state, index) - } + staticData := &CommandsParserStaticData + staticData.LiteralNames = []string{ + "", "'%help'", "'%?'", "'%let'", "'%declare'", "'%delete'", "'%compile'", + "'%parse'", "'%eval'", "", "", "'->'", "'='", "'=='", "'!='", "'in'", + "'<'", "'<='", "'>='", "'>'", "'&&'", "'||'", "'['", "']'", "'{'", "'}'", + "'('", "')'", "'.'", "','", "'-'", "'!'", "'?'", "':'", "'+'", "'*'", + "'/'", "'%'", "'true'", "'false'", "'null'", + } + staticData.SymbolicNames = []string{ + "", "", "", "", "", "", "", "", "", "COMMAND", "FLAG", "ARROW", "EQUAL_ASSIGN", + "EQUALS", "NOT_EQUALS", "IN", "LESS", "LESS_EQUALS", "GREATER_EQUALS", + "GREATER", "LOGICAL_AND", "LOGICAL_OR", "LBRACKET", "RPRACKET", "LBRACE", + "RBRACE", "LPAREN", "RPAREN", "DOT", "COMMA", "MINUS", "EXCLAM", "QUESTIONMARK", + "COLON", "PLUS", "STAR", "SLASH", "PERCENT", "CEL_TRUE", "CEL_FALSE", + "NUL", "WHITESPACE", "COMMENT", "NUM_FLOAT", "NUM_INT", "NUM_UINT", + "STRING", "BYTES", "IDENTIFIER", + } + staticData.RuleNames = []string{ + "startCommand", "command", "help", "let", "declare", "varDecl", "fnDecl", + "param", "delete", "simple", "empty", "compile", "parse", "exprCmd", + "qualId", "startType", "type", "typeId", "typeParamList", "start", "expr", + "conditionalOr", "conditionalAnd", "relation", "calc", "unary", "member", + "primary", "exprList", "listInit", "fieldInitializerList", "optField", + "mapInitializerList", "optExpr", "literal", + } + staticData.PredictionContextCache = antlr.NewPredictionContextCache() + staticData.serializedATN = []int32{ + 4, 1, 48, 412, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, + 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, + 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, + 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, + 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, 2, 26, + 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30, 7, 30, 2, 31, 7, + 31, 2, 32, 7, 32, 2, 33, 7, 33, 2, 34, 7, 34, 1, 0, 1, 0, 1, 0, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 83, 8, 1, 1, 2, 1, 2, + 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 3, 3, 94, 8, 3, 1, 3, 1, 3, 1, + 4, 1, 4, 1, 4, 3, 4, 101, 8, 4, 1, 5, 1, 5, 1, 5, 3, 5, 106, 8, 5, 1, 6, + 1, 6, 1, 6, 1, 6, 1, 6, 5, 6, 113, 8, 6, 10, 6, 12, 6, 116, 9, 6, 3, 6, + 118, 8, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 7, 1, 7, 1, 7, 1, 7, 1, 8, 1, 8, + 1, 8, 3, 8, 131, 8, 8, 1, 9, 1, 9, 1, 9, 5, 9, 136, 8, 9, 10, 9, 12, 9, + 139, 9, 9, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 1, 12, 1, 12, 1, 12, 1, 13, + 3, 13, 150, 8, 13, 1, 13, 1, 13, 1, 14, 3, 14, 155, 8, 14, 1, 14, 1, 14, + 1, 14, 5, 14, 160, 8, 14, 10, 14, 12, 14, 163, 9, 14, 1, 15, 1, 15, 1, + 15, 1, 16, 1, 16, 3, 16, 170, 8, 16, 1, 17, 3, 17, 173, 8, 17, 1, 17, 1, + 17, 1, 17, 5, 17, 178, 8, 17, 10, 17, 12, 17, 181, 9, 17, 1, 18, 1, 18, + 1, 18, 1, 18, 5, 18, 187, 8, 18, 10, 18, 12, 18, 190, 9, 18, 1, 18, 1, + 18, 1, 19, 1, 19, 1, 19, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 3, 20, + 203, 8, 20, 1, 21, 1, 21, 1, 21, 5, 21, 208, 8, 21, 10, 21, 12, 21, 211, + 9, 21, 1, 22, 1, 22, 1, 22, 5, 22, 216, 8, 22, 10, 22, 12, 22, 219, 9, + 22, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 5, 23, 227, 8, 23, 10, 23, + 12, 23, 230, 9, 23, 1, 24, 1, 24, 1, 24, 1, 24, 1, 24, 1, 24, 1, 24, 1, + 24, 1, 24, 5, 24, 241, 8, 24, 10, 24, 12, 24, 244, 9, 24, 1, 25, 1, 25, + 4, 25, 248, 8, 25, 11, 25, 12, 25, 249, 1, 25, 1, 25, 4, 25, 254, 8, 25, + 11, 25, 12, 25, 255, 1, 25, 3, 25, 259, 8, 25, 1, 26, 1, 26, 1, 26, 1, + 26, 1, 26, 1, 26, 3, 26, 267, 8, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, + 1, 26, 3, 26, 275, 8, 26, 1, 26, 1, 26, 1, 26, 1, 26, 3, 26, 281, 8, 26, + 1, 26, 1, 26, 1, 26, 5, 26, 286, 8, 26, 10, 26, 12, 26, 289, 9, 26, 1, + 27, 3, 27, 292, 8, 27, 1, 27, 1, 27, 1, 27, 3, 27, 297, 8, 27, 1, 27, 3, + 27, 300, 8, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 3, 27, 308, 8, + 27, 1, 27, 3, 27, 311, 8, 27, 1, 27, 1, 27, 1, 27, 3, 27, 316, 8, 27, 1, + 27, 3, 27, 319, 8, 27, 1, 27, 1, 27, 3, 27, 323, 8, 27, 1, 27, 1, 27, 1, + 27, 5, 27, 328, 8, 27, 10, 27, 12, 27, 331, 9, 27, 1, 27, 1, 27, 3, 27, + 335, 8, 27, 1, 27, 3, 27, 338, 8, 27, 1, 27, 1, 27, 3, 27, 342, 8, 27, + 1, 28, 1, 28, 1, 28, 5, 28, 347, 8, 28, 10, 28, 12, 28, 350, 9, 28, 1, + 29, 1, 29, 1, 29, 5, 29, 355, 8, 29, 10, 29, 12, 29, 358, 9, 29, 1, 30, + 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 5, 30, 368, 8, 30, 10, + 30, 12, 30, 371, 9, 30, 1, 31, 3, 31, 374, 8, 31, 1, 31, 1, 31, 1, 32, + 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 5, 32, 386, 8, 32, 10, + 32, 12, 32, 389, 9, 32, 1, 33, 3, 33, 392, 8, 33, 1, 33, 1, 33, 1, 34, + 3, 34, 397, 8, 34, 1, 34, 1, 34, 1, 34, 3, 34, 402, 8, 34, 1, 34, 1, 34, + 1, 34, 1, 34, 1, 34, 1, 34, 3, 34, 410, 8, 34, 1, 34, 0, 3, 46, 48, 52, + 35, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, + 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 0, + 5, 1, 0, 1, 2, 2, 0, 40, 40, 48, 48, 1, 0, 13, 19, 1, 0, 35, 37, 2, 0, + 30, 30, 34, 34, 446, 0, 70, 1, 0, 0, 0, 2, 82, 1, 0, 0, 0, 4, 84, 1, 0, + 0, 0, 6, 86, 1, 0, 0, 0, 8, 97, 1, 0, 0, 0, 10, 102, 1, 0, 0, 0, 12, 107, + 1, 0, 0, 0, 14, 123, 1, 0, 0, 0, 16, 127, 1, 0, 0, 0, 18, 132, 1, 0, 0, + 0, 20, 140, 1, 0, 0, 0, 22, 142, 1, 0, 0, 0, 24, 145, 1, 0, 0, 0, 26, 149, + 1, 0, 0, 0, 28, 154, 1, 0, 0, 0, 30, 164, 1, 0, 0, 0, 32, 167, 1, 0, 0, + 0, 34, 172, 1, 0, 0, 0, 36, 182, 1, 0, 0, 0, 38, 193, 1, 0, 0, 0, 40, 196, + 1, 0, 0, 0, 42, 204, 1, 0, 0, 0, 44, 212, 1, 0, 0, 0, 46, 220, 1, 0, 0, + 0, 48, 231, 1, 0, 0, 0, 50, 258, 1, 0, 0, 0, 52, 260, 1, 0, 0, 0, 54, 341, + 1, 0, 0, 0, 56, 343, 1, 0, 0, 0, 58, 351, 1, 0, 0, 0, 60, 359, 1, 0, 0, + 0, 62, 373, 1, 0, 0, 0, 64, 377, 1, 0, 0, 0, 66, 391, 1, 0, 0, 0, 68, 409, + 1, 0, 0, 0, 70, 71, 3, 2, 1, 0, 71, 72, 5, 0, 0, 1, 72, 1, 1, 0, 0, 0, + 73, 83, 3, 4, 2, 0, 74, 83, 3, 6, 3, 0, 75, 83, 3, 8, 4, 0, 76, 83, 3, + 16, 8, 0, 77, 83, 3, 18, 9, 0, 78, 83, 3, 22, 11, 0, 79, 83, 3, 24, 12, + 0, 80, 83, 3, 26, 13, 0, 81, 83, 3, 20, 10, 0, 82, 73, 1, 0, 0, 0, 82, + 74, 1, 0, 0, 0, 82, 75, 1, 0, 0, 0, 82, 76, 1, 0, 0, 0, 82, 77, 1, 0, 0, + 0, 82, 78, 1, 0, 0, 0, 82, 79, 1, 0, 0, 0, 82, 80, 1, 0, 0, 0, 82, 81, + 1, 0, 0, 0, 83, 3, 1, 0, 0, 0, 84, 85, 7, 0, 0, 0, 85, 5, 1, 0, 0, 0, 86, + 93, 5, 3, 0, 0, 87, 88, 3, 10, 5, 0, 88, 89, 5, 12, 0, 0, 89, 94, 1, 0, + 0, 0, 90, 91, 3, 12, 6, 0, 91, 92, 5, 11, 0, 0, 92, 94, 1, 0, 0, 0, 93, + 87, 1, 0, 0, 0, 93, 90, 1, 0, 0, 0, 94, 95, 1, 0, 0, 0, 95, 96, 3, 40, + 20, 0, 96, 7, 1, 0, 0, 0, 97, 100, 5, 4, 0, 0, 98, 101, 3, 10, 5, 0, 99, + 101, 3, 12, 6, 0, 100, 98, 1, 0, 0, 0, 100, 99, 1, 0, 0, 0, 101, 9, 1, + 0, 0, 0, 102, 105, 3, 28, 14, 0, 103, 104, 5, 33, 0, 0, 104, 106, 3, 32, + 16, 0, 105, 103, 1, 0, 0, 0, 105, 106, 1, 0, 0, 0, 106, 11, 1, 0, 0, 0, + 107, 108, 3, 28, 14, 0, 108, 117, 5, 26, 0, 0, 109, 114, 3, 14, 7, 0, 110, + 111, 5, 29, 0, 0, 111, 113, 3, 14, 7, 0, 112, 110, 1, 0, 0, 0, 113, 116, + 1, 0, 0, 0, 114, 112, 1, 0, 0, 0, 114, 115, 1, 0, 0, 0, 115, 118, 1, 0, + 0, 0, 116, 114, 1, 0, 0, 0, 117, 109, 1, 0, 0, 0, 117, 118, 1, 0, 0, 0, + 118, 119, 1, 0, 0, 0, 119, 120, 5, 27, 0, 0, 120, 121, 5, 33, 0, 0, 121, + 122, 3, 32, 16, 0, 122, 13, 1, 0, 0, 0, 123, 124, 5, 48, 0, 0, 124, 125, + 5, 33, 0, 0, 125, 126, 3, 32, 16, 0, 126, 15, 1, 0, 0, 0, 127, 130, 5, + 5, 0, 0, 128, 131, 3, 10, 5, 0, 129, 131, 3, 12, 6, 0, 130, 128, 1, 0, + 0, 0, 130, 129, 1, 0, 0, 0, 131, 17, 1, 0, 0, 0, 132, 137, 5, 9, 0, 0, + 133, 136, 5, 10, 0, 0, 134, 136, 5, 46, 0, 0, 135, 133, 1, 0, 0, 0, 135, + 134, 1, 0, 0, 0, 136, 139, 1, 0, 0, 0, 137, 135, 1, 0, 0, 0, 137, 138, + 1, 0, 0, 0, 138, 19, 1, 0, 0, 0, 139, 137, 1, 0, 0, 0, 140, 141, 1, 0, + 0, 0, 141, 21, 1, 0, 0, 0, 142, 143, 5, 6, 0, 0, 143, 144, 3, 40, 20, 0, + 144, 23, 1, 0, 0, 0, 145, 146, 5, 7, 0, 0, 146, 147, 3, 40, 20, 0, 147, + 25, 1, 0, 0, 0, 148, 150, 5, 8, 0, 0, 149, 148, 1, 0, 0, 0, 149, 150, 1, + 0, 0, 0, 150, 151, 1, 0, 0, 0, 151, 152, 3, 40, 20, 0, 152, 27, 1, 0, 0, + 0, 153, 155, 5, 28, 0, 0, 154, 153, 1, 0, 0, 0, 154, 155, 1, 0, 0, 0, 155, + 156, 1, 0, 0, 0, 156, 161, 5, 48, 0, 0, 157, 158, 5, 28, 0, 0, 158, 160, + 5, 48, 0, 0, 159, 157, 1, 0, 0, 0, 160, 163, 1, 0, 0, 0, 161, 159, 1, 0, + 0, 0, 161, 162, 1, 0, 0, 0, 162, 29, 1, 0, 0, 0, 163, 161, 1, 0, 0, 0, + 164, 165, 3, 32, 16, 0, 165, 166, 5, 0, 0, 1, 166, 31, 1, 0, 0, 0, 167, + 169, 3, 34, 17, 0, 168, 170, 3, 36, 18, 0, 169, 168, 1, 0, 0, 0, 169, 170, + 1, 0, 0, 0, 170, 33, 1, 0, 0, 0, 171, 173, 5, 28, 0, 0, 172, 171, 1, 0, + 0, 0, 172, 173, 1, 0, 0, 0, 173, 174, 1, 0, 0, 0, 174, 179, 7, 1, 0, 0, + 175, 176, 5, 28, 0, 0, 176, 178, 5, 48, 0, 0, 177, 175, 1, 0, 0, 0, 178, + 181, 1, 0, 0, 0, 179, 177, 1, 0, 0, 0, 179, 180, 1, 0, 0, 0, 180, 35, 1, + 0, 0, 0, 181, 179, 1, 0, 0, 0, 182, 183, 5, 26, 0, 0, 183, 188, 3, 32, + 16, 0, 184, 185, 5, 29, 0, 0, 185, 187, 3, 32, 16, 0, 186, 184, 1, 0, 0, + 0, 187, 190, 1, 0, 0, 0, 188, 186, 1, 0, 0, 0, 188, 189, 1, 0, 0, 0, 189, + 191, 1, 0, 0, 0, 190, 188, 1, 0, 0, 0, 191, 192, 5, 27, 0, 0, 192, 37, + 1, 0, 0, 0, 193, 194, 3, 40, 20, 0, 194, 195, 5, 0, 0, 1, 195, 39, 1, 0, + 0, 0, 196, 202, 3, 42, 21, 0, 197, 198, 5, 32, 0, 0, 198, 199, 3, 42, 21, + 0, 199, 200, 5, 33, 0, 0, 200, 201, 3, 40, 20, 0, 201, 203, 1, 0, 0, 0, + 202, 197, 1, 0, 0, 0, 202, 203, 1, 0, 0, 0, 203, 41, 1, 0, 0, 0, 204, 209, + 3, 44, 22, 0, 205, 206, 5, 21, 0, 0, 206, 208, 3, 44, 22, 0, 207, 205, + 1, 0, 0, 0, 208, 211, 1, 0, 0, 0, 209, 207, 1, 0, 0, 0, 209, 210, 1, 0, + 0, 0, 210, 43, 1, 0, 0, 0, 211, 209, 1, 0, 0, 0, 212, 217, 3, 46, 23, 0, + 213, 214, 5, 20, 0, 0, 214, 216, 3, 46, 23, 0, 215, 213, 1, 0, 0, 0, 216, + 219, 1, 0, 0, 0, 217, 215, 1, 0, 0, 0, 217, 218, 1, 0, 0, 0, 218, 45, 1, + 0, 0, 0, 219, 217, 1, 0, 0, 0, 220, 221, 6, 23, -1, 0, 221, 222, 3, 48, + 24, 0, 222, 228, 1, 0, 0, 0, 223, 224, 10, 1, 0, 0, 224, 225, 7, 2, 0, + 0, 225, 227, 3, 46, 23, 2, 226, 223, 1, 0, 0, 0, 227, 230, 1, 0, 0, 0, + 228, 226, 1, 0, 0, 0, 228, 229, 1, 0, 0, 0, 229, 47, 1, 0, 0, 0, 230, 228, + 1, 0, 0, 0, 231, 232, 6, 24, -1, 0, 232, 233, 3, 50, 25, 0, 233, 242, 1, + 0, 0, 0, 234, 235, 10, 2, 0, 0, 235, 236, 7, 3, 0, 0, 236, 241, 3, 48, + 24, 3, 237, 238, 10, 1, 0, 0, 238, 239, 7, 4, 0, 0, 239, 241, 3, 48, 24, + 2, 240, 234, 1, 0, 0, 0, 240, 237, 1, 0, 0, 0, 241, 244, 1, 0, 0, 0, 242, + 240, 1, 0, 0, 0, 242, 243, 1, 0, 0, 0, 243, 49, 1, 0, 0, 0, 244, 242, 1, + 0, 0, 0, 245, 259, 3, 52, 26, 0, 246, 248, 5, 31, 0, 0, 247, 246, 1, 0, + 0, 0, 248, 249, 1, 0, 0, 0, 249, 247, 1, 0, 0, 0, 249, 250, 1, 0, 0, 0, + 250, 251, 1, 0, 0, 0, 251, 259, 3, 52, 26, 0, 252, 254, 5, 30, 0, 0, 253, + 252, 1, 0, 0, 0, 254, 255, 1, 0, 0, 0, 255, 253, 1, 0, 0, 0, 255, 256, + 1, 0, 0, 0, 256, 257, 1, 0, 0, 0, 257, 259, 3, 52, 26, 0, 258, 245, 1, + 0, 0, 0, 258, 247, 1, 0, 0, 0, 258, 253, 1, 0, 0, 0, 259, 51, 1, 0, 0, + 0, 260, 261, 6, 26, -1, 0, 261, 262, 3, 54, 27, 0, 262, 287, 1, 0, 0, 0, + 263, 264, 10, 3, 0, 0, 264, 266, 5, 28, 0, 0, 265, 267, 5, 32, 0, 0, 266, + 265, 1, 0, 0, 0, 266, 267, 1, 0, 0, 0, 267, 268, 1, 0, 0, 0, 268, 286, + 5, 48, 0, 0, 269, 270, 10, 2, 0, 0, 270, 271, 5, 28, 0, 0, 271, 272, 5, + 48, 0, 0, 272, 274, 5, 26, 0, 0, 273, 275, 3, 56, 28, 0, 274, 273, 1, 0, + 0, 0, 274, 275, 1, 0, 0, 0, 275, 276, 1, 0, 0, 0, 276, 286, 5, 27, 0, 0, + 277, 278, 10, 1, 0, 0, 278, 280, 5, 22, 0, 0, 279, 281, 5, 32, 0, 0, 280, + 279, 1, 0, 0, 0, 280, 281, 1, 0, 0, 0, 281, 282, 1, 0, 0, 0, 282, 283, + 3, 40, 20, 0, 283, 284, 5, 23, 0, 0, 284, 286, 1, 0, 0, 0, 285, 263, 1, + 0, 0, 0, 285, 269, 1, 0, 0, 0, 285, 277, 1, 0, 0, 0, 286, 289, 1, 0, 0, + 0, 287, 285, 1, 0, 0, 0, 287, 288, 1, 0, 0, 0, 288, 53, 1, 0, 0, 0, 289, + 287, 1, 0, 0, 0, 290, 292, 5, 28, 0, 0, 291, 290, 1, 0, 0, 0, 291, 292, + 1, 0, 0, 0, 292, 293, 1, 0, 0, 0, 293, 299, 5, 48, 0, 0, 294, 296, 5, 26, + 0, 0, 295, 297, 3, 56, 28, 0, 296, 295, 1, 0, 0, 0, 296, 297, 1, 0, 0, + 0, 297, 298, 1, 0, 0, 0, 298, 300, 5, 27, 0, 0, 299, 294, 1, 0, 0, 0, 299, + 300, 1, 0, 0, 0, 300, 342, 1, 0, 0, 0, 301, 302, 5, 26, 0, 0, 302, 303, + 3, 40, 20, 0, 303, 304, 5, 27, 0, 0, 304, 342, 1, 0, 0, 0, 305, 307, 5, + 22, 0, 0, 306, 308, 3, 58, 29, 0, 307, 306, 1, 0, 0, 0, 307, 308, 1, 0, + 0, 0, 308, 310, 1, 0, 0, 0, 309, 311, 5, 29, 0, 0, 310, 309, 1, 0, 0, 0, + 310, 311, 1, 0, 0, 0, 311, 312, 1, 0, 0, 0, 312, 342, 5, 23, 0, 0, 313, + 315, 5, 24, 0, 0, 314, 316, 3, 64, 32, 0, 315, 314, 1, 0, 0, 0, 315, 316, + 1, 0, 0, 0, 316, 318, 1, 0, 0, 0, 317, 319, 5, 29, 0, 0, 318, 317, 1, 0, + 0, 0, 318, 319, 1, 0, 0, 0, 319, 320, 1, 0, 0, 0, 320, 342, 5, 25, 0, 0, + 321, 323, 5, 28, 0, 0, 322, 321, 1, 0, 0, 0, 322, 323, 1, 0, 0, 0, 323, + 324, 1, 0, 0, 0, 324, 329, 5, 48, 0, 0, 325, 326, 5, 28, 0, 0, 326, 328, + 5, 48, 0, 0, 327, 325, 1, 0, 0, 0, 328, 331, 1, 0, 0, 0, 329, 327, 1, 0, + 0, 0, 329, 330, 1, 0, 0, 0, 330, 332, 1, 0, 0, 0, 331, 329, 1, 0, 0, 0, + 332, 334, 5, 24, 0, 0, 333, 335, 3, 60, 30, 0, 334, 333, 1, 0, 0, 0, 334, + 335, 1, 0, 0, 0, 335, 337, 1, 0, 0, 0, 336, 338, 5, 29, 0, 0, 337, 336, + 1, 0, 0, 0, 337, 338, 1, 0, 0, 0, 338, 339, 1, 0, 0, 0, 339, 342, 5, 25, + 0, 0, 340, 342, 3, 68, 34, 0, 341, 291, 1, 0, 0, 0, 341, 301, 1, 0, 0, + 0, 341, 305, 1, 0, 0, 0, 341, 313, 1, 0, 0, 0, 341, 322, 1, 0, 0, 0, 341, + 340, 1, 0, 0, 0, 342, 55, 1, 0, 0, 0, 343, 348, 3, 40, 20, 0, 344, 345, + 5, 29, 0, 0, 345, 347, 3, 40, 20, 0, 346, 344, 1, 0, 0, 0, 347, 350, 1, + 0, 0, 0, 348, 346, 1, 0, 0, 0, 348, 349, 1, 0, 0, 0, 349, 57, 1, 0, 0, + 0, 350, 348, 1, 0, 0, 0, 351, 356, 3, 66, 33, 0, 352, 353, 5, 29, 0, 0, + 353, 355, 3, 66, 33, 0, 354, 352, 1, 0, 0, 0, 355, 358, 1, 0, 0, 0, 356, + 354, 1, 0, 0, 0, 356, 357, 1, 0, 0, 0, 357, 59, 1, 0, 0, 0, 358, 356, 1, + 0, 0, 0, 359, 360, 3, 62, 31, 0, 360, 361, 5, 33, 0, 0, 361, 369, 3, 40, + 20, 0, 362, 363, 5, 29, 0, 0, 363, 364, 3, 62, 31, 0, 364, 365, 5, 33, + 0, 0, 365, 366, 3, 40, 20, 0, 366, 368, 1, 0, 0, 0, 367, 362, 1, 0, 0, + 0, 368, 371, 1, 0, 0, 0, 369, 367, 1, 0, 0, 0, 369, 370, 1, 0, 0, 0, 370, + 61, 1, 0, 0, 0, 371, 369, 1, 0, 0, 0, 372, 374, 5, 32, 0, 0, 373, 372, + 1, 0, 0, 0, 373, 374, 1, 0, 0, 0, 374, 375, 1, 0, 0, 0, 375, 376, 5, 48, + 0, 0, 376, 63, 1, 0, 0, 0, 377, 378, 3, 66, 33, 0, 378, 379, 5, 33, 0, + 0, 379, 387, 3, 40, 20, 0, 380, 381, 5, 29, 0, 0, 381, 382, 3, 66, 33, + 0, 382, 383, 5, 33, 0, 0, 383, 384, 3, 40, 20, 0, 384, 386, 1, 0, 0, 0, + 385, 380, 1, 0, 0, 0, 386, 389, 1, 0, 0, 0, 387, 385, 1, 0, 0, 0, 387, + 388, 1, 0, 0, 0, 388, 65, 1, 0, 0, 0, 389, 387, 1, 0, 0, 0, 390, 392, 5, + 32, 0, 0, 391, 390, 1, 0, 0, 0, 391, 392, 1, 0, 0, 0, 392, 393, 1, 0, 0, + 0, 393, 394, 3, 40, 20, 0, 394, 67, 1, 0, 0, 0, 395, 397, 5, 30, 0, 0, + 396, 395, 1, 0, 0, 0, 396, 397, 1, 0, 0, 0, 397, 398, 1, 0, 0, 0, 398, + 410, 5, 44, 0, 0, 399, 410, 5, 45, 0, 0, 400, 402, 5, 30, 0, 0, 401, 400, + 1, 0, 0, 0, 401, 402, 1, 0, 0, 0, 402, 403, 1, 0, 0, 0, 403, 410, 5, 43, + 0, 0, 404, 410, 5, 46, 0, 0, 405, 410, 5, 47, 0, 0, 406, 410, 5, 38, 0, + 0, 407, 410, 5, 39, 0, 0, 408, 410, 5, 40, 0, 0, 409, 396, 1, 0, 0, 0, + 409, 399, 1, 0, 0, 0, 409, 401, 1, 0, 0, 0, 409, 404, 1, 0, 0, 0, 409, + 405, 1, 0, 0, 0, 409, 406, 1, 0, 0, 0, 409, 407, 1, 0, 0, 0, 409, 408, + 1, 0, 0, 0, 410, 69, 1, 0, 0, 0, 51, 82, 93, 100, 105, 114, 117, 130, 135, + 137, 149, 154, 161, 169, 172, 179, 188, 202, 209, 217, 228, 240, 242, 249, + 255, 258, 266, 274, 280, 285, 287, 291, 296, 299, 307, 310, 315, 318, 322, + 329, 334, 337, 341, 348, 356, 369, 373, 387, 391, 396, 401, 409, + } + deserializer := antlr.NewATNDeserializer(nil) + staticData.atn = deserializer.Deserialize(staticData.serializedATN) + atn := staticData.atn + staticData.decisionToDFA = make([]*antlr.DFA, len(atn.DecisionToState)) + decisionToDFA := staticData.decisionToDFA + for index, state := range atn.DecisionToState { + decisionToDFA[index] = antlr.NewDFA(state, index) + } } // CommandsParserInit initializes any static state used to implement CommandsParser. By default the @@ -259,8 +260,8 @@ func commandsParserInit() { // NewCommandsParser(). You can call this function if you wish to initialize the static state ahead // of time. func CommandsParserInit() { - staticData := &CommandsParserStaticData - staticData.once.Do(commandsParserInit) + staticData := &CommandsParserStaticData + staticData.once.Do(commandsParserInit) } // NewCommandsParser produces a new parser instance for the optional input antlr.TokenStream. @@ -268,7 +269,7 @@ func NewCommandsParser(input antlr.TokenStream) *CommandsParser { CommandsParserInit() this := new(CommandsParser) this.BaseParser = antlr.NewBaseParser(input) - staticData := &CommandsParserStaticData + staticData := &CommandsParserStaticData this.Interpreter = antlr.NewParserATNSimulator(this, staticData.atn, staticData.decisionToDFA, staticData.PredictionContextCache) this.RuleNames = staticData.RuleNames this.LiteralNames = staticData.LiteralNames @@ -278,95 +279,96 @@ func NewCommandsParser(input antlr.TokenStream) *CommandsParser { return this } - // CommandsParser tokens. const ( - CommandsParserEOF = antlr.TokenEOF - CommandsParserT__0 = 1 - CommandsParserT__1 = 2 - CommandsParserT__2 = 3 - CommandsParserT__3 = 4 - CommandsParserT__4 = 5 - CommandsParserT__5 = 6 - CommandsParserT__6 = 7 - CommandsParserCOMMAND = 8 - CommandsParserFLAG = 9 - CommandsParserARROW = 10 - CommandsParserEQUAL_ASSIGN = 11 - CommandsParserEQUALS = 12 - CommandsParserNOT_EQUALS = 13 - CommandsParserIN = 14 - CommandsParserLESS = 15 - CommandsParserLESS_EQUALS = 16 - CommandsParserGREATER_EQUALS = 17 - CommandsParserGREATER = 18 - CommandsParserLOGICAL_AND = 19 - CommandsParserLOGICAL_OR = 20 - CommandsParserLBRACKET = 21 - CommandsParserRPRACKET = 22 - CommandsParserLBRACE = 23 - CommandsParserRBRACE = 24 - CommandsParserLPAREN = 25 - CommandsParserRPAREN = 26 - CommandsParserDOT = 27 - CommandsParserCOMMA = 28 - CommandsParserMINUS = 29 - CommandsParserEXCLAM = 30 - CommandsParserQUESTIONMARK = 31 - CommandsParserCOLON = 32 - CommandsParserPLUS = 33 - CommandsParserSTAR = 34 - CommandsParserSLASH = 35 - CommandsParserPERCENT = 36 - CommandsParserCEL_TRUE = 37 - CommandsParserCEL_FALSE = 38 - CommandsParserNUL = 39 - CommandsParserWHITESPACE = 40 - CommandsParserCOMMENT = 41 - CommandsParserNUM_FLOAT = 42 - CommandsParserNUM_INT = 43 - CommandsParserNUM_UINT = 44 - CommandsParserSTRING = 45 - CommandsParserBYTES = 46 - CommandsParserIDENTIFIER = 47 + CommandsParserEOF = antlr.TokenEOF + CommandsParserT__0 = 1 + CommandsParserT__1 = 2 + CommandsParserT__2 = 3 + CommandsParserT__3 = 4 + CommandsParserT__4 = 5 + CommandsParserT__5 = 6 + CommandsParserT__6 = 7 + CommandsParserT__7 = 8 + CommandsParserCOMMAND = 9 + CommandsParserFLAG = 10 + CommandsParserARROW = 11 + CommandsParserEQUAL_ASSIGN = 12 + CommandsParserEQUALS = 13 + CommandsParserNOT_EQUALS = 14 + CommandsParserIN = 15 + CommandsParserLESS = 16 + CommandsParserLESS_EQUALS = 17 + CommandsParserGREATER_EQUALS = 18 + CommandsParserGREATER = 19 + CommandsParserLOGICAL_AND = 20 + CommandsParserLOGICAL_OR = 21 + CommandsParserLBRACKET = 22 + CommandsParserRPRACKET = 23 + CommandsParserLBRACE = 24 + CommandsParserRBRACE = 25 + CommandsParserLPAREN = 26 + CommandsParserRPAREN = 27 + CommandsParserDOT = 28 + CommandsParserCOMMA = 29 + CommandsParserMINUS = 30 + CommandsParserEXCLAM = 31 + CommandsParserQUESTIONMARK = 32 + CommandsParserCOLON = 33 + CommandsParserPLUS = 34 + CommandsParserSTAR = 35 + CommandsParserSLASH = 36 + CommandsParserPERCENT = 37 + CommandsParserCEL_TRUE = 38 + CommandsParserCEL_FALSE = 39 + CommandsParserNUL = 40 + CommandsParserWHITESPACE = 41 + CommandsParserCOMMENT = 42 + CommandsParserNUM_FLOAT = 43 + CommandsParserNUM_INT = 44 + CommandsParserNUM_UINT = 45 + CommandsParserSTRING = 46 + CommandsParserBYTES = 47 + CommandsParserIDENTIFIER = 48 ) // CommandsParser rules. const ( - CommandsParserRULE_startCommand = 0 - CommandsParserRULE_command = 1 - CommandsParserRULE_help = 2 - CommandsParserRULE_let = 3 - CommandsParserRULE_declare = 4 - CommandsParserRULE_varDecl = 5 - CommandsParserRULE_fnDecl = 6 - CommandsParserRULE_param = 7 - CommandsParserRULE_delete = 8 - CommandsParserRULE_simple = 9 - CommandsParserRULE_empty = 10 - CommandsParserRULE_compile = 11 - CommandsParserRULE_exprCmd = 12 - CommandsParserRULE_qualId = 13 - CommandsParserRULE_startType = 14 - CommandsParserRULE_type = 15 - CommandsParserRULE_typeId = 16 - CommandsParserRULE_typeParamList = 17 - CommandsParserRULE_start = 18 - CommandsParserRULE_expr = 19 - CommandsParserRULE_conditionalOr = 20 - CommandsParserRULE_conditionalAnd = 21 - CommandsParserRULE_relation = 22 - CommandsParserRULE_calc = 23 - CommandsParserRULE_unary = 24 - CommandsParserRULE_member = 25 - CommandsParserRULE_primary = 26 - CommandsParserRULE_exprList = 27 - CommandsParserRULE_listInit = 28 - CommandsParserRULE_fieldInitializerList = 29 - CommandsParserRULE_optField = 30 - CommandsParserRULE_mapInitializerList = 31 - CommandsParserRULE_optExpr = 32 - CommandsParserRULE_literal = 33 + CommandsParserRULE_startCommand = 0 + CommandsParserRULE_command = 1 + CommandsParserRULE_help = 2 + CommandsParserRULE_let = 3 + CommandsParserRULE_declare = 4 + CommandsParserRULE_varDecl = 5 + CommandsParserRULE_fnDecl = 6 + CommandsParserRULE_param = 7 + CommandsParserRULE_delete = 8 + CommandsParserRULE_simple = 9 + CommandsParserRULE_empty = 10 + CommandsParserRULE_compile = 11 + CommandsParserRULE_parse = 12 + CommandsParserRULE_exprCmd = 13 + CommandsParserRULE_qualId = 14 + CommandsParserRULE_startType = 15 + CommandsParserRULE_type = 16 + CommandsParserRULE_typeId = 17 + CommandsParserRULE_typeParamList = 18 + CommandsParserRULE_start = 19 + CommandsParserRULE_expr = 20 + CommandsParserRULE_conditionalOr = 21 + CommandsParserRULE_conditionalAnd = 22 + CommandsParserRULE_relation = 23 + CommandsParserRULE_calc = 24 + CommandsParserRULE_unary = 25 + CommandsParserRULE_member = 26 + CommandsParserRULE_primary = 27 + CommandsParserRULE_exprList = 28 + CommandsParserRULE_listInit = 29 + CommandsParserRULE_fieldInitializerList = 30 + CommandsParserRULE_optField = 31 + CommandsParserRULE_mapInitializerList = 32 + CommandsParserRULE_optExpr = 33 + CommandsParserRULE_literal = 34 ) // IStartCommandContext is an interface to support dynamic dispatch. @@ -396,7 +398,7 @@ func NewEmptyStartCommandContext() *StartCommandContext { return p } -func InitEmptyStartCommandContext(p *StartCommandContext) { +func InitEmptyStartCommandContext(p *StartCommandContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) p.RuleIndex = CommandsParserRULE_startCommand } @@ -417,10 +419,10 @@ func NewStartCommandContext(parser antlr.Parser, parent antlr.ParserRuleContext, func (s *StartCommandContext) GetParser() antlr.Parser { return s.parser } func (s *StartCommandContext) Command() ICommandContext { - var t antlr.RuleContext; + var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(ICommandContext); ok { - t = ctx.(antlr.RuleContext); + t = ctx.(antlr.RuleContext) break } } @@ -444,7 +446,6 @@ func (s *StartCommandContext) ToStringTree(ruleNames []string, recog antlr.Recog return antlr.TreesStringTree(s, ruleNames, recog) } - func (s *StartCommandContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(CommandsListener); ok { listenerT.EnterStartCommand(s) @@ -467,28 +468,23 @@ func (s *StartCommandContext) Accept(visitor antlr.ParseTreeVisitor) interface{} } } - - - func (p *CommandsParser) StartCommand() (localctx IStartCommandContext) { localctx = NewStartCommandContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 0, CommandsParserRULE_startCommand) p.EnterOuterAlt(localctx, 1) { - p.SetState(68) + p.SetState(70) p.Command() } { - p.SetState(69) + p.SetState(71) p.Match(CommandsParserEOF) if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } - - errorExit: if p.HasError() { v := p.GetError() @@ -502,7 +498,6 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } - // ICommandContext is an interface to support dynamic dispatch. type ICommandContext interface { antlr.ParserRuleContext @@ -517,6 +512,7 @@ type ICommandContext interface { Delete_() IDeleteContext Simple() ISimpleContext Compile() ICompileContext + Parse() IParseContext ExprCmd() IExprCmdContext Empty() IEmptyContext @@ -536,7 +532,7 @@ func NewEmptyCommandContext() *CommandContext { return p } -func InitEmptyCommandContext(p *CommandContext) { +func InitEmptyCommandContext(p *CommandContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) p.RuleIndex = CommandsParserRULE_command } @@ -557,10 +553,10 @@ func NewCommandContext(parser antlr.Parser, parent antlr.ParserRuleContext, invo func (s *CommandContext) GetParser() antlr.Parser { return s.parser } func (s *CommandContext) Help() IHelpContext { - var t antlr.RuleContext; + var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(IHelpContext); ok { - t = ctx.(antlr.RuleContext); + t = ctx.(antlr.RuleContext) break } } @@ -573,10 +569,10 @@ func (s *CommandContext) Help() IHelpContext { } func (s *CommandContext) Let() ILetContext { - var t antlr.RuleContext; + var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(ILetContext); ok { - t = ctx.(antlr.RuleContext); + t = ctx.(antlr.RuleContext) break } } @@ -589,10 +585,10 @@ func (s *CommandContext) Let() ILetContext { } func (s *CommandContext) Declare() IDeclareContext { - var t antlr.RuleContext; + var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(IDeclareContext); ok { - t = ctx.(antlr.RuleContext); + t = ctx.(antlr.RuleContext) break } } @@ -605,10 +601,10 @@ func (s *CommandContext) Declare() IDeclareContext { } func (s *CommandContext) Delete_() IDeleteContext { - var t antlr.RuleContext; + var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(IDeleteContext); ok { - t = ctx.(antlr.RuleContext); + t = ctx.(antlr.RuleContext) break } } @@ -621,10 +617,10 @@ func (s *CommandContext) Delete_() IDeleteContext { } func (s *CommandContext) Simple() ISimpleContext { - var t antlr.RuleContext; + var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(ISimpleContext); ok { - t = ctx.(antlr.RuleContext); + t = ctx.(antlr.RuleContext) break } } @@ -637,10 +633,10 @@ func (s *CommandContext) Simple() ISimpleContext { } func (s *CommandContext) Compile() ICompileContext { - var t antlr.RuleContext; + var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(ICompileContext); ok { - t = ctx.(antlr.RuleContext); + t = ctx.(antlr.RuleContext) break } } @@ -652,11 +648,27 @@ func (s *CommandContext) Compile() ICompileContext { return t.(ICompileContext) } +func (s *CommandContext) Parse() IParseContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IParseContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IParseContext) +} + func (s *CommandContext) ExprCmd() IExprCmdContext { - var t antlr.RuleContext; + var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(IExprCmdContext); ok { - t = ctx.(antlr.RuleContext); + t = ctx.(antlr.RuleContext) break } } @@ -669,10 +681,10 @@ func (s *CommandContext) ExprCmd() IExprCmdContext { } func (s *CommandContext) Empty() IEmptyContext { - var t antlr.RuleContext; + var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(IEmptyContext); ok { - t = ctx.(antlr.RuleContext); + t = ctx.(antlr.RuleContext) break } } @@ -692,7 +704,6 @@ func (s *CommandContext) ToStringTree(ruleNames []string, recog antlr.Recognizer return antlr.TreesStringTree(s, ruleNames, recog) } - func (s *CommandContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(CommandsListener); ok { listenerT.EnterCommand(s) @@ -715,13 +726,10 @@ func (s *CommandContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { } } - - - func (p *CommandsParser) Command() (localctx ICommandContext) { localctx = NewCommandContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 2, CommandsParserRULE_command) - p.SetState(79) + p.SetState(82) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -731,74 +739,71 @@ func (p *CommandsParser) Command() (localctx ICommandContext) { case CommandsParserT__0, CommandsParserT__1: p.EnterOuterAlt(localctx, 1) { - p.SetState(71) + p.SetState(73) p.Help() } - case CommandsParserT__2: p.EnterOuterAlt(localctx, 2) { - p.SetState(72) + p.SetState(74) p.Let() } - case CommandsParserT__3: p.EnterOuterAlt(localctx, 3) { - p.SetState(73) + p.SetState(75) p.Declare() } - case CommandsParserT__4: p.EnterOuterAlt(localctx, 4) { - p.SetState(74) + p.SetState(76) p.Delete_() } - case CommandsParserCOMMAND: p.EnterOuterAlt(localctx, 5) { - p.SetState(75) + p.SetState(77) p.Simple() } - case CommandsParserT__5: p.EnterOuterAlt(localctx, 6) { - p.SetState(76) + p.SetState(78) p.Compile() } - - case CommandsParserT__6, CommandsParserLBRACKET, CommandsParserLBRACE, CommandsParserLPAREN, CommandsParserDOT, CommandsParserMINUS, CommandsParserEXCLAM, CommandsParserCEL_TRUE, CommandsParserCEL_FALSE, CommandsParserNUL, CommandsParserNUM_FLOAT, CommandsParserNUM_INT, CommandsParserNUM_UINT, CommandsParserSTRING, CommandsParserBYTES, CommandsParserIDENTIFIER: + case CommandsParserT__6: p.EnterOuterAlt(localctx, 7) { - p.SetState(77) - p.ExprCmd() + p.SetState(79) + p.Parse() } + case CommandsParserT__7, CommandsParserLBRACKET, CommandsParserLBRACE, CommandsParserLPAREN, CommandsParserDOT, CommandsParserMINUS, CommandsParserEXCLAM, CommandsParserCEL_TRUE, CommandsParserCEL_FALSE, CommandsParserNUL, CommandsParserNUM_FLOAT, CommandsParserNUM_INT, CommandsParserNUM_UINT, CommandsParserSTRING, CommandsParserBYTES, CommandsParserIDENTIFIER: + p.EnterOuterAlt(localctx, 8) + { + p.SetState(80) + p.ExprCmd() + } case CommandsParserEOF: - p.EnterOuterAlt(localctx, 8) + p.EnterOuterAlt(localctx, 9) { - p.SetState(78) + p.SetState(81) p.Empty() } - - default: p.SetError(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil)) goto errorExit } - errorExit: if p.HasError() { v := p.GetError() @@ -812,7 +817,6 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } - // IHelpContext is an interface to support dynamic dispatch. type IHelpContext interface { antlr.ParserRuleContext @@ -835,7 +839,7 @@ func NewEmptyHelpContext() *HelpContext { return p } -func InitEmptyHelpContext(p *HelpContext) { +func InitEmptyHelpContext(p *HelpContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) p.RuleIndex = CommandsParserRULE_help } @@ -862,7 +866,6 @@ func (s *HelpContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) s return antlr.TreesStringTree(s, ruleNames, recog) } - func (s *HelpContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(CommandsListener); ok { listenerT.EnterHelp(s) @@ -885,9 +888,6 @@ func (s *HelpContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { } } - - - func (p *CommandsParser) Help() (localctx IHelpContext) { localctx = NewHelpContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 4, CommandsParserRULE_help) @@ -895,7 +895,7 @@ func (p *CommandsParser) Help() (localctx IHelpContext) { p.EnterOuterAlt(localctx, 1) { - p.SetState(81) + p.SetState(84) _la = p.GetTokenStream().LA(1) if !(_la == CommandsParserT__0 || _la == CommandsParserT__1) { @@ -906,8 +906,6 @@ func (p *CommandsParser) Help() (localctx IHelpContext) { } } - - errorExit: if p.HasError() { v := p.GetError() @@ -921,7 +919,6 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } - // ILetContext is an interface to support dynamic dispatch. type ILetContext interface { antlr.ParserRuleContext @@ -938,7 +935,6 @@ type ILetContext interface { // GetE returns the e rule contexts. GetE() IExprContext - // SetVar_ sets the var_ rule contexts. SetVar_(IVarDeclContext) @@ -948,7 +944,6 @@ type ILetContext interface { // SetE sets the e rule contexts. SetE(IExprContext) - // Getter signatures Expr() IExprContext EQUAL_ASSIGN() antlr.TerminalNode @@ -963,9 +958,9 @@ type ILetContext interface { type LetContext struct { antlr.BaseParserRuleContext parser antlr.Parser - var_ IVarDeclContext - fn IFnDeclContext - e IExprContext + var_ IVarDeclContext + fn IFnDeclContext + e IExprContext } func NewEmptyLetContext() *LetContext { @@ -975,7 +970,7 @@ func NewEmptyLetContext() *LetContext { return p } -func InitEmptyLetContext(p *LetContext) { +func InitEmptyLetContext(p *LetContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) p.RuleIndex = CommandsParserRULE_let } @@ -1001,19 +996,17 @@ func (s *LetContext) GetFn() IFnDeclContext { return s.fn } func (s *LetContext) GetE() IExprContext { return s.e } - func (s *LetContext) SetVar_(v IVarDeclContext) { s.var_ = v } func (s *LetContext) SetFn(v IFnDeclContext) { s.fn = v } func (s *LetContext) SetE(v IExprContext) { s.e = v } - func (s *LetContext) Expr() IExprContext { - var t antlr.RuleContext; + var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(IExprContext); ok { - t = ctx.(antlr.RuleContext); + t = ctx.(antlr.RuleContext) break } } @@ -1034,10 +1027,10 @@ func (s *LetContext) ARROW() antlr.TerminalNode { } func (s *LetContext) VarDecl() IVarDeclContext { - var t antlr.RuleContext; + var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(IVarDeclContext); ok { - t = ctx.(antlr.RuleContext); + t = ctx.(antlr.RuleContext) break } } @@ -1050,10 +1043,10 @@ func (s *LetContext) VarDecl() IVarDeclContext { } func (s *LetContext) FnDecl() IFnDeclContext { - var t antlr.RuleContext; + var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(IFnDeclContext); ok { - t = ctx.(antlr.RuleContext); + t = ctx.(antlr.RuleContext) break } } @@ -1073,7 +1066,6 @@ func (s *LetContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) st return antlr.TreesStringTree(s, ruleNames, recog) } - func (s *LetContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(CommandsListener); ok { listenerT.EnterLet(s) @@ -1096,22 +1088,19 @@ func (s *LetContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { } } - - - func (p *CommandsParser) Let() (localctx ILetContext) { localctx = NewLetContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 6, CommandsParserRULE_let) p.EnterOuterAlt(localctx, 1) { - p.SetState(83) + p.SetState(86) p.Match(CommandsParserT__2) if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } - p.SetState(90) + p.SetState(93) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -1120,57 +1109,49 @@ func (p *CommandsParser) Let() (localctx ILetContext) { switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 1, p.GetParserRuleContext()) { case 1: { - p.SetState(84) + p.SetState(87) var _x = p.VarDecl() - localctx.(*LetContext).var_ = _x } { - p.SetState(85) + p.SetState(88) p.Match(CommandsParserEQUAL_ASSIGN) if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } - - case 2: { - p.SetState(87) + p.SetState(90) var _x = p.FnDecl() - localctx.(*LetContext).fn = _x } { - p.SetState(88) + p.SetState(91) p.Match(CommandsParserARROW) if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } - case antlr.ATNInvalidAltNumber: goto errorExit } { - p.SetState(92) + p.SetState(95) var _x = p.Expr() - localctx.(*LetContext).e = _x } - - errorExit: if p.HasError() { v := p.GetError() @@ -1184,7 +1165,6 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } - // IDeclareContext is an interface to support dynamic dispatch. type IDeclareContext interface { antlr.ParserRuleContext @@ -1198,14 +1178,12 @@ type IDeclareContext interface { // GetFn returns the fn rule contexts. GetFn() IFnDeclContext - // SetVar_ sets the var_ rule contexts. SetVar_(IVarDeclContext) // SetFn sets the fn rule contexts. SetFn(IFnDeclContext) - // Getter signatures VarDecl() IVarDeclContext FnDecl() IFnDeclContext @@ -1217,8 +1195,8 @@ type IDeclareContext interface { type DeclareContext struct { antlr.BaseParserRuleContext parser antlr.Parser - var_ IVarDeclContext - fn IFnDeclContext + var_ IVarDeclContext + fn IFnDeclContext } func NewEmptyDeclareContext() *DeclareContext { @@ -1228,7 +1206,7 @@ func NewEmptyDeclareContext() *DeclareContext { return p } -func InitEmptyDeclareContext(p *DeclareContext) { +func InitEmptyDeclareContext(p *DeclareContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) p.RuleIndex = CommandsParserRULE_declare } @@ -1252,17 +1230,15 @@ func (s *DeclareContext) GetVar_() IVarDeclContext { return s.var_ } func (s *DeclareContext) GetFn() IFnDeclContext { return s.fn } - func (s *DeclareContext) SetVar_(v IVarDeclContext) { s.var_ = v } func (s *DeclareContext) SetFn(v IFnDeclContext) { s.fn = v } - func (s *DeclareContext) VarDecl() IVarDeclContext { - var t antlr.RuleContext; + var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(IVarDeclContext); ok { - t = ctx.(antlr.RuleContext); + t = ctx.(antlr.RuleContext) break } } @@ -1275,10 +1251,10 @@ func (s *DeclareContext) VarDecl() IVarDeclContext { } func (s *DeclareContext) FnDecl() IFnDeclContext { - var t antlr.RuleContext; + var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(IFnDeclContext); ok { - t = ctx.(antlr.RuleContext); + t = ctx.(antlr.RuleContext) break } } @@ -1298,7 +1274,6 @@ func (s *DeclareContext) ToStringTree(ruleNames []string, recog antlr.Recognizer return antlr.TreesStringTree(s, ruleNames, recog) } - func (s *DeclareContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(CommandsListener); ok { listenerT.EnterDeclare(s) @@ -1321,22 +1296,19 @@ func (s *DeclareContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { } } - - - func (p *CommandsParser) Declare() (localctx IDeclareContext) { localctx = NewDeclareContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 8, CommandsParserRULE_declare) p.EnterOuterAlt(localctx, 1) { - p.SetState(94) + p.SetState(97) p.Match(CommandsParserT__3) if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } - p.SetState(97) + p.SetState(100) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -1345,22 +1317,19 @@ func (p *CommandsParser) Declare() (localctx IDeclareContext) { switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 2, p.GetParserRuleContext()) { case 1: { - p.SetState(95) + p.SetState(98) var _x = p.VarDecl() - localctx.(*DeclareContext).var_ = _x } - case 2: { - p.SetState(96) + p.SetState(99) var _x = p.FnDecl() - localctx.(*DeclareContext).fn = _x } @@ -1368,8 +1337,6 @@ func (p *CommandsParser) Declare() (localctx IDeclareContext) { goto errorExit } - - errorExit: if p.HasError() { v := p.GetError() @@ -1383,7 +1350,6 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } - // IVarDeclContext is an interface to support dynamic dispatch. type IVarDeclContext interface { antlr.ParserRuleContext @@ -1397,14 +1363,12 @@ type IVarDeclContext interface { // GetT returns the t rule contexts. GetT() ITypeContext - // SetId sets the id rule contexts. SetId(IQualIdContext) // SetT sets the t rule contexts. SetT(ITypeContext) - // Getter signatures QualId() IQualIdContext COLON() antlr.TerminalNode @@ -1417,8 +1381,8 @@ type IVarDeclContext interface { type VarDeclContext struct { antlr.BaseParserRuleContext parser antlr.Parser - id IQualIdContext - t ITypeContext + id IQualIdContext + t ITypeContext } func NewEmptyVarDeclContext() *VarDeclContext { @@ -1428,7 +1392,7 @@ func NewEmptyVarDeclContext() *VarDeclContext { return p } -func InitEmptyVarDeclContext(p *VarDeclContext) { +func InitEmptyVarDeclContext(p *VarDeclContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) p.RuleIndex = CommandsParserRULE_varDecl } @@ -1452,17 +1416,15 @@ func (s *VarDeclContext) GetId() IQualIdContext { return s.id } func (s *VarDeclContext) GetT() ITypeContext { return s.t } - func (s *VarDeclContext) SetId(v IQualIdContext) { s.id = v } func (s *VarDeclContext) SetT(v ITypeContext) { s.t = v } - func (s *VarDeclContext) QualId() IQualIdContext { - var t antlr.RuleContext; + var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(IQualIdContext); ok { - t = ctx.(antlr.RuleContext); + t = ctx.(antlr.RuleContext) break } } @@ -1479,10 +1441,10 @@ func (s *VarDeclContext) COLON() antlr.TerminalNode { } func (s *VarDeclContext) Type_() ITypeContext { - var t antlr.RuleContext; + var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(ITypeContext); ok { - t = ctx.(antlr.RuleContext); + t = ctx.(antlr.RuleContext) break } } @@ -1502,7 +1464,6 @@ func (s *VarDeclContext) ToStringTree(ruleNames []string, recog antlr.Recognizer return antlr.TreesStringTree(s, ruleNames, recog) } - func (s *VarDeclContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(CommandsListener); ok { listenerT.EnterVarDecl(s) @@ -1525,9 +1486,6 @@ func (s *VarDeclContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { } } - - - func (p *CommandsParser) VarDecl() (localctx IVarDeclContext) { localctx = NewVarDeclContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 10, CommandsParserRULE_varDecl) @@ -1535,43 +1493,38 @@ func (p *CommandsParser) VarDecl() (localctx IVarDeclContext) { p.EnterOuterAlt(localctx, 1) { - p.SetState(99) + p.SetState(102) var _x = p.QualId() - localctx.(*VarDeclContext).id = _x } - p.SetState(102) + p.SetState(105) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if _la == CommandsParserCOLON { { - p.SetState(100) + p.SetState(103) p.Match(CommandsParserCOLON) if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } { - p.SetState(101) + p.SetState(104) var _x = p.Type_() - localctx.(*VarDeclContext).t = _x } } - - errorExit: if p.HasError() { v := p.GetError() @@ -1585,7 +1538,6 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } - // IFnDeclContext is an interface to support dynamic dispatch. type IFnDeclContext interface { antlr.ParserRuleContext @@ -1602,7 +1554,6 @@ type IFnDeclContext interface { // GetRType returns the rType rule contexts. GetRType() ITypeContext - // SetId sets the id rule contexts. SetId(IQualIdContext) @@ -1612,14 +1563,11 @@ type IFnDeclContext interface { // SetRType sets the rType rule contexts. SetRType(ITypeContext) - // GetParams returns the params rule context list. GetParams() []IParamContext - // SetParams sets the params rule context list. - SetParams([]IParamContext) - + SetParams([]IParamContext) // Getter signatures LPAREN() antlr.TerminalNode @@ -1639,10 +1587,10 @@ type IFnDeclContext interface { type FnDeclContext struct { antlr.BaseParserRuleContext parser antlr.Parser - id IQualIdContext - _param IParamContext + id IQualIdContext + _param IParamContext params []IParamContext - rType ITypeContext + rType ITypeContext } func NewEmptyFnDeclContext() *FnDeclContext { @@ -1652,7 +1600,7 @@ func NewEmptyFnDeclContext() *FnDeclContext { return p } -func InitEmptyFnDeclContext(p *FnDeclContext) { +func InitEmptyFnDeclContext(p *FnDeclContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) p.RuleIndex = CommandsParserRULE_fnDecl } @@ -1678,20 +1626,16 @@ func (s *FnDeclContext) Get_param() IParamContext { return s._param } func (s *FnDeclContext) GetRType() ITypeContext { return s.rType } - func (s *FnDeclContext) SetId(v IQualIdContext) { s.id = v } func (s *FnDeclContext) Set_param(v IParamContext) { s._param = v } func (s *FnDeclContext) SetRType(v ITypeContext) { s.rType = v } - func (s *FnDeclContext) GetParams() []IParamContext { return s.params } - func (s *FnDeclContext) SetParams(v []IParamContext) { s.params = v } - func (s *FnDeclContext) LPAREN() antlr.TerminalNode { return s.GetToken(CommandsParserLPAREN, 0) } @@ -1705,10 +1649,10 @@ func (s *FnDeclContext) COLON() antlr.TerminalNode { } func (s *FnDeclContext) QualId() IQualIdContext { - var t antlr.RuleContext; + var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(IQualIdContext); ok { - t = ctx.(antlr.RuleContext); + t = ctx.(antlr.RuleContext) break } } @@ -1721,10 +1665,10 @@ func (s *FnDeclContext) QualId() IQualIdContext { } func (s *FnDeclContext) Type_() ITypeContext { - var t antlr.RuleContext; + var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(ITypeContext); ok { - t = ctx.(antlr.RuleContext); + t = ctx.(antlr.RuleContext) break } } @@ -1758,12 +1702,12 @@ func (s *FnDeclContext) AllParam() []IParamContext { } func (s *FnDeclContext) Param(i int) IParamContext { - var t antlr.RuleContext; + var t antlr.RuleContext j := 0 for _, ctx := range s.GetChildren() { if _, ok := ctx.(IParamContext); ok { if j == i { - t = ctx.(antlr.RuleContext); + t = ctx.(antlr.RuleContext) break } j++ @@ -1793,7 +1737,6 @@ func (s *FnDeclContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) return antlr.TreesStringTree(s, ruleNames, recog) } - func (s *FnDeclContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(CommandsListener); ok { listenerT.EnterFnDecl(s) @@ -1816,9 +1759,6 @@ func (s *FnDeclContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { } } - - - func (p *CommandsParser) FnDecl() (localctx IFnDeclContext) { localctx = NewFnDeclContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 12, CommandsParserRULE_fnDecl) @@ -1826,103 +1766,94 @@ func (p *CommandsParser) FnDecl() (localctx IFnDeclContext) { p.EnterOuterAlt(localctx, 1) { - p.SetState(104) + p.SetState(107) var _x = p.QualId() - localctx.(*FnDeclContext).id = _x } { - p.SetState(105) + p.SetState(108) p.Match(CommandsParserLPAREN) if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } - p.SetState(114) + p.SetState(117) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if _la == CommandsParserIDENTIFIER { { - p.SetState(106) + p.SetState(109) var _x = p.Param() - localctx.(*FnDeclContext)._param = _x } localctx.(*FnDeclContext).params = append(localctx.(*FnDeclContext).params, localctx.(*FnDeclContext)._param) - p.SetState(111) + p.SetState(114) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - for _la == CommandsParserCOMMA { { - p.SetState(107) + p.SetState(110) p.Match(CommandsParserCOMMA) if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } { - p.SetState(108) + p.SetState(111) var _x = p.Param() - localctx.(*FnDeclContext)._param = _x } localctx.(*FnDeclContext).params = append(localctx.(*FnDeclContext).params, localctx.(*FnDeclContext)._param) - - p.SetState(113) + p.SetState(116) p.GetErrorHandler().Sync(p) if p.HasError() { - goto errorExit - } + goto errorExit + } _la = p.GetTokenStream().LA(1) } } { - p.SetState(116) + p.SetState(119) p.Match(CommandsParserRPAREN) if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } { - p.SetState(117) + p.SetState(120) p.Match(CommandsParserCOLON) if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } { - p.SetState(118) + p.SetState(121) var _x = p.Type_() - localctx.(*FnDeclContext).rType = _x } - - errorExit: if p.HasError() { v := p.GetError() @@ -1936,7 +1867,6 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } - // IParamContext is an interface to support dynamic dispatch. type IParamContext interface { antlr.ParserRuleContext @@ -1945,21 +1875,17 @@ type IParamContext interface { GetParser() antlr.Parser // GetPid returns the pid token. - GetPid() antlr.Token - + GetPid() antlr.Token // SetPid sets the pid token. - SetPid(antlr.Token) - + SetPid(antlr.Token) // GetT returns the t rule contexts. GetT() ITypeContext - // SetT sets the t rule contexts. SetT(ITypeContext) - // Getter signatures COLON() antlr.TerminalNode IDENTIFIER() antlr.TerminalNode @@ -1972,8 +1898,8 @@ type IParamContext interface { type ParamContext struct { antlr.BaseParserRuleContext parser antlr.Parser - pid antlr.Token - t ITypeContext + pid antlr.Token + t ITypeContext } func NewEmptyParamContext() *ParamContext { @@ -1983,7 +1909,7 @@ func NewEmptyParamContext() *ParamContext { return p } -func InitEmptyParamContext(p *ParamContext) { +func InitEmptyParamContext(p *ParamContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) p.RuleIndex = CommandsParserRULE_param } @@ -2005,16 +1931,12 @@ func (s *ParamContext) GetParser() antlr.Parser { return s.parser } func (s *ParamContext) GetPid() antlr.Token { return s.pid } - func (s *ParamContext) SetPid(v antlr.Token) { s.pid = v } - func (s *ParamContext) GetT() ITypeContext { return s.t } - func (s *ParamContext) SetT(v ITypeContext) { s.t = v } - func (s *ParamContext) COLON() antlr.TerminalNode { return s.GetToken(CommandsParserCOLON, 0) } @@ -2024,10 +1946,10 @@ func (s *ParamContext) IDENTIFIER() antlr.TerminalNode { } func (s *ParamContext) Type_() ITypeContext { - var t antlr.RuleContext; + var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(ITypeContext); ok { - t = ctx.(antlr.RuleContext); + t = ctx.(antlr.RuleContext) break } } @@ -2047,7 +1969,6 @@ func (s *ParamContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) return antlr.TreesStringTree(s, ruleNames, recog) } - func (s *ParamContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(CommandsListener); ok { listenerT.EnterParam(s) @@ -2070,43 +1991,37 @@ func (s *ParamContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { } } - - - func (p *CommandsParser) Param() (localctx IParamContext) { localctx = NewParamContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 14, CommandsParserRULE_param) p.EnterOuterAlt(localctx, 1) { - p.SetState(120) + p.SetState(123) var _m = p.Match(CommandsParserIDENTIFIER) localctx.(*ParamContext).pid = _m if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } { - p.SetState(121) + p.SetState(124) p.Match(CommandsParserCOLON) if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } { - p.SetState(122) + p.SetState(125) var _x = p.Type_() - localctx.(*ParamContext).t = _x } - - errorExit: if p.HasError() { v := p.GetError() @@ -2120,7 +2035,6 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } - // IDeleteContext is an interface to support dynamic dispatch. type IDeleteContext interface { antlr.ParserRuleContext @@ -2134,14 +2048,12 @@ type IDeleteContext interface { // GetFn returns the fn rule contexts. GetFn() IFnDeclContext - // SetVar_ sets the var_ rule contexts. SetVar_(IVarDeclContext) // SetFn sets the fn rule contexts. SetFn(IFnDeclContext) - // Getter signatures VarDecl() IVarDeclContext FnDecl() IFnDeclContext @@ -2153,8 +2065,8 @@ type IDeleteContext interface { type DeleteContext struct { antlr.BaseParserRuleContext parser antlr.Parser - var_ IVarDeclContext - fn IFnDeclContext + var_ IVarDeclContext + fn IFnDeclContext } func NewEmptyDeleteContext() *DeleteContext { @@ -2164,7 +2076,7 @@ func NewEmptyDeleteContext() *DeleteContext { return p } -func InitEmptyDeleteContext(p *DeleteContext) { +func InitEmptyDeleteContext(p *DeleteContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) p.RuleIndex = CommandsParserRULE_delete } @@ -2188,17 +2100,15 @@ func (s *DeleteContext) GetVar_() IVarDeclContext { return s.var_ } func (s *DeleteContext) GetFn() IFnDeclContext { return s.fn } - func (s *DeleteContext) SetVar_(v IVarDeclContext) { s.var_ = v } func (s *DeleteContext) SetFn(v IFnDeclContext) { s.fn = v } - func (s *DeleteContext) VarDecl() IVarDeclContext { - var t antlr.RuleContext; + var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(IVarDeclContext); ok { - t = ctx.(antlr.RuleContext); + t = ctx.(antlr.RuleContext) break } } @@ -2211,10 +2121,10 @@ func (s *DeleteContext) VarDecl() IVarDeclContext { } func (s *DeleteContext) FnDecl() IFnDeclContext { - var t antlr.RuleContext; + var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(IFnDeclContext); ok { - t = ctx.(antlr.RuleContext); + t = ctx.(antlr.RuleContext) break } } @@ -2234,7 +2144,6 @@ func (s *DeleteContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) return antlr.TreesStringTree(s, ruleNames, recog) } - func (s *DeleteContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(CommandsListener); ok { listenerT.EnterDelete(s) @@ -2257,22 +2166,19 @@ func (s *DeleteContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { } } - - - func (p *CommandsParser) Delete_() (localctx IDeleteContext) { localctx = NewDeleteContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 16, CommandsParserRULE_delete) p.EnterOuterAlt(localctx, 1) { - p.SetState(124) + p.SetState(127) p.Match(CommandsParserT__4) if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } - p.SetState(127) + p.SetState(130) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -2281,22 +2187,19 @@ func (p *CommandsParser) Delete_() (localctx IDeleteContext) { switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 6, p.GetParserRuleContext()) { case 1: { - p.SetState(125) + p.SetState(128) var _x = p.VarDecl() - localctx.(*DeleteContext).var_ = _x } - case 2: { - p.SetState(126) + p.SetState(129) var _x = p.FnDecl() - localctx.(*DeleteContext).fn = _x } @@ -2304,8 +2207,6 @@ func (p *CommandsParser) Delete_() (localctx IDeleteContext) { goto errorExit } - - errorExit: if p.HasError() { v := p.GetError() @@ -2319,7 +2220,6 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } - // ISimpleContext is an interface to support dynamic dispatch. type ISimpleContext interface { antlr.ParserRuleContext @@ -2328,33 +2228,29 @@ type ISimpleContext interface { GetParser() antlr.Parser // GetCmd returns the cmd token. - GetCmd() antlr.Token + GetCmd() antlr.Token // Get_FLAG returns the _FLAG token. - Get_FLAG() antlr.Token + Get_FLAG() antlr.Token // Get_STRING returns the _STRING token. - Get_STRING() antlr.Token - + Get_STRING() antlr.Token // SetCmd sets the cmd token. - SetCmd(antlr.Token) + SetCmd(antlr.Token) // Set_FLAG sets the _FLAG token. - Set_FLAG(antlr.Token) + Set_FLAG(antlr.Token) // Set_STRING sets the _STRING token. - Set_STRING(antlr.Token) - + Set_STRING(antlr.Token) // GetArgs returns the args token list. GetArgs() []antlr.Token - // SetArgs sets the args token list. SetArgs([]antlr.Token) - // Getter signatures COMMAND() antlr.TerminalNode AllFLAG() []antlr.TerminalNode @@ -2368,10 +2264,10 @@ type ISimpleContext interface { type SimpleContext struct { antlr.BaseParserRuleContext - parser antlr.Parser - cmd antlr.Token - _FLAG antlr.Token - args []antlr.Token + parser antlr.Parser + cmd antlr.Token + _FLAG antlr.Token + args []antlr.Token _STRING antlr.Token } @@ -2382,7 +2278,7 @@ func NewEmptySimpleContext() *SimpleContext { return p } -func InitEmptySimpleContext(p *SimpleContext) { +func InitEmptySimpleContext(p *SimpleContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) p.RuleIndex = CommandsParserRULE_simple } @@ -2408,20 +2304,16 @@ func (s *SimpleContext) Get_FLAG() antlr.Token { return s._FLAG } func (s *SimpleContext) Get_STRING() antlr.Token { return s._STRING } - func (s *SimpleContext) SetCmd(v antlr.Token) { s.cmd = v } func (s *SimpleContext) Set_FLAG(v antlr.Token) { s._FLAG = v } func (s *SimpleContext) Set_STRING(v antlr.Token) { s._STRING = v } - func (s *SimpleContext) GetArgs() []antlr.Token { return s.args } - func (s *SimpleContext) SetArgs(v []antlr.Token) { s.args = v } - func (s *SimpleContext) COMMAND() antlr.TerminalNode { return s.GetToken(CommandsParserCOMMAND, 0) } @@ -2450,7 +2342,6 @@ func (s *SimpleContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) return antlr.TreesStringTree(s, ruleNames, recog) } - func (s *SimpleContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(CommandsListener); ok { listenerT.EnterSimple(s) @@ -2473,9 +2364,6 @@ func (s *SimpleContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { } } - - - func (p *CommandsParser) Simple() (localctx ISimpleContext) { localctx = NewSimpleContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 18, CommandsParserRULE_simple) @@ -2483,26 +2371,25 @@ func (p *CommandsParser) Simple() (localctx ISimpleContext) { p.EnterOuterAlt(localctx, 1) { - p.SetState(129) + p.SetState(132) var _m = p.Match(CommandsParserCOMMAND) localctx.(*SimpleContext).cmd = _m if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } - p.SetState(134) + p.SetState(137) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - for _la == CommandsParserFLAG || _la == CommandsParserSTRING { - p.SetState(132) + p.SetState(135) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -2511,50 +2398,45 @@ func (p *CommandsParser) Simple() (localctx ISimpleContext) { switch p.GetTokenStream().LA(1) { case CommandsParserFLAG: { - p.SetState(130) + p.SetState(133) var _m = p.Match(CommandsParserFLAG) localctx.(*SimpleContext)._FLAG = _m if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } localctx.(*SimpleContext).args = append(localctx.(*SimpleContext).args, localctx.(*SimpleContext)._FLAG) - case CommandsParserSTRING: { - p.SetState(131) + p.SetState(134) var _m = p.Match(CommandsParserSTRING) localctx.(*SimpleContext)._STRING = _m if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } localctx.(*SimpleContext).args = append(localctx.(*SimpleContext).args, localctx.(*SimpleContext)._STRING) - - default: p.SetError(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil)) goto errorExit } - p.SetState(136) + p.SetState(139) p.GetErrorHandler().Sync(p) if p.HasError() { - goto errorExit - } + goto errorExit + } _la = p.GetTokenStream().LA(1) } - - errorExit: if p.HasError() { v := p.GetError() @@ -2568,7 +2450,6 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } - // IEmptyContext is an interface to support dynamic dispatch. type IEmptyContext interface { antlr.ParserRuleContext @@ -2591,7 +2472,7 @@ func NewEmptyEmptyContext() *EmptyContext { return p } -func InitEmptyEmptyContext(p *EmptyContext) { +func InitEmptyEmptyContext(p *EmptyContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) p.RuleIndex = CommandsParserRULE_empty } @@ -2618,7 +2499,6 @@ func (s *EmptyContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) return antlr.TreesStringTree(s, ruleNames, recog) } - func (s *EmptyContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(CommandsListener); ok { listenerT.EnterEmpty(s) @@ -2641,16 +2521,11 @@ func (s *EmptyContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { } } - - - func (p *CommandsParser) Empty() (localctx IEmptyContext) { localctx = NewEmptyContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 20, CommandsParserRULE_empty) p.EnterOuterAlt(localctx, 1) - - errorExit: if p.HasError() { v := p.GetError() @@ -2664,7 +2539,6 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } - // ICompileContext is an interface to support dynamic dispatch. type ICompileContext interface { antlr.ParserRuleContext @@ -2675,11 +2549,9 @@ type ICompileContext interface { // GetE returns the e rule contexts. GetE() IExprContext - // SetE sets the e rule contexts. SetE(IExprContext) - // Getter signatures Expr() IExprContext @@ -2690,7 +2562,7 @@ type ICompileContext interface { type CompileContext struct { antlr.BaseParserRuleContext parser antlr.Parser - e IExprContext + e IExprContext } func NewEmptyCompileContext() *CompileContext { @@ -2700,7 +2572,7 @@ func NewEmptyCompileContext() *CompileContext { return p } -func InitEmptyCompileContext(p *CompileContext) { +func InitEmptyCompileContext(p *CompileContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) p.RuleIndex = CommandsParserRULE_compile } @@ -2722,15 +2594,13 @@ func (s *CompileContext) GetParser() antlr.Parser { return s.parser } func (s *CompileContext) GetE() IExprContext { return s.e } - func (s *CompileContext) SetE(v IExprContext) { s.e = v } - func (s *CompileContext) Expr() IExprContext { - var t antlr.RuleContext; + var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(IExprContext); ok { - t = ctx.(antlr.RuleContext); + t = ctx.(antlr.RuleContext) break } } @@ -2750,7 +2620,6 @@ func (s *CompileContext) ToStringTree(ruleNames []string, recog antlr.Recognizer return antlr.TreesStringTree(s, ruleNames, recog) } - func (s *CompileContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(CommandsListener); ok { listenerT.EnterCompile(s) @@ -2773,31 +2642,161 @@ func (s *CompileContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { } } - - - func (p *CommandsParser) Compile() (localctx ICompileContext) { localctx = NewCompileContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 22, CommandsParserRULE_compile) p.EnterOuterAlt(localctx, 1) { - p.SetState(139) + p.SetState(142) p.Match(CommandsParserT__5) if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } { - p.SetState(140) + p.SetState(143) var _x = p.Expr() - localctx.(*CompileContext).e = _x } +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) + } + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used +} + +// IParseContext is an interface to support dynamic dispatch. +type IParseContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // GetE returns the e rule contexts. + GetE() IExprContext + + // SetE sets the e rule contexts. + SetE(IExprContext) + + // Getter signatures + Expr() IExprContext + + // IsParseContext differentiates from other interfaces. + IsParseContext() +} + +type ParseContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser + e IExprContext +} + +func NewEmptyParseContext() *ParseContext { + var p = new(ParseContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = CommandsParserRULE_parse + return p +} + +func InitEmptyParseContext(p *ParseContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = CommandsParserRULE_parse +} + +func (*ParseContext) IsParseContext() {} + +func NewParseContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ParseContext { + var p = new(ParseContext) + + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) + + p.parser = parser + p.RuleIndex = CommandsParserRULE_parse + + return p +} + +func (s *ParseContext) GetParser() antlr.Parser { return s.parser } + +func (s *ParseContext) GetE() IExprContext { return s.e } + +func (s *ParseContext) SetE(v IExprContext) { s.e = v } + +func (s *ParseContext) Expr() IExprContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IExprContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IExprContext) +} + +func (s *ParseContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *ParseContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *ParseContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CommandsListener); ok { + listenerT.EnterParse(s) + } +} + +func (s *ParseContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CommandsListener); ok { + listenerT.ExitParse(s) + } +} + +func (s *ParseContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case CommandsVisitor: + return t.VisitParse(s) + default: + return t.VisitChildren(s) + } +} + +func (p *CommandsParser) Parse() (localctx IParseContext) { + localctx = NewParseContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 24, CommandsParserRULE_parse) + p.EnterOuterAlt(localctx, 1) + { + p.SetState(145) + p.Match(CommandsParserT__6) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(146) + + var _x = p.Expr() + + localctx.(*ParseContext).e = _x + } errorExit: if p.HasError() { @@ -2812,7 +2811,6 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } - // IExprCmdContext is an interface to support dynamic dispatch. type IExprCmdContext interface { antlr.ParserRuleContext @@ -2823,11 +2821,9 @@ type IExprCmdContext interface { // GetE returns the e rule contexts. GetE() IExprContext - // SetE sets the e rule contexts. SetE(IExprContext) - // Getter signatures Expr() IExprContext @@ -2838,7 +2834,7 @@ type IExprCmdContext interface { type ExprCmdContext struct { antlr.BaseParserRuleContext parser antlr.Parser - e IExprContext + e IExprContext } func NewEmptyExprCmdContext() *ExprCmdContext { @@ -2848,7 +2844,7 @@ func NewEmptyExprCmdContext() *ExprCmdContext { return p } -func InitEmptyExprCmdContext(p *ExprCmdContext) { +func InitEmptyExprCmdContext(p *ExprCmdContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) p.RuleIndex = CommandsParserRULE_exprCmd } @@ -2870,15 +2866,13 @@ func (s *ExprCmdContext) GetParser() antlr.Parser { return s.parser } func (s *ExprCmdContext) GetE() IExprContext { return s.e } - func (s *ExprCmdContext) SetE(v IExprContext) { s.e = v } - func (s *ExprCmdContext) Expr() IExprContext { - var t antlr.RuleContext; + var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(IExprContext); ok { - t = ctx.(antlr.RuleContext); + t = ctx.(antlr.RuleContext) break } } @@ -2898,7 +2892,6 @@ func (s *ExprCmdContext) ToStringTree(ruleNames []string, recog antlr.Recognizer return antlr.TreesStringTree(s, ruleNames, recog) } - func (s *ExprCmdContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(CommandsListener); ok { listenerT.EnterExprCmd(s) @@ -2921,45 +2914,38 @@ func (s *ExprCmdContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { } } - - - func (p *CommandsParser) ExprCmd() (localctx IExprCmdContext) { localctx = NewExprCmdContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 24, CommandsParserRULE_exprCmd) + p.EnterRule(localctx, 26, CommandsParserRULE_exprCmd) var _la int p.EnterOuterAlt(localctx, 1) - p.SetState(143) + p.SetState(149) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - - if _la == CommandsParserT__6 { + if _la == CommandsParserT__7 { { - p.SetState(142) - p.Match(CommandsParserT__6) + p.SetState(148) + p.Match(CommandsParserT__7) if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } } { - p.SetState(145) + p.SetState(151) var _x = p.Expr() - localctx.(*ExprCmdContext).e = _x } - - errorExit: if p.HasError() { v := p.GetError() @@ -2973,7 +2959,6 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } - // IQualIdContext is an interface to support dynamic dispatch. type IQualIdContext interface { antlr.ParserRuleContext @@ -2982,33 +2967,29 @@ type IQualIdContext interface { GetParser() antlr.Parser // GetLeadingDot returns the leadingDot token. - GetLeadingDot() antlr.Token + GetLeadingDot() antlr.Token // GetRid returns the rid token. - GetRid() antlr.Token + GetRid() antlr.Token // Get_IDENTIFIER returns the _IDENTIFIER token. - Get_IDENTIFIER() antlr.Token - + Get_IDENTIFIER() antlr.Token // SetLeadingDot sets the leadingDot token. - SetLeadingDot(antlr.Token) + SetLeadingDot(antlr.Token) // SetRid sets the rid token. - SetRid(antlr.Token) + SetRid(antlr.Token) // Set_IDENTIFIER sets the _IDENTIFIER token. - Set_IDENTIFIER(antlr.Token) - + Set_IDENTIFIER(antlr.Token) // GetQualifiers returns the qualifiers token list. GetQualifiers() []antlr.Token - // SetQualifiers sets the qualifiers token list. SetQualifiers([]antlr.Token) - // Getter signatures AllIDENTIFIER() []antlr.TerminalNode IDENTIFIER(i int) antlr.TerminalNode @@ -3021,11 +3002,11 @@ type IQualIdContext interface { type QualIdContext struct { antlr.BaseParserRuleContext - parser antlr.Parser - leadingDot antlr.Token - rid antlr.Token + parser antlr.Parser + leadingDot antlr.Token + rid antlr.Token _IDENTIFIER antlr.Token - qualifiers []antlr.Token + qualifiers []antlr.Token } func NewEmptyQualIdContext() *QualIdContext { @@ -3035,7 +3016,7 @@ func NewEmptyQualIdContext() *QualIdContext { return p } -func InitEmptyQualIdContext(p *QualIdContext) { +func InitEmptyQualIdContext(p *QualIdContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) p.RuleIndex = CommandsParserRULE_qualId } @@ -3061,20 +3042,16 @@ func (s *QualIdContext) GetRid() antlr.Token { return s.rid } func (s *QualIdContext) Get_IDENTIFIER() antlr.Token { return s._IDENTIFIER } - func (s *QualIdContext) SetLeadingDot(v antlr.Token) { s.leadingDot = v } func (s *QualIdContext) SetRid(v antlr.Token) { s.rid = v } func (s *QualIdContext) Set_IDENTIFIER(v antlr.Token) { s._IDENTIFIER = v } - func (s *QualIdContext) GetQualifiers() []antlr.Token { return s.qualifiers } - func (s *QualIdContext) SetQualifiers(v []antlr.Token) { s.qualifiers = v } - func (s *QualIdContext) AllIDENTIFIER() []antlr.TerminalNode { return s.GetTokens(CommandsParserIDENTIFIER) } @@ -3099,7 +3076,6 @@ func (s *QualIdContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) return antlr.TreesStringTree(s, ruleNames, recog) } - func (s *QualIdContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(CommandsListener); ok { listenerT.EnterQualId(s) @@ -3122,89 +3098,81 @@ func (s *QualIdContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { } } - - - func (p *CommandsParser) QualId() (localctx IQualIdContext) { localctx = NewQualIdContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 26, CommandsParserRULE_qualId) + p.EnterRule(localctx, 28, CommandsParserRULE_qualId) var _la int p.EnterOuterAlt(localctx, 1) - p.SetState(148) + p.SetState(154) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if _la == CommandsParserDOT { { - p.SetState(147) + p.SetState(153) var _m = p.Match(CommandsParserDOT) localctx.(*QualIdContext).leadingDot = _m if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } } { - p.SetState(150) + p.SetState(156) var _m = p.Match(CommandsParserIDENTIFIER) localctx.(*QualIdContext).rid = _m if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } - p.SetState(155) + p.SetState(161) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - for _la == CommandsParserDOT { { - p.SetState(151) + p.SetState(157) p.Match(CommandsParserDOT) if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } { - p.SetState(152) + p.SetState(158) var _m = p.Match(CommandsParserIDENTIFIER) localctx.(*QualIdContext)._IDENTIFIER = _m if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } localctx.(*QualIdContext).qualifiers = append(localctx.(*QualIdContext).qualifiers, localctx.(*QualIdContext)._IDENTIFIER) - - p.SetState(157) + p.SetState(163) p.GetErrorHandler().Sync(p) if p.HasError() { - goto errorExit - } + goto errorExit + } _la = p.GetTokenStream().LA(1) } - - errorExit: if p.HasError() { v := p.GetError() @@ -3218,7 +3186,6 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } - // IStartTypeContext is an interface to support dynamic dispatch. type IStartTypeContext interface { antlr.ParserRuleContext @@ -3229,11 +3196,9 @@ type IStartTypeContext interface { // GetT returns the t rule contexts. GetT() ITypeContext - // SetT sets the t rule contexts. SetT(ITypeContext) - // Getter signatures EOF() antlr.TerminalNode Type_() ITypeContext @@ -3245,7 +3210,7 @@ type IStartTypeContext interface { type StartTypeContext struct { antlr.BaseParserRuleContext parser antlr.Parser - t ITypeContext + t ITypeContext } func NewEmptyStartTypeContext() *StartTypeContext { @@ -3255,7 +3220,7 @@ func NewEmptyStartTypeContext() *StartTypeContext { return p } -func InitEmptyStartTypeContext(p *StartTypeContext) { +func InitEmptyStartTypeContext(p *StartTypeContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) p.RuleIndex = CommandsParserRULE_startType } @@ -3277,19 +3242,17 @@ func (s *StartTypeContext) GetParser() antlr.Parser { return s.parser } func (s *StartTypeContext) GetT() ITypeContext { return s.t } - func (s *StartTypeContext) SetT(v ITypeContext) { s.t = v } - func (s *StartTypeContext) EOF() antlr.TerminalNode { return s.GetToken(CommandsParserEOF, 0) } func (s *StartTypeContext) Type_() ITypeContext { - var t antlr.RuleContext; + var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(ITypeContext); ok { - t = ctx.(antlr.RuleContext); + t = ctx.(antlr.RuleContext) break } } @@ -3309,7 +3272,6 @@ func (s *StartTypeContext) ToStringTree(ruleNames []string, recog antlr.Recogniz return antlr.TreesStringTree(s, ruleNames, recog) } - func (s *StartTypeContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(CommandsListener); ok { listenerT.EnterStartType(s) @@ -3332,32 +3294,26 @@ func (s *StartTypeContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { } } - - - func (p *CommandsParser) StartType() (localctx IStartTypeContext) { localctx = NewStartTypeContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 28, CommandsParserRULE_startType) + p.EnterRule(localctx, 30, CommandsParserRULE_startType) p.EnterOuterAlt(localctx, 1) { - p.SetState(158) + p.SetState(164) var _x = p.Type_() - localctx.(*StartTypeContext).t = _x } { - p.SetState(159) + p.SetState(165) p.Match(CommandsParserEOF) if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } - - errorExit: if p.HasError() { v := p.GetError() @@ -3371,7 +3327,6 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } - // ITypeContext is an interface to support dynamic dispatch. type ITypeContext interface { antlr.ParserRuleContext @@ -3385,14 +3340,12 @@ type ITypeContext interface { // GetParams returns the params rule contexts. GetParams() ITypeParamListContext - // SetId sets the id rule contexts. SetId(ITypeIdContext) // SetParams sets the params rule contexts. SetParams(ITypeParamListContext) - // Getter signatures TypeId() ITypeIdContext TypeParamList() ITypeParamListContext @@ -3404,8 +3357,8 @@ type ITypeContext interface { type TypeContext struct { antlr.BaseParserRuleContext parser antlr.Parser - id ITypeIdContext - params ITypeParamListContext + id ITypeIdContext + params ITypeParamListContext } func NewEmptyTypeContext() *TypeContext { @@ -3415,7 +3368,7 @@ func NewEmptyTypeContext() *TypeContext { return p } -func InitEmptyTypeContext(p *TypeContext) { +func InitEmptyTypeContext(p *TypeContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) p.RuleIndex = CommandsParserRULE_type } @@ -3439,17 +3392,15 @@ func (s *TypeContext) GetId() ITypeIdContext { return s.id } func (s *TypeContext) GetParams() ITypeParamListContext { return s.params } - func (s *TypeContext) SetId(v ITypeIdContext) { s.id = v } func (s *TypeContext) SetParams(v ITypeParamListContext) { s.params = v } - func (s *TypeContext) TypeId() ITypeIdContext { - var t antlr.RuleContext; + var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(ITypeIdContext); ok { - t = ctx.(antlr.RuleContext); + t = ctx.(antlr.RuleContext) break } } @@ -3462,10 +3413,10 @@ func (s *TypeContext) TypeId() ITypeIdContext { } func (s *TypeContext) TypeParamList() ITypeParamListContext { - var t antlr.RuleContext; + var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(ITypeParamListContext); ok { - t = ctx.(antlr.RuleContext); + t = ctx.(antlr.RuleContext) break } } @@ -3485,7 +3436,6 @@ func (s *TypeContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) s return antlr.TreesStringTree(s, ruleNames, recog) } - func (s *TypeContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(CommandsListener); ok { listenerT.EnterType(s) @@ -3508,45 +3458,37 @@ func (s *TypeContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { } } - - - func (p *CommandsParser) Type_() (localctx ITypeContext) { localctx = NewTypeContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 30, CommandsParserRULE_type) + p.EnterRule(localctx, 32, CommandsParserRULE_type) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(161) + p.SetState(167) var _x = p.TypeId() - localctx.(*TypeContext).id = _x } - p.SetState(163) + p.SetState(169) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if _la == CommandsParserLPAREN { { - p.SetState(162) + p.SetState(168) var _x = p.TypeParamList() - localctx.(*TypeContext).params = _x } } - - errorExit: if p.HasError() { v := p.GetError() @@ -3560,7 +3502,6 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } - // ITypeIdContext is an interface to support dynamic dispatch. type ITypeIdContext interface { antlr.ParserRuleContext @@ -3569,33 +3510,29 @@ type ITypeIdContext interface { GetParser() antlr.Parser // GetLeadingDot returns the leadingDot token. - GetLeadingDot() antlr.Token + GetLeadingDot() antlr.Token // GetId returns the id token. - GetId() antlr.Token + GetId() antlr.Token // Get_IDENTIFIER returns the _IDENTIFIER token. - Get_IDENTIFIER() antlr.Token - + Get_IDENTIFIER() antlr.Token // SetLeadingDot sets the leadingDot token. - SetLeadingDot(antlr.Token) + SetLeadingDot(antlr.Token) // SetId sets the id token. - SetId(antlr.Token) + SetId(antlr.Token) // Set_IDENTIFIER sets the _IDENTIFIER token. - Set_IDENTIFIER(antlr.Token) - + Set_IDENTIFIER(antlr.Token) // GetQualifiers returns the qualifiers token list. GetQualifiers() []antlr.Token - // SetQualifiers sets the qualifiers token list. SetQualifiers([]antlr.Token) - // Getter signatures AllIDENTIFIER() []antlr.TerminalNode IDENTIFIER(i int) antlr.TerminalNode @@ -3609,11 +3546,11 @@ type ITypeIdContext interface { type TypeIdContext struct { antlr.BaseParserRuleContext - parser antlr.Parser - leadingDot antlr.Token - id antlr.Token + parser antlr.Parser + leadingDot antlr.Token + id antlr.Token _IDENTIFIER antlr.Token - qualifiers []antlr.Token + qualifiers []antlr.Token } func NewEmptyTypeIdContext() *TypeIdContext { @@ -3623,7 +3560,7 @@ func NewEmptyTypeIdContext() *TypeIdContext { return p } -func InitEmptyTypeIdContext(p *TypeIdContext) { +func InitEmptyTypeIdContext(p *TypeIdContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) p.RuleIndex = CommandsParserRULE_typeId } @@ -3649,20 +3586,16 @@ func (s *TypeIdContext) GetId() antlr.Token { return s.id } func (s *TypeIdContext) Get_IDENTIFIER() antlr.Token { return s._IDENTIFIER } - func (s *TypeIdContext) SetLeadingDot(v antlr.Token) { s.leadingDot = v } func (s *TypeIdContext) SetId(v antlr.Token) { s.id = v } func (s *TypeIdContext) Set_IDENTIFIER(v antlr.Token) { s._IDENTIFIER = v } - func (s *TypeIdContext) GetQualifiers() []antlr.Token { return s.qualifiers } - func (s *TypeIdContext) SetQualifiers(v []antlr.Token) { s.qualifiers = v } - func (s *TypeIdContext) AllIDENTIFIER() []antlr.TerminalNode { return s.GetTokens(CommandsParserIDENTIFIER) } @@ -3691,7 +3624,6 @@ func (s *TypeIdContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) return antlr.TreesStringTree(s, ruleNames, recog) } - func (s *TypeIdContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(CommandsListener); ok { listenerT.EnterTypeId(s) @@ -3714,39 +3646,35 @@ func (s *TypeIdContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { } } - - - func (p *CommandsParser) TypeId() (localctx ITypeIdContext) { localctx = NewTypeIdContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 32, CommandsParserRULE_typeId) + p.EnterRule(localctx, 34, CommandsParserRULE_typeId) var _la int p.EnterOuterAlt(localctx, 1) - p.SetState(166) + p.SetState(172) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if _la == CommandsParserDOT { { - p.SetState(165) + p.SetState(171) var _m = p.Match(CommandsParserDOT) localctx.(*TypeIdContext).leadingDot = _m if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } } { - p.SetState(168) + p.SetState(174) var _lt = p.GetTokenStream().LT(1) @@ -3763,47 +3691,43 @@ func (p *CommandsParser) TypeId() (localctx ITypeIdContext) { p.Consume() } } - p.SetState(173) + p.SetState(179) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - for _la == CommandsParserDOT { { - p.SetState(169) + p.SetState(175) p.Match(CommandsParserDOT) if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } { - p.SetState(170) + p.SetState(176) var _m = p.Match(CommandsParserIDENTIFIER) localctx.(*TypeIdContext)._IDENTIFIER = _m if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } localctx.(*TypeIdContext).qualifiers = append(localctx.(*TypeIdContext).qualifiers, localctx.(*TypeIdContext)._IDENTIFIER) - - p.SetState(175) + p.SetState(181) p.GetErrorHandler().Sync(p) if p.HasError() { - goto errorExit - } + goto errorExit + } _la = p.GetTokenStream().LA(1) } - - errorExit: if p.HasError() { v := p.GetError() @@ -3817,7 +3741,6 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } - // ITypeParamListContext is an interface to support dynamic dispatch. type ITypeParamListContext interface { antlr.ParserRuleContext @@ -3828,18 +3751,14 @@ type ITypeParamListContext interface { // Get_type returns the _type rule contexts. Get_type() ITypeContext - // Set_type sets the _type rule contexts. Set_type(ITypeContext) - // GetTypes returns the types rule context list. GetTypes() []ITypeContext - // SetTypes sets the types rule context list. - SetTypes([]ITypeContext) - + SetTypes([]ITypeContext) // Getter signatures LPAREN() antlr.TerminalNode @@ -3856,8 +3775,8 @@ type ITypeParamListContext interface { type TypeParamListContext struct { antlr.BaseParserRuleContext parser antlr.Parser - _type ITypeContext - types []ITypeContext + _type ITypeContext + types []ITypeContext } func NewEmptyTypeParamListContext() *TypeParamListContext { @@ -3867,7 +3786,7 @@ func NewEmptyTypeParamListContext() *TypeParamListContext { return p } -func InitEmptyTypeParamListContext(p *TypeParamListContext) { +func InitEmptyTypeParamListContext(p *TypeParamListContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) p.RuleIndex = CommandsParserRULE_typeParamList } @@ -3889,16 +3808,12 @@ func (s *TypeParamListContext) GetParser() antlr.Parser { return s.parser } func (s *TypeParamListContext) Get_type() ITypeContext { return s._type } - func (s *TypeParamListContext) Set_type(v ITypeContext) { s._type = v } - func (s *TypeParamListContext) GetTypes() []ITypeContext { return s.types } - func (s *TypeParamListContext) SetTypes(v []ITypeContext) { s.types = v } - func (s *TypeParamListContext) LPAREN() antlr.TerminalNode { return s.GetToken(CommandsParserLPAREN, 0) } @@ -3929,12 +3844,12 @@ func (s *TypeParamListContext) AllType_() []ITypeContext { } func (s *TypeParamListContext) Type_(i int) ITypeContext { - var t antlr.RuleContext; + var t antlr.RuleContext j := 0 for _, ctx := range s.GetChildren() { if _, ok := ctx.(ITypeContext); ok { if j == i { - t = ctx.(antlr.RuleContext); + t = ctx.(antlr.RuleContext) break } j++ @@ -3964,7 +3879,6 @@ func (s *TypeParamListContext) ToStringTree(ruleNames []string, recog antlr.Reco return antlr.TreesStringTree(s, ruleNames, recog) } - func (s *TypeParamListContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(CommandsListener); ok { listenerT.EnterTypeParamList(s) @@ -3987,78 +3901,69 @@ func (s *TypeParamListContext) Accept(visitor antlr.ParseTreeVisitor) interface{ } } - - - func (p *CommandsParser) TypeParamList() (localctx ITypeParamListContext) { localctx = NewTypeParamListContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 34, CommandsParserRULE_typeParamList) + p.EnterRule(localctx, 36, CommandsParserRULE_typeParamList) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(176) + p.SetState(182) p.Match(CommandsParserLPAREN) if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } { - p.SetState(177) + p.SetState(183) var _x = p.Type_() - localctx.(*TypeParamListContext)._type = _x } localctx.(*TypeParamListContext).types = append(localctx.(*TypeParamListContext).types, localctx.(*TypeParamListContext)._type) - p.SetState(182) + p.SetState(188) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - for _la == CommandsParserCOMMA { { - p.SetState(178) + p.SetState(184) p.Match(CommandsParserCOMMA) if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } { - p.SetState(179) + p.SetState(185) var _x = p.Type_() - localctx.(*TypeParamListContext)._type = _x } localctx.(*TypeParamListContext).types = append(localctx.(*TypeParamListContext).types, localctx.(*TypeParamListContext)._type) - - p.SetState(184) + p.SetState(190) p.GetErrorHandler().Sync(p) if p.HasError() { - goto errorExit - } + goto errorExit + } _la = p.GetTokenStream().LA(1) } { - p.SetState(185) + p.SetState(191) p.Match(CommandsParserRPAREN) if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } - - errorExit: if p.HasError() { v := p.GetError() @@ -4072,7 +3977,6 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } - // IStartContext is an interface to support dynamic dispatch. type IStartContext interface { antlr.ParserRuleContext @@ -4083,11 +3987,9 @@ type IStartContext interface { // GetE returns the e rule contexts. GetE() IExprContext - // SetE sets the e rule contexts. SetE(IExprContext) - // Getter signatures EOF() antlr.TerminalNode Expr() IExprContext @@ -4099,7 +4001,7 @@ type IStartContext interface { type StartContext struct { antlr.BaseParserRuleContext parser antlr.Parser - e IExprContext + e IExprContext } func NewEmptyStartContext() *StartContext { @@ -4109,7 +4011,7 @@ func NewEmptyStartContext() *StartContext { return p } -func InitEmptyStartContext(p *StartContext) { +func InitEmptyStartContext(p *StartContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) p.RuleIndex = CommandsParserRULE_start } @@ -4131,19 +4033,17 @@ func (s *StartContext) GetParser() antlr.Parser { return s.parser } func (s *StartContext) GetE() IExprContext { return s.e } - func (s *StartContext) SetE(v IExprContext) { s.e = v } - func (s *StartContext) EOF() antlr.TerminalNode { return s.GetToken(CommandsParserEOF, 0) } func (s *StartContext) Expr() IExprContext { - var t antlr.RuleContext; + var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(IExprContext); ok { - t = ctx.(antlr.RuleContext); + t = ctx.(antlr.RuleContext) break } } @@ -4163,7 +4063,6 @@ func (s *StartContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) return antlr.TreesStringTree(s, ruleNames, recog) } - func (s *StartContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(CommandsListener); ok { listenerT.EnterStart(s) @@ -4186,32 +4085,26 @@ func (s *StartContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { } } - - - func (p *CommandsParser) Start_() (localctx IStartContext) { localctx = NewStartContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 36, CommandsParserRULE_start) + p.EnterRule(localctx, 38, CommandsParserRULE_start) p.EnterOuterAlt(localctx, 1) { - p.SetState(187) + p.SetState(193) var _x = p.Expr() - localctx.(*StartContext).e = _x } { - p.SetState(188) + p.SetState(194) p.Match(CommandsParserEOF) if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } - - errorExit: if p.HasError() { v := p.GetError() @@ -4225,7 +4118,6 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } - // IExprContext is an interface to support dynamic dispatch. type IExprContext interface { antlr.ParserRuleContext @@ -4234,12 +4126,10 @@ type IExprContext interface { GetParser() antlr.Parser // GetOp returns the op token. - GetOp() antlr.Token - + GetOp() antlr.Token // SetOp sets the op token. - SetOp(antlr.Token) - + SetOp(antlr.Token) // GetE returns the e rule contexts. GetE() IConditionalOrContext @@ -4250,7 +4140,6 @@ type IExprContext interface { // GetE2 returns the e2 rule contexts. GetE2() IExprContext - // SetE sets the e rule contexts. SetE(IConditionalOrContext) @@ -4260,7 +4149,6 @@ type IExprContext interface { // SetE2 sets the e2 rule contexts. SetE2(IExprContext) - // Getter signatures AllConditionalOr() []IConditionalOrContext ConditionalOr(i int) IConditionalOrContext @@ -4275,10 +4163,10 @@ type IExprContext interface { type ExprContext struct { antlr.BaseParserRuleContext parser antlr.Parser - e IConditionalOrContext - op antlr.Token - e1 IConditionalOrContext - e2 IExprContext + e IConditionalOrContext + op antlr.Token + e1 IConditionalOrContext + e2 IExprContext } func NewEmptyExprContext() *ExprContext { @@ -4288,7 +4176,7 @@ func NewEmptyExprContext() *ExprContext { return p } -func InitEmptyExprContext(p *ExprContext) { +func InitEmptyExprContext(p *ExprContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) p.RuleIndex = CommandsParserRULE_expr } @@ -4310,24 +4198,20 @@ func (s *ExprContext) GetParser() antlr.Parser { return s.parser } func (s *ExprContext) GetOp() antlr.Token { return s.op } - func (s *ExprContext) SetOp(v antlr.Token) { s.op = v } - func (s *ExprContext) GetE() IConditionalOrContext { return s.e } func (s *ExprContext) GetE1() IConditionalOrContext { return s.e1 } func (s *ExprContext) GetE2() IExprContext { return s.e2 } - func (s *ExprContext) SetE(v IConditionalOrContext) { s.e = v } func (s *ExprContext) SetE1(v IConditionalOrContext) { s.e1 = v } func (s *ExprContext) SetE2(v IExprContext) { s.e2 = v } - func (s *ExprContext) AllConditionalOr() []IConditionalOrContext { children := s.GetChildren() len := 0 @@ -4350,12 +4234,12 @@ func (s *ExprContext) AllConditionalOr() []IConditionalOrContext { } func (s *ExprContext) ConditionalOr(i int) IConditionalOrContext { - var t antlr.RuleContext; + var t antlr.RuleContext j := 0 for _, ctx := range s.GetChildren() { if _, ok := ctx.(IConditionalOrContext); ok { if j == i { - t = ctx.(antlr.RuleContext); + t = ctx.(antlr.RuleContext) break } j++ @@ -4378,10 +4262,10 @@ func (s *ExprContext) QUESTIONMARK() antlr.TerminalNode { } func (s *ExprContext) Expr() IExprContext { - var t antlr.RuleContext; + var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(IExprContext); ok { - t = ctx.(antlr.RuleContext); + t = ctx.(antlr.RuleContext) break } } @@ -4401,7 +4285,6 @@ func (s *ExprContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) s return antlr.TreesStringTree(s, ruleNames, recog) } - func (s *ExprContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(CommandsListener); ok { listenerT.EnterExpr(s) @@ -4424,72 +4307,63 @@ func (s *ExprContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { } } - - - func (p *CommandsParser) Expr() (localctx IExprContext) { localctx = NewExprContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 38, CommandsParserRULE_expr) + p.EnterRule(localctx, 40, CommandsParserRULE_expr) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(190) + p.SetState(196) var _x = p.ConditionalOr() - localctx.(*ExprContext).e = _x } - p.SetState(196) + p.SetState(202) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if _la == CommandsParserQUESTIONMARK { { - p.SetState(191) + p.SetState(197) var _m = p.Match(CommandsParserQUESTIONMARK) localctx.(*ExprContext).op = _m if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } { - p.SetState(192) + p.SetState(198) var _x = p.ConditionalOr() - localctx.(*ExprContext).e1 = _x } { - p.SetState(193) + p.SetState(199) p.Match(CommandsParserCOLON) if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } { - p.SetState(194) + p.SetState(200) var _x = p.Expr() - localctx.(*ExprContext).e2 = _x } } - - errorExit: if p.HasError() { v := p.GetError() @@ -4503,7 +4377,6 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } - // IConditionalOrContext is an interface to support dynamic dispatch. type IConditionalOrContext interface { antlr.ParserRuleContext @@ -4511,43 +4384,35 @@ type IConditionalOrContext interface { // GetParser returns the parser. GetParser() antlr.Parser - // GetS20 returns the s20 token. - GetS20() antlr.Token - - - // SetS20 sets the s20 token. - SetS20(antlr.Token) + // GetS21 returns the s21 token. + GetS21() antlr.Token + // SetS21 sets the s21 token. + SetS21(antlr.Token) // GetOps returns the ops token list. GetOps() []antlr.Token - // SetOps sets the ops token list. SetOps([]antlr.Token) - // GetE returns the e rule contexts. GetE() IConditionalAndContext // Get_conditionalAnd returns the _conditionalAnd rule contexts. Get_conditionalAnd() IConditionalAndContext - // SetE sets the e rule contexts. SetE(IConditionalAndContext) // Set_conditionalAnd sets the _conditionalAnd rule contexts. Set_conditionalAnd(IConditionalAndContext) - // GetE1 returns the e1 rule context list. GetE1() []IConditionalAndContext - // SetE1 sets the e1 rule context list. - SetE1([]IConditionalAndContext) - + SetE1([]IConditionalAndContext) // Getter signatures AllConditionalAnd() []IConditionalAndContext @@ -4561,12 +4426,12 @@ type IConditionalOrContext interface { type ConditionalOrContext struct { antlr.BaseParserRuleContext - parser antlr.Parser - e IConditionalAndContext - s20 antlr.Token - ops []antlr.Token - _conditionalAnd IConditionalAndContext - e1 []IConditionalAndContext + parser antlr.Parser + e IConditionalAndContext + s21 antlr.Token + ops []antlr.Token + _conditionalAnd IConditionalAndContext + e1 []IConditionalAndContext } func NewEmptyConditionalOrContext() *ConditionalOrContext { @@ -4576,7 +4441,7 @@ func NewEmptyConditionalOrContext() *ConditionalOrContext { return p } -func InitEmptyConditionalOrContext(p *ConditionalOrContext) { +func InitEmptyConditionalOrContext(p *ConditionalOrContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) p.RuleIndex = CommandsParserRULE_conditionalOr } @@ -4596,34 +4461,26 @@ func NewConditionalOrContext(parser antlr.Parser, parent antlr.ParserRuleContext func (s *ConditionalOrContext) GetParser() antlr.Parser { return s.parser } -func (s *ConditionalOrContext) GetS20() antlr.Token { return s.s20 } - - -func (s *ConditionalOrContext) SetS20(v antlr.Token) { s.s20 = v } +func (s *ConditionalOrContext) GetS21() antlr.Token { return s.s21 } +func (s *ConditionalOrContext) SetS21(v antlr.Token) { s.s21 = v } func (s *ConditionalOrContext) GetOps() []antlr.Token { return s.ops } - func (s *ConditionalOrContext) SetOps(v []antlr.Token) { s.ops = v } - func (s *ConditionalOrContext) GetE() IConditionalAndContext { return s.e } func (s *ConditionalOrContext) Get_conditionalAnd() IConditionalAndContext { return s._conditionalAnd } - func (s *ConditionalOrContext) SetE(v IConditionalAndContext) { s.e = v } func (s *ConditionalOrContext) Set_conditionalAnd(v IConditionalAndContext) { s._conditionalAnd = v } - func (s *ConditionalOrContext) GetE1() []IConditionalAndContext { return s.e1 } - func (s *ConditionalOrContext) SetE1(v []IConditionalAndContext) { s.e1 = v } - func (s *ConditionalOrContext) AllConditionalAnd() []IConditionalAndContext { children := s.GetChildren() len := 0 @@ -4646,12 +4503,12 @@ func (s *ConditionalOrContext) AllConditionalAnd() []IConditionalAndContext { } func (s *ConditionalOrContext) ConditionalAnd(i int) IConditionalAndContext { - var t antlr.RuleContext; + var t antlr.RuleContext j := 0 for _, ctx := range s.GetChildren() { if _, ok := ctx.(IConditionalAndContext); ok { if j == i { - t = ctx.(antlr.RuleContext); + t = ctx.(antlr.RuleContext) break } j++ @@ -4681,7 +4538,6 @@ func (s *ConditionalOrContext) ToStringTree(ruleNames []string, recog antlr.Reco return antlr.TreesStringTree(s, ruleNames, recog) } - func (s *ConditionalOrContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(CommandsListener); ok { listenerT.EnterConditionalOr(s) @@ -4704,65 +4560,56 @@ func (s *ConditionalOrContext) Accept(visitor antlr.ParseTreeVisitor) interface{ } } - - - func (p *CommandsParser) ConditionalOr() (localctx IConditionalOrContext) { localctx = NewConditionalOrContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 40, CommandsParserRULE_conditionalOr) + p.EnterRule(localctx, 42, CommandsParserRULE_conditionalOr) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(198) + p.SetState(204) var _x = p.ConditionalAnd() - localctx.(*ConditionalOrContext).e = _x } - p.SetState(203) + p.SetState(209) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - for _la == CommandsParserLOGICAL_OR { { - p.SetState(199) + p.SetState(205) var _m = p.Match(CommandsParserLOGICAL_OR) - localctx.(*ConditionalOrContext).s20 = _m + localctx.(*ConditionalOrContext).s21 = _m if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } - localctx.(*ConditionalOrContext).ops = append(localctx.(*ConditionalOrContext).ops, localctx.(*ConditionalOrContext).s20) + localctx.(*ConditionalOrContext).ops = append(localctx.(*ConditionalOrContext).ops, localctx.(*ConditionalOrContext).s21) { - p.SetState(200) + p.SetState(206) var _x = p.ConditionalAnd() - localctx.(*ConditionalOrContext)._conditionalAnd = _x } localctx.(*ConditionalOrContext).e1 = append(localctx.(*ConditionalOrContext).e1, localctx.(*ConditionalOrContext)._conditionalAnd) - - p.SetState(205) + p.SetState(211) p.GetErrorHandler().Sync(p) if p.HasError() { - goto errorExit - } + goto errorExit + } _la = p.GetTokenStream().LA(1) } - - errorExit: if p.HasError() { v := p.GetError() @@ -4776,7 +4623,6 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } - // IConditionalAndContext is an interface to support dynamic dispatch. type IConditionalAndContext interface { antlr.ParserRuleContext @@ -4784,43 +4630,35 @@ type IConditionalAndContext interface { // GetParser returns the parser. GetParser() antlr.Parser - // GetS19 returns the s19 token. - GetS19() antlr.Token - - - // SetS19 sets the s19 token. - SetS19(antlr.Token) + // GetS20 returns the s20 token. + GetS20() antlr.Token + // SetS20 sets the s20 token. + SetS20(antlr.Token) // GetOps returns the ops token list. GetOps() []antlr.Token - // SetOps sets the ops token list. SetOps([]antlr.Token) - // GetE returns the e rule contexts. GetE() IRelationContext // Get_relation returns the _relation rule contexts. Get_relation() IRelationContext - // SetE sets the e rule contexts. SetE(IRelationContext) // Set_relation sets the _relation rule contexts. Set_relation(IRelationContext) - // GetE1 returns the e1 rule context list. GetE1() []IRelationContext - // SetE1 sets the e1 rule context list. - SetE1([]IRelationContext) - + SetE1([]IRelationContext) // Getter signatures AllRelation() []IRelationContext @@ -4834,12 +4672,12 @@ type IConditionalAndContext interface { type ConditionalAndContext struct { antlr.BaseParserRuleContext - parser antlr.Parser - e IRelationContext - s19 antlr.Token - ops []antlr.Token - _relation IRelationContext - e1 []IRelationContext + parser antlr.Parser + e IRelationContext + s20 antlr.Token + ops []antlr.Token + _relation IRelationContext + e1 []IRelationContext } func NewEmptyConditionalAndContext() *ConditionalAndContext { @@ -4849,7 +4687,7 @@ func NewEmptyConditionalAndContext() *ConditionalAndContext { return p } -func InitEmptyConditionalAndContext(p *ConditionalAndContext) { +func InitEmptyConditionalAndContext(p *ConditionalAndContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) p.RuleIndex = CommandsParserRULE_conditionalAnd } @@ -4869,34 +4707,26 @@ func NewConditionalAndContext(parser antlr.Parser, parent antlr.ParserRuleContex func (s *ConditionalAndContext) GetParser() antlr.Parser { return s.parser } -func (s *ConditionalAndContext) GetS19() antlr.Token { return s.s19 } - - -func (s *ConditionalAndContext) SetS19(v antlr.Token) { s.s19 = v } +func (s *ConditionalAndContext) GetS20() antlr.Token { return s.s20 } +func (s *ConditionalAndContext) SetS20(v antlr.Token) { s.s20 = v } func (s *ConditionalAndContext) GetOps() []antlr.Token { return s.ops } - func (s *ConditionalAndContext) SetOps(v []antlr.Token) { s.ops = v } - func (s *ConditionalAndContext) GetE() IRelationContext { return s.e } func (s *ConditionalAndContext) Get_relation() IRelationContext { return s._relation } - func (s *ConditionalAndContext) SetE(v IRelationContext) { s.e = v } func (s *ConditionalAndContext) Set_relation(v IRelationContext) { s._relation = v } - func (s *ConditionalAndContext) GetE1() []IRelationContext { return s.e1 } - func (s *ConditionalAndContext) SetE1(v []IRelationContext) { s.e1 = v } - func (s *ConditionalAndContext) AllRelation() []IRelationContext { children := s.GetChildren() len := 0 @@ -4919,12 +4749,12 @@ func (s *ConditionalAndContext) AllRelation() []IRelationContext { } func (s *ConditionalAndContext) Relation(i int) IRelationContext { - var t antlr.RuleContext; + var t antlr.RuleContext j := 0 for _, ctx := range s.GetChildren() { if _, ok := ctx.(IRelationContext); ok { if j == i { - t = ctx.(antlr.RuleContext); + t = ctx.(antlr.RuleContext) break } j++ @@ -4954,7 +4784,6 @@ func (s *ConditionalAndContext) ToStringTree(ruleNames []string, recog antlr.Rec return antlr.TreesStringTree(s, ruleNames, recog) } - func (s *ConditionalAndContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(CommandsListener); ok { listenerT.EnterConditionalAnd(s) @@ -4977,45 +4806,41 @@ func (s *ConditionalAndContext) Accept(visitor antlr.ParseTreeVisitor) interface } } - - - func (p *CommandsParser) ConditionalAnd() (localctx IConditionalAndContext) { localctx = NewConditionalAndContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 42, CommandsParserRULE_conditionalAnd) + p.EnterRule(localctx, 44, CommandsParserRULE_conditionalAnd) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(206) + p.SetState(212) var _x = p.relation(0) localctx.(*ConditionalAndContext).e = _x } - p.SetState(211) + p.SetState(217) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - for _la == CommandsParserLOGICAL_AND { { - p.SetState(207) + p.SetState(213) var _m = p.Match(CommandsParserLOGICAL_AND) - localctx.(*ConditionalAndContext).s19 = _m + localctx.(*ConditionalAndContext).s20 = _m if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } - localctx.(*ConditionalAndContext).ops = append(localctx.(*ConditionalAndContext).ops, localctx.(*ConditionalAndContext).s19) + localctx.(*ConditionalAndContext).ops = append(localctx.(*ConditionalAndContext).ops, localctx.(*ConditionalAndContext).s20) { - p.SetState(208) + p.SetState(214) var _x = p.relation(0) @@ -5023,17 +4848,14 @@ func (p *CommandsParser) ConditionalAnd() (localctx IConditionalAndContext) { } localctx.(*ConditionalAndContext).e1 = append(localctx.(*ConditionalAndContext).e1, localctx.(*ConditionalAndContext)._relation) - - p.SetState(213) + p.SetState(219) p.GetErrorHandler().Sync(p) if p.HasError() { - goto errorExit - } + goto errorExit + } _la = p.GetTokenStream().LA(1) } - - errorExit: if p.HasError() { v := p.GetError() @@ -5047,7 +4869,6 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } - // IRelationContext is an interface to support dynamic dispatch. type IRelationContext interface { antlr.ParserRuleContext @@ -5056,12 +4877,10 @@ type IRelationContext interface { GetParser() antlr.Parser // GetOp returns the op token. - GetOp() antlr.Token - + GetOp() antlr.Token // SetOp sets the op token. - SetOp(antlr.Token) - + SetOp(antlr.Token) // Getter signatures Calc() ICalcContext @@ -5082,7 +4901,7 @@ type IRelationContext interface { type RelationContext struct { antlr.BaseParserRuleContext parser antlr.Parser - op antlr.Token + op antlr.Token } func NewEmptyRelationContext() *RelationContext { @@ -5092,7 +4911,7 @@ func NewEmptyRelationContext() *RelationContext { return p } -func InitEmptyRelationContext(p *RelationContext) { +func InitEmptyRelationContext(p *RelationContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) p.RuleIndex = CommandsParserRULE_relation } @@ -5114,15 +4933,13 @@ func (s *RelationContext) GetParser() antlr.Parser { return s.parser } func (s *RelationContext) GetOp() antlr.Token { return s.op } - func (s *RelationContext) SetOp(v antlr.Token) { s.op = v } - func (s *RelationContext) Calc() ICalcContext { - var t antlr.RuleContext; + var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(ICalcContext); ok { - t = ctx.(antlr.RuleContext); + t = ctx.(antlr.RuleContext) break } } @@ -5156,12 +4973,12 @@ func (s *RelationContext) AllRelation() []IRelationContext { } func (s *RelationContext) Relation(i int) IRelationContext { - var t antlr.RuleContext; + var t antlr.RuleContext j := 0 for _, ctx := range s.GetChildren() { if _, ok := ctx.(IRelationContext); ok { if j == i { - t = ctx.(antlr.RuleContext); + t = ctx.(antlr.RuleContext) break } j++ @@ -5211,7 +5028,6 @@ func (s *RelationContext) ToStringTree(ruleNames []string, recog antlr.Recognize return antlr.TreesStringTree(s, ruleNames, recog) } - func (s *RelationContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(CommandsListener); ok { listenerT.EnterRelation(s) @@ -5234,10 +5050,6 @@ func (s *RelationContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { } } - - - - func (p *CommandsParser) Relation() (localctx IRelationContext) { return p.relation(0) } @@ -5249,20 +5061,20 @@ func (p *CommandsParser) relation(_p int) (localctx IRelationContext) { localctx = NewRelationContext(p, p.GetParserRuleContext(), _parentState) var _prevctx IRelationContext = localctx var _ antlr.ParserRuleContext = _prevctx // TODO: To prevent unused variable warning. - _startState := 44 - p.EnterRecursionRule(localctx, 44, CommandsParserRULE_relation, _p) + _startState := 46 + p.EnterRecursionRule(localctx, 46, CommandsParserRULE_relation, _p) var _la int var _alt int p.EnterOuterAlt(localctx, 1) { - p.SetState(215) + p.SetState(221) p.calc(0) } p.GetParserRuleContext().SetStop(p.GetTokenStream().LT(-1)) - p.SetState(222) + p.SetState(228) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -5279,14 +5091,14 @@ func (p *CommandsParser) relation(_p int) (localctx IRelationContext) { _prevctx = localctx localctx = NewRelationContext(p, _parentctx, _parentState) p.PushNewRecursionContext(localctx, _startState, CommandsParserRULE_relation) - p.SetState(217) + p.SetState(223) if !(p.Precpred(p.GetParserRuleContext(), 1)) { p.SetError(antlr.NewFailedPredicateException(p, "p.Precpred(p.GetParserRuleContext(), 1)", "")) goto errorExit } { - p.SetState(218) + p.SetState(224) var _lt = p.GetTokenStream().LT(1) @@ -5294,7 +5106,7 @@ func (p *CommandsParser) relation(_p int) (localctx IRelationContext) { _la = p.GetTokenStream().LA(1) - if !(((int64(_la) & ^0x3f) == 0 && ((int64(1) << _la) & 520192) != 0)) { + if !((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1040384) != 0) { var _ri = p.GetErrorHandler().RecoverInline(p) localctx.(*RelationContext).op = _ri @@ -5304,26 +5116,23 @@ func (p *CommandsParser) relation(_p int) (localctx IRelationContext) { } } { - p.SetState(219) + p.SetState(225) p.relation(2) } - } - p.SetState(224) + p.SetState(230) p.GetErrorHandler().Sync(p) if p.HasError() { - goto errorExit - } + goto errorExit + } _alt = p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 19, p.GetParserRuleContext()) if p.HasError() { goto errorExit } } - - - errorExit: +errorExit: if p.HasError() { v := p.GetError() localctx.SetException(v) @@ -5336,7 +5145,6 @@ func (p *CommandsParser) relation(_p int) (localctx IRelationContext) { goto errorExit // Trick to prevent compiler error if the label is not used } - // ICalcContext is an interface to support dynamic dispatch. type ICalcContext interface { antlr.ParserRuleContext @@ -5345,12 +5153,10 @@ type ICalcContext interface { GetParser() antlr.Parser // GetOp returns the op token. - GetOp() antlr.Token - + GetOp() antlr.Token // SetOp sets the op token. - SetOp(antlr.Token) - + SetOp(antlr.Token) // Getter signatures Unary() IUnaryContext @@ -5369,7 +5175,7 @@ type ICalcContext interface { type CalcContext struct { antlr.BaseParserRuleContext parser antlr.Parser - op antlr.Token + op antlr.Token } func NewEmptyCalcContext() *CalcContext { @@ -5379,7 +5185,7 @@ func NewEmptyCalcContext() *CalcContext { return p } -func InitEmptyCalcContext(p *CalcContext) { +func InitEmptyCalcContext(p *CalcContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) p.RuleIndex = CommandsParserRULE_calc } @@ -5401,15 +5207,13 @@ func (s *CalcContext) GetParser() antlr.Parser { return s.parser } func (s *CalcContext) GetOp() antlr.Token { return s.op } - func (s *CalcContext) SetOp(v antlr.Token) { s.op = v } - func (s *CalcContext) Unary() IUnaryContext { - var t antlr.RuleContext; + var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(IUnaryContext); ok { - t = ctx.(antlr.RuleContext); + t = ctx.(antlr.RuleContext) break } } @@ -5443,12 +5247,12 @@ func (s *CalcContext) AllCalc() []ICalcContext { } func (s *CalcContext) Calc(i int) ICalcContext { - var t antlr.RuleContext; + var t antlr.RuleContext j := 0 for _, ctx := range s.GetChildren() { if _, ok := ctx.(ICalcContext); ok { if j == i { - t = ctx.(antlr.RuleContext); + t = ctx.(antlr.RuleContext) break } j++ @@ -5490,7 +5294,6 @@ func (s *CalcContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) s return antlr.TreesStringTree(s, ruleNames, recog) } - func (s *CalcContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(CommandsListener); ok { listenerT.EnterCalc(s) @@ -5513,10 +5316,6 @@ func (s *CalcContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { } } - - - - func (p *CommandsParser) Calc() (localctx ICalcContext) { return p.calc(0) } @@ -5528,20 +5327,20 @@ func (p *CommandsParser) calc(_p int) (localctx ICalcContext) { localctx = NewCalcContext(p, p.GetParserRuleContext(), _parentState) var _prevctx ICalcContext = localctx var _ antlr.ParserRuleContext = _prevctx // TODO: To prevent unused variable warning. - _startState := 46 - p.EnterRecursionRule(localctx, 46, CommandsParserRULE_calc, _p) + _startState := 48 + p.EnterRecursionRule(localctx, 48, CommandsParserRULE_calc, _p) var _la int var _alt int p.EnterOuterAlt(localctx, 1) { - p.SetState(226) + p.SetState(232) p.Unary() } p.GetParserRuleContext().SetStop(p.GetTokenStream().LT(-1)) - p.SetState(236) + p.SetState(242) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -5556,7 +5355,7 @@ func (p *CommandsParser) calc(_p int) (localctx ICalcContext) { p.TriggerExitRuleEvent() } _prevctx = localctx - p.SetState(234) + p.SetState(240) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -5566,14 +5365,14 @@ func (p *CommandsParser) calc(_p int) (localctx ICalcContext) { case 1: localctx = NewCalcContext(p, _parentctx, _parentState) p.PushNewRecursionContext(localctx, _startState, CommandsParserRULE_calc) - p.SetState(228) + p.SetState(234) if !(p.Precpred(p.GetParserRuleContext(), 2)) { p.SetError(antlr.NewFailedPredicateException(p, "p.Precpred(p.GetParserRuleContext(), 2)", "")) goto errorExit } { - p.SetState(229) + p.SetState(235) var _lt = p.GetTokenStream().LT(1) @@ -5581,7 +5380,7 @@ func (p *CommandsParser) calc(_p int) (localctx ICalcContext) { _la = p.GetTokenStream().LA(1) - if !(((int64(_la) & ^0x3f) == 0 && ((int64(1) << _la) & 120259084288) != 0)) { + if !((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&240518168576) != 0) { var _ri = p.GetErrorHandler().RecoverInline(p) localctx.(*CalcContext).op = _ri @@ -5591,22 +5390,21 @@ func (p *CommandsParser) calc(_p int) (localctx ICalcContext) { } } { - p.SetState(230) + p.SetState(236) p.calc(3) } - case 2: localctx = NewCalcContext(p, _parentctx, _parentState) p.PushNewRecursionContext(localctx, _startState, CommandsParserRULE_calc) - p.SetState(231) + p.SetState(237) if !(p.Precpred(p.GetParserRuleContext(), 1)) { p.SetError(antlr.NewFailedPredicateException(p, "p.Precpred(p.GetParserRuleContext(), 1)", "")) goto errorExit } { - p.SetState(232) + p.SetState(238) var _lt = p.GetTokenStream().LT(1) @@ -5624,7 +5422,7 @@ func (p *CommandsParser) calc(_p int) (localctx ICalcContext) { } } { - p.SetState(233) + p.SetState(239) p.calc(2) } @@ -5633,20 +5431,18 @@ func (p *CommandsParser) calc(_p int) (localctx ICalcContext) { } } - p.SetState(238) + p.SetState(244) p.GetErrorHandler().Sync(p) if p.HasError() { - goto errorExit - } + goto errorExit + } _alt = p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 21, p.GetParserRuleContext()) if p.HasError() { goto errorExit } } - - - errorExit: +errorExit: if p.HasError() { v := p.GetError() localctx.SetException(v) @@ -5659,7 +5455,6 @@ func (p *CommandsParser) calc(_p int) (localctx ICalcContext) { goto errorExit // Trick to prevent compiler error if the label is not used } - // IUnaryContext is an interface to support dynamic dispatch. type IUnaryContext interface { antlr.ParserRuleContext @@ -5682,7 +5477,7 @@ func NewEmptyUnaryContext() *UnaryContext { return p } -func InitEmptyUnaryContext(p *UnaryContext) { +func InitEmptyUnaryContext(p *UnaryContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) p.RuleIndex = CommandsParserRULE_unary } @@ -5714,12 +5509,9 @@ func (s *UnaryContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) return antlr.TreesStringTree(s, ruleNames, recog) } - - - type LogicalNotContext struct { UnaryContext - s30 antlr.Token + s31 antlr.Token ops []antlr.Token } @@ -5733,16 +5525,12 @@ func NewLogicalNotContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *Log return p } +func (s *LogicalNotContext) GetS31() antlr.Token { return s.s31 } -func (s *LogicalNotContext) GetS30() antlr.Token { return s.s30 } - - -func (s *LogicalNotContext) SetS30(v antlr.Token) { s.s30 = v } - +func (s *LogicalNotContext) SetS31(v antlr.Token) { s.s31 = v } func (s *LogicalNotContext) GetOps() []antlr.Token { return s.ops } - func (s *LogicalNotContext) SetOps(v []antlr.Token) { s.ops = v } func (s *LogicalNotContext) GetRuleContext() antlr.RuleContext { @@ -5750,10 +5538,10 @@ func (s *LogicalNotContext) GetRuleContext() antlr.RuleContext { } func (s *LogicalNotContext) Member() IMemberContext { - var t antlr.RuleContext; + var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(IMemberContext); ok { - t = ctx.(antlr.RuleContext); + t = ctx.(antlr.RuleContext) break } } @@ -5773,7 +5561,6 @@ func (s *LogicalNotContext) EXCLAM(i int) antlr.TerminalNode { return s.GetToken(CommandsParserEXCLAM, i) } - func (s *LogicalNotContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(CommandsListener); ok { listenerT.EnterLogicalNot(s) @@ -5796,7 +5583,6 @@ func (s *LogicalNotContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { } } - type MemberExprContext struct { UnaryContext } @@ -5816,10 +5602,10 @@ func (s *MemberExprContext) GetRuleContext() antlr.RuleContext { } func (s *MemberExprContext) Member() IMemberContext { - var t antlr.RuleContext; + var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(IMemberContext); ok { - t = ctx.(antlr.RuleContext); + t = ctx.(antlr.RuleContext) break } } @@ -5831,7 +5617,6 @@ func (s *MemberExprContext) Member() IMemberContext { return t.(IMemberContext) } - func (s *MemberExprContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(CommandsListener); ok { listenerT.EnterMemberExpr(s) @@ -5854,10 +5639,9 @@ func (s *MemberExprContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { } } - type NegateContext struct { UnaryContext - s29 antlr.Token + s30 antlr.Token ops []antlr.Token } @@ -5871,16 +5655,12 @@ func NewNegateContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *NegateC return p } +func (s *NegateContext) GetS30() antlr.Token { return s.s30 } -func (s *NegateContext) GetS29() antlr.Token { return s.s29 } - - -func (s *NegateContext) SetS29(v antlr.Token) { s.s29 = v } - +func (s *NegateContext) SetS30(v antlr.Token) { s.s30 = v } func (s *NegateContext) GetOps() []antlr.Token { return s.ops } - func (s *NegateContext) SetOps(v []antlr.Token) { s.ops = v } func (s *NegateContext) GetRuleContext() antlr.RuleContext { @@ -5888,10 +5668,10 @@ func (s *NegateContext) GetRuleContext() antlr.RuleContext { } func (s *NegateContext) Member() IMemberContext { - var t antlr.RuleContext; + var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(IMemberContext); ok { - t = ctx.(antlr.RuleContext); + t = ctx.(antlr.RuleContext) break } } @@ -5911,7 +5691,6 @@ func (s *NegateContext) MINUS(i int) antlr.TerminalNode { return s.GetToken(CommandsParserMINUS, i) } - func (s *NegateContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(CommandsListener); ok { listenerT.EnterNegate(s) @@ -5934,16 +5713,14 @@ func (s *NegateContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { } } - - func (p *CommandsParser) Unary() (localctx IUnaryContext) { localctx = NewUnaryContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 48, CommandsParserRULE_unary) + p.EnterRule(localctx, 50, CommandsParserRULE_unary) var _la int var _alt int - p.SetState(252) + p.SetState(258) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -5954,54 +5731,50 @@ func (p *CommandsParser) Unary() (localctx IUnaryContext) { localctx = NewMemberExprContext(p, localctx) p.EnterOuterAlt(localctx, 1) { - p.SetState(239) + p.SetState(245) p.member(0) } - case 2: localctx = NewLogicalNotContext(p, localctx) p.EnterOuterAlt(localctx, 2) - p.SetState(241) + p.SetState(247) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - for ok := true; ok; ok = _la == CommandsParserEXCLAM { { - p.SetState(240) + p.SetState(246) var _m = p.Match(CommandsParserEXCLAM) - localctx.(*LogicalNotContext).s30 = _m + localctx.(*LogicalNotContext).s31 = _m if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } - localctx.(*LogicalNotContext).ops = append(localctx.(*LogicalNotContext).ops, localctx.(*LogicalNotContext).s30) - + localctx.(*LogicalNotContext).ops = append(localctx.(*LogicalNotContext).ops, localctx.(*LogicalNotContext).s31) - p.SetState(243) + p.SetState(249) p.GetErrorHandler().Sync(p) if p.HasError() { - goto errorExit - } + goto errorExit + } _la = p.GetTokenStream().LA(1) } { - p.SetState(245) + p.SetState(251) p.member(0) } - case 3: localctx = NewNegateContext(p, localctx) p.EnterOuterAlt(localctx, 3) - p.SetState(247) + p.SetState(253) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -6010,28 +5783,25 @@ func (p *CommandsParser) Unary() (localctx IUnaryContext) { for ok := true; ok; ok = _alt != 2 && _alt != antlr.ATNInvalidAltNumber { switch _alt { case 1: - { - p.SetState(246) + { + p.SetState(252) - var _m = p.Match(CommandsParserMINUS) + var _m = p.Match(CommandsParserMINUS) - localctx.(*NegateContext).s29 = _m - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + localctx.(*NegateContext).s30 = _m + if p.HasError() { + // Recognition error - abort rule + goto errorExit } - localctx.(*NegateContext).ops = append(localctx.(*NegateContext).ops, localctx.(*NegateContext).s29) - - - + } + localctx.(*NegateContext).ops = append(localctx.(*NegateContext).ops, localctx.(*NegateContext).s30) default: p.SetError(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil)) goto errorExit } - p.SetState(249) + p.SetState(255) p.GetErrorHandler().Sync(p) _alt = p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 23, p.GetParserRuleContext()) if p.HasError() { @@ -6039,7 +5809,7 @@ func (p *CommandsParser) Unary() (localctx IUnaryContext) { } } { - p.SetState(251) + p.SetState(257) p.member(0) } @@ -6047,7 +5817,6 @@ func (p *CommandsParser) Unary() (localctx IUnaryContext) { goto errorExit } - errorExit: if p.HasError() { v := p.GetError() @@ -6061,7 +5830,6 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } - // IMemberContext is an interface to support dynamic dispatch. type IMemberContext interface { antlr.ParserRuleContext @@ -6084,7 +5852,7 @@ func NewEmptyMemberContext() *MemberContext { return p } -func InitEmptyMemberContext(p *MemberContext) { +func InitEmptyMemberContext(p *MemberContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) p.RuleIndex = CommandsParserRULE_member } @@ -6116,16 +5884,12 @@ func (s *MemberContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) return antlr.TreesStringTree(s, ruleNames, recog) } - - - - type MemberCallContext struct { MemberContext - op antlr.Token - id antlr.Token + op antlr.Token + id antlr.Token open antlr.Token - args IExprListContext + args IExprListContext } func NewMemberCallContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *MemberCallContext { @@ -6138,24 +5902,20 @@ func NewMemberCallContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *Mem return p } - func (s *MemberCallContext) GetOp() antlr.Token { return s.op } func (s *MemberCallContext) GetId() antlr.Token { return s.id } func (s *MemberCallContext) GetOpen() antlr.Token { return s.open } - func (s *MemberCallContext) SetOp(v antlr.Token) { s.op = v } func (s *MemberCallContext) SetId(v antlr.Token) { s.id = v } func (s *MemberCallContext) SetOpen(v antlr.Token) { s.open = v } - func (s *MemberCallContext) GetArgs() IExprListContext { return s.args } - func (s *MemberCallContext) SetArgs(v IExprListContext) { s.args = v } func (s *MemberCallContext) GetRuleContext() antlr.RuleContext { @@ -6163,10 +5923,10 @@ func (s *MemberCallContext) GetRuleContext() antlr.RuleContext { } func (s *MemberCallContext) Member() IMemberContext { - var t antlr.RuleContext; + var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(IMemberContext); ok { - t = ctx.(antlr.RuleContext); + t = ctx.(antlr.RuleContext) break } } @@ -6195,10 +5955,10 @@ func (s *MemberCallContext) LPAREN() antlr.TerminalNode { } func (s *MemberCallContext) ExprList() IExprListContext { - var t antlr.RuleContext; + var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(IExprListContext); ok { - t = ctx.(antlr.RuleContext); + t = ctx.(antlr.RuleContext) break } } @@ -6210,7 +5970,6 @@ func (s *MemberCallContext) ExprList() IExprListContext { return t.(IExprListContext) } - func (s *MemberCallContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(CommandsListener); ok { listenerT.EnterMemberCall(s) @@ -6233,12 +5992,11 @@ func (s *MemberCallContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { } } - type SelectContext struct { MemberContext - op antlr.Token + op antlr.Token opt antlr.Token - id antlr.Token + id antlr.Token } func NewSelectContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *SelectContext { @@ -6251,14 +6009,12 @@ func NewSelectContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *SelectC return p } - func (s *SelectContext) GetOp() antlr.Token { return s.op } func (s *SelectContext) GetOpt() antlr.Token { return s.opt } func (s *SelectContext) GetId() antlr.Token { return s.id } - func (s *SelectContext) SetOp(v antlr.Token) { s.op = v } func (s *SelectContext) SetOpt(v antlr.Token) { s.opt = v } @@ -6270,10 +6026,10 @@ func (s *SelectContext) GetRuleContext() antlr.RuleContext { } func (s *SelectContext) Member() IMemberContext { - var t antlr.RuleContext; + var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(IMemberContext); ok { - t = ctx.(antlr.RuleContext); + t = ctx.(antlr.RuleContext) break } } @@ -6297,7 +6053,6 @@ func (s *SelectContext) QUESTIONMARK() antlr.TerminalNode { return s.GetToken(CommandsParserQUESTIONMARK, 0) } - func (s *SelectContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(CommandsListener); ok { listenerT.EnterSelect(s) @@ -6320,7 +6075,6 @@ func (s *SelectContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { } } - type PrimaryExprContext struct { MemberContext } @@ -6340,10 +6094,10 @@ func (s *PrimaryExprContext) GetRuleContext() antlr.RuleContext { } func (s *PrimaryExprContext) Primary() IPrimaryContext { - var t antlr.RuleContext; + var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(IPrimaryContext); ok { - t = ctx.(antlr.RuleContext); + t = ctx.(antlr.RuleContext) break } } @@ -6355,7 +6109,6 @@ func (s *PrimaryExprContext) Primary() IPrimaryContext { return t.(IPrimaryContext) } - func (s *PrimaryExprContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(CommandsListener); ok { listenerT.EnterPrimaryExpr(s) @@ -6378,12 +6131,11 @@ func (s *PrimaryExprContext) Accept(visitor antlr.ParseTreeVisitor) interface{} } } - type IndexContext struct { MemberContext - op antlr.Token - opt antlr.Token - index IExprContext + op antlr.Token + opt antlr.Token + index IExprContext } func NewIndexContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *IndexContext { @@ -6396,20 +6148,16 @@ func NewIndexContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *IndexCon return p } - func (s *IndexContext) GetOp() antlr.Token { return s.op } func (s *IndexContext) GetOpt() antlr.Token { return s.opt } - func (s *IndexContext) SetOp(v antlr.Token) { s.op = v } func (s *IndexContext) SetOpt(v antlr.Token) { s.opt = v } - func (s *IndexContext) GetIndex() IExprContext { return s.index } - func (s *IndexContext) SetIndex(v IExprContext) { s.index = v } func (s *IndexContext) GetRuleContext() antlr.RuleContext { @@ -6417,10 +6165,10 @@ func (s *IndexContext) GetRuleContext() antlr.RuleContext { } func (s *IndexContext) Member() IMemberContext { - var t antlr.RuleContext; + var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(IMemberContext); ok { - t = ctx.(antlr.RuleContext); + t = ctx.(antlr.RuleContext) break } } @@ -6441,10 +6189,10 @@ func (s *IndexContext) LBRACKET() antlr.TerminalNode { } func (s *IndexContext) Expr() IExprContext { - var t antlr.RuleContext; + var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(IExprContext); ok { - t = ctx.(antlr.RuleContext); + t = ctx.(antlr.RuleContext) break } } @@ -6460,7 +6208,6 @@ func (s *IndexContext) QUESTIONMARK() antlr.TerminalNode { return s.GetToken(CommandsParserQUESTIONMARK, 0) } - func (s *IndexContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(CommandsListener); ok { listenerT.EnterIndex(s) @@ -6483,8 +6230,6 @@ func (s *IndexContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { } } - - func (p *CommandsParser) Member() (localctx IMemberContext) { return p.member(0) } @@ -6496,8 +6241,8 @@ func (p *CommandsParser) member(_p int) (localctx IMemberContext) { localctx = NewMemberContext(p, p.GetParserRuleContext(), _parentState) var _prevctx IMemberContext = localctx var _ antlr.ParserRuleContext = _prevctx // TODO: To prevent unused variable warning. - _startState := 50 - p.EnterRecursionRule(localctx, 50, CommandsParserRULE_member, _p) + _startState := 52 + p.EnterRecursionRule(localctx, 52, CommandsParserRULE_member, _p) var _la int var _alt int @@ -6508,12 +6253,12 @@ func (p *CommandsParser) member(_p int) (localctx IMemberContext) { _prevctx = localctx { - p.SetState(255) + p.SetState(261) p.Primary() } p.GetParserRuleContext().SetStop(p.GetTokenStream().LT(-1)) - p.SetState(281) + p.SetState(287) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -6528,7 +6273,7 @@ func (p *CommandsParser) member(_p int) (localctx IMemberContext) { p.TriggerExitRuleEvent() } _prevctx = localctx - p.SetState(279) + p.SetState(285) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -6538,185 +6283,178 @@ func (p *CommandsParser) member(_p int) (localctx IMemberContext) { case 1: localctx = NewSelectContext(p, NewMemberContext(p, _parentctx, _parentState)) p.PushNewRecursionContext(localctx, _startState, CommandsParserRULE_member) - p.SetState(257) + p.SetState(263) if !(p.Precpred(p.GetParserRuleContext(), 3)) { p.SetError(antlr.NewFailedPredicateException(p, "p.Precpred(p.GetParserRuleContext(), 3)", "")) goto errorExit } { - p.SetState(258) + p.SetState(264) var _m = p.Match(CommandsParserDOT) localctx.(*SelectContext).op = _m if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } - p.SetState(260) + p.SetState(266) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if _la == CommandsParserQUESTIONMARK { { - p.SetState(259) + p.SetState(265) var _m = p.Match(CommandsParserQUESTIONMARK) localctx.(*SelectContext).opt = _m if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } } { - p.SetState(262) + p.SetState(268) var _m = p.Match(CommandsParserIDENTIFIER) localctx.(*SelectContext).id = _m if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } - case 2: localctx = NewMemberCallContext(p, NewMemberContext(p, _parentctx, _parentState)) p.PushNewRecursionContext(localctx, _startState, CommandsParserRULE_member) - p.SetState(263) + p.SetState(269) if !(p.Precpred(p.GetParserRuleContext(), 2)) { p.SetError(antlr.NewFailedPredicateException(p, "p.Precpred(p.GetParserRuleContext(), 2)", "")) goto errorExit } { - p.SetState(264) + p.SetState(270) var _m = p.Match(CommandsParserDOT) localctx.(*MemberCallContext).op = _m if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } { - p.SetState(265) + p.SetState(271) var _m = p.Match(CommandsParserIDENTIFIER) localctx.(*MemberCallContext).id = _m if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } { - p.SetState(266) + p.SetState(272) var _m = p.Match(CommandsParserLPAREN) localctx.(*MemberCallContext).open = _m if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } - p.SetState(268) + p.SetState(274) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - - if ((int64(_la) & ^0x3f) == 0 && ((int64(1) << _la) & 278040791744512) != 0) { + if (int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&556081583489024) != 0 { { - p.SetState(267) + p.SetState(273) var _x = p.ExprList() - localctx.(*MemberCallContext).args = _x } } { - p.SetState(270) + p.SetState(276) p.Match(CommandsParserRPAREN) if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } - case 3: localctx = NewIndexContext(p, NewMemberContext(p, _parentctx, _parentState)) p.PushNewRecursionContext(localctx, _startState, CommandsParserRULE_member) - p.SetState(271) + p.SetState(277) if !(p.Precpred(p.GetParserRuleContext(), 1)) { p.SetError(antlr.NewFailedPredicateException(p, "p.Precpred(p.GetParserRuleContext(), 1)", "")) goto errorExit } { - p.SetState(272) + p.SetState(278) var _m = p.Match(CommandsParserLBRACKET) localctx.(*IndexContext).op = _m if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } - p.SetState(274) + p.SetState(280) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if _la == CommandsParserQUESTIONMARK { { - p.SetState(273) + p.SetState(279) var _m = p.Match(CommandsParserQUESTIONMARK) localctx.(*IndexContext).opt = _m if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } } { - p.SetState(276) + p.SetState(282) var _x = p.Expr() - localctx.(*IndexContext).index = _x } { - p.SetState(277) + p.SetState(283) p.Match(CommandsParserRPRACKET) if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } @@ -6725,20 +6463,18 @@ func (p *CommandsParser) member(_p int) (localctx IMemberContext) { } } - p.SetState(283) + p.SetState(289) p.GetErrorHandler().Sync(p) if p.HasError() { - goto errorExit - } + goto errorExit + } _alt = p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 29, p.GetParserRuleContext()) if p.HasError() { goto errorExit } } - - - errorExit: +errorExit: if p.HasError() { v := p.GetError() localctx.SetException(v) @@ -6751,7 +6487,6 @@ func (p *CommandsParser) member(_p int) (localctx IMemberContext) { goto errorExit // Trick to prevent compiler error if the label is not used } - // IPrimaryContext is an interface to support dynamic dispatch. type IPrimaryContext interface { antlr.ParserRuleContext @@ -6774,7 +6509,7 @@ func NewEmptyPrimaryContext() *PrimaryContext { return p } -func InitEmptyPrimaryContext(p *PrimaryContext) { +func InitEmptyPrimaryContext(p *PrimaryContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) p.RuleIndex = CommandsParserRULE_primary } @@ -6806,13 +6541,10 @@ func (s *PrimaryContext) ToStringTree(ruleNames []string, recog antlr.Recognizer return antlr.TreesStringTree(s, ruleNames, recog) } - - - type CreateListContext struct { PrimaryContext - op antlr.Token - elems IListInitContext + op antlr.Token + elems IListInitContext } func NewCreateListContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *CreateListContext { @@ -6825,16 +6557,12 @@ func NewCreateListContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *Cre return p } - func (s *CreateListContext) GetOp() antlr.Token { return s.op } - func (s *CreateListContext) SetOp(v antlr.Token) { s.op = v } - func (s *CreateListContext) GetElems() IListInitContext { return s.elems } - func (s *CreateListContext) SetElems(v IListInitContext) { s.elems = v } func (s *CreateListContext) GetRuleContext() antlr.RuleContext { @@ -6854,10 +6582,10 @@ func (s *CreateListContext) COMMA() antlr.TerminalNode { } func (s *CreateListContext) ListInit() IListInitContext { - var t antlr.RuleContext; + var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(IListInitContext); ok { - t = ctx.(antlr.RuleContext); + t = ctx.(antlr.RuleContext) break } } @@ -6869,7 +6597,6 @@ func (s *CreateListContext) ListInit() IListInitContext { return t.(IListInitContext) } - func (s *CreateListContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(CommandsListener); ok { listenerT.EnterCreateList(s) @@ -6892,11 +6619,10 @@ func (s *CreateListContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { } } - type CreateStructContext struct { PrimaryContext - op antlr.Token - entries IMapInitializerListContext + op antlr.Token + entries IMapInitializerListContext } func NewCreateStructContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *CreateStructContext { @@ -6909,16 +6635,12 @@ func NewCreateStructContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *C return p } - func (s *CreateStructContext) GetOp() antlr.Token { return s.op } - func (s *CreateStructContext) SetOp(v antlr.Token) { s.op = v } - func (s *CreateStructContext) GetEntries() IMapInitializerListContext { return s.entries } - func (s *CreateStructContext) SetEntries(v IMapInitializerListContext) { s.entries = v } func (s *CreateStructContext) GetRuleContext() antlr.RuleContext { @@ -6938,10 +6660,10 @@ func (s *CreateStructContext) COMMA() antlr.TerminalNode { } func (s *CreateStructContext) MapInitializerList() IMapInitializerListContext { - var t antlr.RuleContext; + var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(IMapInitializerListContext); ok { - t = ctx.(antlr.RuleContext); + t = ctx.(antlr.RuleContext) break } } @@ -6953,7 +6675,6 @@ func (s *CreateStructContext) MapInitializerList() IMapInitializerListContext { return t.(IMapInitializerListContext) } - func (s *CreateStructContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(CommandsListener); ok { listenerT.EnterCreateStruct(s) @@ -6976,7 +6697,6 @@ func (s *CreateStructContext) Accept(visitor antlr.ParseTreeVisitor) interface{} } } - type ConstantLiteralContext struct { PrimaryContext } @@ -6996,10 +6716,10 @@ func (s *ConstantLiteralContext) GetRuleContext() antlr.RuleContext { } func (s *ConstantLiteralContext) Literal() ILiteralContext { - var t antlr.RuleContext; + var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(ILiteralContext); ok { - t = ctx.(antlr.RuleContext); + t = ctx.(antlr.RuleContext) break } } @@ -7011,7 +6731,6 @@ func (s *ConstantLiteralContext) Literal() ILiteralContext { return t.(ILiteralContext) } - func (s *ConstantLiteralContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(CommandsListener); ok { listenerT.EnterConstantLiteral(s) @@ -7034,10 +6753,9 @@ func (s *ConstantLiteralContext) Accept(visitor antlr.ParseTreeVisitor) interfac } } - type NestedContext struct { PrimaryContext - e IExprContext + e IExprContext } func NewNestedContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *NestedContext { @@ -7050,10 +6768,8 @@ func NewNestedContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *NestedC return p } - func (s *NestedContext) GetE() IExprContext { return s.e } - func (s *NestedContext) SetE(v IExprContext) { s.e = v } func (s *NestedContext) GetRuleContext() antlr.RuleContext { @@ -7069,10 +6785,10 @@ func (s *NestedContext) RPAREN() antlr.TerminalNode { } func (s *NestedContext) Expr() IExprContext { - var t antlr.RuleContext; + var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(IExprContext); ok { - t = ctx.(antlr.RuleContext); + t = ctx.(antlr.RuleContext) break } } @@ -7084,7 +6800,6 @@ func (s *NestedContext) Expr() IExprContext { return t.(IExprContext) } - func (s *NestedContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(CommandsListener); ok { listenerT.EnterNested(s) @@ -7107,16 +6822,15 @@ func (s *NestedContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { } } - type CreateMessageContext struct { PrimaryContext - leadingDot antlr.Token + leadingDot antlr.Token _IDENTIFIER antlr.Token - ids []antlr.Token - s27 antlr.Token - ops []antlr.Token - op antlr.Token - entries IFieldInitializerListContext + ids []antlr.Token + s28 antlr.Token + ops []antlr.Token + op antlr.Token + entries IFieldInitializerListContext } func NewCreateMessageContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *CreateMessageContext { @@ -7129,38 +6843,32 @@ func NewCreateMessageContext(parser antlr.Parser, ctx antlr.ParserRuleContext) * return p } - func (s *CreateMessageContext) GetLeadingDot() antlr.Token { return s.leadingDot } func (s *CreateMessageContext) Get_IDENTIFIER() antlr.Token { return s._IDENTIFIER } -func (s *CreateMessageContext) GetS27() antlr.Token { return s.s27 } +func (s *CreateMessageContext) GetS28() antlr.Token { return s.s28 } func (s *CreateMessageContext) GetOp() antlr.Token { return s.op } - func (s *CreateMessageContext) SetLeadingDot(v antlr.Token) { s.leadingDot = v } func (s *CreateMessageContext) Set_IDENTIFIER(v antlr.Token) { s._IDENTIFIER = v } -func (s *CreateMessageContext) SetS27(v antlr.Token) { s.s27 = v } +func (s *CreateMessageContext) SetS28(v antlr.Token) { s.s28 = v } func (s *CreateMessageContext) SetOp(v antlr.Token) { s.op = v } - func (s *CreateMessageContext) GetIds() []antlr.Token { return s.ids } func (s *CreateMessageContext) GetOps() []antlr.Token { return s.ops } - func (s *CreateMessageContext) SetIds(v []antlr.Token) { s.ids = v } func (s *CreateMessageContext) SetOps(v []antlr.Token) { s.ops = v } - func (s *CreateMessageContext) GetEntries() IFieldInitializerListContext { return s.entries } - func (s *CreateMessageContext) SetEntries(v IFieldInitializerListContext) { s.entries = v } func (s *CreateMessageContext) GetRuleContext() antlr.RuleContext { @@ -7196,10 +6904,10 @@ func (s *CreateMessageContext) DOT(i int) antlr.TerminalNode { } func (s *CreateMessageContext) FieldInitializerList() IFieldInitializerListContext { - var t antlr.RuleContext; + var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(IFieldInitializerListContext); ok { - t = ctx.(antlr.RuleContext); + t = ctx.(antlr.RuleContext) break } } @@ -7211,7 +6919,6 @@ func (s *CreateMessageContext) FieldInitializerList() IFieldInitializerListConte return t.(IFieldInitializerListContext) } - func (s *CreateMessageContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(CommandsListener); ok { listenerT.EnterCreateMessage(s) @@ -7234,13 +6941,12 @@ func (s *CreateMessageContext) Accept(visitor antlr.ParseTreeVisitor) interface{ } } - type IdentOrGlobalCallContext struct { PrimaryContext leadingDot antlr.Token - id antlr.Token - op antlr.Token - args IExprListContext + id antlr.Token + op antlr.Token + args IExprListContext } func NewIdentOrGlobalCallContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *IdentOrGlobalCallContext { @@ -7253,24 +6959,20 @@ func NewIdentOrGlobalCallContext(parser antlr.Parser, ctx antlr.ParserRuleContex return p } - func (s *IdentOrGlobalCallContext) GetLeadingDot() antlr.Token { return s.leadingDot } func (s *IdentOrGlobalCallContext) GetId() antlr.Token { return s.id } func (s *IdentOrGlobalCallContext) GetOp() antlr.Token { return s.op } - func (s *IdentOrGlobalCallContext) SetLeadingDot(v antlr.Token) { s.leadingDot = v } func (s *IdentOrGlobalCallContext) SetId(v antlr.Token) { s.id = v } func (s *IdentOrGlobalCallContext) SetOp(v antlr.Token) { s.op = v } - func (s *IdentOrGlobalCallContext) GetArgs() IExprListContext { return s.args } - func (s *IdentOrGlobalCallContext) SetArgs(v IExprListContext) { s.args = v } func (s *IdentOrGlobalCallContext) GetRuleContext() antlr.RuleContext { @@ -7294,10 +6996,10 @@ func (s *IdentOrGlobalCallContext) LPAREN() antlr.TerminalNode { } func (s *IdentOrGlobalCallContext) ExprList() IExprListContext { - var t antlr.RuleContext; + var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(IExprListContext); ok { - t = ctx.(antlr.RuleContext); + t = ctx.(antlr.RuleContext) break } } @@ -7309,7 +7011,6 @@ func (s *IdentOrGlobalCallContext) ExprList() IExprListContext { return t.(IExprListContext) } - func (s *IdentOrGlobalCallContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(CommandsListener); ok { listenerT.EnterIdentOrGlobalCall(s) @@ -7332,14 +7033,12 @@ func (s *IdentOrGlobalCallContext) Accept(visitor antlr.ParseTreeVisitor) interf } } - - func (p *CommandsParser) Primary() (localctx IPrimaryContext) { localctx = NewPrimaryContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 52, CommandsParserRULE_primary) + p.EnterRule(localctx, 54, CommandsParserRULE_primary) var _la int - p.SetState(335) + p.SetState(341) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -7349,384 +7048,362 @@ func (p *CommandsParser) Primary() (localctx IPrimaryContext) { case 1: localctx = NewIdentOrGlobalCallContext(p, localctx) p.EnterOuterAlt(localctx, 1) - p.SetState(285) + p.SetState(291) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if _la == CommandsParserDOT { { - p.SetState(284) + p.SetState(290) var _m = p.Match(CommandsParserDOT) localctx.(*IdentOrGlobalCallContext).leadingDot = _m if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } } { - p.SetState(287) + p.SetState(293) var _m = p.Match(CommandsParserIDENTIFIER) localctx.(*IdentOrGlobalCallContext).id = _m if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } - p.SetState(293) + p.SetState(299) p.GetErrorHandler().Sync(p) - if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 32, p.GetParserRuleContext()) == 1 { { - p.SetState(288) + p.SetState(294) var _m = p.Match(CommandsParserLPAREN) localctx.(*IdentOrGlobalCallContext).op = _m if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } - p.SetState(290) + p.SetState(296) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - - if ((int64(_la) & ^0x3f) == 0 && ((int64(1) << _la) & 278040791744512) != 0) { + if (int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&556081583489024) != 0 { { - p.SetState(289) + p.SetState(295) var _x = p.ExprList() - localctx.(*IdentOrGlobalCallContext).args = _x } } { - p.SetState(292) + p.SetState(298) p.Match(CommandsParserRPAREN) if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } - } else if p.HasError() { // JIM - goto errorExit + } else if p.HasError() { // JIM + goto errorExit } - case 2: localctx = NewNestedContext(p, localctx) p.EnterOuterAlt(localctx, 2) { - p.SetState(295) + p.SetState(301) p.Match(CommandsParserLPAREN) if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } { - p.SetState(296) + p.SetState(302) var _x = p.Expr() - localctx.(*NestedContext).e = _x } { - p.SetState(297) + p.SetState(303) p.Match(CommandsParserRPAREN) if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } - case 3: localctx = NewCreateListContext(p, localctx) p.EnterOuterAlt(localctx, 3) { - p.SetState(299) + p.SetState(305) var _m = p.Match(CommandsParserLBRACKET) localctx.(*CreateListContext).op = _m if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } - p.SetState(301) + p.SetState(307) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - - if ((int64(_la) & ^0x3f) == 0 && ((int64(1) << _la) & 278042939228160) != 0) { + if (int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&556085878456320) != 0 { { - p.SetState(300) + p.SetState(306) var _x = p.ListInit() - localctx.(*CreateListContext).elems = _x } } - p.SetState(304) + p.SetState(310) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if _la == CommandsParserCOMMA { { - p.SetState(303) + p.SetState(309) p.Match(CommandsParserCOMMA) if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } } { - p.SetState(306) + p.SetState(312) p.Match(CommandsParserRPRACKET) if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } - case 4: localctx = NewCreateStructContext(p, localctx) p.EnterOuterAlt(localctx, 4) { - p.SetState(307) + p.SetState(313) var _m = p.Match(CommandsParserLBRACE) localctx.(*CreateStructContext).op = _m if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } - p.SetState(309) + p.SetState(315) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - - if ((int64(_la) & ^0x3f) == 0 && ((int64(1) << _la) & 278042939228160) != 0) { + if (int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&556085878456320) != 0 { { - p.SetState(308) + p.SetState(314) var _x = p.MapInitializerList() - localctx.(*CreateStructContext).entries = _x } } - p.SetState(312) + p.SetState(318) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if _la == CommandsParserCOMMA { { - p.SetState(311) + p.SetState(317) p.Match(CommandsParserCOMMA) if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } } { - p.SetState(314) + p.SetState(320) p.Match(CommandsParserRBRACE) if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } - case 5: localctx = NewCreateMessageContext(p, localctx) p.EnterOuterAlt(localctx, 5) - p.SetState(316) + p.SetState(322) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if _la == CommandsParserDOT { { - p.SetState(315) + p.SetState(321) var _m = p.Match(CommandsParserDOT) localctx.(*CreateMessageContext).leadingDot = _m if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } } { - p.SetState(318) + p.SetState(324) var _m = p.Match(CommandsParserIDENTIFIER) localctx.(*CreateMessageContext)._IDENTIFIER = _m if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } localctx.(*CreateMessageContext).ids = append(localctx.(*CreateMessageContext).ids, localctx.(*CreateMessageContext)._IDENTIFIER) - p.SetState(323) + p.SetState(329) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - for _la == CommandsParserDOT { { - p.SetState(319) + p.SetState(325) var _m = p.Match(CommandsParserDOT) - localctx.(*CreateMessageContext).s27 = _m + localctx.(*CreateMessageContext).s28 = _m if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } - localctx.(*CreateMessageContext).ops = append(localctx.(*CreateMessageContext).ops, localctx.(*CreateMessageContext).s27) + localctx.(*CreateMessageContext).ops = append(localctx.(*CreateMessageContext).ops, localctx.(*CreateMessageContext).s28) { - p.SetState(320) + p.SetState(326) var _m = p.Match(CommandsParserIDENTIFIER) localctx.(*CreateMessageContext)._IDENTIFIER = _m if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } localctx.(*CreateMessageContext).ids = append(localctx.(*CreateMessageContext).ids, localctx.(*CreateMessageContext)._IDENTIFIER) - - p.SetState(325) + p.SetState(331) p.GetErrorHandler().Sync(p) if p.HasError() { - goto errorExit - } + goto errorExit + } _la = p.GetTokenStream().LA(1) } { - p.SetState(326) + p.SetState(332) var _m = p.Match(CommandsParserLBRACE) localctx.(*CreateMessageContext).op = _m if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } - p.SetState(328) + p.SetState(334) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if _la == CommandsParserQUESTIONMARK || _la == CommandsParserIDENTIFIER { { - p.SetState(327) + p.SetState(333) var _x = p.FieldInitializerList() - localctx.(*CreateMessageContext).entries = _x } } - p.SetState(331) + p.SetState(337) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if _la == CommandsParserCOMMA { { - p.SetState(330) + p.SetState(336) p.Match(CommandsParserCOMMA) if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } } { - p.SetState(333) + p.SetState(339) p.Match(CommandsParserRBRACE) if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } - case 6: localctx = NewConstantLiteralContext(p, localctx) p.EnterOuterAlt(localctx, 6) { - p.SetState(334) + p.SetState(340) p.Literal() } @@ -7734,7 +7411,6 @@ func (p *CommandsParser) Primary() (localctx IPrimaryContext) { goto errorExit } - errorExit: if p.HasError() { v := p.GetError() @@ -7748,7 +7424,6 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } - // IExprListContext is an interface to support dynamic dispatch. type IExprListContext interface { antlr.ParserRuleContext @@ -7759,18 +7434,14 @@ type IExprListContext interface { // Get_expr returns the _expr rule contexts. Get_expr() IExprContext - // Set_expr sets the _expr rule contexts. Set_expr(IExprContext) - // GetE returns the e rule context list. GetE() []IExprContext - // SetE sets the e rule context list. - SetE([]IExprContext) - + SetE([]IExprContext) // Getter signatures AllExpr() []IExprContext @@ -7785,8 +7456,8 @@ type IExprListContext interface { type ExprListContext struct { antlr.BaseParserRuleContext parser antlr.Parser - _expr IExprContext - e []IExprContext + _expr IExprContext + e []IExprContext } func NewEmptyExprListContext() *ExprListContext { @@ -7796,7 +7467,7 @@ func NewEmptyExprListContext() *ExprListContext { return p } -func InitEmptyExprListContext(p *ExprListContext) { +func InitEmptyExprListContext(p *ExprListContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) p.RuleIndex = CommandsParserRULE_exprList } @@ -7818,16 +7489,12 @@ func (s *ExprListContext) GetParser() antlr.Parser { return s.parser } func (s *ExprListContext) Get_expr() IExprContext { return s._expr } - func (s *ExprListContext) Set_expr(v IExprContext) { s._expr = v } - func (s *ExprListContext) GetE() []IExprContext { return s.e } - func (s *ExprListContext) SetE(v []IExprContext) { s.e = v } - func (s *ExprListContext) AllExpr() []IExprContext { children := s.GetChildren() len := 0 @@ -7850,12 +7517,12 @@ func (s *ExprListContext) AllExpr() []IExprContext { } func (s *ExprListContext) Expr(i int) IExprContext { - var t antlr.RuleContext; + var t antlr.RuleContext j := 0 for _, ctx := range s.GetChildren() { if _, ok := ctx.(IExprContext); ok { if j == i { - t = ctx.(antlr.RuleContext); + t = ctx.(antlr.RuleContext) break } j++ @@ -7885,7 +7552,6 @@ func (s *ExprListContext) ToStringTree(ruleNames []string, recog antlr.Recognize return antlr.TreesStringTree(s, ruleNames, recog) } - func (s *ExprListContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(CommandsListener); ok { listenerT.EnterExprList(s) @@ -7908,62 +7574,53 @@ func (s *ExprListContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { } } - - - func (p *CommandsParser) ExprList() (localctx IExprListContext) { localctx = NewExprListContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 54, CommandsParserRULE_exprList) + p.EnterRule(localctx, 56, CommandsParserRULE_exprList) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(337) + p.SetState(343) var _x = p.Expr() - localctx.(*ExprListContext)._expr = _x } localctx.(*ExprListContext).e = append(localctx.(*ExprListContext).e, localctx.(*ExprListContext)._expr) - p.SetState(342) + p.SetState(348) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - for _la == CommandsParserCOMMA { { - p.SetState(338) + p.SetState(344) p.Match(CommandsParserCOMMA) if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } { - p.SetState(339) + p.SetState(345) var _x = p.Expr() - localctx.(*ExprListContext)._expr = _x } localctx.(*ExprListContext).e = append(localctx.(*ExprListContext).e, localctx.(*ExprListContext)._expr) - - p.SetState(344) + p.SetState(350) p.GetErrorHandler().Sync(p) if p.HasError() { - goto errorExit - } + goto errorExit + } _la = p.GetTokenStream().LA(1) } - - errorExit: if p.HasError() { v := p.GetError() @@ -7977,7 +7634,6 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } - // IListInitContext is an interface to support dynamic dispatch. type IListInitContext interface { antlr.ParserRuleContext @@ -7988,18 +7644,14 @@ type IListInitContext interface { // Get_optExpr returns the _optExpr rule contexts. Get_optExpr() IOptExprContext - // Set_optExpr sets the _optExpr rule contexts. Set_optExpr(IOptExprContext) - // GetElems returns the elems rule context list. GetElems() []IOptExprContext - // SetElems sets the elems rule context list. - SetElems([]IOptExprContext) - + SetElems([]IOptExprContext) // Getter signatures AllOptExpr() []IOptExprContext @@ -8013,9 +7665,9 @@ type IListInitContext interface { type ListInitContext struct { antlr.BaseParserRuleContext - parser antlr.Parser - _optExpr IOptExprContext - elems []IOptExprContext + parser antlr.Parser + _optExpr IOptExprContext + elems []IOptExprContext } func NewEmptyListInitContext() *ListInitContext { @@ -8025,7 +7677,7 @@ func NewEmptyListInitContext() *ListInitContext { return p } -func InitEmptyListInitContext(p *ListInitContext) { +func InitEmptyListInitContext(p *ListInitContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) p.RuleIndex = CommandsParserRULE_listInit } @@ -8047,16 +7699,12 @@ func (s *ListInitContext) GetParser() antlr.Parser { return s.parser } func (s *ListInitContext) Get_optExpr() IOptExprContext { return s._optExpr } - func (s *ListInitContext) Set_optExpr(v IOptExprContext) { s._optExpr = v } - func (s *ListInitContext) GetElems() []IOptExprContext { return s.elems } - func (s *ListInitContext) SetElems(v []IOptExprContext) { s.elems = v } - func (s *ListInitContext) AllOptExpr() []IOptExprContext { children := s.GetChildren() len := 0 @@ -8079,12 +7727,12 @@ func (s *ListInitContext) AllOptExpr() []IOptExprContext { } func (s *ListInitContext) OptExpr(i int) IOptExprContext { - var t antlr.RuleContext; + var t antlr.RuleContext j := 0 for _, ctx := range s.GetChildren() { if _, ok := ctx.(IOptExprContext); ok { if j == i { - t = ctx.(antlr.RuleContext); + t = ctx.(antlr.RuleContext) break } j++ @@ -8114,7 +7762,6 @@ func (s *ListInitContext) ToStringTree(ruleNames []string, recog antlr.Recognize return antlr.TreesStringTree(s, ruleNames, recog) } - func (s *ListInitContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(CommandsListener); ok { listenerT.EnterListInit(s) @@ -8137,25 +7784,21 @@ func (s *ListInitContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { } } - - - func (p *CommandsParser) ListInit() (localctx IListInitContext) { localctx = NewListInitContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 56, CommandsParserRULE_listInit) + p.EnterRule(localctx, 58, CommandsParserRULE_listInit) var _alt int p.EnterOuterAlt(localctx, 1) { - p.SetState(345) + p.SetState(351) var _x = p.OptExpr() - localctx.(*ListInitContext)._optExpr = _x } localctx.(*ListInitContext).elems = append(localctx.(*ListInitContext).elems, localctx.(*ListInitContext)._optExpr) - p.SetState(350) + p.SetState(356) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -8167,38 +7810,34 @@ func (p *CommandsParser) ListInit() (localctx IListInitContext) { for _alt != 2 && _alt != antlr.ATNInvalidAltNumber { if _alt == 1 { { - p.SetState(346) + p.SetState(352) p.Match(CommandsParserCOMMA) if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } { - p.SetState(347) + p.SetState(353) var _x = p.OptExpr() - localctx.(*ListInitContext)._optExpr = _x } localctx.(*ListInitContext).elems = append(localctx.(*ListInitContext).elems, localctx.(*ListInitContext)._optExpr) - } - p.SetState(352) + p.SetState(358) p.GetErrorHandler().Sync(p) if p.HasError() { - goto errorExit - } + goto errorExit + } _alt = p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 43, p.GetParserRuleContext()) if p.HasError() { goto errorExit } } - - errorExit: if p.HasError() { v := p.GetError() @@ -8212,7 +7851,6 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } - // IFieldInitializerListContext is an interface to support dynamic dispatch. type IFieldInitializerListContext interface { antlr.ParserRuleContext @@ -8220,49 +7858,41 @@ type IFieldInitializerListContext interface { // GetParser returns the parser. GetParser() antlr.Parser - // GetS32 returns the s32 token. - GetS32() antlr.Token - - - // SetS32 sets the s32 token. - SetS32(antlr.Token) + // GetS33 returns the s33 token. + GetS33() antlr.Token + // SetS33 sets the s33 token. + SetS33(antlr.Token) // GetCols returns the cols token list. GetCols() []antlr.Token - // SetCols sets the cols token list. SetCols([]antlr.Token) - // Get_optField returns the _optField rule contexts. Get_optField() IOptFieldContext // Get_expr returns the _expr rule contexts. Get_expr() IExprContext - // Set_optField sets the _optField rule contexts. Set_optField(IOptFieldContext) // Set_expr sets the _expr rule contexts. Set_expr(IExprContext) - // GetFields returns the fields rule context list. GetFields() []IOptFieldContext // GetValues returns the values rule context list. GetValues() []IExprContext - // SetFields sets the fields rule context list. - SetFields([]IOptFieldContext) + SetFields([]IOptFieldContext) // SetValues sets the values rule context list. - SetValues([]IExprContext) - + SetValues([]IExprContext) // Getter signatures AllOptField() []IOptFieldContext @@ -8280,13 +7910,13 @@ type IFieldInitializerListContext interface { type FieldInitializerListContext struct { antlr.BaseParserRuleContext - parser antlr.Parser - _optField IOptFieldContext - fields []IOptFieldContext - s32 antlr.Token - cols []antlr.Token - _expr IExprContext - values []IExprContext + parser antlr.Parser + _optField IOptFieldContext + fields []IOptFieldContext + s33 antlr.Token + cols []antlr.Token + _expr IExprContext + values []IExprContext } func NewEmptyFieldInitializerListContext() *FieldInitializerListContext { @@ -8296,7 +7926,7 @@ func NewEmptyFieldInitializerListContext() *FieldInitializerListContext { return p } -func InitEmptyFieldInitializerListContext(p *FieldInitializerListContext) { +func InitEmptyFieldInitializerListContext(p *FieldInitializerListContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) p.RuleIndex = CommandsParserRULE_fieldInitializerList } @@ -8316,38 +7946,30 @@ func NewFieldInitializerListContext(parser antlr.Parser, parent antlr.ParserRule func (s *FieldInitializerListContext) GetParser() antlr.Parser { return s.parser } -func (s *FieldInitializerListContext) GetS32() antlr.Token { return s.s32 } - - -func (s *FieldInitializerListContext) SetS32(v antlr.Token) { s.s32 = v } +func (s *FieldInitializerListContext) GetS33() antlr.Token { return s.s33 } +func (s *FieldInitializerListContext) SetS33(v antlr.Token) { s.s33 = v } func (s *FieldInitializerListContext) GetCols() []antlr.Token { return s.cols } - func (s *FieldInitializerListContext) SetCols(v []antlr.Token) { s.cols = v } - func (s *FieldInitializerListContext) Get_optField() IOptFieldContext { return s._optField } func (s *FieldInitializerListContext) Get_expr() IExprContext { return s._expr } - func (s *FieldInitializerListContext) Set_optField(v IOptFieldContext) { s._optField = v } func (s *FieldInitializerListContext) Set_expr(v IExprContext) { s._expr = v } - func (s *FieldInitializerListContext) GetFields() []IOptFieldContext { return s.fields } func (s *FieldInitializerListContext) GetValues() []IExprContext { return s.values } - func (s *FieldInitializerListContext) SetFields(v []IOptFieldContext) { s.fields = v } func (s *FieldInitializerListContext) SetValues(v []IExprContext) { s.values = v } - func (s *FieldInitializerListContext) AllOptField() []IOptFieldContext { children := s.GetChildren() len := 0 @@ -8370,12 +7992,12 @@ func (s *FieldInitializerListContext) AllOptField() []IOptFieldContext { } func (s *FieldInitializerListContext) OptField(i int) IOptFieldContext { - var t antlr.RuleContext; + var t antlr.RuleContext j := 0 for _, ctx := range s.GetChildren() { if _, ok := ctx.(IOptFieldContext); ok { if j == i { - t = ctx.(antlr.RuleContext); + t = ctx.(antlr.RuleContext) break } j++ @@ -8419,12 +8041,12 @@ func (s *FieldInitializerListContext) AllExpr() []IExprContext { } func (s *FieldInitializerListContext) Expr(i int) IExprContext { - var t antlr.RuleContext; + var t antlr.RuleContext j := 0 for _, ctx := range s.GetChildren() { if _, ok := ctx.(IExprContext); ok { if j == i { - t = ctx.(antlr.RuleContext); + t = ctx.(antlr.RuleContext) break } j++ @@ -8454,7 +8076,6 @@ func (s *FieldInitializerListContext) ToStringTree(ruleNames []string, recog ant return antlr.TreesStringTree(s, ruleNames, recog) } - func (s *FieldInitializerListContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(CommandsListener); ok { listenerT.EnterFieldInitializerList(s) @@ -8477,46 +8098,41 @@ func (s *FieldInitializerListContext) Accept(visitor antlr.ParseTreeVisitor) int } } - - - func (p *CommandsParser) FieldInitializerList() (localctx IFieldInitializerListContext) { localctx = NewFieldInitializerListContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 58, CommandsParserRULE_fieldInitializerList) + p.EnterRule(localctx, 60, CommandsParserRULE_fieldInitializerList) var _alt int p.EnterOuterAlt(localctx, 1) { - p.SetState(353) + p.SetState(359) var _x = p.OptField() - localctx.(*FieldInitializerListContext)._optField = _x } localctx.(*FieldInitializerListContext).fields = append(localctx.(*FieldInitializerListContext).fields, localctx.(*FieldInitializerListContext)._optField) { - p.SetState(354) + p.SetState(360) var _m = p.Match(CommandsParserCOLON) - localctx.(*FieldInitializerListContext).s32 = _m + localctx.(*FieldInitializerListContext).s33 = _m if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } - localctx.(*FieldInitializerListContext).cols = append(localctx.(*FieldInitializerListContext).cols, localctx.(*FieldInitializerListContext).s32) + localctx.(*FieldInitializerListContext).cols = append(localctx.(*FieldInitializerListContext).cols, localctx.(*FieldInitializerListContext).s33) { - p.SetState(355) + p.SetState(361) var _x = p.Expr() - localctx.(*FieldInitializerListContext)._expr = _x } localctx.(*FieldInitializerListContext).values = append(localctx.(*FieldInitializerListContext).values, localctx.(*FieldInitializerListContext)._expr) - p.SetState(363) + p.SetState(369) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -8528,59 +8144,54 @@ func (p *CommandsParser) FieldInitializerList() (localctx IFieldInitializerListC for _alt != 2 && _alt != antlr.ATNInvalidAltNumber { if _alt == 1 { { - p.SetState(356) + p.SetState(362) p.Match(CommandsParserCOMMA) if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } { - p.SetState(357) + p.SetState(363) var _x = p.OptField() - localctx.(*FieldInitializerListContext)._optField = _x } localctx.(*FieldInitializerListContext).fields = append(localctx.(*FieldInitializerListContext).fields, localctx.(*FieldInitializerListContext)._optField) { - p.SetState(358) + p.SetState(364) var _m = p.Match(CommandsParserCOLON) - localctx.(*FieldInitializerListContext).s32 = _m + localctx.(*FieldInitializerListContext).s33 = _m if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } - localctx.(*FieldInitializerListContext).cols = append(localctx.(*FieldInitializerListContext).cols, localctx.(*FieldInitializerListContext).s32) + localctx.(*FieldInitializerListContext).cols = append(localctx.(*FieldInitializerListContext).cols, localctx.(*FieldInitializerListContext).s33) { - p.SetState(359) + p.SetState(365) var _x = p.Expr() - localctx.(*FieldInitializerListContext)._expr = _x } localctx.(*FieldInitializerListContext).values = append(localctx.(*FieldInitializerListContext).values, localctx.(*FieldInitializerListContext)._expr) - } - p.SetState(365) + p.SetState(371) p.GetErrorHandler().Sync(p) if p.HasError() { - goto errorExit - } + goto errorExit + } _alt = p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 44, p.GetParserRuleContext()) if p.HasError() { goto errorExit } } - - errorExit: if p.HasError() { v := p.GetError() @@ -8594,7 +8205,6 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } - // IOptFieldContext is an interface to support dynamic dispatch. type IOptFieldContext interface { antlr.ParserRuleContext @@ -8603,12 +8213,10 @@ type IOptFieldContext interface { GetParser() antlr.Parser // GetOpt returns the opt token. - GetOpt() antlr.Token - + GetOpt() antlr.Token // SetOpt sets the opt token. - SetOpt(antlr.Token) - + SetOpt(antlr.Token) // Getter signatures IDENTIFIER() antlr.TerminalNode @@ -8621,7 +8229,7 @@ type IOptFieldContext interface { type OptFieldContext struct { antlr.BaseParserRuleContext parser antlr.Parser - opt antlr.Token + opt antlr.Token } func NewEmptyOptFieldContext() *OptFieldContext { @@ -8631,7 +8239,7 @@ func NewEmptyOptFieldContext() *OptFieldContext { return p } -func InitEmptyOptFieldContext(p *OptFieldContext) { +func InitEmptyOptFieldContext(p *OptFieldContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) p.RuleIndex = CommandsParserRULE_optField } @@ -8653,10 +8261,8 @@ func (s *OptFieldContext) GetParser() antlr.Parser { return s.parser } func (s *OptFieldContext) GetOpt() antlr.Token { return s.opt } - func (s *OptFieldContext) SetOpt(v antlr.Token) { s.opt = v } - func (s *OptFieldContext) IDENTIFIER() antlr.TerminalNode { return s.GetToken(CommandsParserIDENTIFIER, 0) } @@ -8673,7 +8279,6 @@ func (s *OptFieldContext) ToStringTree(ruleNames []string, recog antlr.Recognize return antlr.TreesStringTree(s, ruleNames, recog) } - func (s *OptFieldContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(CommandsListener); ok { listenerT.EnterOptField(s) @@ -8696,48 +8301,42 @@ func (s *OptFieldContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { } } - - - func (p *CommandsParser) OptField() (localctx IOptFieldContext) { localctx = NewOptFieldContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 60, CommandsParserRULE_optField) + p.EnterRule(localctx, 62, CommandsParserRULE_optField) var _la int p.EnterOuterAlt(localctx, 1) - p.SetState(367) + p.SetState(373) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if _la == CommandsParserQUESTIONMARK { { - p.SetState(366) + p.SetState(372) var _m = p.Match(CommandsParserQUESTIONMARK) localctx.(*OptFieldContext).opt = _m if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } } { - p.SetState(369) + p.SetState(375) p.Match(CommandsParserIDENTIFIER) if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } - - errorExit: if p.HasError() { v := p.GetError() @@ -8751,7 +8350,6 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } - // IMapInitializerListContext is an interface to support dynamic dispatch. type IMapInitializerListContext interface { antlr.ParserRuleContext @@ -8759,49 +8357,41 @@ type IMapInitializerListContext interface { // GetParser returns the parser. GetParser() antlr.Parser - // GetS32 returns the s32 token. - GetS32() antlr.Token - - - // SetS32 sets the s32 token. - SetS32(antlr.Token) + // GetS33 returns the s33 token. + GetS33() antlr.Token + // SetS33 sets the s33 token. + SetS33(antlr.Token) // GetCols returns the cols token list. GetCols() []antlr.Token - // SetCols sets the cols token list. SetCols([]antlr.Token) - // Get_optExpr returns the _optExpr rule contexts. Get_optExpr() IOptExprContext // Get_expr returns the _expr rule contexts. Get_expr() IExprContext - // Set_optExpr sets the _optExpr rule contexts. Set_optExpr(IOptExprContext) // Set_expr sets the _expr rule contexts. Set_expr(IExprContext) - // GetKeys returns the keys rule context list. GetKeys() []IOptExprContext // GetValues returns the values rule context list. GetValues() []IExprContext - // SetKeys sets the keys rule context list. - SetKeys([]IOptExprContext) + SetKeys([]IOptExprContext) // SetValues sets the values rule context list. - SetValues([]IExprContext) - + SetValues([]IExprContext) // Getter signatures AllOptExpr() []IOptExprContext @@ -8819,13 +8409,13 @@ type IMapInitializerListContext interface { type MapInitializerListContext struct { antlr.BaseParserRuleContext - parser antlr.Parser - _optExpr IOptExprContext - keys []IOptExprContext - s32 antlr.Token - cols []antlr.Token - _expr IExprContext - values []IExprContext + parser antlr.Parser + _optExpr IOptExprContext + keys []IOptExprContext + s33 antlr.Token + cols []antlr.Token + _expr IExprContext + values []IExprContext } func NewEmptyMapInitializerListContext() *MapInitializerListContext { @@ -8835,7 +8425,7 @@ func NewEmptyMapInitializerListContext() *MapInitializerListContext { return p } -func InitEmptyMapInitializerListContext(p *MapInitializerListContext) { +func InitEmptyMapInitializerListContext(p *MapInitializerListContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) p.RuleIndex = CommandsParserRULE_mapInitializerList } @@ -8855,38 +8445,30 @@ func NewMapInitializerListContext(parser antlr.Parser, parent antlr.ParserRuleCo func (s *MapInitializerListContext) GetParser() antlr.Parser { return s.parser } -func (s *MapInitializerListContext) GetS32() antlr.Token { return s.s32 } - - -func (s *MapInitializerListContext) SetS32(v antlr.Token) { s.s32 = v } +func (s *MapInitializerListContext) GetS33() antlr.Token { return s.s33 } +func (s *MapInitializerListContext) SetS33(v antlr.Token) { s.s33 = v } func (s *MapInitializerListContext) GetCols() []antlr.Token { return s.cols } - func (s *MapInitializerListContext) SetCols(v []antlr.Token) { s.cols = v } - func (s *MapInitializerListContext) Get_optExpr() IOptExprContext { return s._optExpr } func (s *MapInitializerListContext) Get_expr() IExprContext { return s._expr } - func (s *MapInitializerListContext) Set_optExpr(v IOptExprContext) { s._optExpr = v } func (s *MapInitializerListContext) Set_expr(v IExprContext) { s._expr = v } - func (s *MapInitializerListContext) GetKeys() []IOptExprContext { return s.keys } func (s *MapInitializerListContext) GetValues() []IExprContext { return s.values } - func (s *MapInitializerListContext) SetKeys(v []IOptExprContext) { s.keys = v } func (s *MapInitializerListContext) SetValues(v []IExprContext) { s.values = v } - func (s *MapInitializerListContext) AllOptExpr() []IOptExprContext { children := s.GetChildren() len := 0 @@ -8909,12 +8491,12 @@ func (s *MapInitializerListContext) AllOptExpr() []IOptExprContext { } func (s *MapInitializerListContext) OptExpr(i int) IOptExprContext { - var t antlr.RuleContext; + var t antlr.RuleContext j := 0 for _, ctx := range s.GetChildren() { if _, ok := ctx.(IOptExprContext); ok { if j == i { - t = ctx.(antlr.RuleContext); + t = ctx.(antlr.RuleContext) break } j++ @@ -8958,12 +8540,12 @@ func (s *MapInitializerListContext) AllExpr() []IExprContext { } func (s *MapInitializerListContext) Expr(i int) IExprContext { - var t antlr.RuleContext; + var t antlr.RuleContext j := 0 for _, ctx := range s.GetChildren() { if _, ok := ctx.(IExprContext); ok { if j == i { - t = ctx.(antlr.RuleContext); + t = ctx.(antlr.RuleContext) break } j++ @@ -8993,7 +8575,6 @@ func (s *MapInitializerListContext) ToStringTree(ruleNames []string, recog antlr return antlr.TreesStringTree(s, ruleNames, recog) } - func (s *MapInitializerListContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(CommandsListener); ok { listenerT.EnterMapInitializerList(s) @@ -9016,46 +8597,41 @@ func (s *MapInitializerListContext) Accept(visitor antlr.ParseTreeVisitor) inter } } - - - func (p *CommandsParser) MapInitializerList() (localctx IMapInitializerListContext) { localctx = NewMapInitializerListContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 62, CommandsParserRULE_mapInitializerList) + p.EnterRule(localctx, 64, CommandsParserRULE_mapInitializerList) var _alt int p.EnterOuterAlt(localctx, 1) { - p.SetState(371) + p.SetState(377) var _x = p.OptExpr() - localctx.(*MapInitializerListContext)._optExpr = _x } localctx.(*MapInitializerListContext).keys = append(localctx.(*MapInitializerListContext).keys, localctx.(*MapInitializerListContext)._optExpr) { - p.SetState(372) + p.SetState(378) var _m = p.Match(CommandsParserCOLON) - localctx.(*MapInitializerListContext).s32 = _m + localctx.(*MapInitializerListContext).s33 = _m if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } - localctx.(*MapInitializerListContext).cols = append(localctx.(*MapInitializerListContext).cols, localctx.(*MapInitializerListContext).s32) + localctx.(*MapInitializerListContext).cols = append(localctx.(*MapInitializerListContext).cols, localctx.(*MapInitializerListContext).s33) { - p.SetState(373) + p.SetState(379) var _x = p.Expr() - localctx.(*MapInitializerListContext)._expr = _x } localctx.(*MapInitializerListContext).values = append(localctx.(*MapInitializerListContext).values, localctx.(*MapInitializerListContext)._expr) - p.SetState(381) + p.SetState(387) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -9067,59 +8643,54 @@ func (p *CommandsParser) MapInitializerList() (localctx IMapInitializerListConte for _alt != 2 && _alt != antlr.ATNInvalidAltNumber { if _alt == 1 { { - p.SetState(374) + p.SetState(380) p.Match(CommandsParserCOMMA) if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } { - p.SetState(375) + p.SetState(381) var _x = p.OptExpr() - localctx.(*MapInitializerListContext)._optExpr = _x } localctx.(*MapInitializerListContext).keys = append(localctx.(*MapInitializerListContext).keys, localctx.(*MapInitializerListContext)._optExpr) { - p.SetState(376) + p.SetState(382) var _m = p.Match(CommandsParserCOLON) - localctx.(*MapInitializerListContext).s32 = _m + localctx.(*MapInitializerListContext).s33 = _m if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } - localctx.(*MapInitializerListContext).cols = append(localctx.(*MapInitializerListContext).cols, localctx.(*MapInitializerListContext).s32) + localctx.(*MapInitializerListContext).cols = append(localctx.(*MapInitializerListContext).cols, localctx.(*MapInitializerListContext).s33) { - p.SetState(377) + p.SetState(383) var _x = p.Expr() - localctx.(*MapInitializerListContext)._expr = _x } localctx.(*MapInitializerListContext).values = append(localctx.(*MapInitializerListContext).values, localctx.(*MapInitializerListContext)._expr) - } - p.SetState(383) + p.SetState(389) p.GetErrorHandler().Sync(p) if p.HasError() { - goto errorExit - } + goto errorExit + } _alt = p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 46, p.GetParserRuleContext()) if p.HasError() { goto errorExit } } - - errorExit: if p.HasError() { v := p.GetError() @@ -9133,7 +8704,6 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } - // IOptExprContext is an interface to support dynamic dispatch. type IOptExprContext interface { antlr.ParserRuleContext @@ -9142,21 +8712,17 @@ type IOptExprContext interface { GetParser() antlr.Parser // GetOpt returns the opt token. - GetOpt() antlr.Token - + GetOpt() antlr.Token // SetOpt sets the opt token. - SetOpt(antlr.Token) - + SetOpt(antlr.Token) // GetE returns the e rule contexts. GetE() IExprContext - // SetE sets the e rule contexts. SetE(IExprContext) - // Getter signatures Expr() IExprContext QUESTIONMARK() antlr.TerminalNode @@ -9168,8 +8734,8 @@ type IOptExprContext interface { type OptExprContext struct { antlr.BaseParserRuleContext parser antlr.Parser - opt antlr.Token - e IExprContext + opt antlr.Token + e IExprContext } func NewEmptyOptExprContext() *OptExprContext { @@ -9179,7 +8745,7 @@ func NewEmptyOptExprContext() *OptExprContext { return p } -func InitEmptyOptExprContext(p *OptExprContext) { +func InitEmptyOptExprContext(p *OptExprContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) p.RuleIndex = CommandsParserRULE_optExpr } @@ -9201,21 +8767,17 @@ func (s *OptExprContext) GetParser() antlr.Parser { return s.parser } func (s *OptExprContext) GetOpt() antlr.Token { return s.opt } - func (s *OptExprContext) SetOpt(v antlr.Token) { s.opt = v } - func (s *OptExprContext) GetE() IExprContext { return s.e } - func (s *OptExprContext) SetE(v IExprContext) { s.e = v } - func (s *OptExprContext) Expr() IExprContext { - var t antlr.RuleContext; + var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(IExprContext); ok { - t = ctx.(antlr.RuleContext); + t = ctx.(antlr.RuleContext) break } } @@ -9239,7 +8801,6 @@ func (s *OptExprContext) ToStringTree(ruleNames []string, recog antlr.Recognizer return antlr.TreesStringTree(s, ruleNames, recog) } - func (s *OptExprContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(CommandsListener); ok { listenerT.EnterOptExpr(s) @@ -9262,48 +8823,41 @@ func (s *OptExprContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { } } - - - func (p *CommandsParser) OptExpr() (localctx IOptExprContext) { localctx = NewOptExprContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 64, CommandsParserRULE_optExpr) + p.EnterRule(localctx, 66, CommandsParserRULE_optExpr) var _la int p.EnterOuterAlt(localctx, 1) - p.SetState(385) + p.SetState(391) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if _la == CommandsParserQUESTIONMARK { { - p.SetState(384) + p.SetState(390) var _m = p.Match(CommandsParserQUESTIONMARK) localctx.(*OptExprContext).opt = _m if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } } { - p.SetState(387) + p.SetState(393) var _x = p.Expr() - localctx.(*OptExprContext).e = _x } - - errorExit: if p.HasError() { v := p.GetError() @@ -9317,7 +8871,6 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } - // ILiteralContext is an interface to support dynamic dispatch. type ILiteralContext interface { antlr.ParserRuleContext @@ -9340,7 +8893,7 @@ func NewEmptyLiteralContext() *LiteralContext { return p } -func InitEmptyLiteralContext(p *LiteralContext) { +func InitEmptyLiteralContext(p *LiteralContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) p.RuleIndex = CommandsParserRULE_literal } @@ -9372,9 +8925,6 @@ func (s *LiteralContext) ToStringTree(ruleNames []string, recog antlr.Recognizer return antlr.TreesStringTree(s, ruleNames, recog) } - - - type BytesContext struct { LiteralContext tok antlr.Token @@ -9390,10 +8940,8 @@ func NewBytesContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *BytesCon return p } - func (s *BytesContext) GetTok() antlr.Token { return s.tok } - func (s *BytesContext) SetTok(v antlr.Token) { s.tok = v } func (s *BytesContext) GetRuleContext() antlr.RuleContext { @@ -9404,7 +8952,6 @@ func (s *BytesContext) BYTES() antlr.TerminalNode { return s.GetToken(CommandsParserBYTES, 0) } - func (s *BytesContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(CommandsListener); ok { listenerT.EnterBytes(s) @@ -9427,7 +8974,6 @@ func (s *BytesContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { } } - type UintContext struct { LiteralContext tok antlr.Token @@ -9443,10 +8989,8 @@ func NewUintContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *UintConte return p } - func (s *UintContext) GetTok() antlr.Token { return s.tok } - func (s *UintContext) SetTok(v antlr.Token) { s.tok = v } func (s *UintContext) GetRuleContext() antlr.RuleContext { @@ -9457,7 +9001,6 @@ func (s *UintContext) NUM_UINT() antlr.TerminalNode { return s.GetToken(CommandsParserNUM_UINT, 0) } - func (s *UintContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(CommandsListener); ok { listenerT.EnterUint(s) @@ -9480,7 +9023,6 @@ func (s *UintContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { } } - type NullContext struct { LiteralContext tok antlr.Token @@ -9496,10 +9038,8 @@ func NewNullContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *NullConte return p } - func (s *NullContext) GetTok() antlr.Token { return s.tok } - func (s *NullContext) SetTok(v antlr.Token) { s.tok = v } func (s *NullContext) GetRuleContext() antlr.RuleContext { @@ -9510,7 +9050,6 @@ func (s *NullContext) NUL() antlr.TerminalNode { return s.GetToken(CommandsParserNUL, 0) } - func (s *NullContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(CommandsListener); ok { listenerT.EnterNull(s) @@ -9533,7 +9072,6 @@ func (s *NullContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { } } - type BoolFalseContext struct { LiteralContext tok antlr.Token @@ -9549,10 +9087,8 @@ func NewBoolFalseContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *Bool return p } - func (s *BoolFalseContext) GetTok() antlr.Token { return s.tok } - func (s *BoolFalseContext) SetTok(v antlr.Token) { s.tok = v } func (s *BoolFalseContext) GetRuleContext() antlr.RuleContext { @@ -9563,7 +9099,6 @@ func (s *BoolFalseContext) CEL_FALSE() antlr.TerminalNode { return s.GetToken(CommandsParserCEL_FALSE, 0) } - func (s *BoolFalseContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(CommandsListener); ok { listenerT.EnterBoolFalse(s) @@ -9586,7 +9121,6 @@ func (s *BoolFalseContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { } } - type StringContext struct { LiteralContext tok antlr.Token @@ -9602,10 +9136,8 @@ func NewStringContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *StringC return p } - func (s *StringContext) GetTok() antlr.Token { return s.tok } - func (s *StringContext) SetTok(v antlr.Token) { s.tok = v } func (s *StringContext) GetRuleContext() antlr.RuleContext { @@ -9616,7 +9148,6 @@ func (s *StringContext) STRING() antlr.TerminalNode { return s.GetToken(CommandsParserSTRING, 0) } - func (s *StringContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(CommandsListener); ok { listenerT.EnterString(s) @@ -9639,11 +9170,10 @@ func (s *StringContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { } } - type DoubleContext struct { LiteralContext sign antlr.Token - tok antlr.Token + tok antlr.Token } func NewDoubleContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DoubleContext { @@ -9656,12 +9186,10 @@ func NewDoubleContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DoubleC return p } - func (s *DoubleContext) GetSign() antlr.Token { return s.sign } func (s *DoubleContext) GetTok() antlr.Token { return s.tok } - func (s *DoubleContext) SetSign(v antlr.Token) { s.sign = v } func (s *DoubleContext) SetTok(v antlr.Token) { s.tok = v } @@ -9678,7 +9206,6 @@ func (s *DoubleContext) MINUS() antlr.TerminalNode { return s.GetToken(CommandsParserMINUS, 0) } - func (s *DoubleContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(CommandsListener); ok { listenerT.EnterDouble(s) @@ -9701,7 +9228,6 @@ func (s *DoubleContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { } } - type BoolTrueContext struct { LiteralContext tok antlr.Token @@ -9717,10 +9243,8 @@ func NewBoolTrueContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *BoolT return p } - func (s *BoolTrueContext) GetTok() antlr.Token { return s.tok } - func (s *BoolTrueContext) SetTok(v antlr.Token) { s.tok = v } func (s *BoolTrueContext) GetRuleContext() antlr.RuleContext { @@ -9731,7 +9255,6 @@ func (s *BoolTrueContext) CEL_TRUE() antlr.TerminalNode { return s.GetToken(CommandsParserCEL_TRUE, 0) } - func (s *BoolTrueContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(CommandsListener); ok { listenerT.EnterBoolTrue(s) @@ -9754,11 +9277,10 @@ func (s *BoolTrueContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { } } - type IntContext struct { LiteralContext sign antlr.Token - tok antlr.Token + tok antlr.Token } func NewIntContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *IntContext { @@ -9771,12 +9293,10 @@ func NewIntContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *IntContext return p } - func (s *IntContext) GetSign() antlr.Token { return s.sign } func (s *IntContext) GetTok() antlr.Token { return s.tok } - func (s *IntContext) SetSign(v antlr.Token) { s.sign = v } func (s *IntContext) SetTok(v antlr.Token) { s.tok = v } @@ -9793,7 +9313,6 @@ func (s *IntContext) MINUS() antlr.TerminalNode { return s.GetToken(CommandsParserMINUS, 0) } - func (s *IntContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(CommandsListener); ok { listenerT.EnterInt(s) @@ -9816,14 +9335,12 @@ func (s *IntContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { } } - - func (p *CommandsParser) Literal() (localctx ILiteralContext) { localctx = NewLiteralContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 66, CommandsParserRULE_literal) + p.EnterRule(localctx, 68, CommandsParserRULE_literal) var _la int - p.SetState(403) + p.SetState(409) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -9833,171 +9350,162 @@ func (p *CommandsParser) Literal() (localctx ILiteralContext) { case 1: localctx = NewIntContext(p, localctx) p.EnterOuterAlt(localctx, 1) - p.SetState(390) + p.SetState(396) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if _la == CommandsParserMINUS { { - p.SetState(389) + p.SetState(395) var _m = p.Match(CommandsParserMINUS) localctx.(*IntContext).sign = _m if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } } { - p.SetState(392) + p.SetState(398) var _m = p.Match(CommandsParserNUM_INT) localctx.(*IntContext).tok = _m if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } - case 2: localctx = NewUintContext(p, localctx) p.EnterOuterAlt(localctx, 2) { - p.SetState(393) + p.SetState(399) var _m = p.Match(CommandsParserNUM_UINT) localctx.(*UintContext).tok = _m if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } - case 3: localctx = NewDoubleContext(p, localctx) p.EnterOuterAlt(localctx, 3) - p.SetState(395) + p.SetState(401) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if _la == CommandsParserMINUS { { - p.SetState(394) + p.SetState(400) var _m = p.Match(CommandsParserMINUS) localctx.(*DoubleContext).sign = _m if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } } { - p.SetState(397) + p.SetState(403) var _m = p.Match(CommandsParserNUM_FLOAT) localctx.(*DoubleContext).tok = _m if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } - case 4: localctx = NewStringContext(p, localctx) p.EnterOuterAlt(localctx, 4) { - p.SetState(398) + p.SetState(404) var _m = p.Match(CommandsParserSTRING) localctx.(*StringContext).tok = _m if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } - case 5: localctx = NewBytesContext(p, localctx) p.EnterOuterAlt(localctx, 5) { - p.SetState(399) + p.SetState(405) var _m = p.Match(CommandsParserBYTES) localctx.(*BytesContext).tok = _m if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } - case 6: localctx = NewBoolTrueContext(p, localctx) p.EnterOuterAlt(localctx, 6) { - p.SetState(400) + p.SetState(406) var _m = p.Match(CommandsParserCEL_TRUE) localctx.(*BoolTrueContext).tok = _m if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } - case 7: localctx = NewBoolFalseContext(p, localctx) p.EnterOuterAlt(localctx, 7) { - p.SetState(401) + p.SetState(407) var _m = p.Match(CommandsParserCEL_FALSE) localctx.(*BoolFalseContext).tok = _m if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } - case 8: localctx = NewNullContext(p, localctx) p.EnterOuterAlt(localctx, 8) { - p.SetState(402) + p.SetState(408) var _m = p.Match(CommandsParserNUL) localctx.(*NullContext).tok = _m if p.HasError() { - // Recognition error - abort rule - goto errorExit + // Recognition error - abort rule + goto errorExit } } @@ -10005,7 +9513,6 @@ func (p *CommandsParser) Literal() (localctx ILiteralContext) { goto errorExit } - errorExit: if p.HasError() { v := p.GetError() @@ -10019,24 +9526,28 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } - func (p *CommandsParser) Sempred(localctx antlr.RuleContext, ruleIndex, predIndex int) bool { switch ruleIndex { - case 22: - var t *RelationContext = nil - if localctx != nil { t = localctx.(*RelationContext) } - return p.Relation_Sempred(t, predIndex) - case 23: - var t *CalcContext = nil - if localctx != nil { t = localctx.(*CalcContext) } - return p.Calc_Sempred(t, predIndex) + var t *RelationContext = nil + if localctx != nil { + t = localctx.(*RelationContext) + } + return p.Relation_Sempred(t, predIndex) - case 25: - var t *MemberContext = nil - if localctx != nil { t = localctx.(*MemberContext) } - return p.Member_Sempred(t, predIndex) + case 24: + var t *CalcContext = nil + if localctx != nil { + t = localctx.(*CalcContext) + } + return p.Calc_Sempred(t, predIndex) + case 26: + var t *MemberContext = nil + if localctx != nil { + t = localctx.(*MemberContext) + } + return p.Member_Sempred(t, predIndex) default: panic("No predicate with index: " + fmt.Sprint(ruleIndex)) @@ -10046,7 +9557,7 @@ func (p *CommandsParser) Sempred(localctx antlr.RuleContext, ruleIndex, predInde func (p *CommandsParser) Relation_Sempred(localctx antlr.RuleContext, predIndex int) bool { switch predIndex { case 0: - return p.Precpred(p.GetParserRuleContext(), 1) + return p.Precpred(p.GetParserRuleContext(), 1) default: panic("No predicate with index: " + fmt.Sprint(predIndex)) @@ -10056,10 +9567,10 @@ func (p *CommandsParser) Relation_Sempred(localctx antlr.RuleContext, predIndex func (p *CommandsParser) Calc_Sempred(localctx antlr.RuleContext, predIndex int) bool { switch predIndex { case 1: - return p.Precpred(p.GetParserRuleContext(), 2) + return p.Precpred(p.GetParserRuleContext(), 2) case 2: - return p.Precpred(p.GetParserRuleContext(), 1) + return p.Precpred(p.GetParserRuleContext(), 1) default: panic("No predicate with index: " + fmt.Sprint(predIndex)) @@ -10069,16 +9580,15 @@ func (p *CommandsParser) Calc_Sempred(localctx antlr.RuleContext, predIndex int) func (p *CommandsParser) Member_Sempred(localctx antlr.RuleContext, predIndex int) bool { switch predIndex { case 3: - return p.Precpred(p.GetParserRuleContext(), 3) + return p.Precpred(p.GetParserRuleContext(), 3) case 4: - return p.Precpred(p.GetParserRuleContext(), 2) + return p.Precpred(p.GetParserRuleContext(), 2) case 5: - return p.Precpred(p.GetParserRuleContext(), 1) + return p.Precpred(p.GetParserRuleContext(), 1) default: panic("No predicate with index: " + fmt.Sprint(predIndex)) } } - diff --git a/repl/parser/commands_visitor.go b/repl/parser/commands_visitor.go index 14edb7cf..e18fc661 100644 --- a/repl/parser/commands_visitor.go +++ b/repl/parser/commands_visitor.go @@ -3,7 +3,6 @@ package parser // Commands import "github.com/antlr4-go/antlr/v4" - // A complete Visitor for a parse tree produced by CommandsParser. type CommandsVisitor interface { antlr.ParseTreeVisitor @@ -44,6 +43,9 @@ type CommandsVisitor interface { // Visit a parse tree produced by CommandsParser#compile. VisitCompile(ctx *CompileContext) interface{} + // Visit a parse tree produced by CommandsParser#parse. + VisitParse(ctx *ParseContext) interface{} + // Visit a parse tree produced by CommandsParser#exprCmd. VisitExprCmd(ctx *ExprCmdContext) interface{} @@ -160,5 +162,4 @@ type CommandsVisitor interface { // Visit a parse tree produced by CommandsParser#Null. VisitNull(ctx *NullContext) interface{} - -} \ No newline at end of file +}