[SPARK-32488][SQL] Use @parser::members and @lexer::members to avoid generating unused code
### What changes were proposed in this pull request? This PR aims to update `SqlBse.g4` for avoiding generating unused code. Currently, ANTLR generates unused methods and variables; `isValidDecimal` and `isHint` are only used in the generated lexer. This PR changed the code to use `parser::members` and `lexer::members` to avoid it. ### Why are the changes needed? To reduce unnecessary code. ### Does this PR introduce _any_ user-facing change? No. ### How was this patch tested? Existing tests. Closes #29296 from maropu/UpdateSqlBase. Authored-by: Takeshi Yamamuro <yamamuro@apache.org> Signed-off-by: Wenchen Fan <wenchen@databricks.com>
This commit is contained in:
parent
510a1656e6
commit
30e3042dc5
|
@ -16,7 +16,7 @@
|
|||
|
||||
grammar SqlBase;
|
||||
|
||||
@members {
|
||||
@parser::members {
|
||||
/**
|
||||
* When false, INTERSECT is given the greater precedence over the other set
|
||||
* operations (UNION, EXCEPT and MINUS) as per the SQL standard.
|
||||
|
@ -29,6 +29,13 @@ grammar SqlBase;
|
|||
*/
|
||||
public boolean legacy_exponent_literal_as_decimal_enabled = false;
|
||||
|
||||
/**
|
||||
* When true, the behavior of keywords follows ANSI SQL standard.
|
||||
*/
|
||||
public boolean SQL_standard_keyword_behavior = false;
|
||||
}
|
||||
|
||||
@lexer::members {
|
||||
/**
|
||||
* Verify whether current token is a valid decimal token (which contains dot).
|
||||
* Returns true if the character that follows the token is not a digit or letter or underscore.
|
||||
|
@ -51,11 +58,6 @@ grammar SqlBase;
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* When true, the behavior of keywords follows ANSI SQL standard.
|
||||
*/
|
||||
public boolean SQL_standard_keyword_behavior = false;
|
||||
|
||||
/**
|
||||
* This method will be called when we see '/*' and try to match it as a bracketed comment.
|
||||
* If the next character is '+', it should be parsed as hint later, and we cannot match
|
||||
|
|
|
@ -96,9 +96,6 @@ abstract class AbstractSqlParser(conf: SQLConf) extends ParserInterface with Log
|
|||
val lexer = new SqlBaseLexer(new UpperCaseCharStream(CharStreams.fromString(command)))
|
||||
lexer.removeErrorListeners()
|
||||
lexer.addErrorListener(ParseErrorListener)
|
||||
lexer.legacy_setops_precedence_enbled = conf.setOpsPrecedenceEnforced
|
||||
lexer.legacy_exponent_literal_as_decimal_enabled = conf.exponentLiteralAsDecimalEnabled
|
||||
lexer.SQL_standard_keyword_behavior = conf.ansiEnabled
|
||||
|
||||
val tokenStream = new CommonTokenStream(lexer)
|
||||
val parser = new SqlBaseParser(tokenStream)
|
||||
|
|
Loading…
Reference in a new issue