| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> |
| <HTML> |
| <HEAD> |
| <TITLE>BNF for ELParser.jj</TITLE> |
| </HEAD> |
| <BODY> |
| <H1 ALIGN=CENTER>BNF for ELParser.jj</H1> |
| <H2 ALIGN=CENTER>NON-TERMINALS</H2> |
| <TABLE> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE><A NAME="prod1">CompositeExpression</A></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>::=</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE>( <A HREF="#prod2">DeferredExpression</A> | <A HREF="#prod3">DynamicExpression</A> | <A HREF="#prod4">LiteralExpression</A> )* <EOF></TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE><A NAME="prod4">LiteralExpression</A></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>::=</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE><LITERAL_EXPRESSION></TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE><A NAME="prod2">DeferredExpression</A></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>::=</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE><START_DEFERRED_EXPRESSION> <A HREF="#prod5">Expression</A> <END_EXPRESSION></TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE><A NAME="prod3">DynamicExpression</A></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>::=</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE><START_DYNAMIC_EXPRESSION> <A HREF="#prod5">Expression</A> <END_EXPRESSION></TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE><A NAME="prod5">Expression</A></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>::=</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE><A HREF="#prod6">Choice</A></TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE><A NAME="prod6">Choice</A></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>::=</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE><A HREF="#prod7">Or</A> ( <QUESTIONMARK> <A HREF="#prod6">Choice</A> <COLON> <A HREF="#prod6">Choice</A> )*</TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE><A NAME="prod7">Or</A></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>::=</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE><A HREF="#prod8">And</A> ( ( <OR0> | <OR1> ) <A HREF="#prod8">And</A> )*</TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE><A NAME="prod8">And</A></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>::=</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE><A HREF="#prod9">Equality</A> ( ( <AND0> | <AND1> ) <A HREF="#prod9">Equality</A> )*</TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE><A NAME="prod9">Equality</A></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>::=</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE><A HREF="#prod10">Compare</A> ( ( ( <EQ0> | <EQ1> ) <A HREF="#prod10">Compare</A> ) | ( ( <NE0> | <NE1> ) <A HREF="#prod10">Compare</A> ) )*</TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE><A NAME="prod10">Compare</A></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>::=</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE><A HREF="#prod11">Math</A> ( ( ( <LT0> | <LT1> ) <A HREF="#prod11">Math</A> ) | ( ( <GT0> | <GT1> ) <A HREF="#prod11">Math</A> ) | ( ( <LE0> | <LE1> ) <A HREF="#prod11">Math</A> ) | ( ( <GE0> | <GE1> ) <A HREF="#prod11">Math</A> ) )*</TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE><A NAME="prod11">Math</A></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>::=</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE><A HREF="#prod12">Multiplication</A> ( ( <PLUS> <A HREF="#prod12">Multiplication</A> ) | ( <MINUS> <A HREF="#prod12">Multiplication</A> ) )*</TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE><A NAME="prod12">Multiplication</A></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>::=</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE><A HREF="#prod13">Unary</A> ( ( <MULT> <A HREF="#prod13">Unary</A> ) | ( <DIV> <A HREF="#prod13">Unary</A> ) | ( ( <MOD0> | <MOD1> ) <A HREF="#prod13">Unary</A> ) )*</TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE><A NAME="prod13">Unary</A></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>::=</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE><MINUS> <A HREF="#prod13">Unary</A></TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>|</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE>( <NOT0> | <NOT1> ) <A HREF="#prod13">Unary</A></TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>|</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE><EMPTY> <A HREF="#prod13">Unary</A></TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>|</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE><A HREF="#prod14">Value</A></TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE><A NAME="prod14">Value</A></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>::=</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE>( <A HREF="#prod15">ValuePrefix</A> ( <A HREF="#prod16">ValueSuffix</A> )* )</TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE><A NAME="prod15">ValuePrefix</A></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>::=</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE><A HREF="#prod17">Literal</A></TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>|</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE><A HREF="#prod18">NonLiteral</A></TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE><A NAME="prod16">ValueSuffix</A></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>::=</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE><A HREF="#prod19">DotSuffix</A></TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>|</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE><A HREF="#prod20">BracketSuffix</A></TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE><A NAME="prod19">DotSuffix</A></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>::=</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE><DOT> <IDENTIFIER></TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE><A NAME="prod20">BracketSuffix</A></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>::=</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE><LBRACK> <A HREF="#prod5">Expression</A> <RBRACK></TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE><A NAME="prod18">NonLiteral</A></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>::=</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE><LPAREN> <A HREF="#prod5">Expression</A> <RPAREN></TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>|</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE><A HREF="#prod21">Function</A></TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>|</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE><A HREF="#prod22">Identifier</A></TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE><A NAME="prod22">Identifier</A></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>::=</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE><IDENTIFIER></TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE><A NAME="prod21">Function</A></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>::=</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE><IDENTIFIER> ( <FUNCTIONSUFFIX> )? <LPAREN> ( <A HREF="#prod5">Expression</A> ( <COMMA> <A HREF="#prod5">Expression</A> )* )? <RPAREN></TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE><A NAME="prod17">Literal</A></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>::=</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE><A HREF="#prod23">Boolean</A></TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>|</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE><A HREF="#prod24">FloatingPoint</A></TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>|</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE><A HREF="#prod25">Integer</A></TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>|</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE><A HREF="#prod26">String</A></TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>|</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE><A HREF="#prod27">Null</A></TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE><A NAME="prod23">Boolean</A></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>::=</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE><TRUE></TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>|</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE><FALSE></TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE><A NAME="prod24">FloatingPoint</A></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>::=</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE><FLOATING_POINT_LITERAL></TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE><A NAME="prod25">Integer</A></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>::=</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE><INTEGER_LITERAL></TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE><A NAME="prod26">String</A></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>::=</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE><STRING_LITERAL></TD> |
| </TR> |
| <TR> |
| <TD ALIGN=RIGHT VALIGN=BASELINE><A NAME="prod27">Null</A></TD> |
| <TD ALIGN=CENTER VALIGN=BASELINE>::=</TD> |
| <TD ALIGN=LEFT VALIGN=BASELINE><NULL></TD> |
| </TR> |
| </TABLE> |
| </BODY> |
| </HTML> |