X-Git-Url: http://git.megacz.com/?p=sbp.git;a=blobdiff_plain;f=tests%2Fregression.tc;h=4b1b397fe2370642e5385e19cd0a0e5838ff621d;hp=58334a3f04d513804b073202164992aae3168d89;hb=1d5f76f8144b739719737bfe75f321caf67cfa19;hpb=fa1789c285ada403436c9ef4e5a4302f34a6de86 diff --git a/tests/regression.tc b/tests/regression.tc index 58334a3..4b1b397 100644 --- a/tests/regression.tc +++ b/tests/regression.tc @@ -107,9 +107,9 @@ testcase "unnamed" { | epsilon:: () } -testcase "unnamed" { +testcase "qaq" { input "qaq"; - output "q:{a:{s1:{epsilon}}}"; + output "q:{a:{s1}}"; s = ^"q" x "q" x = ^"a" a @@ -323,7 +323,7 @@ testcase "a+2" { testcase "unnamed" { input "aaaaa"; - output "top:{a q:{a a a} a}"; + output "top:{a q a}"; s = top:: z (q::"a"*) z z = a:: "a" @@ -385,3 +385,31 @@ testcase "unnamed" { As = () | As "a" AAs = () | AAs "aa" } + +testcase "question mark" { + input "aa aba abba"; + output "s:{Y Y Z}"; + s = s:: X " " X " " X + X = Y > Z + Y = Y:: "a" B? "a" + Z = Z:: "a" "b"* "a" + B = "b" +} + +testcase "operator: ... " { + input "aaabbbaaa abababababa"; + output "s:{C:{a a a b b b a a a} B:{a b a b a b a b a b a}}"; + s:: = A " " A + A = B > C + B:: = [ab]* &~ (... "bbb" ...) + C:: = [ab]* +} + +testcase "operator: ~~" { + input "aaabbbaaa abababababa"; + output "s:{C:{a a a b b b a a a} B:{a b a b a b a b a b a}}"; + s:: = A " " A + A = B > C + B:: = ~~(... "bbb" ...) + C:: = [ab]* +}