fixed ambiguity in comments
[sbp.git] / tests / regression.tc
index c807a7a..6dabcb2 100644 (file)
 //    s ::= ()       => s0
 //}
 
+tibcase {
+    input 
+"
+  hello 
+    there
+    how
+      { are }
+";
+    output "yep:{are}";
+
+    s        ::= { Hello } => "yep"
+    w        ::= " " | "\n"
+    ws      !::= w**
+    Hello    ::= "hello" ws { "there" "how" { "are" } }
+}
+
+
 testcase {
     input "ab c";
     output "1:{{a b} {c}}";
@@ -45,11 +62,11 @@ testcase {
 
 testcase {
     input "aaabbbccc";
-    output "";
+    output "ab";
 
     s   ::= ab & dc
-    ab  ::= a b
-    dc  ::= d c
+    ab  ::= a b       => ab
+    dc  ::= d c       => dc
     a   ::= "a" a     | ()
     b   ::= "b" b "c" | ()
     c   ::= "c" c     | ()
@@ -60,8 +77,8 @@ testcase {
     input "aaabbbbccc";
 
     s   ::= ab & dc
-    ab !::= a b
-    dc !::= d c
+    ab !::= a b       => ab
+    dc !::= d c       => dc
     a   ::= "a" a     | ()
     b   ::= "b" b "c" | ()
     c   ::= "c" c     | ()
@@ -91,7 +108,7 @@ testcase {
 
 testcase {
     input  "xbambambam";
-    output "bam:{a bam:{a bam:{a x}}}";
+    output "bam:{a bam:{a bam:{a x:{x}}}}";
 
     s ::= a s ^"bam"
     s ::= ^"x"
@@ -270,12 +287,12 @@ outdent !::= " "  outdent " "
            | " "  ([~]*)  "\n"
 
 any      !::= [~]*
-s         ::= !any "\n\n" !ww statement !ww "\n\n" !any => smt
-ww        ::= sp*
+s         ::= any "\n\n" ww statement ww "\n\n" any => smt
+ww       !::= sp*
 ws       !::= sp**
 sp        ::= " "
 
-block     ::= "\n" !indent  blockBody
+block     ::= "\n" indent  blockBody
            &~ "\n" outdent [~\ ] [~]*
 
 blockBody ::= statement
@@ -301,3 +318,12 @@ ws        ::= w*
 
 
 }
+
+testcase {
+  input "aa bb";
+  output "{q:{{a a}} q:{{b b}}}";
+
+  s  ::= q */ ws
+  ws ::= " "*
+  q  ::= [a-z]++ => "q"
+}
\ No newline at end of file