add sparkSql base grammar
This commit is contained in:
1836
src/grammar/spark/SqlBase.g4
Normal file
1836
src/grammar/spark/SqlBase.g4
Normal file
File diff suppressed because it is too large
Load Diff
19
src/parser/spark.ts
Normal file
19
src/parser/spark.ts
Normal file
@ -0,0 +1,19 @@
|
||||
import { InputStream, CommonTokenStream, Lexer } from 'antlr4';
|
||||
import { SqlBaseLexer } from '../lib/spark/SqlBaseLexer';
|
||||
import { SqlBaseParser } from '../lib/spark/SqlBaseParser';
|
||||
export * from '../lib/spark/SqlBaseVisitor';
|
||||
export * from '../lib/spark/SqlBaseListener';
|
||||
|
||||
import BasicParser from './common/BasicParser';
|
||||
|
||||
export default class SparkSQL extends BasicParser {
|
||||
public createLexer(input: string): Lexer {
|
||||
const chars = new InputStream(input.toUpperCase()); // Some Lexer only support uppercase token, So you need transform
|
||||
const lexer = <unknown> new SqlBaseLexer(chars) as Lexer;
|
||||
return lexer;
|
||||
}
|
||||
public createParserFromLexer(lexer: Lexer) {
|
||||
const tokenStream = new CommonTokenStream(lexer);
|
||||
return new SqlBaseParser(tokenStream);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user