feat: #190 improve mysql grammer (#196)

* refactor: generic rename to mysql

* refactor: g4 with mysql syntax

* test: mysql syntax

* refactor: remove useless keywords

* refactor: remove nonReserved keywords

* refactor: lint specificFunction

---------

Co-authored-by: liuyi <liuyi@dtstack.com>
This commit is contained in:
琉易
2023-11-27 15:25:40 +08:00
committed by GitHub
parent 84b2d776dc
commit 428d851913
139 changed files with 123150 additions and 110286 deletions

View File

@ -1,4 +1,4 @@
export { default as GenericSQL } from './generic';
export { default as MySQL } from './mysql';
export { default as PLSQL } from './plsql';
export { default as HiveSQL } from './hive';
export { default as FlinkSQL } from './flinksql';

View File

@ -1,18 +1,18 @@
import { Token } from 'antlr4ts';
import { CandidatesCollection } from 'antlr4-c3';
import { SqlLexer } from '../lib/generic/SqlLexer';
import { SqlParser, ProgramContext } from '../lib/generic/SqlParser';
import { MySqlLexer } from '../lib/mysql/MySqlLexer';
import { MySqlParser, ProgramContext } from '../lib/mysql/MySqlParser';
import BasicParser from './common/basicParser';
import { Suggestions } from './common/basic-parser-types';
export default class GenericSQL extends BasicParser<SqlLexer, ProgramContext, SqlParser> {
protected createLexerFormCharStream(charStreams): SqlLexer {
const lexer = new SqlLexer(charStreams);
export default class MySQL extends BasicParser<MySqlLexer, ProgramContext, MySqlParser> {
protected createLexerFormCharStream(charStreams): MySqlLexer {
const lexer = new MySqlLexer(charStreams);
return lexer;
}
protected createParserFromTokenStream(tokenStream): SqlParser {
return new SqlParser(tokenStream);
protected createParserFromTokenStream(tokenStream): MySqlParser {
return new MySqlParser(tokenStream);
}
protected preferredRules: Set<number> = new Set();