diff --git a/engine/src/main/grammar/SQLGrammar.jjt b/engine/src/main/grammar/SQLGrammar.jjt index eba7589c29..1b95a9fd9d 100644 --- a/engine/src/main/grammar/SQLGrammar.jjt +++ b/engine/src/main/grammar/SQLGrammar.jjt @@ -65,15 +65,14 @@ SKIP : MORE : { <"/**" ~["/"]> { input_stream.backup(1); } : IN_FORMAL_COMMENT -| + | "/*" : IN_MULTI_LINE_COMMENT } SPECIAL_TOKEN : { - <"-- " (~["\n"])*> : DEFAULT -| : DEFAULT + : DEFAULT } @@ -88,6 +87,11 @@ MORE : < ~[] > } +SPECIAL_TOKEN : +{ + : DEFAULT +} + /* reserved words */ TOKEN: { diff --git a/engine/src/main/java/com/arcadedb/query/sql/parser/SqlParser.java b/engine/src/main/java/com/arcadedb/query/sql/parser/SqlParser.java index 85815d317b..e13730901b 100644 --- a/engine/src/main/java/com/arcadedb/query/sql/parser/SqlParser.java +++ b/engine/src/main/java/com/arcadedb/query/sql/parser/SqlParser.java @@ -298,8 +298,7 @@ final public List ParseScript() throws ParseException {/*@bgen(jjtree case ROLLBACK: case IF: case SLEEP: - case FOREACH: - case SEMICOLON:{ + case FOREACH:{ break; } default: @@ -326,10 +325,6 @@ final public List ParseScript() throws ParseException {/*@bgen(jjtree result.add(last); break; } - case SEMICOLON:{ - jj_consume_token(SEMICOLON); - break; - } default: jj_la1[4] = jj_gen; jj_consume_token(-1); @@ -19875,6 +19870,13 @@ private boolean jj_3R_492() return false; } + private boolean jj_3R_580() + { + if (jj_scan_token(COMMA)) return true; + if (jj_3R_123()) return true; + return false; + } + private boolean jj_3R_137() { Token xsp; @@ -19889,13 +19891,6 @@ private boolean jj_3R_137() return false; } - private boolean jj_3R_580() - { - if (jj_scan_token(COMMA)) return true; - if (jj_3R_123()) return true; - return false; - } - private boolean jj_3_1() { if (jj_scan_token(249)) return true; @@ -19916,18 +19911,18 @@ private boolean jj_3R_493() return false; } - private boolean jj_3_2() + private boolean jj_3R_581() { - if (jj_3R_62()) return true; - if (jj_scan_token(COLON)) return true; - if (jj_3R_62()) return true; + if (jj_scan_token(COMMA)) return true; + if (jj_3R_123()) return true; return false; } - private boolean jj_3R_581() + private boolean jj_3_2() { - if (jj_scan_token(COMMA)) return true; - if (jj_3R_123()) return true; + if (jj_3R_62()) return true; + if (jj_scan_token(COLON)) return true; + if (jj_3R_62()) return true; return false; } @@ -19975,12 +19970,6 @@ private boolean jj_3R_764() return false; } - private boolean jj_3R_808() - { - if (jj_3R_62()) return true; - return false; - } - private boolean jj_3R_169() { if (jj_3R_123()) return true; @@ -19990,6 +19979,12 @@ private boolean jj_3R_169() return false; } + private boolean jj_3R_808() + { + if (jj_3R_62()) return true; + return false; + } + private boolean jj_3R_809() { if (jj_3R_133()) return true; @@ -26293,7 +26288,7 @@ private static void jj_la1_init_4() { jj_la1_4 = new int[] {0xc000,0x0,0x400fdf,0x20,0x20,0x8000,0xfdf,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8440bfdf,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3fdf,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x400000,0x400000,0xfdf,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfdf,0x0,0x0,0x0,0x0,0x0,0x8440bfdf,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8440bfdf,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfdf,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfdf,0x0,0x0,0x0,0x0,0x0,0xfdf,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8440bfdf,0x0,0x0,0x0,0x0,0x400000,0xfdf,0x0,0x8440bfdf,0x0,0x8440bfdf,0x1000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8440bfdf,0x80008000,0x8440bfdf,0x0,0x0,0x0,0x0,0x0,0x0,0x400000,0x0,0x0,0xfdf,0x0,0x0,0xfdf,0x0,0x0,0x0,0x0,0x8440bfdf,0x0,0x0,0x0,0x0,0x0,0x80008fdf,0x0,0x8440bfdf,0x0,0x8440bfdf,0x0,0x8440bfdf,0x0,0x0,0x8440bfdf,0x0,0x8440bfdf,0x80008000,0x0,0x402fdf,0x0,0x0,0x0,0x402fdf,0x0,0x0,0x402fdf,0x0,0x0,0x402fdf,0x0,0x0,0x0,0x402fdf,0x0,0x0,0x402fdf,0x0,0x0,0x400000,0x400000,0x400000,0x0,0x0,0x0,0x0,0x8440bfdf,0x8000afdf,0x0,0x8000afdf,0x8000afdf,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x580,0x400fdf,0x0,0x0,0x580,0xfdf,0x0,0xfdf,0x0,0xfdf,0x0,0xfdf,0x0,0x0,0xfdf,0x0,0x0,0xfdf,0x0,0x0,0x0,0x0,0x400fdf,0x0,0x0,0x400000,0x400000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfdf,0x0,0x0,0x0,0x0,0xfdf,0x0,0x0,0x0,0x2fdf,0x0,0x0,0x0,0x2fdf,0x0,0x0,0xfdf,0xfdf,0x0,0x0,0xfdf,0xfdf,0x0,0x0,0xfdf,0xfdf,0x0,0x0,0xfdf,0xfdf,0x0,0x0,0x0,0x400fdf,0x0,0x0,0x0,0x8440bfdf,0x20,0x20,0x20,0x20,0x20,0x20,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,}; } private static void jj_la1_init_5() { - jj_la1_5 = new int[] {0x0,0x80,0x0,0x800,0x800,0x1,0x0,0x0,0x0,0x800,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x34002b9,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1000,0x200,0x0,0x0,0x0,0x0,0x0,0x1000,0x80,0x2000000,0x2000000,0x0,0x1000,0x2000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1000,0x80,0x280,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x34002b9,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x34002b9,0x0,0x0,0x0,0x0,0x1000,0x1000,0x0,0x0,0x1000,0x1000,0x0,0x2200,0x20000,0x2200,0x20000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20,0x0,0x1000,0x1000,0x1000,0x1000,0x1000,0x3000080,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20,0x0,0x0,0x3000000,0x0,0x1000,0x1000,0x0,0x400000,0x2000000,0x0,0x1000,0x400000,0x0,0x34002b9,0x2000000,0x0,0x1000,0x0,0x3000006,0x0,0x1000,0x30002b9,0x1000,0x30002b9,0x0,0x0,0x200,0x2000,0x18,0x80,0x40000000,0x18,0x80,0x0,0x30002b9,0x1,0x3000201,0x1000,0x20,0x1000,0x3000000,0x2001000,0x2001000,0x80,0x200,0x3000020,0x0,0x0,0x1000,0x0,0x0,0x0,0x0,0x0,0x30002b9,0x18,0xbc3e0000,0x60000,0x0,0xbc3e0000,0x1,0x1000,0x30002b9,0x1000,0x30002b9,0x1000,0x30002b9,0xbc3e0000,0x0,0x3000221,0x0,0x3000221,0x3000001,0x2200,0x80,0x0,0x0,0x2200,0x80,0x0,0x0,0xa0,0x1000,0x2200,0x80,0x0,0x0,0x2200,0x80,0x0,0x0,0xa0,0x1000,0x1000,0x3000000,0x3000000,0x3000000,0x0,0x0,0x0,0x1000,0x30002b9,0x1,0x1000,0x1,0x1,0x102000,0x100000,0x2000,0x80,0x80,0x80,0x80,0x100000,0x80,0x1000,0x0,0x0,0x0,0x18,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x80,0x0,0x0,0x80,0x0,0x0,0x0,0x0,0x1000,0x80,0x280,0x0,0x1000,0x0,0x1000,0x0,0x0,0x0,0x1000,0x0,0x1000,0x0,0x0,0x0,0x1000,0x0,0x1000,0x0,0x0,0x0,0x1000,0x0,0x0,0x0,0x1000,0x0,0x0,0x3000000,0x0,0x0,0x1000,0x20,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1000,0x0,0x0,0x0,0x0,0x0,0x1000,0x0,0x0,0x0,0x1000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x30002b9,0x800,0x800,0x800,0x800,0x800,0x800,0x1000,0x0,0x0,0x18,0x0,0x0,0x0,0x1000,0x0,0x1000,0x0,0x0,}; + jj_la1_5 = new int[] {0x0,0x80,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x800,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x34002b9,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1000,0x200,0x0,0x0,0x0,0x0,0x0,0x1000,0x80,0x2000000,0x2000000,0x0,0x1000,0x2000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1000,0x80,0x280,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x34002b9,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x34002b9,0x0,0x0,0x0,0x0,0x1000,0x1000,0x0,0x0,0x1000,0x1000,0x0,0x2200,0x20000,0x2200,0x20000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20,0x0,0x1000,0x1000,0x1000,0x1000,0x1000,0x3000080,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20,0x0,0x0,0x3000000,0x0,0x1000,0x1000,0x0,0x400000,0x2000000,0x0,0x1000,0x400000,0x0,0x34002b9,0x2000000,0x0,0x1000,0x0,0x3000006,0x0,0x1000,0x30002b9,0x1000,0x30002b9,0x0,0x0,0x200,0x2000,0x18,0x80,0x40000000,0x18,0x80,0x0,0x30002b9,0x1,0x3000201,0x1000,0x20,0x1000,0x3000000,0x2001000,0x2001000,0x80,0x200,0x3000020,0x0,0x0,0x1000,0x0,0x0,0x0,0x0,0x0,0x30002b9,0x18,0xbc3e0000,0x60000,0x0,0xbc3e0000,0x1,0x1000,0x30002b9,0x1000,0x30002b9,0x1000,0x30002b9,0xbc3e0000,0x0,0x3000221,0x0,0x3000221,0x3000001,0x2200,0x80,0x0,0x0,0x2200,0x80,0x0,0x0,0xa0,0x1000,0x2200,0x80,0x0,0x0,0x2200,0x80,0x0,0x0,0xa0,0x1000,0x1000,0x3000000,0x3000000,0x3000000,0x0,0x0,0x0,0x1000,0x30002b9,0x1,0x1000,0x1,0x1,0x102000,0x100000,0x2000,0x80,0x80,0x80,0x80,0x100000,0x80,0x1000,0x0,0x0,0x0,0x18,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x80,0x0,0x0,0x80,0x0,0x0,0x0,0x0,0x1000,0x80,0x280,0x0,0x1000,0x0,0x1000,0x0,0x0,0x0,0x1000,0x0,0x1000,0x0,0x0,0x0,0x1000,0x0,0x1000,0x0,0x0,0x0,0x1000,0x0,0x0,0x0,0x1000,0x0,0x0,0x3000000,0x0,0x0,0x1000,0x20,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1000,0x0,0x0,0x0,0x0,0x0,0x1000,0x0,0x0,0x0,0x1000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x30002b9,0x800,0x800,0x800,0x800,0x800,0x800,0x1000,0x0,0x0,0x18,0x0,0x0,0x0,0x1000,0x0,0x1000,0x0,0x0,}; } private static void jj_la1_init_6() { jj_la1_6 = new int[] {0x0,0x0,0x10000008,0x0,0x0,0x0,0x10000000,0x8,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10000018,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10000010,0x0,0x0,0x0,0x0,0x0,0x0,0x8000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8,0x8,0x10000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10000000,0x0,0x0,0x0,0x0,0x0,0x10000018,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10000018,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf000,0x0,0x0,0x0,0x10000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10000000,0x0,0x0,0x0,0x0,0x0,0x10000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10,0x10000018,0x0,0x0,0x0,0x6000000,0x0,0x10000000,0x0,0x10000018,0x0,0x10000018,0x0,0x10,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1800f7c,0x10000018,0x0,0x10000018,0x0,0x0,0x0,0x0,0x0,0x0,0x8,0x0,0x0,0x10000000,0x0,0x0,0x10000000,0x0,0x0,0x0,0x0,0x18000018,0x0,0x20000000,0x0,0x8000000,0x38000000,0x10000000,0x0,0x10000018,0x0,0x10000018,0x0,0x10000018,0xa0000000,0x0,0x10000018,0x0,0x10000018,0x0,0x0,0x10000008,0x0,0x0,0x0,0x10000008,0x0,0x0,0x10000008,0x0,0x0,0x10000008,0x0,0x0,0x0,0x10000008,0x0,0x0,0x10000008,0x0,0x0,0x8,0x8,0x8,0x0,0x0,0x0,0x0,0x10000018,0x10000000,0x0,0x10000000,0x10000000,0xa,0x0,0x0,0x0,0x0,0x0,0x0,0xa,0x0,0x0,0x0,0x10000008,0x0,0x0,0x0,0x10000000,0xa,0x10000000,0xa,0x10000000,0xa,0x10000000,0xa,0x0,0x10000000,0xa,0x0,0x10000000,0xa,0x0,0x0,0x0,0x10000008,0x0,0x0,0x8,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc,0x0,0xc,0xc,0xc,0x0,0xc,0x0,0x10000000,0x0,0x0,0x0,0x0,0x10000000,0x0,0x0,0x0,0x10000000,0x0,0x0,0x0,0x10000000,0x0,0x0,0x10000000,0x10000000,0x0,0x0,0x10000000,0x10000000,0x0,0x0,0x10000000,0x10000000,0x0,0x0,0x10000010,0x10000010,0x0,0x0,0x10,0x10000008,0x0,0x0,0x0,0x10000018,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,}; diff --git a/engine/src/main/java/com/arcadedb/query/sql/parser/SqlParserConstants.java b/engine/src/main/java/com/arcadedb/query/sql/parser/SqlParserConstants.java index 58fb867d3f..ee3985ce62 100644 --- a/engine/src/main/java/com/arcadedb/query/sql/parser/SqlParserConstants.java +++ b/engine/src/main/java/com/arcadedb/query/sql/parser/SqlParserConstants.java @@ -11,9 +11,11 @@ public interface SqlParserConstants { /** End of File. */ int EOF = 0; /** RegularExpression Id. */ - int FORMAL_COMMENT = 9; + int FORMAL_COMMENT = 8; /** RegularExpression Id. */ - int MULTI_LINE_COMMENT = 10; + int MULTI_LINE_COMMENT = 9; + /** RegularExpression Id. */ + int SINGLE_LINE_COMMENT = 11; /** RegularExpression Id. */ int ALIGN = 12; /** RegularExpression Id. */ @@ -506,10 +508,10 @@ public interface SqlParserConstants { "\"\\f\"", "", "\"/*\"", - "", "\"*/\"", "\"*/\"", - "", + "", + "", "", "