-testcase {
- input "if (bar!) baz!;";
- output "IfThen:{id:{x:{b x:{a r}}} id:{x:{b x:{a z}}}}";
-
- s = Expr ";"
- Expr = IfThen
- | IfThenElse
- | id:: id "!"
- id = [a-z] | x:: [a-z] id
- IfThen = IfThen::
- "if" "(" Expr ")"
- Expr
- /ws
- IfThenElse = IfThenElse::
- "if" "(" Expr ")"
- NotIfThenExpr
- "else"
- Expr
- /ws
- NotIfThenExpr = (Expr & [a-z]+)
- SpaceIfThen = (~[])*// !IfThen
- ws = [\n ]**
-}
\ No newline at end of file