+testcase {
+ input "abc ";
+
+ s = s2:: q " "*
+ q = a3:: [a-z] [a-z] [a-z]
+ &~ !(~[]) "b" !((~[])*)
+}
+
+testcase {
+ input "abc ";
+ output "s:{a b c}";
+
+ s = s:: [a-z] [a-z] [a-z] " "*
+}
+
+testcase {
+
+ input "a+2";
+ output "Plus:{left:{Foo} right:{{2}}}";
+
+ s = Expr
+ Expr = [0-9]++
+ | Plus:: (left::Expra) "+" (right::Expr)
+ Expra = Foo:: ("a" | "b")
+
+}
+
+testcase {
+ input "aaaaa";
+ output "top:{a q:{{a a a}} a}";