lava-oushudb-dt-sql-parser/build/antlr4.js

36 lines
832 B
JavaScript
Raw Normal View History

2020-08-28 13:29:47 +08:00
const path = require('path');
const exec = require('child_process').exec;
2020-09-09 14:11:04 +08:00
const antlr4 = path.resolve(__dirname, 'antlr-4.8-complete.jar');
2020-08-28 13:29:47 +08:00
const grammars = path.resolve(__dirname, '../src/grammar');
2020-09-09 14:11:04 +08:00
const output = path.resolve(__dirname, '../src/parser');
2020-08-28 13:29:47 +08:00
2020-09-09 14:11:04 +08:00
const entry = [
2020-08-28 13:29:47 +08:00
'generic',
'mysql',
2020-09-09 14:11:04 +08:00
'hive',
'plsql',
'spark',
'tsql',
2020-08-28 13:29:47 +08:00
];
2020-09-09 14:11:04 +08:00
entry.forEach((language) => {
const cmd = `
java -jar ${antlr4}
-Dlanguage=JavaScript
-visitor
-listener
-o ${output}/${language}
${grammars}/${language}/*.g4
`.replace(/\n/g, '');
console.log('cmd:', cmd);
exec(cmd, (err) => {
if (err) {
console.error('Antlr4 build error: ' + language, err);
} else {
console.log(`Build ${language} success.`);
}
});
});
2020-08-28 13:29:47 +08:00