testcase { input "if (bar) if (bop) baz"; output ""; s = Expr Expr = IfThen | IfThenElse | id:: [a-z]++ IfThen = IfThen:: "if" "(" Expr ")" Expr /ws IfThenElse = IfThenElse:: "if" "(" Expr ")" ((thenelse:: Expr "else" Expr /ws)) /ws /ws ws = [\n ]** }