feat: replace fliePath with slashText to resolve conflict between filePath and arithmetic (#112)
This commit is contained in:
parent
76d7ee5e70
commit
793ff6ef0e
@ -442,9 +442,9 @@ REAL_LITERAL: (DEC_DIGIT+)? '.' DEC_DIGIT+
|
||||
| DEC_DIGIT+ EXPONENT_NUM_PART;
|
||||
BIT_STRING: BIT_STRING_L;
|
||||
ID_LITERAL: ID_LITERAL_FRAG;
|
||||
FILE_PATH: FILE_PATH_STRING;
|
||||
SLASH_TEXT: SLASH_TEXT_FRAG;
|
||||
|
||||
fragment FILE_PATH_STRING: ([/\\] (~([/\\ ]))*)+;
|
||||
fragment SLASH_TEXT_FRAG: [/\\] (~([/\\ ] | '(' | ')' | ';'))*;
|
||||
fragment JAR_FILE_PARTTARN: '`' ( '\\'. | '``' | ~('`'|'\\'))* '`';
|
||||
fragment EXPONENT_NUM_PART: 'E' [-+]? DEC_DIGIT+;
|
||||
fragment ID_LITERAL_FRAG: [A-Z_0-9a-z]*?[A-Z_a-z]+?[A-Z_0-9a-z]*;
|
||||
|
@ -88,11 +88,15 @@ jarStatememt
|
||||
|
||||
// 数栈平台自研的添加文件语法
|
||||
dtAddStatement
|
||||
: KW_ADD KW_JAR KW_WITH FILE_PATH (KW_AS uid)?
|
||||
| KW_ADD KW_FILE KW_WITH FILE_PATH (KW_AS uid)? (KW_RENAME uid)?
|
||||
| KW_ADD (KW_PYTHON_FILES | KW_PYTHON_REQUIREMENTS | KW_PYTHON_DEPENDENCIES | KW_PYTHON_JAR | KW_PYTHON_ARCHIVES) KW_WITH FILE_PATH KW_RENAME uid
|
||||
| KW_ADD KW_PYTHON_PARAMETER FILE_PATH
|
||||
| KW_ADD KW_ENGINE KW_FILE KW_WITH FILE_PATH KW_RENAME uid KW_KEY uid
|
||||
: KW_ADD KW_JAR KW_WITH dtFilePath (KW_AS uid)?
|
||||
| KW_ADD KW_FILE KW_WITH dtFilePath (KW_AS uid)? (KW_RENAME uid)?
|
||||
| KW_ADD (KW_PYTHON_FILES | KW_PYTHON_REQUIREMENTS | KW_PYTHON_DEPENDENCIES | KW_PYTHON_JAR | KW_PYTHON_ARCHIVES) KW_WITH dtFilePath KW_RENAME uid
|
||||
| KW_ADD KW_PYTHON_PARAMETER dtFilePath
|
||||
| KW_ADD KW_ENGINE KW_FILE KW_WITH dtFilePath KW_RENAME uid KW_KEY uid
|
||||
;
|
||||
|
||||
dtFilePath
|
||||
: SLASH_TEXT+
|
||||
;
|
||||
|
||||
// Create statements
|
||||
@ -696,6 +700,7 @@ valueExpression
|
||||
| left=valueExpression operator='^' right=valueExpression #arithmeticBinary
|
||||
| left=valueExpression operator='|' right=valueExpression #arithmeticBinary
|
||||
| left=valueExpression comparisonOperator right=valueExpression #comparison
|
||||
| left=valueExpression right=SLASH_TEXT #arithmeticBinaryAlternate
|
||||
;
|
||||
|
||||
primaryExpression
|
||||
|
File diff suppressed because one or more lines are too long
@ -407,7 +407,7 @@ DIG_LITERAL=406
|
||||
REAL_LITERAL=407
|
||||
BIT_STRING=408
|
||||
ID_LITERAL=409
|
||||
FILE_PATH=410
|
||||
SLASH_TEXT=410
|
||||
'ADD'=4
|
||||
'ADMIN'=5
|
||||
'AFTER'=6
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@ -407,7 +407,7 @@ DIG_LITERAL=406
|
||||
REAL_LITERAL=407
|
||||
BIT_STRING=408
|
||||
ID_LITERAL=409
|
||||
FILE_PATH=410
|
||||
SLASH_TEXT=410
|
||||
'ADD'=4
|
||||
'ADMIN'=5
|
||||
'AFTER'=6
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -23,6 +23,7 @@ import { SetStatememtContext } from "./FlinkSqlParser";
|
||||
import { ResetStatememtContext } from "./FlinkSqlParser";
|
||||
import { JarStatememtContext } from "./FlinkSqlParser";
|
||||
import { DtAddStatementContext } from "./FlinkSqlParser";
|
||||
import { DtFilePathContext } from "./FlinkSqlParser";
|
||||
import { CreateTableContext } from "./FlinkSqlParser";
|
||||
import { SimpleCreateTableContext } from "./FlinkSqlParser";
|
||||
import { CreateTableAsSelectContext } from "./FlinkSqlParser";
|
||||
@ -144,6 +145,7 @@ import { PredicateContext } from "./FlinkSqlParser";
|
||||
import { LikePredicateContext } from "./FlinkSqlParser";
|
||||
import { ValueExpressionDefaultContext } from "./FlinkSqlParser";
|
||||
import { ComparisonContext } from "./FlinkSqlParser";
|
||||
import { ArithmeticBinaryAlternateContext } from "./FlinkSqlParser";
|
||||
import { ArithmeticBinaryContext } from "./FlinkSqlParser";
|
||||
import { ArithmeticUnaryContext } from "./FlinkSqlParser";
|
||||
import { DereferenceContext } from "./FlinkSqlParser";
|
||||
@ -416,6 +418,16 @@ export default class FlinkSqlParserListener extends ParseTreeListener {
|
||||
* @param ctx the parse tree
|
||||
*/
|
||||
exitDtAddStatement?: (ctx: DtAddStatementContext) => void;
|
||||
/**
|
||||
* Enter a parse tree produced by `FlinkSqlParser.dtFilePath`.
|
||||
* @param ctx the parse tree
|
||||
*/
|
||||
enterDtFilePath?: (ctx: DtFilePathContext) => void;
|
||||
/**
|
||||
* Exit a parse tree produced by `FlinkSqlParser.dtFilePath`.
|
||||
* @param ctx the parse tree
|
||||
*/
|
||||
exitDtFilePath?: (ctx: DtFilePathContext) => void;
|
||||
/**
|
||||
* Enter a parse tree produced by `FlinkSqlParser.createTable`.
|
||||
* @param ctx the parse tree
|
||||
@ -1644,6 +1656,18 @@ export default class FlinkSqlParserListener extends ParseTreeListener {
|
||||
* @param ctx the parse tree
|
||||
*/
|
||||
exitComparison?: (ctx: ComparisonContext) => void;
|
||||
/**
|
||||
* Enter a parse tree produced by the `arithmeticBinaryAlternate`
|
||||
* labeled alternative in `FlinkSqlParser.valueExpression`.
|
||||
* @param ctx the parse tree
|
||||
*/
|
||||
enterArithmeticBinaryAlternate?: (ctx: ArithmeticBinaryAlternateContext) => void;
|
||||
/**
|
||||
* Exit a parse tree produced by the `arithmeticBinaryAlternate`
|
||||
* labeled alternative in `FlinkSqlParser.valueExpression`.
|
||||
* @param ctx the parse tree
|
||||
*/
|
||||
exitArithmeticBinaryAlternate?: (ctx: ArithmeticBinaryAlternateContext) => void;
|
||||
/**
|
||||
* Enter a parse tree produced by the `arithmeticBinary`
|
||||
* labeled alternative in `FlinkSqlParser.valueExpression`.
|
||||
|
@ -23,6 +23,7 @@ import { SetStatememtContext } from "./FlinkSqlParser";
|
||||
import { ResetStatememtContext } from "./FlinkSqlParser";
|
||||
import { JarStatememtContext } from "./FlinkSqlParser";
|
||||
import { DtAddStatementContext } from "./FlinkSqlParser";
|
||||
import { DtFilePathContext } from "./FlinkSqlParser";
|
||||
import { CreateTableContext } from "./FlinkSqlParser";
|
||||
import { SimpleCreateTableContext } from "./FlinkSqlParser";
|
||||
import { CreateTableAsSelectContext } from "./FlinkSqlParser";
|
||||
@ -144,6 +145,7 @@ import { PredicateContext } from "./FlinkSqlParser";
|
||||
import { LikePredicateContext } from "./FlinkSqlParser";
|
||||
import { ValueExpressionDefaultContext } from "./FlinkSqlParser";
|
||||
import { ComparisonContext } from "./FlinkSqlParser";
|
||||
import { ArithmeticBinaryAlternateContext } from "./FlinkSqlParser";
|
||||
import { ArithmeticBinaryContext } from "./FlinkSqlParser";
|
||||
import { ArithmeticUnaryContext } from "./FlinkSqlParser";
|
||||
import { DereferenceContext } from "./FlinkSqlParser";
|
||||
@ -339,6 +341,12 @@ export default class FlinkSqlParserVisitor<Result> extends ParseTreeVisitor<Resu
|
||||
* @return the visitor result
|
||||
*/
|
||||
visitDtAddStatement?: (ctx: DtAddStatementContext) => Result;
|
||||
/**
|
||||
* Visit a parse tree produced by `FlinkSqlParser.dtFilePath`.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
visitDtFilePath?: (ctx: DtFilePathContext) => Result;
|
||||
/**
|
||||
* Visit a parse tree produced by `FlinkSqlParser.createTable`.
|
||||
* @param ctx the parse tree
|
||||
@ -1074,6 +1082,13 @@ export default class FlinkSqlParserVisitor<Result> extends ParseTreeVisitor<Resu
|
||||
* @return the visitor result
|
||||
*/
|
||||
visitComparison?: (ctx: ComparisonContext) => Result;
|
||||
/**
|
||||
* Visit a parse tree produced by the `arithmeticBinaryAlternate`
|
||||
* labeled alternative in `FlinkSqlParser.valueExpression`.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
visitArithmeticBinaryAlternate?: (ctx: ArithmeticBinaryAlternateContext) => Result;
|
||||
/**
|
||||
* Visit a parse tree produced by the `arithmeticBinary`
|
||||
* labeled alternative in `FlinkSqlParser.valueExpression`.
|
||||
|
Loading…
Reference in New Issue
Block a user