refactor: migrate antlr4 v4.12.0 to antlr4ts(4.9.0) (#106)

* build: ignore gen folder

* refactor: remove useless code

* fix: correct the Javascript usage in grammar

* refactor: move to antlr4ts

* fix: remove useless

* fix: update grammars for javascript target

* refactor: migrate to antlr4ts

* refactor: migrate to antlr4ts

* refactor: implements ParserErrorListener

* fix: rename the  start reserved word

* refactor: remove unused import

* refactor: migrate to antlr4ts

* test: update the expects of test cases

* refactor: migrate hive to antlr4ts

* refactor: update the incompatible syntax for antlr4ts

* refactor: migrate pgsql grammar to antlr4ts, increasing tests

* refactor: migrate the plsql to antlr4ts

* build: remove unused config

* build: migrate to antlr4ts

* build: migrate ts-jest to @swc/jest

* refactor: migrate to anltr4ts

* build: migrate ts-jest to @swc/jest
This commit is contained in:
Ziv
2023-05-30 14:44:03 +08:00
committed by GitHub
parent 793ff6ef0e
commit 34f64e6bea
104 changed files with 436945 additions and 419757 deletions

View File

@ -6,12 +6,12 @@ describe('SparkSQL Lexer tests', () => {
test('select id,name from user1;', () => {
const sql = `select id,name from user1;`;
const tokens = parser.getAllTokens(sql);
expect(tokens.length - 1).toBe(10);
expect(tokens.length).toBe(10);
});
test('SELECT * FROM t WHERE x = 1 AND y = 2;', () => {
const sql = `SELECT * FROM t WHERE x = 1 AND y = 2;`;
const tokens = parser.getAllTokens(sql);
expect(tokens.length - 1).toBe(24);
expect(tokens.length).toBe(24);
});
});

View File

@ -1,4 +1,4 @@
import SparkSqlListener from '../../../src/lib/spark/SparkSqlListener';
import { SparkSqlListener } from '../../../src/lib/spark/SparkSqlListener';
import SparkSQL from '../../../src/parser/spark';
describe('Spark SQL Listener Tests', () => {
@ -10,9 +10,9 @@ describe('Spark SQL Listener Tests', () => {
test('Listener enterTableName', () => {
let result = '';
class MyListener extends SparkSqlListener {
class MyListener implements SparkSqlListener {
enterTableName = (ctx): void => {
result = ctx.getText().toLowerCase();
result = ctx.text.toLowerCase();
}
}
const listenTableName: any = new MyListener();

View File

@ -10,7 +10,7 @@ const validateTest = (sqls) => {
error(i, sql);
error(result);
}
expect(result.length).toBe(0);
expect(result.find(i => i.message)).toBeUndefined();
});
};

View File

@ -1,4 +1,5 @@
import SparkSqlVisitor from '../../../src/lib/spark/SparkSqlVisitor';
import { AbstractParseTreeVisitor } from 'antlr4ts/tree/AbstractParseTreeVisitor';
import { SparkSqlVisitor } from '../../../src/lib/spark/SparkSqlVisitor';
import SparkSQL from '../../../src/parser/spark';
describe('Spark SQL Visitor Tests', () => {
@ -12,10 +13,12 @@ describe('Spark SQL Visitor Tests', () => {
test('Visitor visitTableName', () => {
let result = '';
class MyVisitor extends SparkSqlVisitor<any> {
class MyVisitor extends AbstractParseTreeVisitor<any> implements SparkSqlVisitor<any> {
protected defaultResult() {
return result;
}
visitTableName = (ctx): void => {
result = ctx.getText().toLowerCase();
super.visitTableName?.(ctx);
result = ctx.text.toLowerCase();
}
}
const visitor: any = new MyVisitor();