| ------------------------------------------------------------------------------- |
| -- For more information on the form of the LPG inputs, see the LPG Version 3.0 |
| -- User's Guide (available from Philippe G. Charles of IBM Yorktown). |
| -- |
| ------------------------------------------------------------------------------- |
| %options escape=$ |
| %options table=java |
| %options action=("SQLQueryEXTENSIONParser.java", "/.", "./") |
| %options fp=SQLQueryEXTENSIONParser,prefix=TK_ |
| %options error-maps |
| %options scopes |
| %options margin=8 |
| --%options noshift_default |
| %options shift_default |
| %options nogoto_default |
| %options single-productions |
| %options noserialize --serialize for large grammar (65k+), makes it faster after load overhead, creates a .dcl file in dat directory |
| --%options serialize --serialize for large grammar (65k+), makes it faster after load overhead, creates a .dcl file in dat directory |
| --%options dat_directory="../../../../../.." --TODO change path |
| --%options stream-type=TokenStream |
| %options ParseTable=lpg.lpgjavaruntime.ParseTable |
| %options package=com.ibm.db.parsers.sql.query.EXTENSION |
| %options template=sqlparserTemplate.lpg |
| --%options import_terminals=sqlquerylexer.lpg |
| |
| -- when use soft-keywords lookahead is forced to be 1 and don't use backtrack option |
| %options soft-keywords |
| %options LALR=4 |
| %options backtrack |
| |
| |
| |
| |
| |
| ------------------------------------------------------------------------------- |
| -- import declarations for generated parser |
| ------------------------------------------------------------------------------- |
| |
| $Define |
| |
| $parser_base_class |
| /. com.ibm.db.parsers.sql.query.AbstractSQLQueryParser ./ |
| |
| $End |
| |
| |
| |
| ------------------------------------------------------------------------------- |
| -- Type mapping imported, return types of factory methods/AST types |
| ------------------------------------------------------------------------------- |
| |
| $include sqlqueryparserTypes.lpg -- inherited grammar types |
| $include sqlQueryEXTENSIONParserTypes.lpg |
| |
| |
| |
| |
| ------------------------------------------------------------------------------ |
| -- Alias definitions imported |
| ------------------------------------------------------------------------------ |
| |
| $include sqlQueryEXTENSIONParserAlias.lpg |
| |
| |
| |
| ------------------------------------------------------------------------------- |
| -- Base grammar rules imported |
| ------------------------------------------------------------------------------- |
| |
| $import sqlqueryparserRules.lpg |
| |
| ------------------------------------------------------------------------------- |
| -- Include rules that extend base grammar |
| ------------------------------------------------------------------------------- |
| |
| $include sqlQueryEXTENSIONParserRules.lpg |
| |
| |
| |
| ------------------------------------------------------------------------------- |
| -- Tail of Semantic Action Procedure (sqlnp_smactn) |
| ------------------------------------------------------------------------------- |
| |
| ------------------------------------------------------------------------------- |
| -- Substitution strings (inserts into error messages) |
| ------------------------------------------------------------------------------- |
| $NAMES |
| |
| <expression> ::= 'expression' |
| EOF ::= 'END-OF-COMMANDS' |
| PARSE_ERROR ::= 'Valid token' |
| LEFT_PAREN ::= '(' |
| RIGHT_PAREN ::= ')' |
| DOUBLE_QUOTE ::= '"' |
| -- PERCENT ::= '%' |
| -- AMPERSAND ::= '&' |
| QUOTE ::= '''' |
| ASTERISK ::= '*' |
| PLUS_SIGN ::= '+' |
| COMMA ::= ',' |
| MINUS_SIGN ::= '-' |
| PERIOD ::= '.' |
| SOLIDUS ::= '/' |
| COLON ::= ':' -- @d124889gus begin |
| SEMICOLON ::= ';' |
| LESS_THAN_OPERATOR ::= '<' |
| EQUALS_OPERATOR ::= '=' |
| GREATER_THAN_OPERATOR ::= '>' |
| QUESTION_MARK ::= '?' |
| -- LEFT_BRACKET ::= '[' -- @f95756rps |
| -- RIGHT_BRACKET ::= ']' -- @f95756rps |
| -- UNDERSCORE ::= '_' |
| -- VERTICAL_BAR ::= '|' |
| NOT_EQUALS_OPERATOR ::= '<>' |
| GREATER_THAN_OR_EQUALS_OPERATOR ::= '>=' |
| LESS_THAN_OR_EQUALS_OPERATOR ::= '<=' |
| CONCAT_OPERATOR ::= '||' |
| DOUBLE_PERIOD ::= '..' |
| -- OSF_RT-BV-B 960906 |
| RIGHT_ARROW ::= '->' |
| -- OSF_RT-BV-E 960906 |
| -- _FOREIGNKEY ::= 'FOREIGN KEY' |
| -- _PRIMARYKEY ::= 'PRIMARY KEY' |
| |
| |
| $END |
| |
| |
| $KEYWORDS |
| |
| -------------------------------------------- |
| -- Keywords/Reserved Word list - included -- |
| -------------------------------------------- |
| $include sqlQueryEXTENSIONNonreservedKeywords.lpg |
| |
| $END |
| |
| |
| ------------------------------------------------------- |
| -- Token kind of identifiers for softkeyword support -- |
| ------------------------------------------------------- |
| $IDENTIFIER |
| REGULAR_IDENTIFIER |
| $END |
| |