Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: toy/fl/abstract/java/om/extracted
Source used for this grammar: Ralf Lämmel, ..., Program.java
, Function.java
, 17 May – 28 July 2008 [GitHub]
Apply
, Argument
, Binary
, Expr
, Function
, IfThenElse
, Literal
, Ops
, Program
, Visitor
), 0 root (—), 2 top (Program
, Visitor
), 0 bottom (—).[name]
3, [args]
2, [ops]
, [left]
, [right]
, [rhs]
, [ifExpr]
, [thenExpr]
, [elseExpr]
, [info]
, [Equal]
, [Plus]
, [Minus]
, [functions]
.Apply ::=
[name]::string [args]::Expr
Argument ::= [name]::string
Binary ::= [ops]::Ops [left]::Expr [right]::Expr
Expr ::= Apply Argument Binary IfThenElse Literal
Function ::=
[name]::string [args]::string
[rhs]::ExprIfThenElse ::= [ifExpr]::Expr [thenExpr]::Expr [elseExpr]::Expr
Literal ::= [info]::integer
Ops ::= [Equal]::ε [Plus]::ε [Minus]::ε
Program ::=
[functions]::Function
Visitor ::= φ