-ts ::= ws tests ws => ts
-tests ::= test */ ws
-ws !::= w*
-test ::= ^"testcase" "{" input output +/ ws grammar "}" /ws
- | ^"testcase" "{" input grammar "}" /ws
- | ^"tibcase" "{" input grammar "}" /ws
-output ::= "output" quoted ";" /ws
-input ::= "input" quoted ";" /ws
+ts = ts:: !ws tests !ws
+tests = test */ ws
+ws = w*
+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