| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> |
| <HTML> |
| <HEAD> |
| <TITLE>BNF for ExpressionParser.jj</TITLE> |
| </HEAD> |
| <BODY> |
| <H1 ALIGN=CENTER>BNF for ExpressionParser.jj</H1> |
| <H2 ALIGN=CENTER>NON-TERMINALS</H2> |
| <TABLE> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE><A NAME="prod1">expression</A></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>::=</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE><A HREF="#prod2">orCondition</A> <EOF></TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE><A NAME="prod2">orCondition</A></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>::=</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE><A HREF="#prod3">andCondition</A> ( "or" <A HREF="#prod3">andCondition</A> )*</TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE><A NAME="prod3">andCondition</A></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>::=</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE><A HREF="#prod4">notCondition</A> ( "and" <A HREF="#prod4">notCondition</A> )*</TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE><A NAME="prod4">notCondition</A></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>::=</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE>( "not" | "!" ) <A HREF="#prod5">simpleCondition</A></TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>|</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE><A HREF="#prod5">simpleCondition</A></TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE><A NAME="prod5">simpleCondition</A></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>::=</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE><A HREF="#prod6">scalarExpression</A> ( <A HREF="#prod7">simpleNotCondition</A> | ( "=" | "==" ) <A HREF="#prod6">scalarExpression</A> | ( "!=" | "<>" ) <A HREF="#prod6">scalarExpression</A> | "<=" <A HREF="#prod6">scalarExpression</A> | "<" <A HREF="#prod6">scalarExpression</A> | ">" <A HREF="#prod6">scalarExpression</A> | ">=" <A HREF="#prod6">scalarExpression</A> | "like" <A HREF="#prod6">scalarExpression</A> | "likeIgnoreCase" <A HREF="#prod6">scalarExpression</A> | "in" ( <A HREF="#prod8">namedParameter</A> | "(" <A HREF="#prod9">scalarCommaList</A> ")" ) | "between" <A HREF="#prod6">scalarExpression</A> "and" <A HREF="#prod6">scalarExpression</A> )?</TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE><A NAME="prod7">simpleNotCondition</A></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>::=</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE>( "not" | "!" ) ( "like" <A HREF="#prod6">scalarExpression</A> | "likeIgnoreCase" <A HREF="#prod6">scalarExpression</A> | "in" ( <A HREF="#prod8">namedParameter</A> | "(" <A HREF="#prod9">scalarCommaList</A> ")" ) | "between" <A HREF="#prod6">scalarExpression</A> "and" <A HREF="#prod6">scalarExpression</A> )</TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE><A NAME="prod9">scalarCommaList</A></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>::=</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE>( <A HREF="#prod10">scalarConstExpression</A> ( "," <A HREF="#prod10">scalarConstExpression</A> )* )</TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE><A NAME="prod6">scalarExpression</A></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>::=</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE><A HREF="#prod11">scalarNumericExpression</A></TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>|</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE><SINGLE_QUOTED_STRING> </TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>|</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE><DOUBLE_QUOTED_STRING> </TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>|</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE><NULL></TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE><A NAME="prod10">scalarConstExpression</A></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>::=</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE><SINGLE_QUOTED_STRING> </TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>|</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE><DOUBLE_QUOTED_STRING> </TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>|</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE><A HREF="#prod8">namedParameter</A></TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>|</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE><INT_LITERAL> </TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>|</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE><FLOAT_LITERAL> </TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE><A NAME="prod11">scalarNumericExpression</A></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>::=</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE><A HREF="#prod12">multiplySubtractExp</A> ( "+" <A HREF="#prod12">multiplySubtractExp</A> | "-" <A HREF="#prod12">multiplySubtractExp</A> )*</TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE><A NAME="prod12">multiplySubtractExp</A></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>::=</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE><A HREF="#prod13">numericTerm</A> ( "*" <A HREF="#prod13">numericTerm</A> | "/" <A HREF="#prod13">numericTerm</A> )*</TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE><A NAME="prod13">numericTerm</A></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>::=</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE>( "+" )? <A HREF="#prod14">numericPrimary</A></TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>|</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE>"-" <A HREF="#prod14">numericPrimary</A></TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE><A NAME="prod14">numericPrimary</A></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>::=</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE>"(" <A HREF="#prod2">orCondition</A> ")"</TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>|</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE><A HREF="#prod15">pathExpression</A></TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>|</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE><A HREF="#prod8">namedParameter</A></TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>|</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE><INT_LITERAL> </TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>|</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE><FLOAT_LITERAL> </TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE><A NAME="prod8">namedParameter</A></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>::=</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE>"$" <PROPERTY_PATH> </TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE><A NAME="prod15">pathExpression</A></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>::=</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE>( <PROPERTY_PATH> | "obj:" <PROPERTY_PATH> | "db:" <PROPERTY_PATH> )</TD> |
| </TR> |
| </TABLE> |
| </BODY> |
| </HTML> |