-ts ::= ws Ts ws => ts
-Ts ::= Test*
-ws !::= w*
-Test ::= ^"testcase" "{" Input output+ Grammar "}"
- | ^"testcase" "{" Input Grammar "}"
-output ::= "output" quoted ";" / w*
-Input ::= "input" quoted ";"
+ts = ts:: !ws tests !ws
+tests = test */ ws
+test = ^"testcase" "{" input output +/ ws (grammar::Grammar) "}" /ws
+ | ^"testcase" "{" input (grammar::Grammar) "}" /ws
+ | ^"tibcase" "{" input output +/ ws (grammar::Grammar) "}" /ws
+ | ^"tibcase" "{" input (grammar::Grammar) "}" /ws
+ | ^"javacase" "{" input output +/ ws (grammar::Grammar) "}" /ws
+ | ^"javacase" "{" input (grammar::Grammar) "}" /ws
+output = ^"output" Quoted ";" /ws
+input = "input" Quoted ";" /ws