@scinorandex/sparse 0.0.3 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/meta/common.d.ts +4 -2
- package/dist/meta/common.js +4 -2
- package/dist/meta/common.js.map +1 -1
- package/dist/meta/selfhosted.js +4 -1
- package/dist/meta/selfhosted.js.map +1 -1
- package/example/math/grammar.txt +10 -1
- package/example/sql/grammar.txt +50 -0
- package/example/sql/table.txt +238 -0
- package/package.json +1 -1
- package/src/meta/common.ts +2 -0
- package/src/meta/selfhosted.ts +5 -1
- package/dist/meta/handwritten.d.ts +0 -12
- package/dist/meta/handwritten.js +0 -73
- package/dist/meta/handwritten.js.map +0 -1
- package/dist/table/handwritten.d.ts +0 -16
- package/dist/table/handwritten.js +0 -59
- package/dist/table/handwritten.js.map +0 -1
- package/src/meta/handwritten.ts +0 -93
- package/src/table/handwritten.ts +0 -69
package/dist/meta/common.d.ts
CHANGED
|
@@ -51,7 +51,9 @@ export declare enum GrammarTokenType {
|
|
|
51
51
|
EQUALS = 12,
|
|
52
52
|
COMMA = 13,
|
|
53
53
|
EOF = 14,
|
|
54
|
-
|
|
55
|
-
|
|
54
|
+
SINGLE_LINE_COMMENT = 15,
|
|
55
|
+
MULTI_LINE_COMMENT = 16,
|
|
56
|
+
PRODUCTION_NAME = 17,
|
|
57
|
+
TOKEN_NAME = 18
|
|
56
58
|
}
|
|
57
59
|
export type GrammarToken = Token<GrammarTokenType, GrammarTokenMetadata>;
|
package/dist/meta/common.js
CHANGED
|
@@ -56,7 +56,9 @@ var GrammarTokenType;
|
|
|
56
56
|
GrammarTokenType[GrammarTokenType["EQUALS"] = 12] = "EQUALS";
|
|
57
57
|
GrammarTokenType[GrammarTokenType["COMMA"] = 13] = "COMMA";
|
|
58
58
|
GrammarTokenType[GrammarTokenType["EOF"] = 14] = "EOF";
|
|
59
|
-
GrammarTokenType[GrammarTokenType["
|
|
60
|
-
GrammarTokenType[GrammarTokenType["
|
|
59
|
+
GrammarTokenType[GrammarTokenType["SINGLE_LINE_COMMENT"] = 15] = "SINGLE_LINE_COMMENT";
|
|
60
|
+
GrammarTokenType[GrammarTokenType["MULTI_LINE_COMMENT"] = 16] = "MULTI_LINE_COMMENT";
|
|
61
|
+
GrammarTokenType[GrammarTokenType["PRODUCTION_NAME"] = 17] = "PRODUCTION_NAME";
|
|
62
|
+
GrammarTokenType[GrammarTokenType["TOKEN_NAME"] = 18] = "TOKEN_NAME";
|
|
61
63
|
})(GrammarTokenType || (exports.GrammarTokenType = GrammarTokenType = {}));
|
|
62
64
|
//# sourceMappingURL=common.js.map
|
package/dist/meta/common.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/meta/common.ts"],"names":[],"mappings":";;;AAAA,4CAAwD;AAUxD,MAAM,oBAAoB,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAgB,EAAE,EAAE;IAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACxC,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAC1B,KAA8C,EACC,EAAE;IACjD,OAAO,IAAI,YAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,mBAAY,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;AAC7F,CAAC,CAAC;AAEK,MAAM,kBAAkB,GAAG,CAAC,IAAgB,EAAE,EAAE;IACrD,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,uBAAuB,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IACrE,OAAO;QACL,GAAG,EAAE,oBAAoB,CAAC,GAAG,CAAC;QAC9B,UAAU;QACV,IAAI;QACJ,uBAAuB;QACvB,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YACnD,IAAI;YACJ,KAAK,EAAE,oBAAoB,CAAC,KAAK,CAAC;YAClC,UAAU;YACV,IAAI;SACL,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC,CAAC;AAdW,QAAA,kBAAkB,sBAc7B;AAEK,MAAM,iBAAiB,GAAG,CAAC,UAAiD,EAAc,EAAE;IACjG,OAAO;QACL,GAAG,EAAE,mBAAmB,CAAC,UAAU,CAAC,GAAG,CAAC;QACxC,UAAU,EAAE,UAAU,CAAC,UAAU;QACjC,uBAAuB,EAAE,UAAU,CAAC,uBAAuB;QAC3D,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YAClD,IAAI;YACJ,KAAK,EAAE,mBAAmB,CAAC,KAAK,CAAC;YACjC,UAAU,EAAE,KAAK,CAAC,MAAM;YACxB,IAAI;SACL,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC,CAAC;AAbW,QAAA,iBAAiB,qBAa5B;AAGF,IAAY,
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/meta/common.ts"],"names":[],"mappings":";;;AAAA,4CAAwD;AAUxD,MAAM,oBAAoB,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAgB,EAAE,EAAE;IAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACxC,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAC1B,KAA8C,EACC,EAAE;IACjD,OAAO,IAAI,YAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,mBAAY,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;AAC7F,CAAC,CAAC;AAEK,MAAM,kBAAkB,GAAG,CAAC,IAAgB,EAAE,EAAE;IACrD,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,uBAAuB,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IACrE,OAAO;QACL,GAAG,EAAE,oBAAoB,CAAC,GAAG,CAAC;QAC9B,UAAU;QACV,IAAI;QACJ,uBAAuB;QACvB,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YACnD,IAAI;YACJ,KAAK,EAAE,oBAAoB,CAAC,KAAK,CAAC;YAClC,UAAU;YACV,IAAI;SACL,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC,CAAC;AAdW,QAAA,kBAAkB,sBAc7B;AAEK,MAAM,iBAAiB,GAAG,CAAC,UAAiD,EAAc,EAAE;IACjG,OAAO;QACL,GAAG,EAAE,mBAAmB,CAAC,UAAU,CAAC,GAAG,CAAC;QACxC,UAAU,EAAE,UAAU,CAAC,UAAU;QACjC,uBAAuB,EAAE,UAAU,CAAC,uBAAuB;QAC3D,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YAClD,IAAI;YACJ,KAAK,EAAE,mBAAmB,CAAC,KAAK,CAAC;YACjC,UAAU,EAAE,KAAK,CAAC,MAAM;YACxB,IAAI;SACL,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC,CAAC;AAbW,QAAA,iBAAiB,qBAa5B;AAGF,IAAY,gBAqBX;AArBD,WAAY,gBAAgB;IAC1B,mEAAU,CAAA;IACV,6DAAO,CAAA;IACP,6DAAO,CAAA;IACP,iEAAS,CAAA;IACT,iEAAS,CAAA;IACT,6DAAO,CAAA;IACP,6DAAO,CAAA;IACP,uDAAI,CAAA;IACJ,yEAAa,CAAA;IACb,yDAAK,CAAA;IACL,kEAAS,CAAA;IACT,4DAAM,CAAA;IACN,4DAAM,CAAA;IACN,0DAAK,CAAA;IACL,sDAAG,CAAA;IACH,sFAAmB,CAAA;IACnB,oFAAkB,CAAA;IAElB,8EAAe,CAAA;IACf,oEAAU,CAAA;AACZ,CAAC,EArBW,gBAAgB,gCAAhB,gBAAgB,QAqB3B"}
|
package/dist/meta/selfhosted.js
CHANGED
|
@@ -9,6 +9,7 @@ const common_1 = require("./common");
|
|
|
9
9
|
exports.grammarLexerGenerator = new slex_1.Slex({
|
|
10
10
|
EOF_TYPE: common_1.GrammarTokenType.EOF,
|
|
11
11
|
isHigherPrecedence: () => false,
|
|
12
|
+
ignoreTokens: [common_1.GrammarTokenType.SINGLE_LINE_COMMENT, common_1.GrammarTokenType.MULTI_LINE_COMMENT],
|
|
12
13
|
});
|
|
13
14
|
exports.grammarLexerGenerator.addRule("lowercase", "a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z");
|
|
14
15
|
exports.grammarLexerGenerator.addRule("uppercase", "A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z");
|
|
@@ -29,6 +30,8 @@ exports.grammarLexerGenerator.addRule("equals", "$=", common_1.GrammarTokenType.
|
|
|
29
30
|
exports.grammarLexerGenerator.addRule("comma", "$,", common_1.GrammarTokenType.COMMA);
|
|
30
31
|
exports.grammarLexerGenerator.addRule("question_mark", "$?", common_1.GrammarTokenType.QUESTION_MARK);
|
|
31
32
|
exports.grammarLexerGenerator.addRule("number", "(${digit})+", common_1.GrammarTokenType.NUMBER);
|
|
33
|
+
exports.grammarLexerGenerator.addRule("single_line_comment", "$/$/(($\n)!)*", common_1.GrammarTokenType.SINGLE_LINE_COMMENT);
|
|
34
|
+
exports.grammarLexerGenerator.addRule("multi_line_comment", "$/$*(($*)!|($*($/)!))*$*$/", common_1.GrammarTokenType.MULTI_LINE_COMMENT);
|
|
32
35
|
class BaseNode {
|
|
33
36
|
}
|
|
34
37
|
exports.BaseNode = BaseNode;
|
|
@@ -97,7 +100,7 @@ function expandProduction(production) {
|
|
|
97
100
|
const newProductions = variables.map((variable) => {
|
|
98
101
|
return new ProductionNode(production.lhs, new ListNode([
|
|
99
102
|
...beforeItems,
|
|
100
|
-
new TokenNode(
|
|
103
|
+
new TokenNode(item.type, new ListNode([variable]), item.name),
|
|
101
104
|
]), production.originalProductionIndex, production.name);
|
|
102
105
|
});
|
|
103
106
|
return newProductions.flatMap((prod) => expandProduction(prod));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selfhosted.js","sourceRoot":"","sources":["../../src/meta/selfhosted.ts"],"names":[],"mappings":";;;AAAA,4CAAsD;AACtD,oCAA0C;AAC1C,qCAAsC;AACtC,sCAAuC;AACvC,qCAA+G;AAElG,QAAA,qBAAqB,GAAG,IAAI,WAAI,CAAyC;IACpF,QAAQ,EAAE,yBAAgB,CAAC,GAAG;IAC9B,kBAAkB,EAAE,GAAG,EAAE,CAAC,KAAK;
|
|
1
|
+
{"version":3,"file":"selfhosted.js","sourceRoot":"","sources":["../../src/meta/selfhosted.ts"],"names":[],"mappings":"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"}
|
package/example/math/grammar.txt
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
<S>: <PROGRAM>;
|
|
2
2
|
<PROGRAM>: <EXPRESSION> [EOF];
|
|
3
3
|
<PROGRAM>: [EOF];
|
|
4
|
+
|
|
5
|
+
// Begin parsing arithmetic expressions
|
|
4
6
|
<EXPRESSION>: <TERM_EXPRESSION>;
|
|
5
7
|
<TERM_EXPRESSION>: <FACTOR_EXPRESSION> [PLUS] <TERM_EXPRESSION>;
|
|
6
8
|
<TERM_EXPRESSION>: <FACTOR_EXPRESSION> [MINUS] <TERM_EXPRESSION>;
|
|
@@ -8,4 +10,11 @@
|
|
|
8
10
|
<FACTOR_EXPRESSION>: <ENDPOINT> [STAR] <FACTOR_EXPRESSION>;
|
|
9
11
|
<FACTOR_EXPRESSION>: <ENDPOINT> [SLASH] <FACTOR_EXPRESSION>;
|
|
10
12
|
<FACTOR_EXPRESSION>: <ENDPOINT>;
|
|
11
|
-
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Right now it only supports a single type of number,
|
|
16
|
+
* but this can be implemented in many ways by the lexer.
|
|
17
|
+
* For example, the lexer could return both a hex constant
|
|
18
|
+
* or decimal constant using the same token type.
|
|
19
|
+
*/
|
|
20
|
+
<ENDPOINT>: [NUMBER];
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
<S>: <PROGRAM: program>;
|
|
2
|
+
<PROGRAM: program>: (<STATEMENTS: statements>)? [EOF];
|
|
3
|
+
<STATEMENTS: statements>: <STATEMENT: stmt> (<STATEMENTS: rest>)?;
|
|
4
|
+
|
|
5
|
+
<STATEMENT: statement>: <SELECT_STATEMENT: stmt>;
|
|
6
|
+
|
|
7
|
+
<SELECT_STATEMENT: select_statement>: [SELECT] <TARGETS: targets> [FROM] <SOURCE: source> ([WHERE] <CONDITION: where_clause>)? [SEMICOLON];
|
|
8
|
+
<TARGETS: targets>: <TARGET: target> ([COMMA] <TARGETS: rest>)?;
|
|
9
|
+
<TARGET: target>: <CONDITION: expr> ([AS] [IDENTIFIER: alias])?;
|
|
10
|
+
<SOURCE: table_source_direct>: [IDENTIFIER: one] ([DOT] [IDENTIFIER: two])?;
|
|
11
|
+
<SOURCE: table_source_subquery>: [L_PAREN] <SELECT_STATEMENT: select_statement> [R_PAREN];
|
|
12
|
+
|
|
13
|
+
<CONDITION: boolean_binary>: <BOOLEAN_TERM: term> ([OR] <CONDITION: rest>)?;
|
|
14
|
+
<BOOLEAN_TERM: boolean_binary>: <BOOLEAN_FACTOR: factor> ([AND] <BOOLEAN_TERM: rest>)?;
|
|
15
|
+
<BOOLEAN_FACTOR: boolean_unary>: ([NOT: not])? <BOOLEAN_TEST: test>;
|
|
16
|
+
<BOOLEAN_TEST: boolean_test>: <BOOLEAN_PRIMARY: primary> ([IS] ([NOT: not])? [TRUE | FALSE | UNKNOWN: value])?;
|
|
17
|
+
<BOOLEAN_PRIMARY: boolean_primary>: <PREDICATE: predicate>;
|
|
18
|
+
<BOOLEAN_PRIMARY: boolean_grouped>: [L_PAREN] <CONDITION: condition> [R_PAREN];
|
|
19
|
+
|
|
20
|
+
<PREDICATE: predicate>: <COMPARISON_PREDICATE | BETWEEN_PREDICATE | IN_PREDICATE | LIKE_PREDICATE | NULL_PREDICATE | EXISTS_PREDICATE: predicate>;
|
|
21
|
+
<COMPARISON_PREDICATE: comparison_predicate>:
|
|
22
|
+
<VALUE: left> ([EQUALS | NOT_EQUALS | LESS_THAN | GREATER_THAN | LESS_THAN_OR_EQUALS | GREATER_THAN_OR_EQUALS: op] <VALUE: right>)?;
|
|
23
|
+
<BETWEEN_PREDICATE: between_predicate>: <VALUE: left> [BETWEEN] <VALUE: lower> [AND] <VALUE: upper>;
|
|
24
|
+
|
|
25
|
+
<IN_PREDICATE: in_predicate>: <VALUE: left> [IN] [L_PAREN] <VALUE_LIST | SELECT_STATEMENT: values> [R_PAREN];
|
|
26
|
+
<VALUE_LIST: value_list>: <VALUE: value> ([COMMA] <VALUE_LIST: rest>)?;
|
|
27
|
+
|
|
28
|
+
<LIKE_PREDICATE: like_predicate>: <VALUE: left> ([NOT: not])? [LIKE] <VALUE: right>;
|
|
29
|
+
<NULL_PREDICATE: null_predicate>: <VALUE: left> [IS] ([NOT: not])? [NULL];
|
|
30
|
+
<EXISTS_PREDICATE: exists_predicate>: [EXISTS] [L_PAREN] <SELECT_STATEMENT: select_statement> [R_PAREN];
|
|
31
|
+
|
|
32
|
+
<VALUE: value_vector>: [L_PAREN] <VALUE_LIST | SELECT_STATEMENT: values> [R_PAREN];
|
|
33
|
+
<VALUE: value_expression>: <BITWISE_OR_EXPRESSION: left>;
|
|
34
|
+
|
|
35
|
+
<BITWISE_OR_EXPRESSION: binary_expr>: <BITWISE_AND_EXPRESSION: left> ([PIPE: op] <BITWISE_OR_EXPRESSION: right>)?;
|
|
36
|
+
<BITWISE_AND_EXPRESSION: binary_expr>: <BITWISE_XOR_EXPRESSION: left> ([AMPERSAND: op] <BITWISE_AND_EXPRESSION: right>)?;
|
|
37
|
+
<BITWISE_XOR_EXPRESSION: binary_expr>: <SHIFT_LEFT_EXPRESSION: left> ([CARET: op] <BITWISE_XOR_EXPRESSION: right>)?;
|
|
38
|
+
<SHIFT_LEFT_EXPRESSION: binary_expr>: <SHIFT_RIGHT_EXPRESSION: left> ([L_SHIFT: op] <SHIFT_RIGHT_EXPRESSION: right>)?;
|
|
39
|
+
<SHIFT_RIGHT_EXPRESSION: binary_expr>: <TERM_EXPRESSION: left> ([R_SHIFT: op] <TERM_EXPRESSION: right>)?;
|
|
40
|
+
<TERM_EXPRESSION: binary_expr>: <FACTOR_EXPRESSION: left> ([PLUS | MINUS | DOUBLE_PIPE: op] <TERM_EXPRESSION: right>)?;
|
|
41
|
+
<FACTOR_EXPRESSION: binary_expr>: <UNARY_EXPRESSION: left> ([STAR | SLASH | PERCENT: op] <FACTOR_EXPRESSION: right>)?;
|
|
42
|
+
<UNARY_EXPRESSION: unary_expr>: ([PLUS | MINUS | TILDE: op])? <PRIMARY_EXPRESSION: primary_expr>;
|
|
43
|
+
<PRIMARY_EXPRESSION: primary_expr>: <ENDPOINT_EXPRESSION | FUNCTION_CALL_EXPRESSION | GROUPING_EXPRESSION: expr>;
|
|
44
|
+
<ENDPOINT_EXPRESSION: column_reference_expression>: <COLUMN_REFERENCE: column_ref>;
|
|
45
|
+
<ENDPOINT_EXPRESSION: literal_expression>: [NUMBER_LITERAL | STRING_LITERAL | NULL_LITERAL | BOOLEAN_LITERAL: literal];
|
|
46
|
+
<GROUPING_EXPRESSION: grouping_expr>: [L_PAREN] <VALUE: value> [R_PAREN];
|
|
47
|
+
<FUNCTION_CALL_EXPRESSION: function_call_expression>: [IDENTIFIER: function_name] [L_PAREN] <ARGUMENT_LIST: arguments> [R_PAREN];
|
|
48
|
+
<ARGUMENT_LIST: arguments>: <VALUE: argument> ([COMMA] <ARGUMENT_LIST: rest>)?;
|
|
49
|
+
|
|
50
|
+
<COLUMN_REFERENCE: column_ref>: [IDENTIFIER: one] ([DOT] [IDENTIFIER: two] ([DOT] [IDENTIFIER: three])?)?;
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
[EOF]=s5, [SELECT]=s6, <PROGRAM>=1, <STATEMENTS>=2, <STATEMENT>=3, <SELECT_STATEMENT>=4
|
|
2
|
+
[EOF]=r0
|
|
3
|
+
[EOF]=s7
|
|
4
|
+
[EOF]=r3, [SELECT]=s6, <STATEMENTS>=8, <STATEMENT>=3, <SELECT_STATEMENT>=4
|
|
5
|
+
[EOF]=r5, [SELECT]=r5
|
|
6
|
+
[EOF]=r1
|
|
7
|
+
[NOT]=s39, [TRUE]=s40, [FALSE]=s41, [UNKNOWN]=s42, [L_PAREN]=s43, [EQUALS]=s44, [NOT_EQUALS]=s45, [LESS_THAN]=s46, [GREATER_THAN]=s47, [LESS_THAN_OR_EQUALS]=s48, [GREATER_THAN_OR_EQUALS]=s49, [EXISTS]=s50, [SELECT]=s51, [PLUS]=s52, [MINUS]=s53, [DOUBLE_PIPE]=s54, [STAR]=s55, [SLASH]=s56, [PERCENT]=s57, [TILDE]=s58, [NUMBER_LITERAL]=s59, [STRING_LITERAL]=s60, [NULL_LITERAL]=s61, [BOOLEAN_LITERAL]=s62, [IDENTIFIER]=s63, <TARGETS>=9, <TARGET>=10, <CONDITION>=11, <BOOLEAN_TERM>=12, <BOOLEAN_FACTOR>=13, <BOOLEAN_TEST>=14, <BOOLEAN_PRIMARY>=15, <PREDICATE>=16, <COMPARISON_PREDICATE>=17, <BETWEEN_PREDICATE>=18, <IN_PREDICATE>=19, <LIKE_PREDICATE>=20, <NULL_PREDICATE>=21, <EXISTS_PREDICATE>=22, <VALUE>=23, <VALUE_LIST>=24, <SELECT_STATEMENT>=25, <BITWISE_OR_EXPRESSION>=26, <BITWISE_AND_EXPRESSION>=27, <BITWISE_XOR_EXPRESSION>=28, <SHIFT_LEFT_EXPRESSION>=29, <SHIFT_RIGHT_EXPRESSION>=30, <TERM_EXPRESSION>=31, <FACTOR_EXPRESSION>=32, <UNARY_EXPRESSION>=33, <PRIMARY_EXPRESSION>=34, <ENDPOINT_EXPRESSION>=35, <FUNCTION_CALL_EXPRESSION>=36, <GROUPING_EXPRESSION>=37, <COLUMN_REFERENCE>=38
|
|
8
|
+
[EOF]=r2
|
|
9
|
+
[EOF]=r4
|
|
10
|
+
[FROM]=s64
|
|
11
|
+
[FROM]=r8, [COMMA]=s65
|
|
12
|
+
[FROM]=r10, [COMMA]=r10, [AS]=s66
|
|
13
|
+
[FROM]=r15, [COMMA]=r15, [AS]=r15, [OR]=s67
|
|
14
|
+
[FROM]=r17, [COMMA]=r17, [SEMICOLON]=r17, [AS]=r17, [R_PAREN]=r17, [OR]=r17, [AND]=s68
|
|
15
|
+
[FROM]=r19, [COMMA]=r19, [SEMICOLON]=r19, [AS]=r19, [R_PAREN]=r19, [OR]=r19, [AND]=r19
|
|
16
|
+
[FROM]=r21, [COMMA]=r21, [SEMICOLON]=r21, [AS]=r21, [R_PAREN]=r21, [OR]=r21, [AND]=r21
|
|
17
|
+
[FROM]=r28, [COMMA]=r28, [SEMICOLON]=r28, [AS]=r28, [R_PAREN]=r28, [OR]=r28, [AND]=r28
|
|
18
|
+
[FROM]=r30, [COMMA]=r30, [SEMICOLON]=r30, [AS]=r30, [R_PAREN]=r30, [OR]=r30, [AND]=r30
|
|
19
|
+
[FROM]=r31, [COMMA]=r31, [SEMICOLON]=r31, [AS]=r31, [R_PAREN]=r31, [OR]=r31, [AND]=r31
|
|
20
|
+
[FROM]=r32, [COMMA]=r32, [SEMICOLON]=r32, [AS]=r32, [R_PAREN]=r32, [OR]=r32, [AND]=r32
|
|
21
|
+
[FROM]=r33, [COMMA]=r33, [SEMICOLON]=r33, [AS]=r33, [R_PAREN]=r33, [OR]=r33, [AND]=r33
|
|
22
|
+
[FROM]=r34, [COMMA]=r34, [SEMICOLON]=r34, [AS]=r34, [R_PAREN]=r34, [OR]=r34, [AND]=r34
|
|
23
|
+
[FROM]=r35, [COMMA]=r35, [SEMICOLON]=r35, [AS]=r35, [R_PAREN]=r35, [OR]=r35, [AND]=r35
|
|
24
|
+
[FROM]=r36, [COMMA]=s73, [SEMICOLON]=r36, [AS]=r36, [R_PAREN]=r36, [OR]=r36, [AND]=r36, [L_PAREN]=r46, [BETWEEN]=s69, [LIKE]=s70, [NOT]=s71, [IS]=s72
|
|
25
|
+
[L_PAREN]=s74
|
|
26
|
+
[L_PAREN]=s75
|
|
27
|
+
[FROM]=r55, [COMMA]=r55, [SEMICOLON]=r55, [AS]=r55, [R_PAREN]=r55, [OR]=r55, [AND]=r55, [BETWEEN]=r55, [LIKE]=r55, [NOT]=r55, [IS]=r55, [L_PAREN]=r55
|
|
28
|
+
[L_PAREN]=r56, [FROM]=r56, [COMMA]=r56, [SEMICOLON]=r56, [AS]=r56, [R_PAREN]=r56, [OR]=r56, [AND]=r56, [BETWEEN]=r56, [LIKE]=r56, [NOT]=r56, [IS]=r56, [PIPE]=s76
|
|
29
|
+
[L_PAREN]=r58, [FROM]=r58, [COMMA]=r58, [SEMICOLON]=r58, [AS]=r58, [R_PAREN]=r58, [OR]=r58, [AND]=r58, [BETWEEN]=r58, [LIKE]=r58, [NOT]=r58, [IS]=r58, [PIPE]=r58, [AMPERSAND]=s77
|
|
30
|
+
[L_PAREN]=r60, [FROM]=r60, [COMMA]=r60, [SEMICOLON]=r60, [AS]=r60, [R_PAREN]=r60, [OR]=r60, [AND]=r60, [BETWEEN]=r60, [LIKE]=r60, [NOT]=r60, [IS]=r60, [PIPE]=r60, [AMPERSAND]=r60, [CARET]=s78
|
|
31
|
+
[L_PAREN]=r62, [FROM]=r62, [COMMA]=r62, [SEMICOLON]=r62, [AS]=r62, [R_PAREN]=r62, [OR]=r62, [AND]=r62, [BETWEEN]=r62, [LIKE]=r62, [NOT]=r62, [IS]=r62, [PIPE]=r62, [AMPERSAND]=r62, [CARET]=r62, [L_SHIFT]=s79
|
|
32
|
+
[L_PAREN]=r64, [FROM]=r64, [COMMA]=r64, [SEMICOLON]=r64, [AS]=r64, [R_PAREN]=r64, [OR]=r64, [AND]=r64, [BETWEEN]=r64, [LIKE]=r64, [NOT]=r64, [IS]=r64, [PIPE]=r64, [AMPERSAND]=r64, [CARET]=r64, [L_SHIFT]=r64, [R_SHIFT]=s80
|
|
33
|
+
[L_PAREN]=r66, [FROM]=r66, [COMMA]=r66, [SEMICOLON]=r66, [AS]=r66, [R_PAREN]=r66, [OR]=r66, [AND]=r66, [BETWEEN]=r66, [LIKE]=r66, [NOT]=r66, [IS]=r66, [PIPE]=r66, [AMPERSAND]=r66, [CARET]=r66, [L_SHIFT]=r66, [R_SHIFT]=r66
|
|
34
|
+
[L_PAREN]=r70, [FROM]=r70, [COMMA]=r70, [SEMICOLON]=r70, [AS]=r70, [R_PAREN]=r70, [OR]=r70, [AND]=r70, [BETWEEN]=r70, [LIKE]=r70, [NOT]=r70, [IS]=r70, [PIPE]=r70, [AMPERSAND]=r70, [CARET]=r70, [L_SHIFT]=r70, [R_SHIFT]=r70
|
|
35
|
+
[L_PAREN]=r74, [FROM]=r74, [COMMA]=r74, [SEMICOLON]=r74, [AS]=r74, [R_PAREN]=r74, [OR]=r74, [AND]=r74, [BETWEEN]=r74, [LIKE]=r74, [NOT]=r74, [IS]=r74, [PIPE]=r74, [AMPERSAND]=r74, [CARET]=r74, [L_SHIFT]=r74, [R_SHIFT]=r74
|
|
36
|
+
[L_PAREN]=r78, [FROM]=r78, [COMMA]=r78, [SEMICOLON]=r78, [AS]=r78, [R_PAREN]=r78, [OR]=r78, [AND]=r78, [BETWEEN]=r78, [LIKE]=r78, [NOT]=r78, [IS]=r78, [PIPE]=r78, [AMPERSAND]=r78, [CARET]=r78, [L_SHIFT]=r78, [R_SHIFT]=r78
|
|
37
|
+
[L_PAREN]=r79, [FROM]=r79, [COMMA]=r79, [SEMICOLON]=r79, [AS]=r79, [R_PAREN]=r79, [OR]=r79, [AND]=r79, [BETWEEN]=r79, [LIKE]=r79, [NOT]=r79, [IS]=r79, [PIPE]=r79, [AMPERSAND]=r79, [CARET]=r79, [L_SHIFT]=r79, [R_SHIFT]=r79
|
|
38
|
+
[L_PAREN]=r80, [FROM]=r80, [COMMA]=r80, [SEMICOLON]=r80, [AS]=r80, [R_PAREN]=r80, [OR]=r80, [AND]=r80, [BETWEEN]=r80, [LIKE]=r80, [NOT]=r80, [IS]=r80, [PIPE]=r80, [AMPERSAND]=r80, [CARET]=r80, [L_SHIFT]=r80, [R_SHIFT]=r80
|
|
39
|
+
[L_PAREN]=r81, [FROM]=r81, [COMMA]=r81, [SEMICOLON]=r81, [AS]=r81, [R_PAREN]=r81, [OR]=r81, [AND]=r81, [BETWEEN]=r81, [LIKE]=r81, [NOT]=r81, [IS]=r81, [PIPE]=r81, [AMPERSAND]=r81, [CARET]=r81, [L_SHIFT]=r81, [R_SHIFT]=r81
|
|
40
|
+
[TRUE]=s40, [FALSE]=s41, [UNKNOWN]=s42, [L_PAREN]=s43, [EQUALS]=s44, [NOT_EQUALS]=s45, [LESS_THAN]=s46, [GREATER_THAN]=s47, [LESS_THAN_OR_EQUALS]=s48, [GREATER_THAN_OR_EQUALS]=s49, [EXISTS]=s50, [SELECT]=s51, [PLUS]=s52, [MINUS]=s53, [DOUBLE_PIPE]=s54, [STAR]=s55, [SLASH]=s56, [PERCENT]=s57, [TILDE]=s58, [NUMBER_LITERAL]=s59, [STRING_LITERAL]=s60, [NULL_LITERAL]=s61, [BOOLEAN_LITERAL]=s62, [IDENTIFIER]=s63, <BOOLEAN_TEST>=81, <BOOLEAN_PRIMARY>=15, <PREDICATE>=16, <COMPARISON_PREDICATE>=17, <BETWEEN_PREDICATE>=18, <IN_PREDICATE>=19, <LIKE_PREDICATE>=20, <NULL_PREDICATE>=21, <EXISTS_PREDICATE>=22, <VALUE>=23, <VALUE_LIST>=24, <SELECT_STATEMENT>=25, <BITWISE_OR_EXPRESSION>=26, <BITWISE_AND_EXPRESSION>=27, <BITWISE_XOR_EXPRESSION>=28, <SHIFT_LEFT_EXPRESSION>=29, <SHIFT_RIGHT_EXPRESSION>=30, <TERM_EXPRESSION>=31, <FACTOR_EXPRESSION>=32, <UNARY_EXPRESSION>=33, <PRIMARY_EXPRESSION>=34, <ENDPOINT_EXPRESSION>=35, <FUNCTION_CALL_EXPRESSION>=36, <GROUPING_EXPRESSION>=37, <COLUMN_REFERENCE>=38
|
|
41
|
+
[IS]=s82, [NOT]=s83
|
|
42
|
+
[IS]=s84, [NOT]=s85
|
|
43
|
+
[IS]=s86, [NOT]=s87
|
|
44
|
+
[SELECT]=s51, [NOT]=s39, [TRUE]=s40, [FALSE]=s41, [UNKNOWN]=s42, [L_PAREN]=s43, [EQUALS]=s44, [NOT_EQUALS]=s45, [LESS_THAN]=s46, [GREATER_THAN]=s47, [LESS_THAN_OR_EQUALS]=s48, [GREATER_THAN_OR_EQUALS]=s49, [EXISTS]=s50, [PLUS]=s52, [MINUS]=s53, [DOUBLE_PIPE]=s54, [STAR]=s55, [SLASH]=s56, [PERCENT]=s57, [TILDE]=s58, [NUMBER_LITERAL]=s59, [STRING_LITERAL]=s60, [NULL_LITERAL]=s61, [BOOLEAN_LITERAL]=s62, [IDENTIFIER]=s63, <CONDITION>=88, <VALUE>=89, <BOOLEAN_TERM>=90, <VALUE_LIST>=91, <SELECT_STATEMENT>=92, <BITWISE_OR_EXPRESSION>=93, <BOOLEAN_FACTOR>=13, <BITWISE_AND_EXPRESSION>=27, <BOOLEAN_TEST>=14, <BITWISE_XOR_EXPRESSION>=28, <BOOLEAN_PRIMARY>=15, <SHIFT_LEFT_EXPRESSION>=29, <PREDICATE>=16, <SHIFT_RIGHT_EXPRESSION>=30, <COMPARISON_PREDICATE>=17, <BETWEEN_PREDICATE>=18, <IN_PREDICATE>=19, <LIKE_PREDICATE>=20, <NULL_PREDICATE>=21, <EXISTS_PREDICATE>=22, <TERM_EXPRESSION>=31, <FACTOR_EXPRESSION>=32, <UNARY_EXPRESSION>=33, <PRIMARY_EXPRESSION>=34, <ENDPOINT_EXPRESSION>=35, <FUNCTION_CALL_EXPRESSION>=36, <GROUPING_EXPRESSION>=37, <COLUMN_REFERENCE>=38
|
|
45
|
+
[SELECT]=s51, [PLUS]=s52, [MINUS]=s53, [DOUBLE_PIPE]=s54, [STAR]=s55, [SLASH]=s56, [PERCENT]=s57, [TILDE]=s58, [NUMBER_LITERAL]=s59, [STRING_LITERAL]=s60, [NULL_LITERAL]=s61, [BOOLEAN_LITERAL]=s62, [IDENTIFIER]=s63, [L_PAREN]=s98, <VALUE>=94, <VALUE_LIST>=95, <SELECT_STATEMENT>=96, <BITWISE_OR_EXPRESSION>=97, <BITWISE_AND_EXPRESSION>=27, <BITWISE_XOR_EXPRESSION>=28, <SHIFT_LEFT_EXPRESSION>=29, <SHIFT_RIGHT_EXPRESSION>=30, <TERM_EXPRESSION>=31, <FACTOR_EXPRESSION>=32, <UNARY_EXPRESSION>=33, <PRIMARY_EXPRESSION>=34, <ENDPOINT_EXPRESSION>=35, <FUNCTION_CALL_EXPRESSION>=36, <GROUPING_EXPRESSION>=37, <COLUMN_REFERENCE>=38
|
|
46
|
+
[SELECT]=s51, [PLUS]=s52, [MINUS]=s53, [DOUBLE_PIPE]=s54, [STAR]=s55, [SLASH]=s56, [PERCENT]=s57, [TILDE]=s58, [NUMBER_LITERAL]=s59, [STRING_LITERAL]=s60, [NULL_LITERAL]=s61, [BOOLEAN_LITERAL]=s62, [IDENTIFIER]=s63, [L_PAREN]=s98, <VALUE>=99, <VALUE_LIST>=95, <SELECT_STATEMENT>=96, <BITWISE_OR_EXPRESSION>=97, <BITWISE_AND_EXPRESSION>=27, <BITWISE_XOR_EXPRESSION>=28, <SHIFT_LEFT_EXPRESSION>=29, <SHIFT_RIGHT_EXPRESSION>=30, <TERM_EXPRESSION>=31, <FACTOR_EXPRESSION>=32, <UNARY_EXPRESSION>=33, <PRIMARY_EXPRESSION>=34, <ENDPOINT_EXPRESSION>=35, <FUNCTION_CALL_EXPRESSION>=36, <GROUPING_EXPRESSION>=37, <COLUMN_REFERENCE>=38
|
|
47
|
+
[SELECT]=s51, [PLUS]=s52, [MINUS]=s53, [DOUBLE_PIPE]=s54, [STAR]=s55, [SLASH]=s56, [PERCENT]=s57, [TILDE]=s58, [NUMBER_LITERAL]=s59, [STRING_LITERAL]=s60, [NULL_LITERAL]=s61, [BOOLEAN_LITERAL]=s62, [IDENTIFIER]=s63, [L_PAREN]=s98, <VALUE>=100, <VALUE_LIST>=95, <SELECT_STATEMENT>=96, <BITWISE_OR_EXPRESSION>=97, <BITWISE_AND_EXPRESSION>=27, <BITWISE_XOR_EXPRESSION>=28, <SHIFT_LEFT_EXPRESSION>=29, <SHIFT_RIGHT_EXPRESSION>=30, <TERM_EXPRESSION>=31, <FACTOR_EXPRESSION>=32, <UNARY_EXPRESSION>=33, <PRIMARY_EXPRESSION>=34, <ENDPOINT_EXPRESSION>=35, <FUNCTION_CALL_EXPRESSION>=36, <GROUPING_EXPRESSION>=37, <COLUMN_REFERENCE>=38
|
|
48
|
+
[SELECT]=s51, [PLUS]=s52, [MINUS]=s53, [DOUBLE_PIPE]=s54, [STAR]=s55, [SLASH]=s56, [PERCENT]=s57, [TILDE]=s58, [NUMBER_LITERAL]=s59, [STRING_LITERAL]=s60, [NULL_LITERAL]=s61, [BOOLEAN_LITERAL]=s62, [IDENTIFIER]=s63, [L_PAREN]=s98, <VALUE>=101, <VALUE_LIST>=95, <SELECT_STATEMENT>=96, <BITWISE_OR_EXPRESSION>=97, <BITWISE_AND_EXPRESSION>=27, <BITWISE_XOR_EXPRESSION>=28, <SHIFT_LEFT_EXPRESSION>=29, <SHIFT_RIGHT_EXPRESSION>=30, <TERM_EXPRESSION>=31, <FACTOR_EXPRESSION>=32, <UNARY_EXPRESSION>=33, <PRIMARY_EXPRESSION>=34, <ENDPOINT_EXPRESSION>=35, <FUNCTION_CALL_EXPRESSION>=36, <GROUPING_EXPRESSION>=37, <COLUMN_REFERENCE>=38
|
|
49
|
+
[SELECT]=s51, [PLUS]=s52, [MINUS]=s53, [DOUBLE_PIPE]=s54, [STAR]=s55, [SLASH]=s56, [PERCENT]=s57, [TILDE]=s58, [NUMBER_LITERAL]=s59, [STRING_LITERAL]=s60, [NULL_LITERAL]=s61, [BOOLEAN_LITERAL]=s62, [IDENTIFIER]=s63, [L_PAREN]=s98, <VALUE>=102, <VALUE_LIST>=95, <SELECT_STATEMENT>=96, <BITWISE_OR_EXPRESSION>=97, <BITWISE_AND_EXPRESSION>=27, <BITWISE_XOR_EXPRESSION>=28, <SHIFT_LEFT_EXPRESSION>=29, <SHIFT_RIGHT_EXPRESSION>=30, <TERM_EXPRESSION>=31, <FACTOR_EXPRESSION>=32, <UNARY_EXPRESSION>=33, <PRIMARY_EXPRESSION>=34, <ENDPOINT_EXPRESSION>=35, <FUNCTION_CALL_EXPRESSION>=36, <GROUPING_EXPRESSION>=37, <COLUMN_REFERENCE>=38
|
|
50
|
+
[SELECT]=s51, [PLUS]=s52, [MINUS]=s53, [DOUBLE_PIPE]=s54, [STAR]=s55, [SLASH]=s56, [PERCENT]=s57, [TILDE]=s58, [NUMBER_LITERAL]=s59, [STRING_LITERAL]=s60, [NULL_LITERAL]=s61, [BOOLEAN_LITERAL]=s62, [IDENTIFIER]=s63, [L_PAREN]=s98, <VALUE>=103, <VALUE_LIST>=95, <SELECT_STATEMENT>=96, <BITWISE_OR_EXPRESSION>=97, <BITWISE_AND_EXPRESSION>=27, <BITWISE_XOR_EXPRESSION>=28, <SHIFT_LEFT_EXPRESSION>=29, <SHIFT_RIGHT_EXPRESSION>=30, <TERM_EXPRESSION>=31, <FACTOR_EXPRESSION>=32, <UNARY_EXPRESSION>=33, <PRIMARY_EXPRESSION>=34, <ENDPOINT_EXPRESSION>=35, <FUNCTION_CALL_EXPRESSION>=36, <GROUPING_EXPRESSION>=37, <COLUMN_REFERENCE>=38
|
|
51
|
+
[L_PAREN]=s104
|
|
52
|
+
[NOT]=s39, [TRUE]=s40, [FALSE]=s41, [UNKNOWN]=s42, [L_PAREN]=s43, [EQUALS]=s44, [NOT_EQUALS]=s45, [LESS_THAN]=s46, [GREATER_THAN]=s47, [LESS_THAN_OR_EQUALS]=s48, [GREATER_THAN_OR_EQUALS]=s49, [EXISTS]=s50, [SELECT]=s51, [PLUS]=s52, [MINUS]=s53, [DOUBLE_PIPE]=s54, [STAR]=s55, [SLASH]=s56, [PERCENT]=s57, [TILDE]=s58, [NUMBER_LITERAL]=s59, [STRING_LITERAL]=s60, [NULL_LITERAL]=s61, [BOOLEAN_LITERAL]=s62, [IDENTIFIER]=s63, <TARGETS>=105, <TARGET>=10, <CONDITION>=11, <BOOLEAN_TERM>=12, <BOOLEAN_FACTOR>=13, <BOOLEAN_TEST>=14, <BOOLEAN_PRIMARY>=15, <PREDICATE>=16, <COMPARISON_PREDICATE>=17, <BETWEEN_PREDICATE>=18, <IN_PREDICATE>=19, <LIKE_PREDICATE>=20, <NULL_PREDICATE>=21, <EXISTS_PREDICATE>=22, <VALUE>=23, <VALUE_LIST>=24, <SELECT_STATEMENT>=25, <BITWISE_OR_EXPRESSION>=26, <BITWISE_AND_EXPRESSION>=27, <BITWISE_XOR_EXPRESSION>=28, <SHIFT_LEFT_EXPRESSION>=29, <SHIFT_RIGHT_EXPRESSION>=30, <TERM_EXPRESSION>=31, <FACTOR_EXPRESSION>=32, <UNARY_EXPRESSION>=33, <PRIMARY_EXPRESSION>=34, <ENDPOINT_EXPRESSION>=35, <FUNCTION_CALL_EXPRESSION>=36, <GROUPING_EXPRESSION>=37, <COLUMN_REFERENCE>=38
|
|
53
|
+
[L_PAREN]=s98, [FROM]=r75, [COMMA]=r75, [SEMICOLON]=r75, [AS]=r75, [R_PAREN]=r75, [OR]=r75, [AND]=r75, [BETWEEN]=r75, [LIKE]=r75, [NOT]=r75, [IS]=r75, [PIPE]=r75, [AMPERSAND]=r75, [CARET]=r75, [L_SHIFT]=r75, [R_SHIFT]=r75, [STAR]=s55, [SLASH]=s56, [PERCENT]=s57, [PLUS]=s107, [MINUS]=s108, [TILDE]=s58, [NUMBER_LITERAL]=s59, [STRING_LITERAL]=s60, [NULL_LITERAL]=s61, [BOOLEAN_LITERAL]=s62, [IDENTIFIER]=s63, <FACTOR_EXPRESSION>=106, <UNARY_EXPRESSION>=33, <PRIMARY_EXPRESSION>=34, <ENDPOINT_EXPRESSION>=35, <FUNCTION_CALL_EXPRESSION>=36, <GROUPING_EXPRESSION>=37, <COLUMN_REFERENCE>=38
|
|
54
|
+
[L_PAREN]=s98, [FROM]=r76, [COMMA]=r76, [SEMICOLON]=r76, [AS]=r76, [R_PAREN]=r76, [OR]=r76, [AND]=r76, [BETWEEN]=r76, [LIKE]=r76, [NOT]=r76, [IS]=r76, [PIPE]=r76, [AMPERSAND]=r76, [CARET]=r76, [L_SHIFT]=r76, [R_SHIFT]=r76, [STAR]=s55, [SLASH]=s56, [PERCENT]=s57, [PLUS]=s107, [MINUS]=s108, [TILDE]=s58, [NUMBER_LITERAL]=s59, [STRING_LITERAL]=s60, [NULL_LITERAL]=s61, [BOOLEAN_LITERAL]=s62, [IDENTIFIER]=s63, <FACTOR_EXPRESSION>=109, <UNARY_EXPRESSION>=33, <PRIMARY_EXPRESSION>=34, <ENDPOINT_EXPRESSION>=35, <FUNCTION_CALL_EXPRESSION>=36, <GROUPING_EXPRESSION>=37, <COLUMN_REFERENCE>=38
|
|
55
|
+
[STAR]=s55, [SLASH]=s56, [PERCENT]=s57, [PLUS]=s107, [MINUS]=s108, [TILDE]=s58, [NUMBER_LITERAL]=s59, [STRING_LITERAL]=s60, [NULL_LITERAL]=s61, [BOOLEAN_LITERAL]=s62, [IDENTIFIER]=s63, [L_PAREN]=s98, <FACTOR_EXPRESSION>=110, <UNARY_EXPRESSION>=33, <PRIMARY_EXPRESSION>=34, <ENDPOINT_EXPRESSION>=35, <FUNCTION_CALL_EXPRESSION>=36, <GROUPING_EXPRESSION>=37, <COLUMN_REFERENCE>=38
|
|
56
|
+
[PLUS]=s107, [MINUS]=s108, [TILDE]=s58, [NUMBER_LITERAL]=s59, [STRING_LITERAL]=s60, [NULL_LITERAL]=s61, [BOOLEAN_LITERAL]=s62, [IDENTIFIER]=s63, [L_PAREN]=s98, <UNARY_EXPRESSION>=111, <PRIMARY_EXPRESSION>=34, <ENDPOINT_EXPRESSION>=35, <FUNCTION_CALL_EXPRESSION>=36, <GROUPING_EXPRESSION>=37, <COLUMN_REFERENCE>=38
|
|
57
|
+
[PLUS]=s107, [MINUS]=s108, [TILDE]=s58, [NUMBER_LITERAL]=s59, [STRING_LITERAL]=s60, [NULL_LITERAL]=s61, [BOOLEAN_LITERAL]=s62, [IDENTIFIER]=s63, [L_PAREN]=s98, <UNARY_EXPRESSION>=112, <PRIMARY_EXPRESSION>=34, <ENDPOINT_EXPRESSION>=35, <FUNCTION_CALL_EXPRESSION>=36, <GROUPING_EXPRESSION>=37, <COLUMN_REFERENCE>=38
|
|
58
|
+
[PLUS]=s107, [MINUS]=s108, [TILDE]=s58, [NUMBER_LITERAL]=s59, [STRING_LITERAL]=s60, [NULL_LITERAL]=s61, [BOOLEAN_LITERAL]=s62, [IDENTIFIER]=s63, [L_PAREN]=s98, <UNARY_EXPRESSION>=113, <PRIMARY_EXPRESSION>=34, <ENDPOINT_EXPRESSION>=35, <FUNCTION_CALL_EXPRESSION>=36, <GROUPING_EXPRESSION>=37, <COLUMN_REFERENCE>=38
|
|
59
|
+
[L_PAREN]=r77, [FROM]=r77, [COMMA]=r77, [SEMICOLON]=r77, [AS]=r77, [R_PAREN]=r77, [OR]=r77, [AND]=r77, [BETWEEN]=r77, [LIKE]=r77, [NOT]=r77, [IS]=r77, [PIPE]=r77, [AMPERSAND]=r77, [CARET]=r77, [L_SHIFT]=r77, [R_SHIFT]=r77
|
|
60
|
+
[L_PAREN]=r82, [FROM]=r82, [COMMA]=r82, [SEMICOLON]=r82, [AS]=r82, [R_PAREN]=r82, [OR]=r82, [AND]=r82, [BETWEEN]=r82, [LIKE]=r82, [NOT]=r82, [IS]=r82, [PIPE]=r82, [AMPERSAND]=r82, [CARET]=r82, [L_SHIFT]=r82, [R_SHIFT]=r82
|
|
61
|
+
[L_PAREN]=r83, [FROM]=r83, [COMMA]=r83, [SEMICOLON]=r83, [AS]=r83, [R_PAREN]=r83, [OR]=r83, [AND]=r83, [BETWEEN]=r83, [LIKE]=r83, [NOT]=r83, [IS]=r83, [PIPE]=r83, [AMPERSAND]=r83, [CARET]=r83, [L_SHIFT]=r83, [R_SHIFT]=r83
|
|
62
|
+
[L_PAREN]=r84, [FROM]=r84, [COMMA]=r84, [SEMICOLON]=r84, [AS]=r84, [R_PAREN]=r84, [OR]=r84, [AND]=r84, [BETWEEN]=r84, [LIKE]=r84, [NOT]=r84, [IS]=r84, [PIPE]=r84, [AMPERSAND]=r84, [CARET]=r84, [L_SHIFT]=r84, [R_SHIFT]=r84
|
|
63
|
+
[L_PAREN]=r85, [FROM]=r85, [COMMA]=r85, [SEMICOLON]=r85, [AS]=r85, [R_PAREN]=r85, [OR]=r85, [AND]=r85, [BETWEEN]=r85, [LIKE]=r85, [NOT]=r85, [IS]=r85, [PIPE]=r85, [AMPERSAND]=r85, [CARET]=r85, [L_SHIFT]=r85, [R_SHIFT]=r85
|
|
64
|
+
[L_PAREN]=s114, [FROM]=r90, [COMMA]=r90, [SEMICOLON]=r90, [AS]=r90, [R_PAREN]=r90, [OR]=r90, [AND]=r90, [BETWEEN]=r90, [LIKE]=r90, [NOT]=r90, [IS]=r90, [PIPE]=r90, [AMPERSAND]=r90, [CARET]=r90, [L_SHIFT]=r90, [R_SHIFT]=r90, [DOT]=s115
|
|
65
|
+
[IDENTIFIER]=s117, [L_PAREN]=s118, <SOURCE>=116
|
|
66
|
+
[NOT]=s39, [TRUE]=s40, [FALSE]=s41, [UNKNOWN]=s42, [L_PAREN]=s43, [EQUALS]=s44, [NOT_EQUALS]=s45, [LESS_THAN]=s46, [GREATER_THAN]=s47, [LESS_THAN_OR_EQUALS]=s48, [GREATER_THAN_OR_EQUALS]=s49, [EXISTS]=s50, [SELECT]=s51, [PLUS]=s52, [MINUS]=s53, [DOUBLE_PIPE]=s54, [STAR]=s55, [SLASH]=s56, [PERCENT]=s57, [TILDE]=s58, [NUMBER_LITERAL]=s59, [STRING_LITERAL]=s60, [NULL_LITERAL]=s61, [BOOLEAN_LITERAL]=s62, [IDENTIFIER]=s63, <TARGETS>=119, <TARGET>=10, <CONDITION>=11, <BOOLEAN_TERM>=12, <BOOLEAN_FACTOR>=13, <BOOLEAN_TEST>=14, <BOOLEAN_PRIMARY>=15, <PREDICATE>=16, <COMPARISON_PREDICATE>=17, <BETWEEN_PREDICATE>=18, <IN_PREDICATE>=19, <LIKE_PREDICATE>=20, <NULL_PREDICATE>=21, <EXISTS_PREDICATE>=22, <VALUE>=23, <VALUE_LIST>=24, <SELECT_STATEMENT>=25, <BITWISE_OR_EXPRESSION>=26, <BITWISE_AND_EXPRESSION>=27, <BITWISE_XOR_EXPRESSION>=28, <SHIFT_LEFT_EXPRESSION>=29, <SHIFT_RIGHT_EXPRESSION>=30, <TERM_EXPRESSION>=31, <FACTOR_EXPRESSION>=32, <UNARY_EXPRESSION>=33, <PRIMARY_EXPRESSION>=34, <ENDPOINT_EXPRESSION>=35, <FUNCTION_CALL_EXPRESSION>=36, <GROUPING_EXPRESSION>=37, <COLUMN_REFERENCE>=38
|
|
67
|
+
[IDENTIFIER]=s120
|
|
68
|
+
[NOT]=s39, [TRUE]=s40, [FALSE]=s41, [UNKNOWN]=s42, [L_PAREN]=s43, [EQUALS]=s44, [NOT_EQUALS]=s45, [LESS_THAN]=s46, [GREATER_THAN]=s47, [LESS_THAN_OR_EQUALS]=s48, [GREATER_THAN_OR_EQUALS]=s49, [EXISTS]=s50, [SELECT]=s51, [PLUS]=s52, [MINUS]=s53, [DOUBLE_PIPE]=s54, [STAR]=s55, [SLASH]=s56, [PERCENT]=s57, [TILDE]=s58, [NUMBER_LITERAL]=s59, [STRING_LITERAL]=s60, [NULL_LITERAL]=s61, [BOOLEAN_LITERAL]=s62, [IDENTIFIER]=s63, <CONDITION>=121, <BOOLEAN_TERM>=122, <BOOLEAN_FACTOR>=13, <BOOLEAN_TEST>=14, <BOOLEAN_PRIMARY>=15, <PREDICATE>=16, <COMPARISON_PREDICATE>=17, <BETWEEN_PREDICATE>=18, <IN_PREDICATE>=19, <LIKE_PREDICATE>=20, <NULL_PREDICATE>=21, <EXISTS_PREDICATE>=22, <VALUE>=23, <VALUE_LIST>=24, <SELECT_STATEMENT>=25, <BITWISE_OR_EXPRESSION>=26, <BITWISE_AND_EXPRESSION>=27, <BITWISE_XOR_EXPRESSION>=28, <SHIFT_LEFT_EXPRESSION>=29, <SHIFT_RIGHT_EXPRESSION>=30, <TERM_EXPRESSION>=31, <FACTOR_EXPRESSION>=32, <UNARY_EXPRESSION>=33, <PRIMARY_EXPRESSION>=34, <ENDPOINT_EXPRESSION>=35, <FUNCTION_CALL_EXPRESSION>=36, <GROUPING_EXPRESSION>=37, <COLUMN_REFERENCE>=38
|
|
69
|
+
[NOT]=s39, [TRUE]=s40, [FALSE]=s41, [UNKNOWN]=s42, [L_PAREN]=s43, [EQUALS]=s44, [NOT_EQUALS]=s45, [LESS_THAN]=s46, [GREATER_THAN]=s47, [LESS_THAN_OR_EQUALS]=s48, [GREATER_THAN_OR_EQUALS]=s49, [EXISTS]=s50, [SELECT]=s51, [PLUS]=s52, [MINUS]=s53, [DOUBLE_PIPE]=s54, [STAR]=s55, [SLASH]=s56, [PERCENT]=s57, [TILDE]=s58, [NUMBER_LITERAL]=s59, [STRING_LITERAL]=s60, [NULL_LITERAL]=s61, [BOOLEAN_LITERAL]=s62, [IDENTIFIER]=s63, <BOOLEAN_TERM>=123, <BOOLEAN_FACTOR>=124, <BOOLEAN_TEST>=14, <BOOLEAN_PRIMARY>=15, <PREDICATE>=16, <COMPARISON_PREDICATE>=17, <BETWEEN_PREDICATE>=18, <IN_PREDICATE>=19, <LIKE_PREDICATE>=20, <NULL_PREDICATE>=21, <EXISTS_PREDICATE>=22, <VALUE>=23, <VALUE_LIST>=24, <SELECT_STATEMENT>=25, <BITWISE_OR_EXPRESSION>=26, <BITWISE_AND_EXPRESSION>=27, <BITWISE_XOR_EXPRESSION>=28, <SHIFT_LEFT_EXPRESSION>=29, <SHIFT_RIGHT_EXPRESSION>=30, <TERM_EXPRESSION>=31, <FACTOR_EXPRESSION>=32, <UNARY_EXPRESSION>=33, <PRIMARY_EXPRESSION>=34, <ENDPOINT_EXPRESSION>=35, <FUNCTION_CALL_EXPRESSION>=36, <GROUPING_EXPRESSION>=37, <COLUMN_REFERENCE>=38
|
|
70
|
+
[SELECT]=s51, [PLUS]=s52, [MINUS]=s53, [DOUBLE_PIPE]=s54, [STAR]=s55, [SLASH]=s56, [PERCENT]=s57, [TILDE]=s58, [NUMBER_LITERAL]=s59, [STRING_LITERAL]=s60, [NULL_LITERAL]=s61, [BOOLEAN_LITERAL]=s62, [IDENTIFIER]=s63, [L_PAREN]=s98, <VALUE>=125, <VALUE_LIST>=126, <SELECT_STATEMENT>=127, <BITWISE_OR_EXPRESSION>=128, <BITWISE_AND_EXPRESSION>=27, <BITWISE_XOR_EXPRESSION>=28, <SHIFT_LEFT_EXPRESSION>=29, <SHIFT_RIGHT_EXPRESSION>=30, <TERM_EXPRESSION>=31, <FACTOR_EXPRESSION>=32, <UNARY_EXPRESSION>=33, <PRIMARY_EXPRESSION>=34, <ENDPOINT_EXPRESSION>=35, <FUNCTION_CALL_EXPRESSION>=36, <GROUPING_EXPRESSION>=37, <COLUMN_REFERENCE>=38
|
|
71
|
+
[SELECT]=s51, [PLUS]=s52, [MINUS]=s53, [DOUBLE_PIPE]=s54, [STAR]=s55, [SLASH]=s56, [PERCENT]=s57, [TILDE]=s58, [NUMBER_LITERAL]=s59, [STRING_LITERAL]=s60, [NULL_LITERAL]=s61, [BOOLEAN_LITERAL]=s62, [IDENTIFIER]=s63, [L_PAREN]=s98, <VALUE>=129, <VALUE_LIST>=95, <SELECT_STATEMENT>=96, <BITWISE_OR_EXPRESSION>=97, <BITWISE_AND_EXPRESSION>=27, <BITWISE_XOR_EXPRESSION>=28, <SHIFT_LEFT_EXPRESSION>=29, <SHIFT_RIGHT_EXPRESSION>=30, <TERM_EXPRESSION>=31, <FACTOR_EXPRESSION>=32, <UNARY_EXPRESSION>=33, <PRIMARY_EXPRESSION>=34, <ENDPOINT_EXPRESSION>=35, <FUNCTION_CALL_EXPRESSION>=36, <GROUPING_EXPRESSION>=37, <COLUMN_REFERENCE>=38
|
|
72
|
+
[LIKE]=s130
|
|
73
|
+
[NULL]=s131, [NOT]=s132
|
|
74
|
+
[SELECT]=s51, [PLUS]=s52, [MINUS]=s53, [DOUBLE_PIPE]=s54, [STAR]=s55, [SLASH]=s56, [PERCENT]=s57, [TILDE]=s58, [NUMBER_LITERAL]=s59, [STRING_LITERAL]=s60, [NULL_LITERAL]=s61, [BOOLEAN_LITERAL]=s62, [IDENTIFIER]=s63, [L_PAREN]=s98, <VALUE_LIST>=133, <VALUE>=134, <SELECT_STATEMENT>=135, <BITWISE_OR_EXPRESSION>=136, <BITWISE_AND_EXPRESSION>=27, <BITWISE_XOR_EXPRESSION>=28, <SHIFT_LEFT_EXPRESSION>=29, <SHIFT_RIGHT_EXPRESSION>=30, <TERM_EXPRESSION>=31, <FACTOR_EXPRESSION>=32, <UNARY_EXPRESSION>=33, <PRIMARY_EXPRESSION>=34, <ENDPOINT_EXPRESSION>=35, <FUNCTION_CALL_EXPRESSION>=36, <GROUPING_EXPRESSION>=37, <COLUMN_REFERENCE>=38
|
|
75
|
+
[FROM]=r53, [COMMA]=r53, [SEMICOLON]=r53, [AS]=r53, [R_PAREN]=r53, [OR]=r53, [AND]=r53, [BETWEEN]=r53, [LIKE]=r53, [NOT]=r53, [IS]=r53, [L_PAREN]=r53, [IN]=s137
|
|
76
|
+
[FROM]=r54, [COMMA]=r54, [SEMICOLON]=r54, [AS]=r54, [R_PAREN]=r54, [OR]=r54, [AND]=r54, [BETWEEN]=r54, [LIKE]=r54, [NOT]=r54, [IS]=r54, [L_PAREN]=r54, [IN]=s138
|
|
77
|
+
[PLUS]=s52, [MINUS]=s53, [DOUBLE_PIPE]=s54, [STAR]=s55, [SLASH]=s56, [PERCENT]=s57, [TILDE]=s58, [NUMBER_LITERAL]=s59, [STRING_LITERAL]=s60, [NULL_LITERAL]=s61, [BOOLEAN_LITERAL]=s62, [IDENTIFIER]=s63, [L_PAREN]=s98, <BITWISE_OR_EXPRESSION>=139, <BITWISE_AND_EXPRESSION>=27, <BITWISE_XOR_EXPRESSION>=28, <SHIFT_LEFT_EXPRESSION>=29, <SHIFT_RIGHT_EXPRESSION>=30, <TERM_EXPRESSION>=31, <FACTOR_EXPRESSION>=32, <UNARY_EXPRESSION>=33, <PRIMARY_EXPRESSION>=34, <ENDPOINT_EXPRESSION>=35, <FUNCTION_CALL_EXPRESSION>=36, <GROUPING_EXPRESSION>=37, <COLUMN_REFERENCE>=38
|
|
78
|
+
[PLUS]=s52, [MINUS]=s53, [DOUBLE_PIPE]=s54, [STAR]=s55, [SLASH]=s56, [PERCENT]=s57, [TILDE]=s58, [NUMBER_LITERAL]=s59, [STRING_LITERAL]=s60, [NULL_LITERAL]=s61, [BOOLEAN_LITERAL]=s62, [IDENTIFIER]=s63, [L_PAREN]=s98, <BITWISE_AND_EXPRESSION>=140, <BITWISE_XOR_EXPRESSION>=141, <SHIFT_LEFT_EXPRESSION>=29, <SHIFT_RIGHT_EXPRESSION>=30, <TERM_EXPRESSION>=31, <FACTOR_EXPRESSION>=32, <UNARY_EXPRESSION>=33, <PRIMARY_EXPRESSION>=34, <ENDPOINT_EXPRESSION>=35, <FUNCTION_CALL_EXPRESSION>=36, <GROUPING_EXPRESSION>=37, <COLUMN_REFERENCE>=38
|
|
79
|
+
[PLUS]=s52, [MINUS]=s53, [DOUBLE_PIPE]=s54, [STAR]=s55, [SLASH]=s56, [PERCENT]=s57, [TILDE]=s58, [NUMBER_LITERAL]=s59, [STRING_LITERAL]=s60, [NULL_LITERAL]=s61, [BOOLEAN_LITERAL]=s62, [IDENTIFIER]=s63, [L_PAREN]=s98, <BITWISE_XOR_EXPRESSION>=142, <SHIFT_LEFT_EXPRESSION>=143, <SHIFT_RIGHT_EXPRESSION>=30, <TERM_EXPRESSION>=31, <FACTOR_EXPRESSION>=32, <UNARY_EXPRESSION>=33, <PRIMARY_EXPRESSION>=34, <ENDPOINT_EXPRESSION>=35, <FUNCTION_CALL_EXPRESSION>=36, <GROUPING_EXPRESSION>=37, <COLUMN_REFERENCE>=38
|
|
80
|
+
[PLUS]=s52, [MINUS]=s53, [DOUBLE_PIPE]=s54, [STAR]=s55, [SLASH]=s56, [PERCENT]=s57, [TILDE]=s58, [NUMBER_LITERAL]=s59, [STRING_LITERAL]=s60, [NULL_LITERAL]=s61, [BOOLEAN_LITERAL]=s62, [IDENTIFIER]=s63, [L_PAREN]=s98, <SHIFT_RIGHT_EXPRESSION>=144, <TERM_EXPRESSION>=145, <FACTOR_EXPRESSION>=32, <UNARY_EXPRESSION>=33, <PRIMARY_EXPRESSION>=34, <ENDPOINT_EXPRESSION>=35, <FUNCTION_CALL_EXPRESSION>=36, <GROUPING_EXPRESSION>=37, <COLUMN_REFERENCE>=38
|
|
81
|
+
[PLUS]=s148, [MINUS]=s149, [DOUBLE_PIPE]=s150, [STAR]=s55, [SLASH]=s56, [PERCENT]=s57, [TILDE]=s58, [NUMBER_LITERAL]=s59, [STRING_LITERAL]=s60, [NULL_LITERAL]=s61, [BOOLEAN_LITERAL]=s62, [IDENTIFIER]=s63, [L_PAREN]=s98, <TERM_EXPRESSION>=146, <FACTOR_EXPRESSION>=147, <UNARY_EXPRESSION>=33, <PRIMARY_EXPRESSION>=34, <ENDPOINT_EXPRESSION>=35, <FUNCTION_CALL_EXPRESSION>=36, <GROUPING_EXPRESSION>=37, <COLUMN_REFERENCE>=38
|
|
82
|
+
[FROM]=r20, [COMMA]=r20, [SEMICOLON]=r20, [AS]=r20, [R_PAREN]=r20, [OR]=r20, [AND]=r20
|
|
83
|
+
[L_PAREN]=s43, [EQUALS]=s44, [NOT_EQUALS]=s45, [LESS_THAN]=s46, [GREATER_THAN]=s47, [LESS_THAN_OR_EQUALS]=s48, [GREATER_THAN_OR_EQUALS]=s49, [EXISTS]=s50, [SELECT]=s51, [PLUS]=s52, [MINUS]=s53, [DOUBLE_PIPE]=s54, [STAR]=s55, [SLASH]=s56, [PERCENT]=s57, [TILDE]=s58, [NUMBER_LITERAL]=s59, [STRING_LITERAL]=s60, [NULL_LITERAL]=s61, [BOOLEAN_LITERAL]=s62, [IDENTIFIER]=s63, <BOOLEAN_PRIMARY>=151, <PREDICATE>=16, <COMPARISON_PREDICATE>=17, <BETWEEN_PREDICATE>=18, <IN_PREDICATE>=19, <LIKE_PREDICATE>=20, <NULL_PREDICATE>=21, <EXISTS_PREDICATE>=22, <VALUE>=23, <VALUE_LIST>=24, <SELECT_STATEMENT>=25, <BITWISE_OR_EXPRESSION>=26, <BITWISE_AND_EXPRESSION>=27, <BITWISE_XOR_EXPRESSION>=28, <SHIFT_LEFT_EXPRESSION>=29, <SHIFT_RIGHT_EXPRESSION>=30, <TERM_EXPRESSION>=31, <FACTOR_EXPRESSION>=32, <UNARY_EXPRESSION>=33, <PRIMARY_EXPRESSION>=34, <ENDPOINT_EXPRESSION>=35, <FUNCTION_CALL_EXPRESSION>=36, <GROUPING_EXPRESSION>=37, <COLUMN_REFERENCE>=38
|
|
84
|
+
[IS]=s152
|
|
85
|
+
[L_PAREN]=s43, [EQUALS]=s44, [NOT_EQUALS]=s45, [LESS_THAN]=s46, [GREATER_THAN]=s47, [LESS_THAN_OR_EQUALS]=s48, [GREATER_THAN_OR_EQUALS]=s49, [EXISTS]=s50, [SELECT]=s51, [PLUS]=s52, [MINUS]=s53, [DOUBLE_PIPE]=s54, [STAR]=s55, [SLASH]=s56, [PERCENT]=s57, [TILDE]=s58, [NUMBER_LITERAL]=s59, [STRING_LITERAL]=s60, [NULL_LITERAL]=s61, [BOOLEAN_LITERAL]=s62, [IDENTIFIER]=s63, <BOOLEAN_PRIMARY>=153, <PREDICATE>=16, <COMPARISON_PREDICATE>=17, <BETWEEN_PREDICATE>=18, <IN_PREDICATE>=19, <LIKE_PREDICATE>=20, <NULL_PREDICATE>=21, <EXISTS_PREDICATE>=22, <VALUE>=23, <VALUE_LIST>=24, <SELECT_STATEMENT>=25, <BITWISE_OR_EXPRESSION>=26, <BITWISE_AND_EXPRESSION>=27, <BITWISE_XOR_EXPRESSION>=28, <SHIFT_LEFT_EXPRESSION>=29, <SHIFT_RIGHT_EXPRESSION>=30, <TERM_EXPRESSION>=31, <FACTOR_EXPRESSION>=32, <UNARY_EXPRESSION>=33, <PRIMARY_EXPRESSION>=34, <ENDPOINT_EXPRESSION>=35, <FUNCTION_CALL_EXPRESSION>=36, <GROUPING_EXPRESSION>=37, <COLUMN_REFERENCE>=38
|
|
86
|
+
[IS]=s154
|
|
87
|
+
[L_PAREN]=s43, [EQUALS]=s44, [NOT_EQUALS]=s45, [LESS_THAN]=s46, [GREATER_THAN]=s47, [LESS_THAN_OR_EQUALS]=s48, [GREATER_THAN_OR_EQUALS]=s49, [EXISTS]=s50, [SELECT]=s51, [PLUS]=s52, [MINUS]=s53, [DOUBLE_PIPE]=s54, [STAR]=s55, [SLASH]=s56, [PERCENT]=s57, [TILDE]=s58, [NUMBER_LITERAL]=s59, [STRING_LITERAL]=s60, [NULL_LITERAL]=s61, [BOOLEAN_LITERAL]=s62, [IDENTIFIER]=s63, <BOOLEAN_PRIMARY>=155, <PREDICATE>=16, <COMPARISON_PREDICATE>=17, <BETWEEN_PREDICATE>=18, <IN_PREDICATE>=19, <LIKE_PREDICATE>=20, <NULL_PREDICATE>=21, <EXISTS_PREDICATE>=22, <VALUE>=23, <VALUE_LIST>=24, <SELECT_STATEMENT>=25, <BITWISE_OR_EXPRESSION>=26, <BITWISE_AND_EXPRESSION>=27, <BITWISE_XOR_EXPRESSION>=28, <SHIFT_LEFT_EXPRESSION>=29, <SHIFT_RIGHT_EXPRESSION>=30, <TERM_EXPRESSION>=31, <FACTOR_EXPRESSION>=32, <UNARY_EXPRESSION>=33, <PRIMARY_EXPRESSION>=34, <ENDPOINT_EXPRESSION>=35, <FUNCTION_CALL_EXPRESSION>=36, <GROUPING_EXPRESSION>=37, <COLUMN_REFERENCE>=38
|
|
88
|
+
[IS]=s156
|
|
89
|
+
[R_PAREN]=s157
|
|
90
|
+
[L_PAREN]=r46, [FROM]=r36, [COMMA]=s73, [SEMICOLON]=r36, [AS]=r36, [R_PAREN]=s158, [OR]=r36, [AND]=r36, [BETWEEN]=s69, [LIKE]=s70, [NOT]=s71, [IS]=s72
|
|
91
|
+
[R_PAREN]=r15, [OR]=s159
|
|
92
|
+
[L_PAREN]=s160
|
|
93
|
+
[L_PAREN]=s161
|
|
94
|
+
[R_PAREN]=r55, [L_PAREN]=r55, [COMMA]=r55, [FROM]=r55, [SEMICOLON]=r55, [AS]=r55, [OR]=r55, [AND]=r55, [BETWEEN]=r55, [LIKE]=r55, [NOT]=r55, [IS]=r55
|
|
95
|
+
[FROM]=r37, [COMMA]=s73, [SEMICOLON]=r37, [AS]=r37, [R_PAREN]=r37, [OR]=r37, [AND]=r37, [L_PAREN]=r46
|
|
96
|
+
[L_PAREN]=s162
|
|
97
|
+
[L_PAREN]=s163
|
|
98
|
+
[FROM]=r55, [COMMA]=r55, [SEMICOLON]=r55, [AS]=r55, [R_PAREN]=r55, [OR]=r55, [AND]=r55, [L_PAREN]=r55
|
|
99
|
+
[SELECT]=s51, [PLUS]=s52, [MINUS]=s53, [DOUBLE_PIPE]=s54, [STAR]=s55, [SLASH]=s56, [PERCENT]=s57, [TILDE]=s58, [NUMBER_LITERAL]=s59, [STRING_LITERAL]=s60, [NULL_LITERAL]=s61, [BOOLEAN_LITERAL]=s62, [IDENTIFIER]=s63, [L_PAREN]=s98, <VALUE>=164, <VALUE_LIST>=165, <SELECT_STATEMENT>=166, <BITWISE_OR_EXPRESSION>=167, <BITWISE_AND_EXPRESSION>=27, <BITWISE_XOR_EXPRESSION>=28, <SHIFT_LEFT_EXPRESSION>=29, <SHIFT_RIGHT_EXPRESSION>=30, <TERM_EXPRESSION>=31, <FACTOR_EXPRESSION>=32, <UNARY_EXPRESSION>=33, <PRIMARY_EXPRESSION>=34, <ENDPOINT_EXPRESSION>=35, <FUNCTION_CALL_EXPRESSION>=36, <GROUPING_EXPRESSION>=37, <COLUMN_REFERENCE>=38
|
|
100
|
+
[FROM]=r38, [COMMA]=s73, [SEMICOLON]=r38, [AS]=r38, [R_PAREN]=r38, [OR]=r38, [AND]=r38, [L_PAREN]=r46
|
|
101
|
+
[FROM]=r39, [COMMA]=s73, [SEMICOLON]=r39, [AS]=r39, [R_PAREN]=r39, [OR]=r39, [AND]=r39, [L_PAREN]=r46
|
|
102
|
+
[FROM]=r40, [COMMA]=s73, [SEMICOLON]=r40, [AS]=r40, [R_PAREN]=r40, [OR]=r40, [AND]=r40, [L_PAREN]=r46
|
|
103
|
+
[FROM]=r41, [COMMA]=s73, [SEMICOLON]=r41, [AS]=r41, [R_PAREN]=r41, [OR]=r41, [AND]=r41, [L_PAREN]=r46
|
|
104
|
+
[FROM]=r42, [COMMA]=s73, [SEMICOLON]=r42, [AS]=r42, [R_PAREN]=r42, [OR]=r42, [AND]=r42, [L_PAREN]=r46
|
|
105
|
+
[SELECT]=s169, <SELECT_STATEMENT>=168
|
|
106
|
+
[FROM]=s170
|
|
107
|
+
[L_PAREN]=r67, [FROM]=r67, [COMMA]=r67, [SEMICOLON]=r67, [AS]=r67, [R_PAREN]=r67, [OR]=r67, [AND]=r67, [BETWEEN]=r67, [LIKE]=r67, [NOT]=r67, [IS]=r67, [PIPE]=r67, [AMPERSAND]=r67, [CARET]=r67, [L_SHIFT]=r67, [R_SHIFT]=r67
|
|
108
|
+
[L_PAREN]=r75, [FROM]=r75, [COMMA]=r75, [SEMICOLON]=r75, [AS]=r75, [R_PAREN]=r75, [OR]=r75, [AND]=r75, [BETWEEN]=r75, [LIKE]=r75, [NOT]=r75, [IS]=r75, [PIPE]=r75, [AMPERSAND]=r75, [CARET]=r75, [L_SHIFT]=r75, [R_SHIFT]=r75
|
|
109
|
+
[L_PAREN]=r76, [FROM]=r76, [COMMA]=r76, [SEMICOLON]=r76, [AS]=r76, [R_PAREN]=r76, [OR]=r76, [AND]=r76, [BETWEEN]=r76, [LIKE]=r76, [NOT]=r76, [IS]=r76, [PIPE]=r76, [AMPERSAND]=r76, [CARET]=r76, [L_SHIFT]=r76, [R_SHIFT]=r76
|
|
110
|
+
[L_PAREN]=r68, [FROM]=r68, [COMMA]=r68, [SEMICOLON]=r68, [AS]=r68, [R_PAREN]=r68, [OR]=r68, [AND]=r68, [BETWEEN]=r68, [LIKE]=r68, [NOT]=r68, [IS]=r68, [PIPE]=r68, [AMPERSAND]=r68, [CARET]=r68, [L_SHIFT]=r68, [R_SHIFT]=r68
|
|
111
|
+
[L_PAREN]=r69, [FROM]=r69, [COMMA]=r69, [SEMICOLON]=r69, [AS]=r69, [R_PAREN]=r69, [OR]=r69, [AND]=r69, [BETWEEN]=r69, [LIKE]=r69, [NOT]=r69, [IS]=r69, [PIPE]=r69, [AMPERSAND]=r69, [CARET]=r69, [L_SHIFT]=r69, [R_SHIFT]=r69
|
|
112
|
+
[L_PAREN]=r71, [FROM]=r71, [COMMA]=r71, [SEMICOLON]=r71, [AS]=r71, [R_PAREN]=r71, [OR]=r71, [AND]=r71, [BETWEEN]=r71, [LIKE]=r71, [NOT]=r71, [IS]=r71, [PIPE]=r71, [AMPERSAND]=r71, [CARET]=r71, [L_SHIFT]=r71, [R_SHIFT]=r71
|
|
113
|
+
[L_PAREN]=r72, [FROM]=r72, [COMMA]=r72, [SEMICOLON]=r72, [AS]=r72, [R_PAREN]=r72, [OR]=r72, [AND]=r72, [BETWEEN]=r72, [LIKE]=r72, [NOT]=r72, [IS]=r72, [PIPE]=r72, [AMPERSAND]=r72, [CARET]=r72, [L_SHIFT]=r72, [R_SHIFT]=r72
|
|
114
|
+
[L_PAREN]=r73, [FROM]=r73, [COMMA]=r73, [SEMICOLON]=r73, [AS]=r73, [R_PAREN]=r73, [OR]=r73, [AND]=r73, [BETWEEN]=r73, [LIKE]=r73, [NOT]=r73, [IS]=r73, [PIPE]=r73, [AMPERSAND]=r73, [CARET]=r73, [L_SHIFT]=r73, [R_SHIFT]=r73
|
|
115
|
+
[SELECT]=s51, [PLUS]=s52, [MINUS]=s53, [DOUBLE_PIPE]=s54, [STAR]=s55, [SLASH]=s56, [PERCENT]=s57, [TILDE]=s58, [NUMBER_LITERAL]=s59, [STRING_LITERAL]=s60, [NULL_LITERAL]=s61, [BOOLEAN_LITERAL]=s62, [IDENTIFIER]=s63, [L_PAREN]=s98, <ARGUMENT_LIST>=171, <VALUE>=172, <VALUE_LIST>=173, <SELECT_STATEMENT>=174, <BITWISE_OR_EXPRESSION>=175, <BITWISE_AND_EXPRESSION>=27, <BITWISE_XOR_EXPRESSION>=28, <SHIFT_LEFT_EXPRESSION>=29, <SHIFT_RIGHT_EXPRESSION>=30, <TERM_EXPRESSION>=31, <FACTOR_EXPRESSION>=32, <UNARY_EXPRESSION>=33, <PRIMARY_EXPRESSION>=34, <ENDPOINT_EXPRESSION>=35, <FUNCTION_CALL_EXPRESSION>=36, <GROUPING_EXPRESSION>=37, <COLUMN_REFERENCE>=38
|
|
116
|
+
[IDENTIFIER]=s176
|
|
117
|
+
[SEMICOLON]=s177, [WHERE]=s178
|
|
118
|
+
[SEMICOLON]=r12, [WHERE]=r12, [DOT]=s179
|
|
119
|
+
[SELECT]=s169, <SELECT_STATEMENT>=180
|
|
120
|
+
[FROM]=r9
|
|
121
|
+
[FROM]=r11, [COMMA]=r11
|
|
122
|
+
[FROM]=r16, [COMMA]=r16, [AS]=r16
|
|
123
|
+
[FROM]=r15, [COMMA]=r15, [SEMICOLON]=r15, [AS]=r15, [R_PAREN]=r15, [OR]=s181
|
|
124
|
+
[FROM]=r18, [COMMA]=r18, [SEMICOLON]=r18, [AS]=r18, [R_PAREN]=r18, [OR]=r18
|
|
125
|
+
[FROM]=r17, [COMMA]=r17, [SEMICOLON]=r17, [AS]=r17, [R_PAREN]=r17, [OR]=r17, [AND]=s182
|
|
126
|
+
[L_PAREN]=r46, [AND]=s183, [COMMA]=s73
|
|
127
|
+
[L_PAREN]=s184
|
|
128
|
+
[L_PAREN]=s185
|
|
129
|
+
[AND]=r55, [L_PAREN]=r55, [COMMA]=r55
|
|
130
|
+
[FROM]=r48, [COMMA]=s73, [SEMICOLON]=r48, [AS]=r48, [R_PAREN]=r48, [OR]=r48, [AND]=r48, [L_PAREN]=r46
|
|
131
|
+
[SELECT]=s51, [PLUS]=s52, [MINUS]=s53, [DOUBLE_PIPE]=s54, [STAR]=s55, [SLASH]=s56, [PERCENT]=s57, [TILDE]=s58, [NUMBER_LITERAL]=s59, [STRING_LITERAL]=s60, [NULL_LITERAL]=s61, [BOOLEAN_LITERAL]=s62, [IDENTIFIER]=s63, [L_PAREN]=s98, <VALUE>=186, <VALUE_LIST>=95, <SELECT_STATEMENT>=96, <BITWISE_OR_EXPRESSION>=97, <BITWISE_AND_EXPRESSION>=27, <BITWISE_XOR_EXPRESSION>=28, <SHIFT_LEFT_EXPRESSION>=29, <SHIFT_RIGHT_EXPRESSION>=30, <TERM_EXPRESSION>=31, <FACTOR_EXPRESSION>=32, <UNARY_EXPRESSION>=33, <PRIMARY_EXPRESSION>=34, <ENDPOINT_EXPRESSION>=35, <FUNCTION_CALL_EXPRESSION>=36, <GROUPING_EXPRESSION>=37, <COLUMN_REFERENCE>=38
|
|
132
|
+
[FROM]=r50, [COMMA]=r50, [SEMICOLON]=r50, [AS]=r50, [R_PAREN]=r50, [OR]=r50, [AND]=r50
|
|
133
|
+
[NULL]=s187
|
|
134
|
+
[L_PAREN]=s188
|
|
135
|
+
[L_PAREN]=r46, [COMMA]=s73
|
|
136
|
+
[L_PAREN]=s189
|
|
137
|
+
[L_PAREN]=r55, [COMMA]=r55
|
|
138
|
+
[SELECT]=s51, [PLUS]=s52, [MINUS]=s53, [DOUBLE_PIPE]=s54, [STAR]=s55, [SLASH]=s56, [PERCENT]=s57, [TILDE]=s58, [NUMBER_LITERAL]=s59, [STRING_LITERAL]=s60, [NULL_LITERAL]=s61, [BOOLEAN_LITERAL]=s62, [IDENTIFIER]=s63, [L_PAREN]=s98, <VALUE>=190, <VALUE_LIST>=95, <SELECT_STATEMENT>=96, <BITWISE_OR_EXPRESSION>=97, <BITWISE_AND_EXPRESSION>=27, <BITWISE_XOR_EXPRESSION>=28, <SHIFT_LEFT_EXPRESSION>=29, <SHIFT_RIGHT_EXPRESSION>=30, <TERM_EXPRESSION>=31, <FACTOR_EXPRESSION>=32, <UNARY_EXPRESSION>=33, <PRIMARY_EXPRESSION>=34, <ENDPOINT_EXPRESSION>=35, <FUNCTION_CALL_EXPRESSION>=36, <GROUPING_EXPRESSION>=37, <COLUMN_REFERENCE>=38
|
|
139
|
+
[SELECT]=s51, [PLUS]=s52, [MINUS]=s53, [DOUBLE_PIPE]=s54, [STAR]=s55, [SLASH]=s56, [PERCENT]=s57, [TILDE]=s58, [NUMBER_LITERAL]=s59, [STRING_LITERAL]=s60, [NULL_LITERAL]=s61, [BOOLEAN_LITERAL]=s62, [IDENTIFIER]=s63, [L_PAREN]=s98, <VALUE>=191, <VALUE_LIST>=95, <SELECT_STATEMENT>=96, <BITWISE_OR_EXPRESSION>=97, <BITWISE_AND_EXPRESSION>=27, <BITWISE_XOR_EXPRESSION>=28, <SHIFT_LEFT_EXPRESSION>=29, <SHIFT_RIGHT_EXPRESSION>=30, <TERM_EXPRESSION>=31, <FACTOR_EXPRESSION>=32, <UNARY_EXPRESSION>=33, <PRIMARY_EXPRESSION>=34, <ENDPOINT_EXPRESSION>=35, <FUNCTION_CALL_EXPRESSION>=36, <GROUPING_EXPRESSION>=37, <COLUMN_REFERENCE>=38
|
|
140
|
+
[L_PAREN]=r57, [FROM]=r57, [COMMA]=r57, [SEMICOLON]=r57, [AS]=r57, [R_PAREN]=r57, [OR]=r57, [AND]=r57, [BETWEEN]=r57, [LIKE]=r57, [NOT]=r57, [IS]=r57
|
|
141
|
+
[L_PAREN]=r59, [FROM]=r59, [COMMA]=r59, [SEMICOLON]=r59, [AS]=r59, [R_PAREN]=r59, [OR]=r59, [AND]=r59, [BETWEEN]=r59, [LIKE]=r59, [NOT]=r59, [IS]=r59, [PIPE]=r59
|
|
142
|
+
[L_PAREN]=r58, [FROM]=r58, [COMMA]=r58, [SEMICOLON]=r58, [AS]=r58, [R_PAREN]=r58, [OR]=r58, [AND]=r58, [BETWEEN]=r58, [LIKE]=r58, [NOT]=r58, [IS]=r58, [PIPE]=r58, [AMPERSAND]=s192
|
|
143
|
+
[L_PAREN]=r61, [FROM]=r61, [COMMA]=r61, [SEMICOLON]=r61, [AS]=r61, [R_PAREN]=r61, [OR]=r61, [AND]=r61, [BETWEEN]=r61, [LIKE]=r61, [NOT]=r61, [IS]=r61, [PIPE]=r61, [AMPERSAND]=r61
|
|
144
|
+
[L_PAREN]=r60, [FROM]=r60, [COMMA]=r60, [SEMICOLON]=r60, [AS]=r60, [R_PAREN]=r60, [OR]=r60, [AND]=r60, [BETWEEN]=r60, [LIKE]=r60, [NOT]=r60, [IS]=r60, [PIPE]=r60, [AMPERSAND]=r60, [CARET]=s193
|
|
145
|
+
[L_PAREN]=r63, [FROM]=r63, [COMMA]=r63, [SEMICOLON]=r63, [AS]=r63, [R_PAREN]=r63, [OR]=r63, [AND]=r63, [BETWEEN]=r63, [LIKE]=r63, [NOT]=r63, [IS]=r63, [PIPE]=r63, [AMPERSAND]=r63, [CARET]=r63
|
|
146
|
+
[L_PAREN]=r64, [FROM]=r64, [COMMA]=r64, [SEMICOLON]=r64, [AS]=r64, [R_PAREN]=r64, [OR]=r64, [AND]=r64, [BETWEEN]=r64, [LIKE]=r64, [NOT]=r64, [IS]=r64, [PIPE]=r64, [AMPERSAND]=r64, [CARET]=r64, [R_SHIFT]=s194
|
|
147
|
+
[L_PAREN]=r65, [FROM]=r65, [COMMA]=r65, [SEMICOLON]=r65, [AS]=r65, [R_PAREN]=r65, [OR]=r65, [AND]=r65, [BETWEEN]=r65, [LIKE]=r65, [NOT]=r65, [IS]=r65, [PIPE]=r65, [AMPERSAND]=r65, [CARET]=r65, [L_SHIFT]=r65
|
|
148
|
+
[L_PAREN]=r66, [FROM]=r66, [COMMA]=r66, [SEMICOLON]=r66, [AS]=r66, [R_PAREN]=r66, [OR]=r66, [AND]=r66, [BETWEEN]=r66, [LIKE]=r66, [NOT]=r66, [IS]=r66, [PIPE]=r66, [AMPERSAND]=r66, [CARET]=r66, [L_SHIFT]=r66
|
|
149
|
+
[L_PAREN]=s98, [FROM]=r75, [COMMA]=r75, [SEMICOLON]=r75, [AS]=r75, [R_PAREN]=r75, [OR]=r75, [AND]=r75, [BETWEEN]=r75, [LIKE]=r75, [NOT]=r75, [IS]=r75, [PIPE]=r75, [AMPERSAND]=r75, [CARET]=r75, [L_SHIFT]=r75, [R_SHIFT]=r75, [STAR]=s55, [SLASH]=s56, [PERCENT]=s57, [PLUS]=s107, [MINUS]=s108, [TILDE]=s58, [NUMBER_LITERAL]=s59, [STRING_LITERAL]=s60, [NULL_LITERAL]=s61, [BOOLEAN_LITERAL]=s62, [IDENTIFIER]=s63, <FACTOR_EXPRESSION>=195, <UNARY_EXPRESSION>=33, <PRIMARY_EXPRESSION>=34, <ENDPOINT_EXPRESSION>=35, <FUNCTION_CALL_EXPRESSION>=36, <GROUPING_EXPRESSION>=37, <COLUMN_REFERENCE>=38
|
|
150
|
+
[L_PAREN]=s98, [FROM]=r76, [COMMA]=r76, [SEMICOLON]=r76, [AS]=r76, [R_PAREN]=r76, [OR]=r76, [AND]=r76, [BETWEEN]=r76, [LIKE]=r76, [NOT]=r76, [IS]=r76, [PIPE]=r76, [AMPERSAND]=r76, [CARET]=r76, [L_SHIFT]=r76, [R_SHIFT]=r76, [STAR]=s55, [SLASH]=s56, [PERCENT]=s57, [PLUS]=s107, [MINUS]=s108, [TILDE]=s58, [NUMBER_LITERAL]=s59, [STRING_LITERAL]=s60, [NULL_LITERAL]=s61, [BOOLEAN_LITERAL]=s62, [IDENTIFIER]=s63, <FACTOR_EXPRESSION>=196, <UNARY_EXPRESSION>=33, <PRIMARY_EXPRESSION>=34, <ENDPOINT_EXPRESSION>=35, <FUNCTION_CALL_EXPRESSION>=36, <GROUPING_EXPRESSION>=37, <COLUMN_REFERENCE>=38
|
|
151
|
+
[STAR]=s55, [SLASH]=s56, [PERCENT]=s57, [PLUS]=s107, [MINUS]=s108, [TILDE]=s58, [NUMBER_LITERAL]=s59, [STRING_LITERAL]=s60, [NULL_LITERAL]=s61, [BOOLEAN_LITERAL]=s62, [IDENTIFIER]=s63, [L_PAREN]=s98, <FACTOR_EXPRESSION>=197, <UNARY_EXPRESSION>=33, <PRIMARY_EXPRESSION>=34, <ENDPOINT_EXPRESSION>=35, <FUNCTION_CALL_EXPRESSION>=36, <GROUPING_EXPRESSION>=37, <COLUMN_REFERENCE>=38
|
|
152
|
+
[FROM]=r22, [COMMA]=r22, [SEMICOLON]=r22, [AS]=r22, [R_PAREN]=r22, [OR]=r22, [AND]=r22
|
|
153
|
+
[L_PAREN]=s43, [EQUALS]=s44, [NOT_EQUALS]=s45, [LESS_THAN]=s46, [GREATER_THAN]=s47, [LESS_THAN_OR_EQUALS]=s48, [GREATER_THAN_OR_EQUALS]=s49, [EXISTS]=s50, [SELECT]=s51, [PLUS]=s52, [MINUS]=s53, [DOUBLE_PIPE]=s54, [STAR]=s55, [SLASH]=s56, [PERCENT]=s57, [TILDE]=s58, [NUMBER_LITERAL]=s59, [STRING_LITERAL]=s60, [NULL_LITERAL]=s61, [BOOLEAN_LITERAL]=s62, [IDENTIFIER]=s63, <BOOLEAN_PRIMARY>=198, <PREDICATE>=16, <COMPARISON_PREDICATE>=17, <BETWEEN_PREDICATE>=18, <IN_PREDICATE>=19, <LIKE_PREDICATE>=20, <NULL_PREDICATE>=21, <EXISTS_PREDICATE>=22, <VALUE>=23, <VALUE_LIST>=24, <SELECT_STATEMENT>=25, <BITWISE_OR_EXPRESSION>=26, <BITWISE_AND_EXPRESSION>=27, <BITWISE_XOR_EXPRESSION>=28, <SHIFT_LEFT_EXPRESSION>=29, <SHIFT_RIGHT_EXPRESSION>=30, <TERM_EXPRESSION>=31, <FACTOR_EXPRESSION>=32, <UNARY_EXPRESSION>=33, <PRIMARY_EXPRESSION>=34, <ENDPOINT_EXPRESSION>=35, <FUNCTION_CALL_EXPRESSION>=36, <GROUPING_EXPRESSION>=37, <COLUMN_REFERENCE>=38
|
|
154
|
+
[FROM]=r23, [COMMA]=r23, [SEMICOLON]=r23, [AS]=r23, [R_PAREN]=r23, [OR]=r23, [AND]=r23
|
|
155
|
+
[L_PAREN]=s43, [EQUALS]=s44, [NOT_EQUALS]=s45, [LESS_THAN]=s46, [GREATER_THAN]=s47, [LESS_THAN_OR_EQUALS]=s48, [GREATER_THAN_OR_EQUALS]=s49, [EXISTS]=s50, [SELECT]=s51, [PLUS]=s52, [MINUS]=s53, [DOUBLE_PIPE]=s54, [STAR]=s55, [SLASH]=s56, [PERCENT]=s57, [TILDE]=s58, [NUMBER_LITERAL]=s59, [STRING_LITERAL]=s60, [NULL_LITERAL]=s61, [BOOLEAN_LITERAL]=s62, [IDENTIFIER]=s63, <BOOLEAN_PRIMARY>=199, <PREDICATE>=16, <COMPARISON_PREDICATE>=17, <BETWEEN_PREDICATE>=18, <IN_PREDICATE>=19, <LIKE_PREDICATE>=20, <NULL_PREDICATE>=21, <EXISTS_PREDICATE>=22, <VALUE>=23, <VALUE_LIST>=24, <SELECT_STATEMENT>=25, <BITWISE_OR_EXPRESSION>=26, <BITWISE_AND_EXPRESSION>=27, <BITWISE_XOR_EXPRESSION>=28, <SHIFT_LEFT_EXPRESSION>=29, <SHIFT_RIGHT_EXPRESSION>=30, <TERM_EXPRESSION>=31, <FACTOR_EXPRESSION>=32, <UNARY_EXPRESSION>=33, <PRIMARY_EXPRESSION>=34, <ENDPOINT_EXPRESSION>=35, <FUNCTION_CALL_EXPRESSION>=36, <GROUPING_EXPRESSION>=37, <COLUMN_REFERENCE>=38
|
|
156
|
+
[FROM]=r24, [COMMA]=r24, [SEMICOLON]=r24, [AS]=r24, [R_PAREN]=r24, [OR]=r24, [AND]=r24
|
|
157
|
+
[L_PAREN]=s43, [EQUALS]=s44, [NOT_EQUALS]=s45, [LESS_THAN]=s46, [GREATER_THAN]=s47, [LESS_THAN_OR_EQUALS]=s48, [GREATER_THAN_OR_EQUALS]=s49, [EXISTS]=s50, [SELECT]=s51, [PLUS]=s52, [MINUS]=s53, [DOUBLE_PIPE]=s54, [STAR]=s55, [SLASH]=s56, [PERCENT]=s57, [TILDE]=s58, [NUMBER_LITERAL]=s59, [STRING_LITERAL]=s60, [NULL_LITERAL]=s61, [BOOLEAN_LITERAL]=s62, [IDENTIFIER]=s63, <BOOLEAN_PRIMARY>=200, <PREDICATE>=16, <COMPARISON_PREDICATE>=17, <BETWEEN_PREDICATE>=18, <IN_PREDICATE>=19, <LIKE_PREDICATE>=20, <NULL_PREDICATE>=21, <EXISTS_PREDICATE>=22, <VALUE>=23, <VALUE_LIST>=24, <SELECT_STATEMENT>=25, <BITWISE_OR_EXPRESSION>=26, <BITWISE_AND_EXPRESSION>=27, <BITWISE_XOR_EXPRESSION>=28, <SHIFT_LEFT_EXPRESSION>=29, <SHIFT_RIGHT_EXPRESSION>=30, <TERM_EXPRESSION>=31, <FACTOR_EXPRESSION>=32, <UNARY_EXPRESSION>=33, <PRIMARY_EXPRESSION>=34, <ENDPOINT_EXPRESSION>=35, <FUNCTION_CALL_EXPRESSION>=36, <GROUPING_EXPRESSION>=37, <COLUMN_REFERENCE>=38
|
|
158
|
+
[FROM]=r29, [COMMA]=r29, [SEMICOLON]=r29, [AS]=r29, [R_PAREN]=r29, [OR]=r29, [AND]=r29
|
|
159
|
+
[L_PAREN]=r86, [FROM]=r86, [COMMA]=r86, [SEMICOLON]=r86, [AS]=r86, [R_PAREN]=r86, [OR]=r86, [AND]=r86, [BETWEEN]=r86, [LIKE]=r86, [NOT]=r86, [IS]=r86, [PIPE]=r86, [AMPERSAND]=r86, [CARET]=r86, [L_SHIFT]=r86, [R_SHIFT]=r86
|
|
160
|
+
[NOT]=s39, [TRUE]=s40, [FALSE]=s41, [UNKNOWN]=s42, [L_PAREN]=s43, [EQUALS]=s44, [NOT_EQUALS]=s45, [LESS_THAN]=s46, [GREATER_THAN]=s47, [LESS_THAN_OR_EQUALS]=s48, [GREATER_THAN_OR_EQUALS]=s49, [EXISTS]=s50, [SELECT]=s51, [PLUS]=s52, [MINUS]=s53, [DOUBLE_PIPE]=s54, [STAR]=s55, [SLASH]=s56, [PERCENT]=s57, [TILDE]=s58, [NUMBER_LITERAL]=s59, [STRING_LITERAL]=s60, [NULL_LITERAL]=s61, [BOOLEAN_LITERAL]=s62, [IDENTIFIER]=s63, <CONDITION>=201, <BOOLEAN_TERM>=122, <BOOLEAN_FACTOR>=13, <BOOLEAN_TEST>=14, <BOOLEAN_PRIMARY>=15, <PREDICATE>=16, <COMPARISON_PREDICATE>=17, <BETWEEN_PREDICATE>=18, <IN_PREDICATE>=19, <LIKE_PREDICATE>=20, <NULL_PREDICATE>=21, <EXISTS_PREDICATE>=22, <VALUE>=23, <VALUE_LIST>=24, <SELECT_STATEMENT>=25, <BITWISE_OR_EXPRESSION>=26, <BITWISE_AND_EXPRESSION>=27, <BITWISE_XOR_EXPRESSION>=28, <SHIFT_LEFT_EXPRESSION>=29, <SHIFT_RIGHT_EXPRESSION>=30, <TERM_EXPRESSION>=31, <FACTOR_EXPRESSION>=32, <UNARY_EXPRESSION>=33, <PRIMARY_EXPRESSION>=34, <ENDPOINT_EXPRESSION>=35, <FUNCTION_CALL_EXPRESSION>=36, <GROUPING_EXPRESSION>=37, <COLUMN_REFERENCE>=38
|
|
161
|
+
[R_PAREN]=r53, [L_PAREN]=r53, [COMMA]=r53, [FROM]=r53, [SEMICOLON]=r53, [AS]=r53, [OR]=r53, [AND]=r53, [BETWEEN]=r53, [LIKE]=r53, [NOT]=r53, [IS]=r53, [IN]=s137
|
|
162
|
+
[R_PAREN]=r54, [L_PAREN]=r54, [COMMA]=r54, [FROM]=r54, [SEMICOLON]=r54, [AS]=r54, [OR]=r54, [AND]=r54, [BETWEEN]=r54, [LIKE]=r54, [NOT]=r54, [IS]=r54, [IN]=s138
|
|
163
|
+
[FROM]=r53, [COMMA]=r53, [SEMICOLON]=r53, [AS]=r53, [R_PAREN]=r53, [OR]=r53, [AND]=r53, [L_PAREN]=r53
|
|
164
|
+
[FROM]=r54, [COMMA]=r54, [SEMICOLON]=r54, [AS]=r54, [R_PAREN]=r54, [OR]=r54, [AND]=r54, [L_PAREN]=r54
|
|
165
|
+
[L_PAREN]=r46, [R_PAREN]=s158, [COMMA]=s73
|
|
166
|
+
[L_PAREN]=s202
|
|
167
|
+
[L_PAREN]=s203
|
|
168
|
+
[R_PAREN]=r55, [L_PAREN]=r55, [COMMA]=r55
|
|
169
|
+
[R_PAREN]=s204
|
|
170
|
+
[NOT]=s39, [TRUE]=s40, [FALSE]=s41, [UNKNOWN]=s42, [L_PAREN]=s43, [EQUALS]=s44, [NOT_EQUALS]=s45, [LESS_THAN]=s46, [GREATER_THAN]=s47, [LESS_THAN_OR_EQUALS]=s48, [GREATER_THAN_OR_EQUALS]=s49, [EXISTS]=s50, [SELECT]=s51, [PLUS]=s52, [MINUS]=s53, [DOUBLE_PIPE]=s54, [STAR]=s55, [SLASH]=s56, [PERCENT]=s57, [TILDE]=s58, [NUMBER_LITERAL]=s59, [STRING_LITERAL]=s60, [NULL_LITERAL]=s61, [BOOLEAN_LITERAL]=s62, [IDENTIFIER]=s63, <TARGETS>=205, <TARGET>=10, <CONDITION>=11, <BOOLEAN_TERM>=12, <BOOLEAN_FACTOR>=13, <BOOLEAN_TEST>=14, <BOOLEAN_PRIMARY>=15, <PREDICATE>=16, <COMPARISON_PREDICATE>=17, <BETWEEN_PREDICATE>=18, <IN_PREDICATE>=19, <LIKE_PREDICATE>=20, <NULL_PREDICATE>=21, <EXISTS_PREDICATE>=22, <VALUE>=23, <VALUE_LIST>=24, <SELECT_STATEMENT>=25, <BITWISE_OR_EXPRESSION>=26, <BITWISE_AND_EXPRESSION>=27, <BITWISE_XOR_EXPRESSION>=28, <SHIFT_LEFT_EXPRESSION>=29, <SHIFT_RIGHT_EXPRESSION>=30, <TERM_EXPRESSION>=31, <FACTOR_EXPRESSION>=32, <UNARY_EXPRESSION>=33, <PRIMARY_EXPRESSION>=34, <ENDPOINT_EXPRESSION>=35, <FUNCTION_CALL_EXPRESSION>=36, <GROUPING_EXPRESSION>=37, <COLUMN_REFERENCE>=38
|
|
171
|
+
[IDENTIFIER]=s117, [L_PAREN]=s118, <SOURCE>=206
|
|
172
|
+
[R_PAREN]=s207
|
|
173
|
+
[R_PAREN]=r88, [L_PAREN]=r46, [COMMA]=s208
|
|
174
|
+
[L_PAREN]=s209
|
|
175
|
+
[L_PAREN]=s210
|
|
176
|
+
[R_PAREN]=r55, [COMMA]=r55, [L_PAREN]=r55
|
|
177
|
+
[L_PAREN]=r91, [FROM]=r91, [COMMA]=r91, [SEMICOLON]=r91, [AS]=r91, [R_PAREN]=r91, [OR]=r91, [AND]=r91, [BETWEEN]=r91, [LIKE]=r91, [NOT]=r91, [IS]=r91, [PIPE]=r91, [AMPERSAND]=r91, [CARET]=r91, [L_SHIFT]=r91, [R_SHIFT]=r91, [DOT]=s211
|
|
178
|
+
[EOF]=r6, [SELECT]=r6
|
|
179
|
+
[NOT]=s39, [TRUE]=s40, [FALSE]=s41, [UNKNOWN]=s42, [L_PAREN]=s43, [EQUALS]=s44, [NOT_EQUALS]=s45, [LESS_THAN]=s46, [GREATER_THAN]=s47, [LESS_THAN_OR_EQUALS]=s48, [GREATER_THAN_OR_EQUALS]=s49, [EXISTS]=s50, [SELECT]=s51, [PLUS]=s52, [MINUS]=s53, [DOUBLE_PIPE]=s54, [STAR]=s55, [SLASH]=s56, [PERCENT]=s57, [TILDE]=s58, [NUMBER_LITERAL]=s59, [STRING_LITERAL]=s60, [NULL_LITERAL]=s61, [BOOLEAN_LITERAL]=s62, [IDENTIFIER]=s63, <CONDITION>=212, <BOOLEAN_TERM>=213, <BOOLEAN_FACTOR>=13, <BOOLEAN_TEST>=14, <BOOLEAN_PRIMARY>=15, <PREDICATE>=16, <COMPARISON_PREDICATE>=17, <BETWEEN_PREDICATE>=18, <IN_PREDICATE>=19, <LIKE_PREDICATE>=20, <NULL_PREDICATE>=21, <EXISTS_PREDICATE>=22, <VALUE>=23, <VALUE_LIST>=24, <SELECT_STATEMENT>=25, <BITWISE_OR_EXPRESSION>=26, <BITWISE_AND_EXPRESSION>=27, <BITWISE_XOR_EXPRESSION>=28, <SHIFT_LEFT_EXPRESSION>=29, <SHIFT_RIGHT_EXPRESSION>=30, <TERM_EXPRESSION>=31, <FACTOR_EXPRESSION>=32, <UNARY_EXPRESSION>=33, <PRIMARY_EXPRESSION>=34, <ENDPOINT_EXPRESSION>=35, <FUNCTION_CALL_EXPRESSION>=36, <GROUPING_EXPRESSION>=37, <COLUMN_REFERENCE>=38
|
|
180
|
+
[IDENTIFIER]=s214
|
|
181
|
+
[R_PAREN]=s215
|
|
182
|
+
[NOT]=s39, [TRUE]=s40, [FALSE]=s41, [UNKNOWN]=s42, [L_PAREN]=s43, [EQUALS]=s44, [NOT_EQUALS]=s45, [LESS_THAN]=s46, [GREATER_THAN]=s47, [LESS_THAN_OR_EQUALS]=s48, [GREATER_THAN_OR_EQUALS]=s49, [EXISTS]=s50, [SELECT]=s51, [PLUS]=s52, [MINUS]=s53, [DOUBLE_PIPE]=s54, [STAR]=s55, [SLASH]=s56, [PERCENT]=s57, [TILDE]=s58, [NUMBER_LITERAL]=s59, [STRING_LITERAL]=s60, [NULL_LITERAL]=s61, [BOOLEAN_LITERAL]=s62, [IDENTIFIER]=s63, <CONDITION>=216, <BOOLEAN_TERM>=122, <BOOLEAN_FACTOR>=13, <BOOLEAN_TEST>=14, <BOOLEAN_PRIMARY>=15, <PREDICATE>=16, <COMPARISON_PREDICATE>=17, <BETWEEN_PREDICATE>=18, <IN_PREDICATE>=19, <LIKE_PREDICATE>=20, <NULL_PREDICATE>=21, <EXISTS_PREDICATE>=22, <VALUE>=23, <VALUE_LIST>=24, <SELECT_STATEMENT>=25, <BITWISE_OR_EXPRESSION>=26, <BITWISE_AND_EXPRESSION>=27, <BITWISE_XOR_EXPRESSION>=28, <SHIFT_LEFT_EXPRESSION>=29, <SHIFT_RIGHT_EXPRESSION>=30, <TERM_EXPRESSION>=31, <FACTOR_EXPRESSION>=32, <UNARY_EXPRESSION>=33, <PRIMARY_EXPRESSION>=34, <ENDPOINT_EXPRESSION>=35, <FUNCTION_CALL_EXPRESSION>=36, <GROUPING_EXPRESSION>=37, <COLUMN_REFERENCE>=38
|
|
183
|
+
[NOT]=s39, [TRUE]=s40, [FALSE]=s41, [UNKNOWN]=s42, [L_PAREN]=s43, [EQUALS]=s44, [NOT_EQUALS]=s45, [LESS_THAN]=s46, [GREATER_THAN]=s47, [LESS_THAN_OR_EQUALS]=s48, [GREATER_THAN_OR_EQUALS]=s49, [EXISTS]=s50, [SELECT]=s51, [PLUS]=s52, [MINUS]=s53, [DOUBLE_PIPE]=s54, [STAR]=s55, [SLASH]=s56, [PERCENT]=s57, [TILDE]=s58, [NUMBER_LITERAL]=s59, [STRING_LITERAL]=s60, [NULL_LITERAL]=s61, [BOOLEAN_LITERAL]=s62, [IDENTIFIER]=s63, <BOOLEAN_TERM>=217, <BOOLEAN_FACTOR>=124, <BOOLEAN_TEST>=14, <BOOLEAN_PRIMARY>=15, <PREDICATE>=16, <COMPARISON_PREDICATE>=17, <BETWEEN_PREDICATE>=18, <IN_PREDICATE>=19, <LIKE_PREDICATE>=20, <NULL_PREDICATE>=21, <EXISTS_PREDICATE>=22, <VALUE>=23, <VALUE_LIST>=24, <SELECT_STATEMENT>=25, <BITWISE_OR_EXPRESSION>=26, <BITWISE_AND_EXPRESSION>=27, <BITWISE_XOR_EXPRESSION>=28, <SHIFT_LEFT_EXPRESSION>=29, <SHIFT_RIGHT_EXPRESSION>=30, <TERM_EXPRESSION>=31, <FACTOR_EXPRESSION>=32, <UNARY_EXPRESSION>=33, <PRIMARY_EXPRESSION>=34, <ENDPOINT_EXPRESSION>=35, <FUNCTION_CALL_EXPRESSION>=36, <GROUPING_EXPRESSION>=37, <COLUMN_REFERENCE>=38
|
|
184
|
+
[SELECT]=s51, [PLUS]=s52, [MINUS]=s53, [DOUBLE_PIPE]=s54, [STAR]=s55, [SLASH]=s56, [PERCENT]=s57, [TILDE]=s58, [NUMBER_LITERAL]=s59, [STRING_LITERAL]=s60, [NULL_LITERAL]=s61, [BOOLEAN_LITERAL]=s62, [IDENTIFIER]=s63, [L_PAREN]=s98, <VALUE>=218, <VALUE_LIST>=95, <SELECT_STATEMENT>=96, <BITWISE_OR_EXPRESSION>=97, <BITWISE_AND_EXPRESSION>=27, <BITWISE_XOR_EXPRESSION>=28, <SHIFT_LEFT_EXPRESSION>=29, <SHIFT_RIGHT_EXPRESSION>=30, <TERM_EXPRESSION>=31, <FACTOR_EXPRESSION>=32, <UNARY_EXPRESSION>=33, <PRIMARY_EXPRESSION>=34, <ENDPOINT_EXPRESSION>=35, <FUNCTION_CALL_EXPRESSION>=36, <GROUPING_EXPRESSION>=37, <COLUMN_REFERENCE>=38
|
|
185
|
+
[AND]=r53, [L_PAREN]=r53, [COMMA]=r53
|
|
186
|
+
[AND]=r54, [L_PAREN]=r54, [COMMA]=r54
|
|
187
|
+
[FROM]=r49, [COMMA]=s73, [SEMICOLON]=r49, [AS]=r49, [R_PAREN]=r49, [OR]=r49, [AND]=r49, [L_PAREN]=r46
|
|
188
|
+
[FROM]=r51, [COMMA]=r51, [SEMICOLON]=r51, [AS]=r51, [R_PAREN]=r51, [OR]=r51, [AND]=r51
|
|
189
|
+
[L_PAREN]=r53, [COMMA]=r53
|
|
190
|
+
[L_PAREN]=r54, [COMMA]=r54
|
|
191
|
+
[FROM]=r44, [COMMA]=s73, [SEMICOLON]=r44, [AS]=r44, [R_PAREN]=r44, [OR]=r44, [AND]=r44, [L_PAREN]=r46
|
|
192
|
+
[FROM]=r45, [COMMA]=s73, [SEMICOLON]=r45, [AS]=r45, [R_PAREN]=r45, [OR]=r45, [AND]=r45, [L_PAREN]=r46
|
|
193
|
+
[PLUS]=s52, [MINUS]=s53, [DOUBLE_PIPE]=s54, [STAR]=s55, [SLASH]=s56, [PERCENT]=s57, [TILDE]=s58, [NUMBER_LITERAL]=s59, [STRING_LITERAL]=s60, [NULL_LITERAL]=s61, [BOOLEAN_LITERAL]=s62, [IDENTIFIER]=s63, [L_PAREN]=s98, <BITWISE_AND_EXPRESSION>=219, <BITWISE_XOR_EXPRESSION>=141, <SHIFT_LEFT_EXPRESSION>=29, <SHIFT_RIGHT_EXPRESSION>=30, <TERM_EXPRESSION>=31, <FACTOR_EXPRESSION>=32, <UNARY_EXPRESSION>=33, <PRIMARY_EXPRESSION>=34, <ENDPOINT_EXPRESSION>=35, <FUNCTION_CALL_EXPRESSION>=36, <GROUPING_EXPRESSION>=37, <COLUMN_REFERENCE>=38
|
|
194
|
+
[PLUS]=s52, [MINUS]=s53, [DOUBLE_PIPE]=s54, [STAR]=s55, [SLASH]=s56, [PERCENT]=s57, [TILDE]=s58, [NUMBER_LITERAL]=s59, [STRING_LITERAL]=s60, [NULL_LITERAL]=s61, [BOOLEAN_LITERAL]=s62, [IDENTIFIER]=s63, [L_PAREN]=s98, <BITWISE_XOR_EXPRESSION>=220, <SHIFT_LEFT_EXPRESSION>=143, <SHIFT_RIGHT_EXPRESSION>=30, <TERM_EXPRESSION>=31, <FACTOR_EXPRESSION>=32, <UNARY_EXPRESSION>=33, <PRIMARY_EXPRESSION>=34, <ENDPOINT_EXPRESSION>=35, <FUNCTION_CALL_EXPRESSION>=36, <GROUPING_EXPRESSION>=37, <COLUMN_REFERENCE>=38
|
|
195
|
+
[PLUS]=s148, [MINUS]=s149, [DOUBLE_PIPE]=s150, [STAR]=s55, [SLASH]=s56, [PERCENT]=s57, [TILDE]=s58, [NUMBER_LITERAL]=s59, [STRING_LITERAL]=s60, [NULL_LITERAL]=s61, [BOOLEAN_LITERAL]=s62, [IDENTIFIER]=s63, [L_PAREN]=s98, <TERM_EXPRESSION>=221, <FACTOR_EXPRESSION>=147, <UNARY_EXPRESSION>=33, <PRIMARY_EXPRESSION>=34, <ENDPOINT_EXPRESSION>=35, <FUNCTION_CALL_EXPRESSION>=36, <GROUPING_EXPRESSION>=37, <COLUMN_REFERENCE>=38
|
|
196
|
+
[L_PAREN]=r67, [FROM]=r67, [COMMA]=r67, [SEMICOLON]=r67, [AS]=r67, [R_PAREN]=r67, [OR]=r67, [AND]=r67, [BETWEEN]=r67, [LIKE]=r67, [NOT]=r67, [IS]=r67, [PIPE]=r67, [AMPERSAND]=r67, [CARET]=r67, [L_SHIFT]=r67
|
|
197
|
+
[L_PAREN]=r68, [FROM]=r68, [COMMA]=r68, [SEMICOLON]=r68, [AS]=r68, [R_PAREN]=r68, [OR]=r68, [AND]=r68, [BETWEEN]=r68, [LIKE]=r68, [NOT]=r68, [IS]=r68, [PIPE]=r68, [AMPERSAND]=r68, [CARET]=r68, [L_SHIFT]=r68
|
|
198
|
+
[L_PAREN]=r69, [FROM]=r69, [COMMA]=r69, [SEMICOLON]=r69, [AS]=r69, [R_PAREN]=r69, [OR]=r69, [AND]=r69, [BETWEEN]=r69, [LIKE]=r69, [NOT]=r69, [IS]=r69, [PIPE]=r69, [AMPERSAND]=r69, [CARET]=r69, [L_SHIFT]=r69
|
|
199
|
+
[FROM]=r25, [COMMA]=r25, [SEMICOLON]=r25, [AS]=r25, [R_PAREN]=r25, [OR]=r25, [AND]=r25
|
|
200
|
+
[FROM]=r26, [COMMA]=r26, [SEMICOLON]=r26, [AS]=r26, [R_PAREN]=r26, [OR]=r26, [AND]=r26
|
|
201
|
+
[FROM]=r27, [COMMA]=r27, [SEMICOLON]=r27, [AS]=r27, [R_PAREN]=r27, [OR]=r27, [AND]=r27
|
|
202
|
+
[R_PAREN]=r16
|
|
203
|
+
[R_PAREN]=r53, [L_PAREN]=r53, [COMMA]=r53
|
|
204
|
+
[R_PAREN]=r54, [L_PAREN]=r54, [COMMA]=r54
|
|
205
|
+
[FROM]=r52, [COMMA]=r52, [SEMICOLON]=r52, [AS]=r52, [R_PAREN]=r52, [OR]=r52, [AND]=r52
|
|
206
|
+
[FROM]=s222
|
|
207
|
+
[SEMICOLON]=s223, [WHERE]=s224
|
|
208
|
+
[L_PAREN]=r87, [FROM]=r87, [COMMA]=r87, [SEMICOLON]=r87, [AS]=r87, [R_PAREN]=r87, [OR]=r87, [AND]=r87, [BETWEEN]=r87, [LIKE]=r87, [NOT]=r87, [IS]=r87, [PIPE]=r87, [AMPERSAND]=r87, [CARET]=r87, [L_SHIFT]=r87, [R_SHIFT]=r87
|
|
209
|
+
[SELECT]=s51, [PLUS]=s52, [MINUS]=s53, [DOUBLE_PIPE]=s54, [STAR]=s55, [SLASH]=s56, [PERCENT]=s57, [TILDE]=s58, [NUMBER_LITERAL]=s59, [STRING_LITERAL]=s60, [NULL_LITERAL]=s61, [BOOLEAN_LITERAL]=s62, [IDENTIFIER]=s63, [L_PAREN]=s98, <ARGUMENT_LIST>=225, <VALUE_LIST>=226, <VALUE>=172, <SELECT_STATEMENT>=174, <BITWISE_OR_EXPRESSION>=175, <BITWISE_AND_EXPRESSION>=27, <BITWISE_XOR_EXPRESSION>=28, <SHIFT_LEFT_EXPRESSION>=29, <SHIFT_RIGHT_EXPRESSION>=30, <TERM_EXPRESSION>=31, <FACTOR_EXPRESSION>=32, <UNARY_EXPRESSION>=33, <PRIMARY_EXPRESSION>=34, <ENDPOINT_EXPRESSION>=35, <FUNCTION_CALL_EXPRESSION>=36, <GROUPING_EXPRESSION>=37, <COLUMN_REFERENCE>=38
|
|
210
|
+
[R_PAREN]=r53, [COMMA]=r53, [L_PAREN]=r53
|
|
211
|
+
[R_PAREN]=r54, [COMMA]=r54, [L_PAREN]=r54
|
|
212
|
+
[IDENTIFIER]=s227
|
|
213
|
+
[SEMICOLON]=s228
|
|
214
|
+
[SEMICOLON]=r15, [OR]=s229
|
|
215
|
+
[SEMICOLON]=r13, [WHERE]=r13
|
|
216
|
+
[SEMICOLON]=r14, [WHERE]=r14
|
|
217
|
+
[FROM]=r16, [COMMA]=r16, [SEMICOLON]=r16, [AS]=r16, [R_PAREN]=r16
|
|
218
|
+
[FROM]=r18, [COMMA]=r18, [SEMICOLON]=r18, [AS]=r18, [R_PAREN]=r18, [OR]=r18
|
|
219
|
+
[FROM]=r43, [COMMA]=s73, [SEMICOLON]=r43, [AS]=r43, [R_PAREN]=r43, [OR]=r43, [AND]=r43, [L_PAREN]=r46
|
|
220
|
+
[L_PAREN]=r59, [FROM]=r59, [COMMA]=r59, [SEMICOLON]=r59, [AS]=r59, [R_PAREN]=r59, [OR]=r59, [AND]=r59, [BETWEEN]=r59, [LIKE]=r59, [NOT]=r59, [IS]=r59, [PIPE]=r59
|
|
221
|
+
[L_PAREN]=r61, [FROM]=r61, [COMMA]=r61, [SEMICOLON]=r61, [AS]=r61, [R_PAREN]=r61, [OR]=r61, [AND]=r61, [BETWEEN]=r61, [LIKE]=r61, [NOT]=r61, [IS]=r61, [PIPE]=r61, [AMPERSAND]=r61
|
|
222
|
+
[L_PAREN]=r65, [FROM]=r65, [COMMA]=r65, [SEMICOLON]=r65, [AS]=r65, [R_PAREN]=r65, [OR]=r65, [AND]=r65, [BETWEEN]=r65, [LIKE]=r65, [NOT]=r65, [IS]=r65, [PIPE]=r65, [AMPERSAND]=r65, [CARET]=r65
|
|
223
|
+
[IDENTIFIER]=s117, [L_PAREN]=s118, <SOURCE>=230
|
|
224
|
+
[L_PAREN]=r6
|
|
225
|
+
[NOT]=s39, [TRUE]=s40, [FALSE]=s41, [UNKNOWN]=s42, [L_PAREN]=s43, [EQUALS]=s44, [NOT_EQUALS]=s45, [LESS_THAN]=s46, [GREATER_THAN]=s47, [LESS_THAN_OR_EQUALS]=s48, [GREATER_THAN_OR_EQUALS]=s49, [EXISTS]=s50, [SELECT]=s51, [PLUS]=s52, [MINUS]=s53, [DOUBLE_PIPE]=s54, [STAR]=s55, [SLASH]=s56, [PERCENT]=s57, [TILDE]=s58, [NUMBER_LITERAL]=s59, [STRING_LITERAL]=s60, [NULL_LITERAL]=s61, [BOOLEAN_LITERAL]=s62, [IDENTIFIER]=s63, <CONDITION>=231, <BOOLEAN_TERM>=213, <BOOLEAN_FACTOR>=13, <BOOLEAN_TEST>=14, <BOOLEAN_PRIMARY>=15, <PREDICATE>=16, <COMPARISON_PREDICATE>=17, <BETWEEN_PREDICATE>=18, <IN_PREDICATE>=19, <LIKE_PREDICATE>=20, <NULL_PREDICATE>=21, <EXISTS_PREDICATE>=22, <VALUE>=23, <VALUE_LIST>=24, <SELECT_STATEMENT>=25, <BITWISE_OR_EXPRESSION>=26, <BITWISE_AND_EXPRESSION>=27, <BITWISE_XOR_EXPRESSION>=28, <SHIFT_LEFT_EXPRESSION>=29, <SHIFT_RIGHT_EXPRESSION>=30, <TERM_EXPRESSION>=31, <FACTOR_EXPRESSION>=32, <UNARY_EXPRESSION>=33, <PRIMARY_EXPRESSION>=34, <ENDPOINT_EXPRESSION>=35, <FUNCTION_CALL_EXPRESSION>=36, <GROUPING_EXPRESSION>=37, <COLUMN_REFERENCE>=38
|
|
226
|
+
[R_PAREN]=r89
|
|
227
|
+
[L_PAREN]=s209
|
|
228
|
+
[L_PAREN]=r92, [FROM]=r92, [COMMA]=r92, [SEMICOLON]=r92, [AS]=r92, [R_PAREN]=r92, [OR]=r92, [AND]=r92, [BETWEEN]=r92, [LIKE]=r92, [NOT]=r92, [IS]=r92, [PIPE]=r92, [AMPERSAND]=r92, [CARET]=r92, [L_SHIFT]=r92, [R_SHIFT]=r92
|
|
229
|
+
[EOF]=r7, [SELECT]=r7
|
|
230
|
+
[NOT]=s39, [TRUE]=s40, [FALSE]=s41, [UNKNOWN]=s42, [L_PAREN]=s43, [EQUALS]=s44, [NOT_EQUALS]=s45, [LESS_THAN]=s46, [GREATER_THAN]=s47, [LESS_THAN_OR_EQUALS]=s48, [GREATER_THAN_OR_EQUALS]=s49, [EXISTS]=s50, [SELECT]=s51, [PLUS]=s52, [MINUS]=s53, [DOUBLE_PIPE]=s54, [STAR]=s55, [SLASH]=s56, [PERCENT]=s57, [TILDE]=s58, [NUMBER_LITERAL]=s59, [STRING_LITERAL]=s60, [NULL_LITERAL]=s61, [BOOLEAN_LITERAL]=s62, [IDENTIFIER]=s63, <CONDITION>=232, <BOOLEAN_TERM>=122, <BOOLEAN_FACTOR>=13, <BOOLEAN_TEST>=14, <BOOLEAN_PRIMARY>=15, <PREDICATE>=16, <COMPARISON_PREDICATE>=17, <BETWEEN_PREDICATE>=18, <IN_PREDICATE>=19, <LIKE_PREDICATE>=20, <NULL_PREDICATE>=21, <EXISTS_PREDICATE>=22, <VALUE>=23, <VALUE_LIST>=24, <SELECT_STATEMENT>=25, <BITWISE_OR_EXPRESSION>=26, <BITWISE_AND_EXPRESSION>=27, <BITWISE_XOR_EXPRESSION>=28, <SHIFT_LEFT_EXPRESSION>=29, <SHIFT_RIGHT_EXPRESSION>=30, <TERM_EXPRESSION>=31, <FACTOR_EXPRESSION>=32, <UNARY_EXPRESSION>=33, <PRIMARY_EXPRESSION>=34, <ENDPOINT_EXPRESSION>=35, <FUNCTION_CALL_EXPRESSION>=36, <GROUPING_EXPRESSION>=37, <COLUMN_REFERENCE>=38
|
|
231
|
+
[SEMICOLON]=s233, [WHERE]=s234
|
|
232
|
+
[SEMICOLON]=s235
|
|
233
|
+
[SEMICOLON]=r16
|
|
234
|
+
[R_PAREN]=r6
|
|
235
|
+
[NOT]=s39, [TRUE]=s40, [FALSE]=s41, [UNKNOWN]=s42, [L_PAREN]=s43, [EQUALS]=s44, [NOT_EQUALS]=s45, [LESS_THAN]=s46, [GREATER_THAN]=s47, [LESS_THAN_OR_EQUALS]=s48, [GREATER_THAN_OR_EQUALS]=s49, [EXISTS]=s50, [SELECT]=s51, [PLUS]=s52, [MINUS]=s53, [DOUBLE_PIPE]=s54, [STAR]=s55, [SLASH]=s56, [PERCENT]=s57, [TILDE]=s58, [NUMBER_LITERAL]=s59, [STRING_LITERAL]=s60, [NULL_LITERAL]=s61, [BOOLEAN_LITERAL]=s62, [IDENTIFIER]=s63, <CONDITION>=236, <BOOLEAN_TERM>=213, <BOOLEAN_FACTOR>=13, <BOOLEAN_TEST>=14, <BOOLEAN_PRIMARY>=15, <PREDICATE>=16, <COMPARISON_PREDICATE>=17, <BETWEEN_PREDICATE>=18, <IN_PREDICATE>=19, <LIKE_PREDICATE>=20, <NULL_PREDICATE>=21, <EXISTS_PREDICATE>=22, <VALUE>=23, <VALUE_LIST>=24, <SELECT_STATEMENT>=25, <BITWISE_OR_EXPRESSION>=26, <BITWISE_AND_EXPRESSION>=27, <BITWISE_XOR_EXPRESSION>=28, <SHIFT_LEFT_EXPRESSION>=29, <SHIFT_RIGHT_EXPRESSION>=30, <TERM_EXPRESSION>=31, <FACTOR_EXPRESSION>=32, <UNARY_EXPRESSION>=33, <PRIMARY_EXPRESSION>=34, <ENDPOINT_EXPRESSION>=35, <FUNCTION_CALL_EXPRESSION>=36, <GROUPING_EXPRESSION>=37, <COLUMN_REFERENCE>=38
|
|
236
|
+
[L_PAREN]=r7
|
|
237
|
+
[SEMICOLON]=s237
|
|
238
|
+
[R_PAREN]=r7
|
package/package.json
CHANGED
package/src/meta/common.ts
CHANGED
package/src/meta/selfhosted.ts
CHANGED
|
@@ -7,6 +7,7 @@ import { GrammarToken, GrammarTokenMetadata, GrammarTokenType, hydrateProduction
|
|
|
7
7
|
export const grammarLexerGenerator = new Slex<GrammarTokenType, GrammarTokenMetadata>({
|
|
8
8
|
EOF_TYPE: GrammarTokenType.EOF,
|
|
9
9
|
isHigherPrecedence: () => false,
|
|
10
|
+
ignoreTokens: [GrammarTokenType.SINGLE_LINE_COMMENT, GrammarTokenType.MULTI_LINE_COMMENT],
|
|
10
11
|
});
|
|
11
12
|
|
|
12
13
|
grammarLexerGenerator.addRule(
|
|
@@ -39,6 +40,9 @@ grammarLexerGenerator.addRule("comma", "$,", GrammarTokenType.COMMA);
|
|
|
39
40
|
grammarLexerGenerator.addRule("question_mark", "$?", GrammarTokenType.QUESTION_MARK);
|
|
40
41
|
grammarLexerGenerator.addRule("number", "(${digit})+", GrammarTokenType.NUMBER);
|
|
41
42
|
|
|
43
|
+
grammarLexerGenerator.addRule("single_line_comment", "$/$/(($\n)!)*", GrammarTokenType.SINGLE_LINE_COMMENT);
|
|
44
|
+
grammarLexerGenerator.addRule("multi_line_comment", "$/$*(($*)!|($*($/)!))*$*$/", GrammarTokenType.MULTI_LINE_COMMENT);
|
|
45
|
+
|
|
42
46
|
export abstract class BaseNode {}
|
|
43
47
|
|
|
44
48
|
export class ListNode<T> extends BaseNode {
|
|
@@ -136,7 +140,7 @@ function expandProduction(production: ProductionNode): ProductionNode[] {
|
|
|
136
140
|
production.lhs,
|
|
137
141
|
new ListNode<TokenNode | GroupedTokenNode>([
|
|
138
142
|
...beforeItems,
|
|
139
|
-
new TokenNode(
|
|
143
|
+
new TokenNode(item.type, new ListNode<GrammarToken>([variable]), item.name),
|
|
140
144
|
]),
|
|
141
145
|
production.originalProductionIndex,
|
|
142
146
|
production.name,
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { Slex } from "@scinorandex/slex";
|
|
2
|
-
import { Result } from "../utils/Result";
|
|
3
|
-
import { GrammarToken, GrammarTokenMetadata, GrammarTokenType, Production } from "./common";
|
|
4
|
-
export declare const grammarLexerGenerator: Slex<GrammarTokenType, GrammarTokenMetadata>;
|
|
5
|
-
interface LexerInterface {
|
|
6
|
-
peekNextToken(): GrammarToken;
|
|
7
|
-
getNextToken(): GrammarToken;
|
|
8
|
-
hasNextToken(): boolean;
|
|
9
|
-
}
|
|
10
|
-
export declare const tryBuildProductions: (lexer: LexerInterface | string) => Result<Production[]>;
|
|
11
|
-
export declare const buildProductions: (lexer: LexerInterface | string) => Production[];
|
|
12
|
-
export {};
|
package/dist/meta/handwritten.js
DELETED
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.buildProductions = exports.tryBuildProductions = exports.grammarLexerGenerator = void 0;
|
|
4
|
-
const slex_1 = require("@scinorandex/slex");
|
|
5
|
-
const common_1 = require("./common");
|
|
6
|
-
exports.grammarLexerGenerator = new slex_1.Slex({
|
|
7
|
-
EOF_TYPE: common_1.GrammarTokenType.EOF,
|
|
8
|
-
isHigherPrecedence: () => false,
|
|
9
|
-
});
|
|
10
|
-
exports.grammarLexerGenerator.addRule("lowercase", "a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z");
|
|
11
|
-
exports.grammarLexerGenerator.addRule("uppercase", "A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z");
|
|
12
|
-
exports.grammarLexerGenerator.addRule("letter", "${lowercase} | ${uppercase}");
|
|
13
|
-
exports.grammarLexerGenerator.addRule("digit", "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9");
|
|
14
|
-
exports.grammarLexerGenerator.addRule("alphanumeric", "${letter} | ${digit}");
|
|
15
|
-
exports.grammarLexerGenerator.addRule("identifier", "(${letter} | ${digit} | $_)*");
|
|
16
|
-
exports.grammarLexerGenerator.addRule("colon", "$:", common_1.GrammarTokenType.COLON);
|
|
17
|
-
exports.grammarLexerGenerator.addRule("semicolon", "$;", common_1.GrammarTokenType.SEMICOLON);
|
|
18
|
-
exports.grammarLexerGenerator.addRule("production_name", "$< ${identifier} $>", common_1.GrammarTokenType.PRODUCTION_NAME);
|
|
19
|
-
exports.grammarLexerGenerator.addRule("token_name", "$[ ${identifier} $]", common_1.GrammarTokenType.TOKEN_NAME);
|
|
20
|
-
const tryBuildProductions = (lexer) => {
|
|
21
|
-
if (typeof lexer === "string")
|
|
22
|
-
lexer = exports.grammarLexerGenerator.generate(lexer, () => ({}));
|
|
23
|
-
const productions = [];
|
|
24
|
-
const expect = (type) => {
|
|
25
|
-
const token = lexer.peekNextToken();
|
|
26
|
-
if (token.type !== type)
|
|
27
|
-
throw new Error(`Expected ${type}, got ${token.type}`);
|
|
28
|
-
lexer.getNextToken();
|
|
29
|
-
};
|
|
30
|
-
let productionIndex = 0;
|
|
31
|
-
const buildProduction = () => {
|
|
32
|
-
const productionLHS = lexer.getNextToken();
|
|
33
|
-
expect(common_1.GrammarTokenType.COLON);
|
|
34
|
-
const production = {
|
|
35
|
-
lhs: productionLHS,
|
|
36
|
-
identifier: productionLHS.lexeme,
|
|
37
|
-
rhs: [],
|
|
38
|
-
name: null,
|
|
39
|
-
originalProductionIndex: productionIndex++,
|
|
40
|
-
};
|
|
41
|
-
while (lexer.peekNextToken().type != common_1.GrammarTokenType.SEMICOLON) {
|
|
42
|
-
const productionRHS = lexer.getNextToken();
|
|
43
|
-
if (productionRHS.type == common_1.GrammarTokenType.PRODUCTION_NAME)
|
|
44
|
-
production.rhs.push({ type: "variable", token: productionRHS, identifier: productionRHS.lexeme, name: null });
|
|
45
|
-
else if (productionRHS.type == common_1.GrammarTokenType.TOKEN_NAME)
|
|
46
|
-
production.rhs.push({ type: "terminal", token: productionRHS, identifier: productionRHS.lexeme, name: null });
|
|
47
|
-
else
|
|
48
|
-
return {
|
|
49
|
-
success: false,
|
|
50
|
-
reason: `Unexpected token type: ${common_1.GrammarTokenType[productionRHS.type]}`,
|
|
51
|
-
token: productionRHS,
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
expect(common_1.GrammarTokenType.SEMICOLON);
|
|
55
|
-
return { success: true, value: production };
|
|
56
|
-
};
|
|
57
|
-
while (lexer.hasNextToken()) {
|
|
58
|
-
const result = buildProduction();
|
|
59
|
-
if (result.success === false)
|
|
60
|
-
return result;
|
|
61
|
-
productions.push(result.value);
|
|
62
|
-
}
|
|
63
|
-
return { success: true, value: productions };
|
|
64
|
-
};
|
|
65
|
-
exports.tryBuildProductions = tryBuildProductions;
|
|
66
|
-
const buildProductions = (lexer) => {
|
|
67
|
-
const result = (0, exports.tryBuildProductions)(lexer);
|
|
68
|
-
if (result.success === false)
|
|
69
|
-
throw new Error(`Encountered error "${result.reason}" while parsing grammar at ${result.token.line}:${result.token.column}`);
|
|
70
|
-
return result.value;
|
|
71
|
-
};
|
|
72
|
-
exports.buildProductions = buildProductions;
|
|
73
|
-
//# sourceMappingURL=handwritten.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"handwritten.js","sourceRoot":"","sources":["../../src/meta/handwritten.ts"],"names":[],"mappings":";;;AAAA,4CAAyC;AAEzC,qCAA4F;AAE/E,QAAA,qBAAqB,GAAG,IAAI,WAAI,CAAyC;IACpF,QAAQ,EAAE,yBAAgB,CAAC,GAAG;IAC9B,kBAAkB,EAAE,GAAG,EAAE,CAAC,KAAK;CAChC,CAAC,CAAC;AAEH,6BAAqB,CAAC,OAAO,CAC3B,WAAW,EACX,uGAAuG,CACxG,CAAC;AACF,6BAAqB,CAAC,OAAO,CAC3B,WAAW,EACX,uGAAuG,CACxG,CAAC;AACF,6BAAqB,CAAC,OAAO,CAAC,QAAQ,EAAE,6BAA6B,CAAC,CAAC;AACvE,6BAAqB,CAAC,OAAO,CAAC,OAAO,EAAE,uCAAuC,CAAC,CAAC;AAChF,6BAAqB,CAAC,OAAO,CAAC,cAAc,EAAE,sBAAsB,CAAC,CAAC;AACtE,6BAAqB,CAAC,OAAO,CAAC,YAAY,EAAE,8BAA8B,CAAC,CAAC;AAC5E,6BAAqB,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,yBAAgB,CAAC,KAAK,CAAC,CAAC;AACrE,6BAAqB,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE,yBAAgB,CAAC,SAAS,CAAC,CAAC;AAC7E,6BAAqB,CAAC,OAAO,CAAC,iBAAiB,EAAE,qBAAqB,EAAE,yBAAgB,CAAC,eAAe,CAAC,CAAC;AAC1G,6BAAqB,CAAC,OAAO,CAAC,YAAY,EAAE,qBAAqB,EAAE,yBAAgB,CAAC,UAAU,CAAC,CAAC;AAQzF,MAAM,mBAAmB,GAAG,CAAC,KAA8B,EAAwB,EAAE;IAC1F,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,KAAK,GAAG,6BAAqB,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEzF,MAAM,WAAW,GAAiB,EAAE,CAAC;IAErC,MAAM,MAAM,GAAG,CAAC,IAAsB,EAAE,EAAE;QACxC,MAAM,KAAK,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;QACpC,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,SAAS,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAChF,KAAK,CAAC,YAAY,EAAE,CAAC;IACvB,CAAC,CAAC;IAEF,IAAI,eAAe,GAAG,CAAC,CAAC;IAExB,MAAM,eAAe,GAAG,GAAuB,EAAE;QAC/C,MAAM,aAAa,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;QAC3C,MAAM,CAAC,yBAAgB,CAAC,KAAK,CAAC,CAAC;QAE/B,MAAM,UAAU,GAAe;YAC7B,GAAG,EAAE,aAAa;YAClB,UAAU,EAAE,aAAa,CAAC,MAAM;YAChC,GAAG,EAAE,EAAE;YACP,IAAI,EAAE,IAAI;YACV,uBAAuB,EAAE,eAAe,EAAE;SAC3C,CAAC;QAEF,OAAO,KAAK,CAAC,aAAa,EAAE,CAAC,IAAI,IAAI,yBAAgB,CAAC,SAAS,EAAE,CAAC;YAChE,MAAM,aAAa,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;YAE3C,IAAI,aAAa,CAAC,IAAI,IAAI,yBAAgB,CAAC,eAAe;gBACxD,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;iBAC3G,IAAI,aAAa,CAAC,IAAI,IAAI,yBAAgB,CAAC,UAAU;gBACxD,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;;gBAE9G,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,MAAM,EAAE,0BAA0B,yBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE;oBACxE,KAAK,EAAE,aAAa;iBACrB,CAAC;QACN,CAAC;QAED,MAAM,CAAC,yBAAgB,CAAC,SAAS,CAAC,CAAC;QACnC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;IAC9C,CAAC,CAAC;IAEF,OAAO,KAAK,CAAC,YAAY,EAAE,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;QACjC,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;YAAE,OAAO,MAAM,CAAC;QAC5C,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;AAC/C,CAAC,CAAC;AAnDW,QAAA,mBAAmB,uBAmD9B;AAEK,MAAM,gBAAgB,GAAG,CAAC,KAA8B,EAAgB,EAAE;IAC/E,MAAM,MAAM,GAAG,IAAA,2BAAmB,EAAC,KAAK,CAAC,CAAC;IAC1C,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;QAC1B,MAAM,IAAI,KAAK,CACb,sBAAsB,MAAM,CAAC,MAAM,8BAA8B,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAC5G,CAAC;IACJ,OAAO,MAAM,CAAC,KAAK,CAAC;AACtB,CAAC,CAAC;AAPW,QAAA,gBAAgB,oBAO3B"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { Slex } from "@scinorandex/slex";
|
|
2
|
-
import { TableState } from "../parser";
|
|
3
|
-
type TableTokenMetadata = {};
|
|
4
|
-
export declare enum TableTokenType {
|
|
5
|
-
PRODUCTION_NAME = 0,
|
|
6
|
-
TOKEN_NAME = 1,
|
|
7
|
-
COMMA = 2,
|
|
8
|
-
EQUALS = 3,
|
|
9
|
-
SHIFT_ACTION = 4,
|
|
10
|
-
REDUCE_ACTION = 5,
|
|
11
|
-
GOTO_ACTION = 6,
|
|
12
|
-
EOF = 7
|
|
13
|
-
}
|
|
14
|
-
export declare const tableLexerGenerator: Slex<TableTokenType, TableTokenMetadata>;
|
|
15
|
-
export declare const buildStates: (grammar: string) => TableState[];
|
|
16
|
-
export {};
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.buildStates = exports.tableLexerGenerator = exports.TableTokenType = void 0;
|
|
4
|
-
const slex_1 = require("@scinorandex/slex");
|
|
5
|
-
const parser_1 = require("../parser");
|
|
6
|
-
var TableTokenType;
|
|
7
|
-
(function (TableTokenType) {
|
|
8
|
-
TableTokenType[TableTokenType["PRODUCTION_NAME"] = 0] = "PRODUCTION_NAME";
|
|
9
|
-
TableTokenType[TableTokenType["TOKEN_NAME"] = 1] = "TOKEN_NAME";
|
|
10
|
-
TableTokenType[TableTokenType["COMMA"] = 2] = "COMMA";
|
|
11
|
-
TableTokenType[TableTokenType["EQUALS"] = 3] = "EQUALS";
|
|
12
|
-
TableTokenType[TableTokenType["SHIFT_ACTION"] = 4] = "SHIFT_ACTION";
|
|
13
|
-
TableTokenType[TableTokenType["REDUCE_ACTION"] = 5] = "REDUCE_ACTION";
|
|
14
|
-
TableTokenType[TableTokenType["GOTO_ACTION"] = 6] = "GOTO_ACTION";
|
|
15
|
-
TableTokenType[TableTokenType["EOF"] = 7] = "EOF";
|
|
16
|
-
})(TableTokenType || (exports.TableTokenType = TableTokenType = {}));
|
|
17
|
-
exports.tableLexerGenerator = new slex_1.Slex({
|
|
18
|
-
EOF_TYPE: TableTokenType.EOF,
|
|
19
|
-
isHigherPrecedence: () => false,
|
|
20
|
-
});
|
|
21
|
-
exports.tableLexerGenerator.addRule("lowercase", "a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z");
|
|
22
|
-
exports.tableLexerGenerator.addRule("uppercase", "A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z");
|
|
23
|
-
exports.tableLexerGenerator.addRule("letter", "${lowercase} | ${uppercase}");
|
|
24
|
-
exports.tableLexerGenerator.addRule("digit", "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9");
|
|
25
|
-
exports.tableLexerGenerator.addRule("alphanumeric", "${letter} | ${digit}");
|
|
26
|
-
exports.tableLexerGenerator.addRule("identifier", "(${letter} | ${digit} | $_)*");
|
|
27
|
-
exports.tableLexerGenerator.addRule("comma", "$,", TableTokenType.COMMA);
|
|
28
|
-
exports.tableLexerGenerator.addRule("equals", "$=", TableTokenType.EQUALS);
|
|
29
|
-
exports.tableLexerGenerator.addRule("production_name", "$< ${identifier} $>", TableTokenType.PRODUCTION_NAME);
|
|
30
|
-
exports.tableLexerGenerator.addRule("token_name", "$[ ${identifier} $]", TableTokenType.TOKEN_NAME);
|
|
31
|
-
exports.tableLexerGenerator.addRule("shift_action", "s(${digit})*", TableTokenType.SHIFT_ACTION);
|
|
32
|
-
exports.tableLexerGenerator.addRule("reduce_action", "r(${digit})*", TableTokenType.REDUCE_ACTION);
|
|
33
|
-
exports.tableLexerGenerator.addRule("goto_action", "${digit}(${digit})*", TableTokenType.GOTO_ACTION);
|
|
34
|
-
const buildStates = (grammar) => grammar.split("\n").map((line) => {
|
|
35
|
-
const lexer = exports.tableLexerGenerator.generate(line, () => ({}));
|
|
36
|
-
const state = new parser_1.TableState();
|
|
37
|
-
const expect = (type) => {
|
|
38
|
-
const token = lexer.peekNextToken();
|
|
39
|
-
if (token.type !== type)
|
|
40
|
-
throw new Error(`Expected ${TableTokenType[type]}, got ${TableTokenType[token.type]}`);
|
|
41
|
-
lexer.getNextToken();
|
|
42
|
-
};
|
|
43
|
-
while (lexer.hasNextToken()) {
|
|
44
|
-
const token = lexer.getNextToken();
|
|
45
|
-
expect(TableTokenType.EQUALS);
|
|
46
|
-
const value = lexer.getNextToken();
|
|
47
|
-
const setting = token.type === TableTokenType.PRODUCTION_NAME
|
|
48
|
-
? { type: "goto", value: parseInt(value.lexeme) }
|
|
49
|
-
: value.type === TableTokenType.REDUCE_ACTION
|
|
50
|
-
? { type: "reduce", value: parseInt(value.lexeme.substring(1)) }
|
|
51
|
-
: { type: "shift", value: parseInt(value.lexeme.substring(1)) };
|
|
52
|
-
state.actions.set(token.lexeme, setting);
|
|
53
|
-
if (lexer.peekNextToken().type == TableTokenType.COMMA)
|
|
54
|
-
lexer.getNextToken();
|
|
55
|
-
}
|
|
56
|
-
return state;
|
|
57
|
-
});
|
|
58
|
-
exports.buildStates = buildStates;
|
|
59
|
-
//# sourceMappingURL=handwritten.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"handwritten.js","sourceRoot":"","sources":["../../src/table/handwritten.ts"],"names":[],"mappings":"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"}
|
package/src/meta/handwritten.ts
DELETED
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
import { Slex } from "@scinorandex/slex";
|
|
2
|
-
import { Result } from "../utils/Result";
|
|
3
|
-
import { GrammarToken, GrammarTokenMetadata, GrammarTokenType, Production } from "./common";
|
|
4
|
-
|
|
5
|
-
export const grammarLexerGenerator = new Slex<GrammarTokenType, GrammarTokenMetadata>({
|
|
6
|
-
EOF_TYPE: GrammarTokenType.EOF,
|
|
7
|
-
isHigherPrecedence: () => false,
|
|
8
|
-
});
|
|
9
|
-
|
|
10
|
-
grammarLexerGenerator.addRule(
|
|
11
|
-
"lowercase",
|
|
12
|
-
"a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z",
|
|
13
|
-
);
|
|
14
|
-
grammarLexerGenerator.addRule(
|
|
15
|
-
"uppercase",
|
|
16
|
-
"A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z",
|
|
17
|
-
);
|
|
18
|
-
grammarLexerGenerator.addRule("letter", "${lowercase} | ${uppercase}");
|
|
19
|
-
grammarLexerGenerator.addRule("digit", "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9");
|
|
20
|
-
grammarLexerGenerator.addRule("alphanumeric", "${letter} | ${digit}");
|
|
21
|
-
grammarLexerGenerator.addRule("identifier", "(${letter} | ${digit} | $_)*");
|
|
22
|
-
grammarLexerGenerator.addRule("colon", "$:", GrammarTokenType.COLON);
|
|
23
|
-
grammarLexerGenerator.addRule("semicolon", "$;", GrammarTokenType.SEMICOLON);
|
|
24
|
-
grammarLexerGenerator.addRule("production_name", "$< ${identifier} $>", GrammarTokenType.PRODUCTION_NAME);
|
|
25
|
-
grammarLexerGenerator.addRule("token_name", "$[ ${identifier} $]", GrammarTokenType.TOKEN_NAME);
|
|
26
|
-
|
|
27
|
-
interface LexerInterface {
|
|
28
|
-
peekNextToken(): GrammarToken;
|
|
29
|
-
getNextToken(): GrammarToken;
|
|
30
|
-
hasNextToken(): boolean;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
export const tryBuildProductions = (lexer: LexerInterface | string): Result<Production[]> => {
|
|
34
|
-
if (typeof lexer === "string") lexer = grammarLexerGenerator.generate(lexer, () => ({}));
|
|
35
|
-
|
|
36
|
-
const productions: Production[] = [];
|
|
37
|
-
|
|
38
|
-
const expect = (type: GrammarTokenType) => {
|
|
39
|
-
const token = lexer.peekNextToken();
|
|
40
|
-
if (token.type !== type) throw new Error(`Expected ${type}, got ${token.type}`);
|
|
41
|
-
lexer.getNextToken();
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
let productionIndex = 0;
|
|
45
|
-
|
|
46
|
-
const buildProduction = (): Result<Production> => {
|
|
47
|
-
const productionLHS = lexer.getNextToken();
|
|
48
|
-
expect(GrammarTokenType.COLON);
|
|
49
|
-
|
|
50
|
-
const production: Production = {
|
|
51
|
-
lhs: productionLHS,
|
|
52
|
-
identifier: productionLHS.lexeme,
|
|
53
|
-
rhs: [],
|
|
54
|
-
name: null,
|
|
55
|
-
originalProductionIndex: productionIndex++,
|
|
56
|
-
};
|
|
57
|
-
|
|
58
|
-
while (lexer.peekNextToken().type != GrammarTokenType.SEMICOLON) {
|
|
59
|
-
const productionRHS = lexer.getNextToken();
|
|
60
|
-
|
|
61
|
-
if (productionRHS.type == GrammarTokenType.PRODUCTION_NAME)
|
|
62
|
-
production.rhs.push({ type: "variable", token: productionRHS, identifier: productionRHS.lexeme, name: null });
|
|
63
|
-
else if (productionRHS.type == GrammarTokenType.TOKEN_NAME)
|
|
64
|
-
production.rhs.push({ type: "terminal", token: productionRHS, identifier: productionRHS.lexeme, name: null });
|
|
65
|
-
else
|
|
66
|
-
return {
|
|
67
|
-
success: false,
|
|
68
|
-
reason: `Unexpected token type: ${GrammarTokenType[productionRHS.type]}`,
|
|
69
|
-
token: productionRHS,
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
expect(GrammarTokenType.SEMICOLON);
|
|
74
|
-
return { success: true, value: production };
|
|
75
|
-
};
|
|
76
|
-
|
|
77
|
-
while (lexer.hasNextToken()) {
|
|
78
|
-
const result = buildProduction();
|
|
79
|
-
if (result.success === false) return result;
|
|
80
|
-
productions.push(result.value);
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
return { success: true, value: productions };
|
|
84
|
-
};
|
|
85
|
-
|
|
86
|
-
export const buildProductions = (lexer: LexerInterface | string): Production[] => {
|
|
87
|
-
const result = tryBuildProductions(lexer);
|
|
88
|
-
if (result.success === false)
|
|
89
|
-
throw new Error(
|
|
90
|
-
`Encountered error "${result.reason}" while parsing grammar at ${result.token.line}:${result.token.column}`,
|
|
91
|
-
);
|
|
92
|
-
return result.value;
|
|
93
|
-
};
|
package/src/table/handwritten.ts
DELETED
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import { Slex } from "@scinorandex/slex";
|
|
2
|
-
import { TableAction, TableState } from "../parser";
|
|
3
|
-
|
|
4
|
-
type TableTokenMetadata = {};
|
|
5
|
-
export enum TableTokenType {
|
|
6
|
-
PRODUCTION_NAME,
|
|
7
|
-
TOKEN_NAME,
|
|
8
|
-
COMMA,
|
|
9
|
-
EQUALS,
|
|
10
|
-
SHIFT_ACTION,
|
|
11
|
-
REDUCE_ACTION,
|
|
12
|
-
GOTO_ACTION,
|
|
13
|
-
EOF,
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export const tableLexerGenerator = new Slex<TableTokenType, TableTokenMetadata>({
|
|
17
|
-
EOF_TYPE: TableTokenType.EOF,
|
|
18
|
-
isHigherPrecedence: () => false,
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
tableLexerGenerator.addRule(
|
|
22
|
-
"lowercase",
|
|
23
|
-
"a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z",
|
|
24
|
-
);
|
|
25
|
-
tableLexerGenerator.addRule(
|
|
26
|
-
"uppercase",
|
|
27
|
-
"A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z",
|
|
28
|
-
);
|
|
29
|
-
tableLexerGenerator.addRule("letter", "${lowercase} | ${uppercase}");
|
|
30
|
-
tableLexerGenerator.addRule("digit", "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9");
|
|
31
|
-
tableLexerGenerator.addRule("alphanumeric", "${letter} | ${digit}");
|
|
32
|
-
tableLexerGenerator.addRule("identifier", "(${letter} | ${digit} | $_)*");
|
|
33
|
-
tableLexerGenerator.addRule("comma", "$,", TableTokenType.COMMA);
|
|
34
|
-
tableLexerGenerator.addRule("equals", "$=", TableTokenType.EQUALS);
|
|
35
|
-
tableLexerGenerator.addRule("production_name", "$< ${identifier} $>", TableTokenType.PRODUCTION_NAME);
|
|
36
|
-
tableLexerGenerator.addRule("token_name", "$[ ${identifier} $]", TableTokenType.TOKEN_NAME);
|
|
37
|
-
tableLexerGenerator.addRule("shift_action", "s(${digit})*", TableTokenType.SHIFT_ACTION);
|
|
38
|
-
tableLexerGenerator.addRule("reduce_action", "r(${digit})*", TableTokenType.REDUCE_ACTION);
|
|
39
|
-
tableLexerGenerator.addRule("goto_action", "${digit}(${digit})*", TableTokenType.GOTO_ACTION);
|
|
40
|
-
|
|
41
|
-
export const buildStates = (grammar: string) =>
|
|
42
|
-
grammar.split("\n").map((line) => {
|
|
43
|
-
const lexer = tableLexerGenerator.generate(line, () => ({}));
|
|
44
|
-
const state = new TableState();
|
|
45
|
-
|
|
46
|
-
const expect = (type: TableTokenType) => {
|
|
47
|
-
const token = lexer.peekNextToken();
|
|
48
|
-
if (token.type !== type) throw new Error(`Expected ${TableTokenType[type]}, got ${TableTokenType[token.type]}`);
|
|
49
|
-
lexer.getNextToken();
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
while (lexer.hasNextToken()) {
|
|
53
|
-
const token = lexer.getNextToken();
|
|
54
|
-
expect(TableTokenType.EQUALS);
|
|
55
|
-
const value = lexer.getNextToken();
|
|
56
|
-
|
|
57
|
-
const setting: TableAction =
|
|
58
|
-
token.type === TableTokenType.PRODUCTION_NAME
|
|
59
|
-
? { type: "goto", value: parseInt(value.lexeme) }
|
|
60
|
-
: value.type === TableTokenType.REDUCE_ACTION
|
|
61
|
-
? { type: "reduce", value: parseInt(value.lexeme.substring(1)) }
|
|
62
|
-
: { type: "shift", value: parseInt(value.lexeme.substring(1)) };
|
|
63
|
-
|
|
64
|
-
state.actions.set(token.lexeme, setting);
|
|
65
|
-
if (lexer.peekNextToken().type == TableTokenType.COMMA) lexer.getNextToken();
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
return state;
|
|
69
|
-
});
|