+
+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";
+ s = top:: z (q::"a"*) z
+ z = a:: "a"
+}
+