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