blob: 66cdfbf58dbdb93e73e9b6e01b2e47ac3b3cc61a [file] [log] [blame]
-------------------------------------------------------------------------------
-- 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