Package io.trino.cli.lexer
Class DelimiterLexer
java.lang.Object
org.antlr.v4.runtime.Recognizer<Integer,org.antlr.v4.runtime.atn.LexerATNSimulator>
org.antlr.v4.runtime.Lexer
io.trino.grammar.sql.SqlBaseLexer
io.trino.cli.lexer.DelimiterLexer
- All Implemented Interfaces:
org.antlr.v4.runtime.TokenSource
public class DelimiterLexer
extends io.trino.grammar.sql.SqlBaseLexer
This is a special-purpose lexer that can identify custom delimiters in addition to every other
token in the SQL grammar.
The code in nextToken() is a copy of the implementation in org.antlr.v4.runtime.Lexer, with a bit added to match the token before the default behavior is invoked.
-
Field Summary
Fields inherited from class io.trino.grammar.sql.SqlBaseLexer
_ATN, _decisionToDFA, _serializedATN, _sharedContextCache, ABSENT, ADD, ADMIN, AFTER, ALL, ALTER, ANALYZE, AND, ANY, ARRAY, AS, ASC, ASTERISK, AT, AUTHORIZATION, BACKQUOTED_IDENTIFIER, BEGIN, BERNOULLI, BETWEEN, BINARY_LITERAL, BOTH, BRACKETED_COMMENT, BY, CALL, CALLED, CASCADE, CASE, CAST, CATALOG, CATALOGS, channelNames, COLUMN, COLUMNS, COMMENT, COMMIT, COMMITTED, CONCAT, CONDITIONAL, CONSTRAINT, COPARTITION, COUNT, CREATE, CROSS, CUBE, CURRENT, CURRENT_CATALOG, CURRENT_DATE, CURRENT_PATH, CURRENT_ROLE, CURRENT_SCHEMA, CURRENT_TIME, CURRENT_TIMESTAMP, CURRENT_USER, DATA, DATE, DAY, DEALLOCATE, DECIMAL_VALUE, DECLARE, DEFAULT, DEFINE, DEFINER, DELETE, DENY, DESC, DESCRIBE, DESCRIPTOR, DETERMINISTIC, DIGIT_IDENTIFIER, DISTINCT, DISTRIBUTED, DO, DOUBLE, DOUBLE_VALUE, DROP, ELSE, ELSEIF, EMPTY, ENCODING, END, EQ, ERROR, ESCAPE, EXCEPT, EXCLUDING, EXECUTE, EXISTS, EXPLAIN, EXTRACT, FALSE, FETCH, FILTER, FINAL, FIRST, FOLLOWING, FOR, FORMAT, FROM, FULL, FUNCTION, FUNCTIONS, GRACE, GRANT, GRANTED, GRANTS, GRAPHVIZ, GROUP, GROUPING, GROUPS, GT, GTE, HAVING, HOUR, IDENTIFIER, IF, IGNORE, IMMEDIATE, IN, INCLUDING, INITIAL, INNER, INPUT, INSERT, INTEGER_VALUE, INTERSECT, INTERVAL, INTO, INVOKER, IO, IS, ISOLATION, ITERATE, JOIN, JSON, JSON_ARRAY, JSON_EXISTS, JSON_OBJECT, JSON_QUERY, JSON_TABLE, JSON_VALUE, KEEP, KEY, KEYS, LANGUAGE, LAST, LATERAL, LEADING, LEAVE, LEFT, LEVEL, LIKE, LIMIT, LISTAGG, LOCAL, LOCALTIME, LOCALTIMESTAMP, LOGICAL, LOOP, LT, LTE, MAP, MATCH, MATCH_RECOGNIZE, MATCHED, MATCHES, MATERIALIZED, MEASURES, MERGE, MINUS, MINUTE, modeNames, MONTH, NATURAL, NEQ, NESTED, NEXT, NFC, NFD, NFKC, NFKD, NO, NONE, NORMALIZE, NOT, NULL, NULLIF, NULLS, OBJECT, OF, OFFSET, OMIT, ON, ONE, ONLY, OPTION, OR, ORDER, ORDINALITY, OUTER, OUTPUT, OVER, OVERFLOW, PARTITION, PARTITIONS, PASSING, PAST, PATH, PATTERN, PER, PERCENT, PERIOD, PERMUTE, PLAN, PLUS, POSITION, PRECEDING, PRECISION, PREPARE, PRIVILEGES, PROPERTIES, PRUNE, QUESTION_MARK, QUOTED_IDENTIFIER, QUOTES, RANGE, READ, RECURSIVE, REFRESH, RENAME, REPEAT, REPEATABLE, REPLACE, RESET, RESPECT, RESTRICT, RETURN, RETURNING, RETURNS, REVOKE, RIGHT, ROLE, ROLES, ROLLBACK, ROLLUP, ROW, ROWS, ruleNames, RUNNING, SCALAR, SCHEMA, SCHEMAS, SECOND, SECURITY, SEEK, SELECT, SEMICOLON, SERIALIZABLE, SESSION, SET, SETS, SHOW, SIMPLE_COMMENT, SLASH, SOME, START, STATS, STRING, SUBSET, SUBSTRING, SYSTEM, T__0, T__1, T__10, T__11, T__12, T__13, T__14, T__15, T__16, T__2, T__3, T__4, T__5, T__6, T__7, T__8, T__9, TABLE, TABLES, TABLESAMPLE, TEXT, TEXT_STRING, THEN, TIES, TIME, TIMESTAMP, TO, tokenNames, TRAILING, TRANSACTION, TRIM, TRUE, TRUNCATE, TRY_CAST, TYPE, UESCAPE, UNBOUNDED, UNCOMMITTED, UNCONDITIONAL, UNICODE_STRING, UNION, UNIQUE, UNKNOWN, UNMATCHED, UNNEST, UNRECOGNIZED, UNTIL, UPDATE, USE, USER, USING, UTF16, UTF32, UTF8, VALIDATE, VALUE, VALUES, VERBOSE, VERSION, VIEW, VOCABULARY, WHEN, WHERE, WHILE, WINDOW, WITH, WITHIN, WITHOUT, WORK, WRAPPER, WRITE, WS, YEAR, ZONEFields inherited from class org.antlr.v4.runtime.Lexer
_channel, _factory, _hitEOF, _input, _mode, _modeStack, _text, _token, _tokenFactorySourcePair, _tokenStartCharIndex, _tokenStartCharPositionInLine, _tokenStartLine, _type, DEFAULT_MODE, DEFAULT_TOKEN_CHANNEL, HIDDEN, MAX_CHAR_VALUE, MIN_CHAR_VALUE, MORE, SKIPFields inherited from class org.antlr.v4.runtime.Recognizer
_interp, EOF -
Constructor Summary
ConstructorsConstructorDescriptionDelimiterLexer(org.antlr.v4.runtime.CharStream input, Set<String> delimiters) -
Method Summary
Modifier and TypeMethodDescriptionbooleanisDelimiter(org.antlr.v4.runtime.Token token) org.antlr.v4.runtime.TokenMethods inherited from class io.trino.grammar.sql.SqlBaseLexer
getATN, getChannelNames, getGrammarFileName, getModeNames, getRuleNames, getSerializedATN, getTokenNames, getVocabularyMethods inherited from class org.antlr.v4.runtime.Lexer
emit, emit, emitEOF, getAllTokens, getChannel, getCharErrorDisplay, getCharIndex, getCharPositionInLine, getErrorDisplay, getErrorDisplay, getInputStream, getLine, getSourceName, getText, getToken, getTokenFactory, getType, mode, more, notifyListeners, popMode, pushMode, recover, recover, reset, setChannel, setCharPositionInLine, setInputStream, setLine, setText, setToken, setTokenFactory, setType, skipMethods inherited from class org.antlr.v4.runtime.Recognizer
action, addErrorListener, getErrorHeader, getErrorListenerDispatch, getErrorListeners, getInterpreter, getParseInfo, getRuleIndexMap, getState, getTokenErrorDisplay, getTokenType, getTokenTypeMap, precpred, removeErrorListener, removeErrorListeners, sempred, setInterpreter, setState
-
Constructor Details
-
DelimiterLexer
-
-
Method Details
-
isDelimiter
public boolean isDelimiter(org.antlr.v4.runtime.Token token) -
nextToken
public org.antlr.v4.runtime.Token nextToken()- Specified by:
nextTokenin interfaceorg.antlr.v4.runtime.TokenSource- Overrides:
nextTokenin classorg.antlr.v4.runtime.Lexer
-