feat: support trino(presto) sql language (#105)
* feat(trino): intergrate prestoGrammar to dt-sql-parser * feat(trino): add trinoSQl test framework * feat(trino): intergrate test files for trinoSQL * test(trino): support alterStatement test * test(trino): support alter table set authorization statement * feat(trino): complete trinosql alter unit tests * test(trino): complete dropStatement unit cases for trinosql * test(trino): complete create statement unit cases for trinoSQL * test(trino): complete insertStatement unit cases for trinoSQl * test(trino): dropStatement test files changed to short line split * test(trino): complete selectStatement unit cases and grammar check * test(trino): complete commentStatement unit case for trinoSQL * test(trino): complete analyze commit and call clause unit case * test(trino): complete delete deny and describe statement unit case * test(trino): complete explain execute and grant statement unit case * feat(trino): improve GRANT Role grammar * test(trino): complete show statement unit case * test(trino): complete truncateTable startTransaction update and values statement unit case * test(trino): improve update statement test cases * test(trino): complete revoke revoke roles and rollback statement unit case * test(trino): add set statement test case * feat: generator new trino parser and lexer file * feat(trino): improve alter statement grammar * test(trino): complete alter statement unit cases * feat(trino): support case-insensitive lexers * fix(trino): rm unless gen files * test(trino): complete merge and reset session statement unit cases * test(trino): complete merge anduse statement unit cases * test(trino): complete prepare and refresh materialized view statement unit cases * test(trino): improve statement unit cases * test(trino): complete match recognize statement unit cases * test(trino): complete window with row pattern recognition statement unit cases
This commit is contained in:
1033
src/grammar/trinosql/TrinoSqlParser.g4
Normal file
1033
src/grammar/trinosql/TrinoSqlParser.g4
Normal file
File diff suppressed because it is too large
Load Diff
@ -12,3 +12,5 @@ export * from './lib/spark/SparkSqlVisitor';
|
||||
export * from './lib/spark/SparkSqlListener';
|
||||
export * from './lib/pgsql/PostgreSQLParserListener';
|
||||
export * from './lib/pgsql/PostgreSQLParserVisitor';
|
||||
export * from './lib/trinosql/trinoSqlParserListener';
|
||||
export * from './lib/trinosql/trinoSqlParserVisitor';
|
||||
|
655
src/lib/trinosql/trinoSqlParser.interp
Normal file
655
src/lib/trinosql/trinoSqlParser.interp
Normal file
File diff suppressed because one or more lines are too long
538
src/lib/trinosql/trinoSqlParser.tokens
Normal file
538
src/lib/trinosql/trinoSqlParser.tokens
Normal file
@ -0,0 +1,538 @@
|
||||
T__0=1
|
||||
T__1=2
|
||||
T__2=3
|
||||
T__3=4
|
||||
T__4=5
|
||||
T__5=6
|
||||
T__6=7
|
||||
T__7=8
|
||||
T__8=9
|
||||
T__9=10
|
||||
T__10=11
|
||||
T__11=12
|
||||
T__12=13
|
||||
T__13=14
|
||||
T__14=15
|
||||
T__15=16
|
||||
ADD=17
|
||||
ADMIN=18
|
||||
AFTER=19
|
||||
ALL=20
|
||||
ALTER=21
|
||||
ANALYZE=22
|
||||
AND=23
|
||||
ANY=24
|
||||
ARRAY=25
|
||||
AS=26
|
||||
ASC=27
|
||||
AT=28
|
||||
AUTHORIZATION=29
|
||||
BERNOULLI=30
|
||||
BETWEEN=31
|
||||
BY=32
|
||||
CALL=33
|
||||
CASCADE=34
|
||||
CASE=35
|
||||
CAST=36
|
||||
CATALOGS=37
|
||||
COLUMN=38
|
||||
COLUMNS=39
|
||||
COMMENT=40
|
||||
COMMIT=41
|
||||
COMMITTED=42
|
||||
CONSTRAINT=43
|
||||
CREATE=44
|
||||
CROSS=45
|
||||
CUBE=46
|
||||
CURRENT=47
|
||||
CURRENT_CATALOG=48
|
||||
CURRENT_DATE=49
|
||||
CURRENT_PATH=50
|
||||
CURRENT_ROLE=51
|
||||
CURRENT_SCHEMA=52
|
||||
CURRENT_TIME=53
|
||||
CURRENT_TIMESTAMP=54
|
||||
CURRENT_USER=55
|
||||
DATA=56
|
||||
DATE=57
|
||||
DAY=58
|
||||
DEFAULT=59
|
||||
DEALLOCATE=60
|
||||
DEFINER=61
|
||||
DELETE=62
|
||||
DESC=63
|
||||
DESCRIBE=64
|
||||
DEFINE=65
|
||||
DISTINCT=66
|
||||
DISTRIBUTED=67
|
||||
DOUBLE=68
|
||||
DROP=69
|
||||
ELSE=70
|
||||
EMPTY=71
|
||||
END=72
|
||||
ESCAPE=73
|
||||
EXCEPT=74
|
||||
EXCLUDING=75
|
||||
EXECUTE=76
|
||||
EXISTS=77
|
||||
EXPLAIN=78
|
||||
EXTRACT=79
|
||||
FALSE=80
|
||||
FETCH=81
|
||||
FILTER=82
|
||||
FINAL=83
|
||||
FIRST=84
|
||||
FOLLOWING=85
|
||||
FOR=86
|
||||
FORMAT=87
|
||||
FROM=88
|
||||
FULL=89
|
||||
FUNCTIONS=90
|
||||
GRANT=91
|
||||
GRANTED=92
|
||||
GRANTS=93
|
||||
DENY=94
|
||||
GRAPHVIZ=95
|
||||
GROUP=96
|
||||
GROUPING=97
|
||||
GROUPS=98
|
||||
HAVING=99
|
||||
HOUR=100
|
||||
IF=101
|
||||
IGNORE=102
|
||||
IN=103
|
||||
INCLUDING=104
|
||||
INITIAL=105
|
||||
INNER=106
|
||||
INPUT=107
|
||||
INSERT=108
|
||||
INTERSECT=109
|
||||
INTERVAL=110
|
||||
INTO=111
|
||||
INVOKER=112
|
||||
IO=113
|
||||
IS=114
|
||||
ISOLATION=115
|
||||
JOIN=116
|
||||
JSON=117
|
||||
LAST=118
|
||||
LATERAL=119
|
||||
LEFT=120
|
||||
LEVEL=121
|
||||
LIKE=122
|
||||
LIMIT=123
|
||||
LOCAL=124
|
||||
LOCALTIME=125
|
||||
LOCALTIMESTAMP=126
|
||||
LOGICAL=127
|
||||
MAP=128
|
||||
MATCH=129
|
||||
MATCHED=130
|
||||
MATCHES=131
|
||||
MATCH_RECOGNIZE=132
|
||||
MATERIALIZED=133
|
||||
MEASURES=134
|
||||
MERGE=135
|
||||
MINUTE=136
|
||||
MONTH=137
|
||||
NATURAL=138
|
||||
NEXT=139
|
||||
NFC=140
|
||||
NFD=141
|
||||
NFKC=142
|
||||
NFKD=143
|
||||
NO=144
|
||||
NONE=145
|
||||
NORMALIZE=146
|
||||
NOT=147
|
||||
NULL=148
|
||||
NULLIF=149
|
||||
NULLS=150
|
||||
OFFSET=151
|
||||
OMIT=152
|
||||
ON=153
|
||||
ONE=154
|
||||
ONLY=155
|
||||
OPTION=156
|
||||
OR=157
|
||||
ORDER=158
|
||||
ORDINALITY=159
|
||||
OUTER=160
|
||||
OUTPUT=161
|
||||
OVER=162
|
||||
PARTITION=163
|
||||
PARTITIONS=164
|
||||
PAST=165
|
||||
PATH=166
|
||||
PATTERN=167
|
||||
PER=168
|
||||
PERMUTE=169
|
||||
POSITION=170
|
||||
PRECEDING=171
|
||||
PRECISION=172
|
||||
PREPARE=173
|
||||
PRIVILEGES=174
|
||||
PROPERTIES=175
|
||||
RANGE=176
|
||||
READ=177
|
||||
RECURSIVE=178
|
||||
REFRESH=179
|
||||
RENAME=180
|
||||
REPEATABLE=181
|
||||
REPLACE=182
|
||||
RESET=183
|
||||
RESPECT=184
|
||||
RESTRICT=185
|
||||
REVOKE=186
|
||||
RIGHT=187
|
||||
ROLE=188
|
||||
ROLES=189
|
||||
ROLLBACK=190
|
||||
ROLLUP=191
|
||||
ROW=192
|
||||
ROWS=193
|
||||
RUNNING=194
|
||||
SCHEMA=195
|
||||
SCHEMAS=196
|
||||
SECOND=197
|
||||
SECURITY=198
|
||||
SEEK=199
|
||||
SELECT=200
|
||||
SERIALIZABLE=201
|
||||
SESSION=202
|
||||
SET=203
|
||||
SETS=204
|
||||
SHOW=205
|
||||
SOME=206
|
||||
START=207
|
||||
STATS=208
|
||||
SUBSET=209
|
||||
SUBSTRING=210
|
||||
SYSTEM=211
|
||||
TABLE=212
|
||||
TABLES=213
|
||||
TABLESAMPLE=214
|
||||
TEXT=215
|
||||
THEN=216
|
||||
TIES=217
|
||||
TIME=218
|
||||
TIMESTAMP=219
|
||||
TO=220
|
||||
TRANSACTION=221
|
||||
TRUNCATE=222
|
||||
TRUE=223
|
||||
TRY_CAST=224
|
||||
TYPE=225
|
||||
UESCAPE=226
|
||||
UNBOUNDED=227
|
||||
UNCOMMITTED=228
|
||||
UNION=229
|
||||
UNMATCHED=230
|
||||
UNNEST=231
|
||||
UPDATE=232
|
||||
USE=233
|
||||
USER=234
|
||||
USING=235
|
||||
VALIDATE=236
|
||||
VALUES=237
|
||||
VERBOSE=238
|
||||
VIEW=239
|
||||
WHEN=240
|
||||
WHERE=241
|
||||
WINDOW=242
|
||||
WITH=243
|
||||
WITHOUT=244
|
||||
WORK=245
|
||||
WRITE=246
|
||||
YEAR=247
|
||||
ZONE=248
|
||||
EQ=249
|
||||
NEQ=250
|
||||
LT=251
|
||||
LTE=252
|
||||
GT=253
|
||||
GTE=254
|
||||
PLUS=255
|
||||
MINUS=256
|
||||
ASTERISK=257
|
||||
SLASH=258
|
||||
PERCENT=259
|
||||
CONCAT=260
|
||||
QUESTION_MARK=261
|
||||
STRING=262
|
||||
UNICODE_STRING=263
|
||||
BINARY_LITERAL=264
|
||||
INTEGER_VALUE=265
|
||||
DECIMAL_VALUE=266
|
||||
DOUBLE_VALUE=267
|
||||
IDENTIFIER=268
|
||||
DIGIT_IDENTIFIER=269
|
||||
QUOTED_IDENTIFIER=270
|
||||
BACKQUOTED_IDENTIFIER=271
|
||||
SEMICOLON=272
|
||||
SIMPLE_COMMENT=273
|
||||
BRACKETED_COMMENT=274
|
||||
WS=275
|
||||
UNRECOGNIZED=276
|
||||
DELIMITER=277
|
||||
'.'=1
|
||||
'('=2
|
||||
')'=3
|
||||
','=4
|
||||
'SKIP'=5
|
||||
'->'=6
|
||||
'['=7
|
||||
']'=8
|
||||
'|'=9
|
||||
'^'=10
|
||||
'$'=11
|
||||
'{-'=12
|
||||
'-}'=13
|
||||
'{'=14
|
||||
'}'=15
|
||||
'=>'=16
|
||||
'ADD'=17
|
||||
'ADMIN'=18
|
||||
'AFTER'=19
|
||||
'ALL'=20
|
||||
'ALTER'=21
|
||||
'ANALYZE'=22
|
||||
'AND'=23
|
||||
'ANY'=24
|
||||
'ARRAY'=25
|
||||
'AS'=26
|
||||
'ASC'=27
|
||||
'AT'=28
|
||||
'AUTHORIZATION'=29
|
||||
'BERNOULLI'=30
|
||||
'BETWEEN'=31
|
||||
'BY'=32
|
||||
'CALL'=33
|
||||
'CASCADE'=34
|
||||
'CASE'=35
|
||||
'CAST'=36
|
||||
'CATALOGS'=37
|
||||
'COLUMN'=38
|
||||
'COLUMNS'=39
|
||||
'COMMENT'=40
|
||||
'COMMIT'=41
|
||||
'COMMITTED'=42
|
||||
'CONSTRAINT'=43
|
||||
'CREATE'=44
|
||||
'CROSS'=45
|
||||
'CUBE'=46
|
||||
'CURRENT'=47
|
||||
'CURRENT_CATALOG'=48
|
||||
'CURRENT_DATE'=49
|
||||
'CURRENT_PATH'=50
|
||||
'CURRENT_ROLE'=51
|
||||
'CURRENT_SCHEMA'=52
|
||||
'CURRENT_TIME'=53
|
||||
'CURRENT_TIMESTAMP'=54
|
||||
'CURRENT_USER'=55
|
||||
'DATA'=56
|
||||
'DATE'=57
|
||||
'DAY'=58
|
||||
'DEFAULT'=59
|
||||
'DEALLOCATE'=60
|
||||
'DEFINER'=61
|
||||
'DELETE'=62
|
||||
'DESC'=63
|
||||
'DESCRIBE'=64
|
||||
'DEFINE'=65
|
||||
'DISTINCT'=66
|
||||
'DISTRIBUTED'=67
|
||||
'DOUBLE'=68
|
||||
'DROP'=69
|
||||
'ELSE'=70
|
||||
'EMPTY'=71
|
||||
'END'=72
|
||||
'ESCAPE'=73
|
||||
'EXCEPT'=74
|
||||
'EXCLUDING'=75
|
||||
'EXECUTE'=76
|
||||
'EXISTS'=77
|
||||
'EXPLAIN'=78
|
||||
'EXTRACT'=79
|
||||
'FALSE'=80
|
||||
'FETCH'=81
|
||||
'FILTER'=82
|
||||
'FINAL'=83
|
||||
'FIRST'=84
|
||||
'FOLLOWING'=85
|
||||
'FOR'=86
|
||||
'FORMAT'=87
|
||||
'FROM'=88
|
||||
'FULL'=89
|
||||
'FUNCTIONS'=90
|
||||
'GRANT'=91
|
||||
'GRANTED'=92
|
||||
'GRANTS'=93
|
||||
'DENY'=94
|
||||
'GRAPHVIZ'=95
|
||||
'GROUP'=96
|
||||
'GROUPING'=97
|
||||
'GROUPS'=98
|
||||
'HAVING'=99
|
||||
'HOUR'=100
|
||||
'IF'=101
|
||||
'IGNORE'=102
|
||||
'IN'=103
|
||||
'INCLUDING'=104
|
||||
'INITIAL'=105
|
||||
'INNER'=106
|
||||
'INPUT'=107
|
||||
'INSERT'=108
|
||||
'INTERSECT'=109
|
||||
'INTERVAL'=110
|
||||
'INTO'=111
|
||||
'INVOKER'=112
|
||||
'IO'=113
|
||||
'IS'=114
|
||||
'ISOLATION'=115
|
||||
'JOIN'=116
|
||||
'JSON'=117
|
||||
'LAST'=118
|
||||
'LATERAL'=119
|
||||
'LEFT'=120
|
||||
'LEVEL'=121
|
||||
'LIKE'=122
|
||||
'LIMIT'=123
|
||||
'LOCAL'=124
|
||||
'LOCALTIME'=125
|
||||
'LOCALTIMESTAMP'=126
|
||||
'LOGICAL'=127
|
||||
'MAP'=128
|
||||
'MATCH'=129
|
||||
'MATCHED'=130
|
||||
'MATCHES'=131
|
||||
'MATCH_RECOGNIZE'=132
|
||||
'MATERIALIZED'=133
|
||||
'MEASURES'=134
|
||||
'MERGE'=135
|
||||
'MINUTE'=136
|
||||
'MONTH'=137
|
||||
'NATURAL'=138
|
||||
'NEXT'=139
|
||||
'NFC'=140
|
||||
'NFD'=141
|
||||
'NFKC'=142
|
||||
'NFKD'=143
|
||||
'NO'=144
|
||||
'NONE'=145
|
||||
'NORMALIZE'=146
|
||||
'NOT'=147
|
||||
'NULL'=148
|
||||
'NULLIF'=149
|
||||
'NULLS'=150
|
||||
'OFFSET'=151
|
||||
'OMIT'=152
|
||||
'ON'=153
|
||||
'ONE'=154
|
||||
'ONLY'=155
|
||||
'OPTION'=156
|
||||
'OR'=157
|
||||
'ORDER'=158
|
||||
'ORDINALITY'=159
|
||||
'OUTER'=160
|
||||
'OUTPUT'=161
|
||||
'OVER'=162
|
||||
'PARTITION'=163
|
||||
'PARTITIONS'=164
|
||||
'PAST'=165
|
||||
'PATH'=166
|
||||
'PATTERN'=167
|
||||
'PER'=168
|
||||
'PERMUTE'=169
|
||||
'POSITION'=170
|
||||
'PRECEDING'=171
|
||||
'PRECISION'=172
|
||||
'PREPARE'=173
|
||||
'PRIVILEGES'=174
|
||||
'PROPERTIES'=175
|
||||
'RANGE'=176
|
||||
'READ'=177
|
||||
'RECURSIVE'=178
|
||||
'REFRESH'=179
|
||||
'RENAME'=180
|
||||
'REPEATABLE'=181
|
||||
'REPLACE'=182
|
||||
'RESET'=183
|
||||
'RESPECT'=184
|
||||
'RESTRICT'=185
|
||||
'REVOKE'=186
|
||||
'RIGHT'=187
|
||||
'ROLE'=188
|
||||
'ROLES'=189
|
||||
'ROLLBACK'=190
|
||||
'ROLLUP'=191
|
||||
'ROW'=192
|
||||
'ROWS'=193
|
||||
'RUNNING'=194
|
||||
'SCHEMA'=195
|
||||
'SCHEMAS'=196
|
||||
'SECOND'=197
|
||||
'SECURITY'=198
|
||||
'SEEK'=199
|
||||
'SELECT'=200
|
||||
'SERIALIZABLE'=201
|
||||
'SESSION'=202
|
||||
'SET'=203
|
||||
'SETS'=204
|
||||
'SHOW'=205
|
||||
'SOME'=206
|
||||
'START'=207
|
||||
'STATS'=208
|
||||
'SUBSET'=209
|
||||
'SUBSTRING'=210
|
||||
'SYSTEM'=211
|
||||
'TABLE'=212
|
||||
'TABLES'=213
|
||||
'TABLESAMPLE'=214
|
||||
'TEXT'=215
|
||||
'THEN'=216
|
||||
'TIES'=217
|
||||
'TIME'=218
|
||||
'TIMESTAMP'=219
|
||||
'TO'=220
|
||||
'TRANSACTION'=221
|
||||
'TRUNCATE'=222
|
||||
'TRUE'=223
|
||||
'TRY_CAST'=224
|
||||
'TYPE'=225
|
||||
'UESCAPE'=226
|
||||
'UNBOUNDED'=227
|
||||
'UNCOMMITTED'=228
|
||||
'UNION'=229
|
||||
'UNMATCHED'=230
|
||||
'UNNEST'=231
|
||||
'UPDATE'=232
|
||||
'USE'=233
|
||||
'USER'=234
|
||||
'USING'=235
|
||||
'VALIDATE'=236
|
||||
'VALUES'=237
|
||||
'VERBOSE'=238
|
||||
'VIEW'=239
|
||||
'WHEN'=240
|
||||
'WHERE'=241
|
||||
'WINDOW'=242
|
||||
'WITH'=243
|
||||
'WITHOUT'=244
|
||||
'WORK'=245
|
||||
'WRITE'=246
|
||||
'YEAR'=247
|
||||
'ZONE'=248
|
||||
'='=249
|
||||
'<'=251
|
||||
'<='=252
|
||||
'>'=253
|
||||
'>='=254
|
||||
'+'=255
|
||||
'-'=256
|
||||
'*'=257
|
||||
'/'=258
|
||||
'%'=259
|
||||
'||'=260
|
||||
'?'=261
|
||||
';'=272
|
848
src/lib/trinosql/trinoSqlParserLexer.interp
Normal file
848
src/lib/trinosql/trinoSqlParserLexer.interp
Normal file
File diff suppressed because one or more lines are too long
537
src/lib/trinosql/trinoSqlParserLexer.tokens
Normal file
537
src/lib/trinosql/trinoSqlParserLexer.tokens
Normal file
@ -0,0 +1,537 @@
|
||||
T__0=1
|
||||
T__1=2
|
||||
T__2=3
|
||||
T__3=4
|
||||
T__4=5
|
||||
T__5=6
|
||||
T__6=7
|
||||
T__7=8
|
||||
T__8=9
|
||||
T__9=10
|
||||
T__10=11
|
||||
T__11=12
|
||||
T__12=13
|
||||
T__13=14
|
||||
T__14=15
|
||||
T__15=16
|
||||
ADD=17
|
||||
ADMIN=18
|
||||
AFTER=19
|
||||
ALL=20
|
||||
ALTER=21
|
||||
ANALYZE=22
|
||||
AND=23
|
||||
ANY=24
|
||||
ARRAY=25
|
||||
AS=26
|
||||
ASC=27
|
||||
AT=28
|
||||
AUTHORIZATION=29
|
||||
BERNOULLI=30
|
||||
BETWEEN=31
|
||||
BY=32
|
||||
CALL=33
|
||||
CASCADE=34
|
||||
CASE=35
|
||||
CAST=36
|
||||
CATALOGS=37
|
||||
COLUMN=38
|
||||
COLUMNS=39
|
||||
COMMENT=40
|
||||
COMMIT=41
|
||||
COMMITTED=42
|
||||
CONSTRAINT=43
|
||||
CREATE=44
|
||||
CROSS=45
|
||||
CUBE=46
|
||||
CURRENT=47
|
||||
CURRENT_CATALOG=48
|
||||
CURRENT_DATE=49
|
||||
CURRENT_PATH=50
|
||||
CURRENT_ROLE=51
|
||||
CURRENT_SCHEMA=52
|
||||
CURRENT_TIME=53
|
||||
CURRENT_TIMESTAMP=54
|
||||
CURRENT_USER=55
|
||||
DATA=56
|
||||
DATE=57
|
||||
DAY=58
|
||||
DEFAULT=59
|
||||
DEALLOCATE=60
|
||||
DEFINER=61
|
||||
DELETE=62
|
||||
DESC=63
|
||||
DESCRIBE=64
|
||||
DEFINE=65
|
||||
DISTINCT=66
|
||||
DISTRIBUTED=67
|
||||
DOUBLE=68
|
||||
DROP=69
|
||||
ELSE=70
|
||||
EMPTY=71
|
||||
END=72
|
||||
ESCAPE=73
|
||||
EXCEPT=74
|
||||
EXCLUDING=75
|
||||
EXECUTE=76
|
||||
EXISTS=77
|
||||
EXPLAIN=78
|
||||
EXTRACT=79
|
||||
FALSE=80
|
||||
FETCH=81
|
||||
FILTER=82
|
||||
FINAL=83
|
||||
FIRST=84
|
||||
FOLLOWING=85
|
||||
FOR=86
|
||||
FORMAT=87
|
||||
FROM=88
|
||||
FULL=89
|
||||
FUNCTIONS=90
|
||||
GRANT=91
|
||||
GRANTED=92
|
||||
GRANTS=93
|
||||
DENY=94
|
||||
GRAPHVIZ=95
|
||||
GROUP=96
|
||||
GROUPING=97
|
||||
GROUPS=98
|
||||
HAVING=99
|
||||
HOUR=100
|
||||
IF=101
|
||||
IGNORE=102
|
||||
IN=103
|
||||
INCLUDING=104
|
||||
INITIAL=105
|
||||
INNER=106
|
||||
INPUT=107
|
||||
INSERT=108
|
||||
INTERSECT=109
|
||||
INTERVAL=110
|
||||
INTO=111
|
||||
INVOKER=112
|
||||
IO=113
|
||||
IS=114
|
||||
ISOLATION=115
|
||||
JOIN=116
|
||||
JSON=117
|
||||
LAST=118
|
||||
LATERAL=119
|
||||
LEFT=120
|
||||
LEVEL=121
|
||||
LIKE=122
|
||||
LIMIT=123
|
||||
LOCAL=124
|
||||
LOCALTIME=125
|
||||
LOCALTIMESTAMP=126
|
||||
LOGICAL=127
|
||||
MAP=128
|
||||
MATCH=129
|
||||
MATCHED=130
|
||||
MATCHES=131
|
||||
MATCH_RECOGNIZE=132
|
||||
MATERIALIZED=133
|
||||
MEASURES=134
|
||||
MERGE=135
|
||||
MINUTE=136
|
||||
MONTH=137
|
||||
NATURAL=138
|
||||
NEXT=139
|
||||
NFC=140
|
||||
NFD=141
|
||||
NFKC=142
|
||||
NFKD=143
|
||||
NO=144
|
||||
NONE=145
|
||||
NORMALIZE=146
|
||||
NOT=147
|
||||
NULL=148
|
||||
NULLIF=149
|
||||
NULLS=150
|
||||
OFFSET=151
|
||||
OMIT=152
|
||||
ON=153
|
||||
ONE=154
|
||||
ONLY=155
|
||||
OPTION=156
|
||||
OR=157
|
||||
ORDER=158
|
||||
ORDINALITY=159
|
||||
OUTER=160
|
||||
OUTPUT=161
|
||||
OVER=162
|
||||
PARTITION=163
|
||||
PARTITIONS=164
|
||||
PAST=165
|
||||
PATH=166
|
||||
PATTERN=167
|
||||
PER=168
|
||||
PERMUTE=169
|
||||
POSITION=170
|
||||
PRECEDING=171
|
||||
PRECISION=172
|
||||
PREPARE=173
|
||||
PRIVILEGES=174
|
||||
PROPERTIES=175
|
||||
RANGE=176
|
||||
READ=177
|
||||
RECURSIVE=178
|
||||
REFRESH=179
|
||||
RENAME=180
|
||||
REPEATABLE=181
|
||||
REPLACE=182
|
||||
RESET=183
|
||||
RESPECT=184
|
||||
RESTRICT=185
|
||||
REVOKE=186
|
||||
RIGHT=187
|
||||
ROLE=188
|
||||
ROLES=189
|
||||
ROLLBACK=190
|
||||
ROLLUP=191
|
||||
ROW=192
|
||||
ROWS=193
|
||||
RUNNING=194
|
||||
SCHEMA=195
|
||||
SCHEMAS=196
|
||||
SECOND=197
|
||||
SECURITY=198
|
||||
SEEK=199
|
||||
SELECT=200
|
||||
SERIALIZABLE=201
|
||||
SESSION=202
|
||||
SET=203
|
||||
SETS=204
|
||||
SHOW=205
|
||||
SOME=206
|
||||
START=207
|
||||
STATS=208
|
||||
SUBSET=209
|
||||
SUBSTRING=210
|
||||
SYSTEM=211
|
||||
TABLE=212
|
||||
TABLES=213
|
||||
TABLESAMPLE=214
|
||||
TEXT=215
|
||||
THEN=216
|
||||
TIES=217
|
||||
TIME=218
|
||||
TIMESTAMP=219
|
||||
TO=220
|
||||
TRANSACTION=221
|
||||
TRUNCATE=222
|
||||
TRUE=223
|
||||
TRY_CAST=224
|
||||
TYPE=225
|
||||
UESCAPE=226
|
||||
UNBOUNDED=227
|
||||
UNCOMMITTED=228
|
||||
UNION=229
|
||||
UNMATCHED=230
|
||||
UNNEST=231
|
||||
UPDATE=232
|
||||
USE=233
|
||||
USER=234
|
||||
USING=235
|
||||
VALIDATE=236
|
||||
VALUES=237
|
||||
VERBOSE=238
|
||||
VIEW=239
|
||||
WHEN=240
|
||||
WHERE=241
|
||||
WINDOW=242
|
||||
WITH=243
|
||||
WITHOUT=244
|
||||
WORK=245
|
||||
WRITE=246
|
||||
YEAR=247
|
||||
ZONE=248
|
||||
EQ=249
|
||||
NEQ=250
|
||||
LT=251
|
||||
LTE=252
|
||||
GT=253
|
||||
GTE=254
|
||||
PLUS=255
|
||||
MINUS=256
|
||||
ASTERISK=257
|
||||
SLASH=258
|
||||
PERCENT=259
|
||||
CONCAT=260
|
||||
QUESTION_MARK=261
|
||||
STRING=262
|
||||
UNICODE_STRING=263
|
||||
BINARY_LITERAL=264
|
||||
INTEGER_VALUE=265
|
||||
DECIMAL_VALUE=266
|
||||
DOUBLE_VALUE=267
|
||||
IDENTIFIER=268
|
||||
DIGIT_IDENTIFIER=269
|
||||
QUOTED_IDENTIFIER=270
|
||||
BACKQUOTED_IDENTIFIER=271
|
||||
SEMICOLON=272
|
||||
SIMPLE_COMMENT=273
|
||||
BRACKETED_COMMENT=274
|
||||
WS=275
|
||||
UNRECOGNIZED=276
|
||||
'.'=1
|
||||
'('=2
|
||||
')'=3
|
||||
','=4
|
||||
'SKIP'=5
|
||||
'->'=6
|
||||
'['=7
|
||||
']'=8
|
||||
'|'=9
|
||||
'^'=10
|
||||
'$'=11
|
||||
'{-'=12
|
||||
'-}'=13
|
||||
'{'=14
|
||||
'}'=15
|
||||
'=>'=16
|
||||
'ADD'=17
|
||||
'ADMIN'=18
|
||||
'AFTER'=19
|
||||
'ALL'=20
|
||||
'ALTER'=21
|
||||
'ANALYZE'=22
|
||||
'AND'=23
|
||||
'ANY'=24
|
||||
'ARRAY'=25
|
||||
'AS'=26
|
||||
'ASC'=27
|
||||
'AT'=28
|
||||
'AUTHORIZATION'=29
|
||||
'BERNOULLI'=30
|
||||
'BETWEEN'=31
|
||||
'BY'=32
|
||||
'CALL'=33
|
||||
'CASCADE'=34
|
||||
'CASE'=35
|
||||
'CAST'=36
|
||||
'CATALOGS'=37
|
||||
'COLUMN'=38
|
||||
'COLUMNS'=39
|
||||
'COMMENT'=40
|
||||
'COMMIT'=41
|
||||
'COMMITTED'=42
|
||||
'CONSTRAINT'=43
|
||||
'CREATE'=44
|
||||
'CROSS'=45
|
||||
'CUBE'=46
|
||||
'CURRENT'=47
|
||||
'CURRENT_CATALOG'=48
|
||||
'CURRENT_DATE'=49
|
||||
'CURRENT_PATH'=50
|
||||
'CURRENT_ROLE'=51
|
||||
'CURRENT_SCHEMA'=52
|
||||
'CURRENT_TIME'=53
|
||||
'CURRENT_TIMESTAMP'=54
|
||||
'CURRENT_USER'=55
|
||||
'DATA'=56
|
||||
'DATE'=57
|
||||
'DAY'=58
|
||||
'DEFAULT'=59
|
||||
'DEALLOCATE'=60
|
||||
'DEFINER'=61
|
||||
'DELETE'=62
|
||||
'DESC'=63
|
||||
'DESCRIBE'=64
|
||||
'DEFINE'=65
|
||||
'DISTINCT'=66
|
||||
'DISTRIBUTED'=67
|
||||
'DOUBLE'=68
|
||||
'DROP'=69
|
||||
'ELSE'=70
|
||||
'EMPTY'=71
|
||||
'END'=72
|
||||
'ESCAPE'=73
|
||||
'EXCEPT'=74
|
||||
'EXCLUDING'=75
|
||||
'EXECUTE'=76
|
||||
'EXISTS'=77
|
||||
'EXPLAIN'=78
|
||||
'EXTRACT'=79
|
||||
'FALSE'=80
|
||||
'FETCH'=81
|
||||
'FILTER'=82
|
||||
'FINAL'=83
|
||||
'FIRST'=84
|
||||
'FOLLOWING'=85
|
||||
'FOR'=86
|
||||
'FORMAT'=87
|
||||
'FROM'=88
|
||||
'FULL'=89
|
||||
'FUNCTIONS'=90
|
||||
'GRANT'=91
|
||||
'GRANTED'=92
|
||||
'GRANTS'=93
|
||||
'DENY'=94
|
||||
'GRAPHVIZ'=95
|
||||
'GROUP'=96
|
||||
'GROUPING'=97
|
||||
'GROUPS'=98
|
||||
'HAVING'=99
|
||||
'HOUR'=100
|
||||
'IF'=101
|
||||
'IGNORE'=102
|
||||
'IN'=103
|
||||
'INCLUDING'=104
|
||||
'INITIAL'=105
|
||||
'INNER'=106
|
||||
'INPUT'=107
|
||||
'INSERT'=108
|
||||
'INTERSECT'=109
|
||||
'INTERVAL'=110
|
||||
'INTO'=111
|
||||
'INVOKER'=112
|
||||
'IO'=113
|
||||
'IS'=114
|
||||
'ISOLATION'=115
|
||||
'JOIN'=116
|
||||
'JSON'=117
|
||||
'LAST'=118
|
||||
'LATERAL'=119
|
||||
'LEFT'=120
|
||||
'LEVEL'=121
|
||||
'LIKE'=122
|
||||
'LIMIT'=123
|
||||
'LOCAL'=124
|
||||
'LOCALTIME'=125
|
||||
'LOCALTIMESTAMP'=126
|
||||
'LOGICAL'=127
|
||||
'MAP'=128
|
||||
'MATCH'=129
|
||||
'MATCHED'=130
|
||||
'MATCHES'=131
|
||||
'MATCH_RECOGNIZE'=132
|
||||
'MATERIALIZED'=133
|
||||
'MEASURES'=134
|
||||
'MERGE'=135
|
||||
'MINUTE'=136
|
||||
'MONTH'=137
|
||||
'NATURAL'=138
|
||||
'NEXT'=139
|
||||
'NFC'=140
|
||||
'NFD'=141
|
||||
'NFKC'=142
|
||||
'NFKD'=143
|
||||
'NO'=144
|
||||
'NONE'=145
|
||||
'NORMALIZE'=146
|
||||
'NOT'=147
|
||||
'NULL'=148
|
||||
'NULLIF'=149
|
||||
'NULLS'=150
|
||||
'OFFSET'=151
|
||||
'OMIT'=152
|
||||
'ON'=153
|
||||
'ONE'=154
|
||||
'ONLY'=155
|
||||
'OPTION'=156
|
||||
'OR'=157
|
||||
'ORDER'=158
|
||||
'ORDINALITY'=159
|
||||
'OUTER'=160
|
||||
'OUTPUT'=161
|
||||
'OVER'=162
|
||||
'PARTITION'=163
|
||||
'PARTITIONS'=164
|
||||
'PAST'=165
|
||||
'PATH'=166
|
||||
'PATTERN'=167
|
||||
'PER'=168
|
||||
'PERMUTE'=169
|
||||
'POSITION'=170
|
||||
'PRECEDING'=171
|
||||
'PRECISION'=172
|
||||
'PREPARE'=173
|
||||
'PRIVILEGES'=174
|
||||
'PROPERTIES'=175
|
||||
'RANGE'=176
|
||||
'READ'=177
|
||||
'RECURSIVE'=178
|
||||
'REFRESH'=179
|
||||
'RENAME'=180
|
||||
'REPEATABLE'=181
|
||||
'REPLACE'=182
|
||||
'RESET'=183
|
||||
'RESPECT'=184
|
||||
'RESTRICT'=185
|
||||
'REVOKE'=186
|
||||
'RIGHT'=187
|
||||
'ROLE'=188
|
||||
'ROLES'=189
|
||||
'ROLLBACK'=190
|
||||
'ROLLUP'=191
|
||||
'ROW'=192
|
||||
'ROWS'=193
|
||||
'RUNNING'=194
|
||||
'SCHEMA'=195
|
||||
'SCHEMAS'=196
|
||||
'SECOND'=197
|
||||
'SECURITY'=198
|
||||
'SEEK'=199
|
||||
'SELECT'=200
|
||||
'SERIALIZABLE'=201
|
||||
'SESSION'=202
|
||||
'SET'=203
|
||||
'SETS'=204
|
||||
'SHOW'=205
|
||||
'SOME'=206
|
||||
'START'=207
|
||||
'STATS'=208
|
||||
'SUBSET'=209
|
||||
'SUBSTRING'=210
|
||||
'SYSTEM'=211
|
||||
'TABLE'=212
|
||||
'TABLES'=213
|
||||
'TABLESAMPLE'=214
|
||||
'TEXT'=215
|
||||
'THEN'=216
|
||||
'TIES'=217
|
||||
'TIME'=218
|
||||
'TIMESTAMP'=219
|
||||
'TO'=220
|
||||
'TRANSACTION'=221
|
||||
'TRUNCATE'=222
|
||||
'TRUE'=223
|
||||
'TRY_CAST'=224
|
||||
'TYPE'=225
|
||||
'UESCAPE'=226
|
||||
'UNBOUNDED'=227
|
||||
'UNCOMMITTED'=228
|
||||
'UNION'=229
|
||||
'UNMATCHED'=230
|
||||
'UNNEST'=231
|
||||
'UPDATE'=232
|
||||
'USE'=233
|
||||
'USER'=234
|
||||
'USING'=235
|
||||
'VALIDATE'=236
|
||||
'VALUES'=237
|
||||
'VERBOSE'=238
|
||||
'VIEW'=239
|
||||
'WHEN'=240
|
||||
'WHERE'=241
|
||||
'WINDOW'=242
|
||||
'WITH'=243
|
||||
'WITHOUT'=244
|
||||
'WORK'=245
|
||||
'WRITE'=246
|
||||
'YEAR'=247
|
||||
'ZONE'=248
|
||||
'='=249
|
||||
'<'=251
|
||||
'<='=252
|
||||
'>'=253
|
||||
'>='=254
|
||||
'+'=255
|
||||
'-'=256
|
||||
'*'=257
|
||||
'/'=258
|
||||
'%'=259
|
||||
'||'=260
|
||||
'?'=261
|
||||
';'=272
|
1436
src/lib/trinosql/trinoSqlParserLexer.ts
Normal file
1436
src/lib/trinosql/trinoSqlParserLexer.ts
Normal file
File diff suppressed because it is too large
Load Diff
3259
src/lib/trinosql/trinoSqlParserListener.ts
Normal file
3259
src/lib/trinosql/trinoSqlParserListener.ts
Normal file
File diff suppressed because it is too large
Load Diff
23211
src/lib/trinosql/trinoSqlParserParser.ts
Normal file
23211
src/lib/trinosql/trinoSqlParserParser.ts
Normal file
File diff suppressed because it is too large
Load Diff
2028
src/lib/trinosql/trinoSqlParserVisitor.ts
Normal file
2028
src/lib/trinosql/trinoSqlParserVisitor.ts
Normal file
File diff suppressed because it is too large
Load Diff
17
src/parser/trinosql.ts
Normal file
17
src/parser/trinosql.ts
Normal file
@ -0,0 +1,17 @@
|
||||
import { CharStream, CommonTokenStream, Lexer } from 'antlr4';
|
||||
import trinoSqlLexer from '../lib/trinosql/trinoSqlParserLexer';
|
||||
import trinoSqlParser from '../lib/trinosql/trinoSqlParserParser';
|
||||
import BasicParser from './common/basicParser';
|
||||
export default class trinoSQL extends BasicParser {
|
||||
public createLexer(input: string): trinoSqlLexer {
|
||||
const chars = new CharStream(input.toUpperCase()); // Some Lexer only support uppercase token, So you need transform
|
||||
const lexer = new trinoSqlLexer(chars);
|
||||
return lexer;
|
||||
}
|
||||
public createParserFromLexer(lexer: Lexer): trinoSqlParser {
|
||||
const tokens = new CommonTokenStream(lexer);
|
||||
const parser = new trinoSqlParser(tokens);
|
||||
return parser;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user