- JavaDoc

# Jep Java

- Introduction
- Basic Usage
- Variables
- Data types
- Operators
- Functions
- Custom Functions
- BigDecimal
- Modules
- Printing
- FAQ
- Migration
- Version History

# Advanced Features

- Manipulating Expressions
- Components
- Configurable Parser
- Serialization
- Threads
- Localization
- Grammar
- Other advanced features
- Use of Design Patterns in Jep

# Grammar

The grammar used to generate the standard parser is as listed below. The information displayed is generated by the jjdoc tool from the grammar was generated from the JccParser.jj file. Low precedence operators are at the top, high precedence operators at the bottom.

Start | ::= | ( Expression ( <EOF> | <SEMI> ) | ( <EOF> | <SEMI> ) )
Expression | ::= | AssignExpression
| | | RightExpression
AssignExpression | ::= | ( LValue <ASSIGN> Expression )
RightExpression | ::= | OrExpression
OrExpression | ::= | AndExpression ( ( <OR> AndExpression ) )*
AndExpression | ::= | EqualExpression ( ( <AND> EqualExpression ) )*
EqualExpression | ::= | RelationalExpression ( ( <NE> RelationalExpression ) | ( <EQ> RelationalExpression ) )*
RelationalExpression | ::= | AdditiveExpression ( ( <LT> AdditiveExpression ) | ( <GT> AdditiveExpression ) | ( <LE> AdditiveExpression ) | ( <GE> AdditiveExpression ) )*
AdditiveExpression | ::= | MultiplicativeExpression ( ( <PLUS> MultiplicativeExpression ) | ( <MINUS> MultiplicativeExpression ) )*
MultiplicativeExpression | ::= | UnaryExpression ( ( PowerExpression ) | ( <MUL> UnaryExpression ) | ( <DOT> UnaryExpression ) | ( <CROSS> UnaryExpression ) | ( <DIV> UnaryExpression ) | ( <MOD> UnaryExpression ) )*
UnaryExpression | ::= | ( <PLUS> UnaryExpression )
| | | ( <MINUS> UnaryExpression )
| | | ( <NOT> UnaryExpression )
| | | PowerExpression
PowerExpression | ::= | UnaryExpressionNotPlusMinus ( ( <POWER> UnaryExpression ) )?
UnaryExpressionNotPlusMinus | ::= | AnyConstant
| | | ArrayAccess
| | | Function
| | | Variable
| | | <LRND> Expression <RRND>
| | | ListExpression
ListExpression | ::= | <LSQ> ( Expression ( <COMMA> Expression )* )? <RSQ>
LValue | ::= | ArrayAccess
| | | Variable
ArrayAccess | ::= | Variable ListExpression
Variable | ::= | ( Identifier )
Function | ::= | ( Identifier <LRND> ArgumentList <RRND> )
ArgumentList | ::= | ( Expression ( <COMMA> Expression )* )?
Identifier | ::= | ( <INDENTIFIER1> | <INDENTIFIER2> )
AnyConstant | ::= | ( <STRING_LITERAL> | RealConstant )
RealConstant | ::= | ( <INTEGER_LITERAL> | <FLOATING_POINT_LITERAL> )