--- /dev/null
+(..)*(...)* a (0,0)(?,?)(?,?)
+(..)*(...)* abcd (0,4)(2,4)(?,?)
+(ab|a)(bc|c) abc (0,3)(0,2)(2,3)
+(ab)c|abc abc (0,3)(0,2)
+(a*)(b?)(b+)b{3} aaabbbbbbb (0,10)(0,3)(3,4)(4,7)
+(a*)(b{0,1})(b{1,})b{3} aaabbbbbbb (0,10)(0,3)(3,4)(4,7)
+((a|a)|a) a (0,1)(0,1)(0,1)
+(a*)(a|aa) aaaa (0,4)(0,3)(3,4)
+a*(a.|aa) aaaa (0,4)(2,4)
+a(b)|c(d)|a(e)f aef (0,3)(?,?)(?,?)(1,2)
+(a|b)?.* b (0,1)(0,1)
+(a|b)c|a(b|c) ac (0,2)(0,1)(?,?)
+(a|b)c|a(b|c) ab (0,2)(?,?)(1,2)
+(a|b)*c|(a|ab)*c abc (0,3)(1,2)(?,?)
+(.a|.b).*|.*(.a|.b) xa (0,2)(0,2)(?,?)
+a?(ab|ba)ab abab (0,4)(0,2)
+a?(a[c]{0}b|ba)ab abab (0,4)(0,2)
+ab|abab abbabab (0,2)
+(aa|aaa)*|(a|aaaaa) aa (0,2)(0,2)(?,?)
+(a.|.a.)*|(a|.a...) aa (0,2)(0,2)(?,?)
+(a)(b)(c) abc (0,3)(0,1)(1,2)(2,3)
+((((((((((((((((((((((((((((((x)))))))))))))))))))))))))))))) x (0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)
+((((((((((((((((((((((((((((((x))))))))))))))))))))))))))))))* xx (0,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)
+a?(ab|ba)* ababababababababababababababababababababababababababababababababababababababababa (0,81)(79,81)
+a*a*a*a*a*b aaaaaaaaab (0,10)
+a[b]+bc abbc (0,4)
+a[b]+bc abbbbc (0,6)
+a[b]?bc abbc (0,4)
+a[b]?bc abc (0,3)
+a[b]?c abc (0,3)
+ab|cd abc (0,2)
+ab|cd abcd (0,2)
+((a)) abc (0,1)(0,1)(0,1)
+(a)b(c) abc (0,3)(0,1)(2,3)
+a* aaa (0,3)
+(a*)* - (0,0)(0,0)
+(a*)+ - (0,0)(0,0)
+(a*|b)* - (0,0)(0,0)
+(a+|b)* ab (0,2)(1,2)
+(a+|b)+ ab (0,2)(1,2)
+(a+|b)? ab (0,1)(0,1)
+([abc])*d abbbcd (0,6)(4,5)
+([abc])*bcd abcd (0,4)(0,1)
+a|b|c|d|e e (0,1)
+(a|b|c|d|e)f ef (0,2)(0,1)
+((a*|b))* - (0,0)(0,0)(0,0)
+(ab|a[b]*)bc abc (0,3)(0,1)
+a([bc]*)c* abc (0,3)(1,3)
+a([bc]*)(c*d) abcd (0,4)(1,3)(3,4)
+a([bc]+)(c*d) abcd (0,4)(1,3)(3,4)
+a([bc]*)(c+d) abcd (0,4)(1,2)(2,4)
+a[bcd]*dcdcde adcdcde (0,7)
+(ab|a)b*c abc (0,3)(0,2)
+((a)(b)c)(d) abcd (0,4)(0,3)(0,1)(1,2)(3,4)
+(((((((((a))))))))) a (0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)
+(.*)c(.*) abcde (0,5)(0,2)(3,5)
+a(bc)d abcd (0,4)(1,3)
+a[\ 1-\ 3]?c a\ 2c (0,3)
+a+(b|c)*d+ aabcdd (0,6)(3,4)
--- /dev/null
+(a*)(ab)*(b*) abc (0,2)(0,1)(?,?)(1,2)
+((a*)(ab)*)((b*)(a*)) aba (0,3)(0,2)(0,0)(0,2)(2,3)(2,2)(2,3)
+(...?.?)* xxxxxx (0,6)(4,6)
+(a|ab)(bc|c) abcabc (0,3)(0,2)(2,3)
+(aba|a*b)(aba|a*b) ababa (0,5)(0,2)(2,5)
+(a*){2} xxxxx (0,0)(0,0)
+(a*)* a (0,1)(0,1)
+(aba|a*b)* ababa (0,5)(2,5)
+(a(b)?)+ aba (0,3)(2,3)(?,?)
+.*(.*) ab (0,2)(2,2)
+(a?)((ab)?)(b?)a?(ab)?b? abab (0,4)(0,1)(1,1)(?,?)(1,2)(?,?)
--- /dev/null
+(a|ab)(c|bcd) abcd (0,4)(0,1)(1,4)
+(a|ab)(bcd|c) abcd (0,4)(0,1)(1,4)
+(ab|a)(c|bcd) abcd (0,4)(0,1)(1,4)
+(ab|a)(bcd|c) abcd (0,4)(0,1)(1,4)
+((a|ab)(c|bcd))(d*) abcd (0,4)(0,4)(0,1)(1,4)(4,4)
+((a|ab)(bcd|c))(d*) abcd (0,4)(0,4)(0,1)(1,4)(4,4)
+((ab|a)(c|bcd))(d*) abcd (0,4)(0,4)(0,1)(1,4)(4,4)
+((ab|a)(bcd|c))(d*) abcd (0,4)(0,4)(0,1)(1,4)(4,4)
+(a|ab)((c|bcd)(d*)) abcd (0,4)(0,2)(2,4)(2,3)(3,4)
+(a|ab)((bcd|c)(d*)) abcd (0,4)(0,2)(2,4)(2,3)(3,4)
+(ab|a)((c|bcd)(d*)) abcd (0,4)(0,2)(2,4)(2,3)(3,4)
+(ab|a)((bcd|c)(d*)) abcd (0,4)(0,2)(2,4)(2,3)(3,4)
+(a*)(b|abc) abc (0,3)(0,0)(0,3)
+(a*)(abc|b) abc (0,3)(0,0)(0,3)
+((a*)(b|abc))(c*) abc (0,3)(0,3)(0,0)(0,3)(3,3)
+((a*)(abc|b))(c*) abc (0,3)(0,3)(0,0)(0,3)(3,3)
+(a*)((b|abc)(c*)) abc (0,3)(0,1)(1,3)(1,2)(2,3)
+(a*)((abc|b)(c*)) abc (0,3)(0,1)(1,3)(1,2)(2,3)
+(a*)(b|abc) abc (0,3)(0,0)(0,3)
+(a*)(abc|b) abc (0,3)(0,0)(0,3)
+((a*)(b|abc))(c*) abc (0,3)(0,3)(0,0)(0,3)(3,3)
+((a*)(abc|b))(c*) abc (0,3)(0,3)(0,0)(0,3)(3,3)
+(a*)((b|abc)(c*)) abc (0,3)(0,1)(1,3)(1,2)(2,3)
+(a*)((abc|b)(c*)) abc (0,3)(0,1)(1,3)(1,2)(2,3)
+(a|ab) ab (0,2)(0,2)
+(ab|a) ab (0,2)(0,2)
+(a|ab)(b*) ab (0,2)(0,2)(2,2)
+(ab|a)(b*) ab (0,2)(0,2)(2,2)
--- /dev/null
+(a?)((ab)?) ab (0,2)(0,0)(0,2)(0,2)
+(a?)((ab)?)(b?) ab (0,2)(0,1)(1,1)(?,?)(1,2)
+((a?)((ab)?))(b?) ab (0,2)(0,2)(0,0)(0,2)(0,2)(2,2)
+(a?)(((ab)?)(b?)) ab (0,2)(0,1)(1,2)(1,1)(?,?)(1,2)
+
+(.?) x (0,1)(0,1)
+(.?){1} x (0,1)(0,1)
+(.?)(.?) x (0,1)(0,1)(1,1)
+(.?){2} x (0,1)(1,1)
+(.?)* x (0,1)(0,1)
+
+(.?.?) xxx (0,2)(0,2)
+(.?.?){1} xxx (0,2)(0,2)
+(.?.?)(.?.?) xxx (0,3)(0,2)(2,3)
+(.?.?){2} xxx (0,3)(2,3)
+(.?.?)(.?.?)(.?.?) xxx (0,3)(0,2)(2,3)(3,3)
+(.?.?){3} xxx (0,3)(3,3)
+(.?.?)* xxx (0,3)(2,3)
+
+a?((ab)?)(b?) ab (0,2)(1,1)(?,?)(1,2)
+(a?)((ab)?)b? ab (0,2)(0,1)(1,1)(?,?)
+a?((ab)?)b? ab (0,2)(1,1)(?,?)
+
+(a*){2} xxxxx (0,0)(0,0)
+
+(ab?)(b?a) aba (0,3)(0,2)(2,3)
+(a|ab)(ba|a) aba (0,3)(0,2)(2,3)
+(a|ab|ba) aba (0,2)(0,2)
+(a|ab|ba)(a|ab|ba) aba (0,3)(0,2)(2,3)
+(a|ab|ba)* aba (0,3)(2,3)
+
+(aba|a*b) ababa (0,3)(0,3)
+(aba|a*b)(aba|a*b) ababa (0,5)(0,2)(2,5)
+(aba|a*b)(aba|a*b)(aba|a*b) ababa NOMATCH
+(aba|a*b)* ababa (0,5)(2,5)
+(aba|ab|a) ababa (0,3)(0,3)
+(aba|ab|a)(aba|ab|a) ababa (0,5)(0,2)(2,5)
+(aba|ab|a)(aba|ab|a)(aba|ab|a) ababa (0,5)(0,2)(2,4)(4,5)
+(aba|ab|a)* ababa (0,5)(2,5)
+
+(a(b)?) aba (0,2)(0,2)(1,2)
+(a(b)?)(a(b)?) aba (0,3)(0,2)(1,2)(2,3)(?,?)
+(a(b)?)+ aba (0,3)(2,3)(?,?)
+
+(.*)(.*) xx (0,2)(0,2)(2,2)
+.*(.*) xx (0,2)(2,2)
+
+(a.*z|b.*y) azbazby (0,5)(0,5)
+(a.*z|b.*y)(a.*z|b.*y) azbazby (0,7)(0,5)(5,7)
+(a.*z|b.*y)* azbazby (0,7)(5,7)
+
+(.|..)(.*) ab (0,2)(0,2)(2,2)
+
+((..)*(...)*) xxx (0,3)(0,3)(?,?)(0,3)
+((..)*(...)*)((..)*(...)*) xxx (0,3)(0,3)(?,?)(0,3)(3,3)(?,?)(?,?)
+((..)*(...)*)* xxx (0,3)(0,3)(?,?)(0,3)
+
+
+
--- /dev/null
+(a*)* a (0,1)(0,1)
+SAME x (0,0)(0,0)
+SAME aaaaaa (0,6)(0,6)
+SAME aaaaaax (0,6)(0,6)
+(a*)+ a (0,1)(0,1)
+SAME x (0,0)(0,0)
+SAME aaaaaa (0,6)(0,6)
+SAME aaaaaax (0,6)(0,6)
+(a+)* a (0,1)(0,1)
+SAME x (0,0)(?,?)
+SAME aaaaaa (0,6)(0,6)
+SAME aaaaaax (0,6)(0,6)
+(a+)+ a (0,1)(0,1)
+SAME x NOMATCH
+SAME aaaaaa (0,6)(0,6)
+SAME aaaaaax (0,6)(0,6)
+([a]*)* a (0,1)(0,1)
+SAME x (0,0)(0,0)
+SAME aaaaaa (0,6)(0,6)
+SAME aaaaaax (0,6)(0,6)
+([a]*)+ a (0,1)(0,1)
+SAME x (0,0)(0,0)
+SAME aaaaaa (0,6)(0,6)
+SAME aaaaaax (0,6)(0,6)
+([^b]*)* a (0,1)(0,1)
+SAME b (0,0)(0,0)
+SAME aaaaaa (0,6)(0,6)
+SAME aaaaaab (0,6)(0,6)
+([ab]*)* a (0,1)(0,1)
+SAME aaaaaa (0,6)(0,6)
+SAME ababab (0,6)(0,6)
+SAME bababa (0,6)(0,6)
+SAME b (0,1)(0,1)
+SAME bbbbbb (0,6)(0,6)
+SAME aaaabcde (0,5)(0,5)
+([^a]*)* b (0,1)(0,1)
+SAME bbbbbb (0,6)(0,6)
+SAME aaaaaa (0,0)(0,0)
+([^ab]*)* ccccxx (0,6)(0,6)
+SAME ababab (0,0)(0,0)
+((z)+|a)* zabcde (0,2)(1,2)(?,?)
+(a) aaa (0,1)(0,1)
+(a*)*(x) x (0,1)(0,0)(0,1)
+(a*)*(x) ax (0,2)(0,1)(1,2)
+(a*)*(x) axa (0,2)(0,1)(1,2)
+(a*)+(x) x (0,1)(0,0)(0,1)
+(a*)+(x) ax (0,2)(0,1)(1,2)
+(a*)+(x) axa (0,2)(0,1)(1,2)
+(a*){2}(x) x (0,1)(0,0)(0,1)
+(a*){2}(x) ax (0,2)(1,1)(1,2)
+(a*){2}(x) axa (0,2)(1,1)(1,2)
--- /dev/null
+(()|.)(b) ab (0,2)(0,1)(?,?)(1,2)
+(()|[ab])(b) ab (0,2)(0,1)(?,?)(1,2)
+(()|[ab])+b aaab (0,4)(2,3)(?,?)
+(.|())(b) ab (0,2)(0,1)(?,?)(1,2)
+([ab]|())(b) ab (0,2)(0,1)(?,?)(1,2)
+([ab]|())+b aaab (0,4)(2,3)(?,?)
+(.?)(b) ab (0,2)(0,1)(1,2)
--- /dev/null
+
+(a|aa)* aaa (0,3)(2,3)
+SAME aaaa (0,4)(2,4)
+(aa|a)* aaa (0,3)(2,3)
+SAME aaaa (0,4)(2,4)
+
+a|(a) a (0,1)(?,?)
+(a)|a a (0,1)(0,1)
+(b)a|b(a) ba (0,2)(0,1)(?,?)
+b(a)|(b)a ba (0,2)(1,2)(?,?)
+a*|(a|aa)* aa (0,2)(?,?)
+(a|aa)*|a* aa (0,2)(0,2)
+
+(aa*|aaa*)* aaaaaa (0,6)(0,6)
+(aa*|aaa*)(aa*|aaa*) aaaaaa (0,6)(0,6)(6,6)
+(aa)*|(aaa)* aaaaaa (0,6)(4,6)(?,?)
+
+(X|Xa|Xab|Xaba|abab|baba|bY|Y)* XY (0,2)(1,2)
+SAME XabY (0,4)(3,4)
+SAME XababY (0,6)(4,6)
+SAME XabababY (0,8)(7,8)
+SAME XababababY (0,10)(8,10)
+
+(y){2} NULL NOMATCH
+SAME y NOMATCH
+SAME yy (0,2)(1,2)
+(y){0,2} NULL (0,0)(?,?)
+SAME y (0,1)(0,1)
+SAME yy (0,2)(1,2)
+(y){1,2} NULL NOMATCH
+SAME y (0,1)(0,1)
+SAME yy (0,2)(1,2)
+(y){1,2}y NULL NOMATCH
+SAME y NOMATCH
+SAME yy (0,2)(0,1)
+SAME yyy (0,3)(1,2)
+(y){1,2}y? NULL NOMATCH
+SAME y (0,1)(0,1)
+SAME yy (0,2)(1,2)
+SAME yyy (0,3)(1,2)
+(y){2,} NULL NOMATCH
+SAME y NOMATCH
+SAME yy (0,2)(1,2)
+SAME yyy (0,3)(2,3)
+
+(y?){2} NULL (0,0)(0,0)
+SAME y (0,1)(1,1)
+SAME yy (0,2)(1,2)
+(y?){0,2} NULL (0,0)(0,0)
+SAME y (0,1)(0,1)
+SAME yy (0,2)(1,2)
+(y?){1,2} NULL (0,0)(0,0)
+SAME y (0,1)(0,1)
+SAME yy (0,2)(1,2)
+(y?){1,2}y NULL NOMATCH
+SAME y (0,1)(0,0)
+SAME yy (0,2)(0,1)
+SAME yyy (0,3)(1,2)
+(y?){1,2}y? NULL (0,0)(0,0)
+SAME y (0,1)(0,1)
+SAME yy (0,2)(1,2)
+SAME yyy (0,3)(1,2)
+(y?){2,} NULL (0,0)(0,0)
+SAME y (0,1)(1,1)
+SAME yy (0,2)(1,2)
+SAME yyy (0,3)(2,3)
+
+(y|(x?)){1,3} y (0,1)(0,1)(?,?)
+(y[y]?){3} yyyy (0,4)(3,4)
--- /dev/null
+((..)|(.)) NULL NOMATCH
+((..)|(.))((..)|(.)) NULL NOMATCH
+((..)|(.))((..)|(.))((..)|(.)) NULL NOMATCH
+((..)|(.)){1} NULL NOMATCH
+((..)|(.)){2} NULL NOMATCH
+((..)|(.)){3} NULL NOMATCH
+((..)|(.))* NULL (0,0)(?,?)(?,?)(?,?)
+((..)|(.)) a (0,1)(0,1)(?,?)(0,1)
+((..)|(.))((..)|(.)) a NOMATCH
+((..)|(.))((..)|(.))((..)|(.)) a NOMATCH
+((..)|(.)){1} a (0,1)(0,1)(?,?)(0,1)
+((..)|(.)){2} a NOMATCH
+((..)|(.)){3} a NOMATCH
+((..)|(.))* a (0,1)(0,1)(?,?)(0,1)
+((..)|(.)) aa (0,2)(0,2)(0,2)(?,?)
+((..)|(.))((..)|(.)) aa (0,2)(0,1)(?,?)(0,1)(1,2)(?,?)(1,2)
+((..)|(.))((..)|(.))((..)|(.)) aa NOMATCH
+((..)|(.)){1} aa (0,2)(0,2)(0,2)(?,?)
+((..)|(.)){2} aa (0,2)(1,2)(?,?)(1,2)
+((..)|(.)){3} aa NOMATCH
+((..)|(.))* aa (0,2)(0,2)(0,2)(?,?)
+((..)|(.)) aaa (0,2)(0,2)(0,2)(?,?)
+((..)|(.))((..)|(.)) aaa (0,3)(0,2)(0,2)(?,?)(2,3)(?,?)(2,3)
+((..)|(.))((..)|(.))((..)|(.)) aaa (0,3)(0,1)(?,?)(0,1)(1,2)(?,?)(1,2)(2,3)(?,?)(2,3)
+((..)|(.)){1} aaa (0,2)(0,2)(0,2)(?,?)
+((..)|(.)){2} aaa (0,3)(2,3)(?,?)(2,3)
+((..)|(.)){3} aaa (0,3)(2,3)(?,?)(2,3)
+((..)|(.))* aaa (0,3)(2,3)(?,?)(2,3)
+((..)|(.)) aaaa (0,2)(0,2)(0,2)(?,?)
+((..)|(.))((..)|(.)) aaaa (0,4)(0,2)(0,2)(?,?)(2,4)(2,4)(?,?)
+((..)|(.))((..)|(.))((..)|(.)) aaaa (0,4)(0,2)(0,2)(?,?)(2,3)(?,?)(2,3)(3,4)(?,?)(3,4)
+((..)|(.)){1} aaaa (0,2)(0,2)(0,2)(?,?)
+((..)|(.)){2} aaaa (0,4)(2,4)(2,4)(?,?)
+((..)|(.)){3} aaaa (0,4)(3,4)(?,?)(3,4)
+((..)|(.))* aaaa (0,4)(2,4)(2,4)(?,?)
+((..)|(.)) aaaaa (0,2)(0,2)(0,2)(?,?)
+((..)|(.))((..)|(.)) aaaaa (0,4)(0,2)(0,2)(?,?)(2,4)(2,4)(?,?)
+((..)|(.))((..)|(.))((..)|(.)) aaaaa (0,5)(0,2)(0,2)(?,?)(2,4)(2,4)(?,?)(4,5)(?,?)(4,5)
+((..)|(.)){1} aaaaa (0,2)(0,2)(0,2)(?,?)
+((..)|(.)){2} aaaaa (0,4)(2,4)(2,4)(?,?)
+((..)|(.)){3} aaaaa (0,5)(4,5)(?,?)(4,5)
+((..)|(.))* aaaaa (0,5)(4,5)(?,?)(4,5)
+((..)|(.)) aaaaaa (0,2)(0,2)(0,2)(?,?)
+((..)|(.))((..)|(.)) aaaaaa (0,4)(0,2)(0,2)(?,?)(2,4)(2,4)(?,?)
+((..)|(.))((..)|(.))((..)|(.)) aaaaaa (0,6)(0,2)(0,2)(?,?)(2,4)(2,4)(?,?)(4,6)(4,6)(?,?)
+((..)|(.)){1} aaaaaa (0,2)(0,2)(0,2)(?,?)
+((..)|(.)){2} aaaaaa (0,4)(2,4)(2,4)(?,?)
+((..)|(.)){3} aaaaaa (0,6)(4,6)(4,6)(?,?)
+((..)|(.))* aaaaaa (0,6)(4,6)(4,6)(?,?)
+
+X(.?){0,}Y X1234567Y (0,9)(7,8)
+X(.?){1,}Y X1234567Y (0,9)(7,8)
+X(.?){2,}Y X1234567Y (0,9)(7,8)
+X(.?){3,}Y X1234567Y (0,9)(7,8)
+X(.?){4,}Y X1234567Y (0,9)(7,8)
+X(.?){5,}Y X1234567Y (0,9)(7,8)
+X(.?){6,}Y X1234567Y (0,9)(7,8)
+X(.?){7,}Y X1234567Y (0,9)(7,8)
+X(.?){8,}Y X1234567Y (0,9)(8,8)
+X(.?){0,8}Y X1234567Y (0,9)(7,8)
+X(.?){1,8}Y X1234567Y (0,9)(7,8)
+X(.?){2,8}Y X1234567Y (0,9)(7,8)
+X(.?){3,8}Y X1234567Y (0,9)(7,8)
+X(.?){4,8}Y X1234567Y (0,9)(7,8)
+X(.?){5,8}Y X1234567Y (0,9)(7,8)
+X(.?){6,8}Y X1234567Y (0,9)(7,8)
+X(.?){7,8}Y X1234567Y (0,9)(7,8)
+X(.?){8,8}Y X1234567Y (0,9)(8,8)
+
+(a|ab|c|bcd){0,}(d*) ababcd (0,6)(3,6)(6,6)
+(a|ab|c|bcd){1,}(d*) ababcd (0,6)(3,6)(6,6)
+(a|ab|c|bcd){2,}(d*) ababcd (0,6)(3,6)(6,6)
+(a|ab|c|bcd){3,}(d*) ababcd (0,6)(3,6)(6,6)
+(a|ab|c|bcd){4,}(d*) ababcd NOMATCH
+(a|ab|c|bcd){0,10}(d*) ababcd (0,6)(3,6)(6,6)
+(a|ab|c|bcd){1,10}(d*) ababcd (0,6)(3,6)(6,6)
+(a|ab|c|bcd){2,10}(d*) ababcd (0,6)(3,6)(6,6)
+(a|ab|c|bcd){3,10}(d*) ababcd (0,6)(3,6)(6,6)
+(a|ab|c|bcd){4,10}(d*) ababcd NOMATCH
+(a|ab|c|bcd)*(d*) ababcd (0,6)(3,6)(6,6)
+(a|ab|c|bcd)+(d*) ababcd (0,6)(3,6)(6,6)
+
+(ab|a|c|bcd){0,}(d*) ababcd (0,6)(3,6)(6,6)
+(ab|a|c|bcd){1,}(d*) ababcd (0,6)(3,6)(6,6)
+(ab|a|c|bcd){2,}(d*) ababcd (0,6)(3,6)(6,6)
+(ab|a|c|bcd){3,}(d*) ababcd (0,6)(3,6)(6,6)
+(ab|a|c|bcd){4,}(d*) ababcd NOMATCH
+(ab|a|c|bcd){0,10}(d*) ababcd (0,6)(3,6)(6,6)
+(ab|a|c|bcd){1,10}(d*) ababcd (0,6)(3,6)(6,6)
+(ab|a|c|bcd){2,10}(d*) ababcd (0,6)(3,6)(6,6)
+(ab|a|c|bcd){3,10}(d*) ababcd (0,6)(3,6)(6,6)
+(ab|a|c|bcd){4,10}(d*) ababcd NOMATCH
+(ab|a|c|bcd)*(d*) ababcd (0,6)(3,6)(6,6)
+(ab|a|c|bcd)+(d*) ababcd (0,6)(3,6)(6,6)
--- /dev/null
+(a|ab)(c|bcd)(d*) abcd (0,4)(0,2)(2,3)(3,4)
+(a|ab)(bcd|c)(d*) abcd (0,4)(0,2)(2,3)(3,4)
+(ab|a)(c|bcd)(d*) abcd (0,4)(0,2)(2,3)(3,4)
+(ab|a)(bcd|c)(d*) abcd (0,4)(0,2)(2,3)(3,4)
+(a*)(b|abc)(c*) abc (0,3)(0,1)(1,2)(2,3)
+(a*)(abc|b)(c*) abc (0,3)(0,1)(1,2)(2,3)
+(a*)(b|abc)(c*) abc (0,3)(0,1)(1,2)(2,3)
+(a*)(abc|b)(c*) abc (0,3)(0,1)(1,2)(2,3)
+(a|ab)(c|bcd)(d|.*) abcd (0,4)(0,2)(2,3)(3,4)
+(a|ab)(bcd|c)(d|.*) abcd (0,4)(0,2)(2,3)(3,4)
+(ab|a)(c|bcd)(d|.*) abcd (0,4)(0,2)(2,3)(3,4)
+(ab|a)(bcd|c)(d|.*) abcd (0,4)(0,2)(2,3)(3,4)
--- /dev/null
+
+for f in ../.dat/*.dat; do
+
+ d=../`basename ${f%.dat}`
+ mkdir -p $d
+
+ i=0
+ while read l; do
+
+ [ -z "$l" ] && continue
+ set $l
+ [ "$1" == SAME ] && continue
+
+ i=$((i + 1))
+ x=`printf '%02d' $i`.i.re
+ regexp=`printf "%s" "$1" | sed \
+ -e 's/\[^/[^\\\\x00/g' \
+ -e 's/\./[^\\\\x00]/g' \
+ -e 's/()/("")/g'`
+
+ cat template | sed "s/<<<<REGEXP>>>>/$regexp/" > $d/$x
+
+ done < $f
+done
+
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ <<<<REGEXP>>>>
+ {}
+ "" {}
+*/
--- /dev/null
+
+# run <regex> <string> <match> [re2c-flags]
+run() {
+ re2c=../../../.build/re2c
+ f="test_"`date +%y%m%d%H%M%S`
+ fail=0
+
+ cat template | sed "s/<<<<REGEXP>>>>/$1/" > $f.re \
+ && echo "$3" > $f.expected \
+ && $re2c -iF --posix-captures $4 $f.re -o$f.cpp \
+ && g++ -W $f.cpp -o$f \
+ && ./$f "$2" > $f.actual \
+ && diff $f.expected $f.actual \
+ || fail=1
+
+ rm $f*
+ [ $fail == 1 ] && { echo "$1 failed"; exit 1; }
+}
+
+for f in ../.dat/*.dat; do
+ i=0
+ n=`grep -cv "^$" $f` # nonempty lines
+
+ printf "%s\n" `basename $f`
+ while read l; do
+
+ [ -z "$l" ] && continue
+ set $l
+ [ "$1" == SAME ] || regexp=`printf "%s" "$1" | sed \
+ -e 's/\[^/[^\\\\x00/g' \
+ -e 's/\./[^\\\\x00]/g' \
+ -e 's/()/("")/g'`
+ string="${2#NULL}"
+ match="$3"
+ i=$((i + 1))
+
+ printf "\r%3d / %-3d" $i $n
+ run "$regexp" "$string" "$match"
+ run "$regexp" "$string" "$match" "--no-lookahead"
+
+ done < $f
+ printf "\n"
+done
+
--- /dev/null
+#include <stdio.h>
+
+static int lex(const char *YYCURSOR)
+{
+ const char *YYMARKER;
+ /*!tags:re2c format = "const char *@@;"; */
+ /*!re2c
+ re2c:yyfill:enable = 0;
+ re2c:define:YYCTYPE = char;
+
+ <<<<REGEXP>>>>
+ {
+ const char *p0 = yypmatch[0], *p;
+ for (size_t i = 0; i < yynmatch; ++i) {
+ p = yypmatch[2 * i];
+ if (p) {
+ printf("(%ld,", p - p0);
+ } else {
+ printf("(?,");
+ }
+ p = yypmatch[2 * i + 1];
+ if (p) {
+ printf("%ld)", p - p0);
+ } else {
+ printf("?)");
+ }
+ }
+ printf("\n");
+ return 0;
+ }
+
+ "" {
+ printf("NOMATCH\n");
+ return 1;
+ }
+ */
+}
+
+int main(int argc, char **argv)
+{
+ for (int i = 1; i < argc; ++i) {
+ lex(argv[i]);
+ }
+ return 0;
+}
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt2 = NULL;
+ yyt1 = yyt3 = yyt5 = YYCURSOR;
+ goto yy3;
+ }
+ yyt2 = yyt3 = yyt4 = yyt5 = NULL;
+ yyt1 = YYCURSOR;
+yy2:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = yyt4;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt3;
+ yypmatch[4] = yyt5;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) goto yy5;
+ YYCURSOR = YYMARKER;
+ yyt2 = yyt3 = yyt4 = yyt5 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt4 = yyt5 = NULL;
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+ yyt4 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt2;
+ yyt4 = YYCURSOR;
+ goto yy2;
+ }
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt4;
+ yyt4 = yyt5 = NULL;
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+ yyt2 = yyt5 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = yyt4;
+ yyt5 = yyt4;
+ yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt2;
+ yyt4 = yyt5 = NULL;
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+ yyt3 = YYCURSOR;
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt4;
+ yyt4 = YYCURSOR;
+ goto yy2;
+ }
+ yyt4 = yyt2;
+ yyt5 = yyt3;
+ yyt2 = yyt3;
+ goto yy9;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 4 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 4 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 4 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 4 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt2 = NULL;
+ yyt1 = yyt3 = yyt5 = YYCURSOR;
+ goto yy3;
+ }
+ yyt2 = yyt3 = yyt4 = yyt5 = NULL;
+ yyt1 = YYCURSOR;
+yy2:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = yyt4;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt3;
+ yypmatch[4] = yyt5;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) goto yy5;
+ YYCURSOR = YYMARKER;
+ yyt2 = yyt3 = yyt4 = yyt5 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt4 = yyt5 = NULL;
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+ yyt4 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt2;
+ yyt4 = YYCURSOR;
+ goto yy2;
+ }
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt4;
+ yyt4 = yyt5 = NULL;
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+ yyt2 = yyt5 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = yyt4;
+ yyt5 = yyt4;
+ yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt2;
+ yyt4 = yyt5 = NULL;
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+ yyt3 = YYCURSOR;
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt4;
+ yyt4 = YYCURSOR;
+ goto yy2;
+ }
+ yyt4 = yyt2;
+ yyt5 = yyt3;
+ yyt2 = yyt3;
+ goto yy9;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 4 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 4 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 4 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 4 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy8;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ ++YYCURSOR;
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt2;
+ yypmatch[4] = yyt1;
+ yypmatch[0] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt1;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy6;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (ab|a)(bc|c)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ ++YYCURSOR;
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[0] = YYCURSOR - 3;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (ab)c|abc
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt4 = yyt5 = yyt6 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ case 'b':
+ yyt5 = yyt6 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy7;
+ default: goto yy5;
+ }
+yy7:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy8;
+ default: goto yy5;
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default: goto yy5;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt6 = YYCURSOR;
+ goto yy11;
+ default: goto yy10;
+ }
+yy10:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt4;
+ yypmatch[4] = yyt5;
+ yypmatch[6] = yyt6;
+ yypmatch[7] = yyt1;
+ yypmatch[0] = yyt4;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt5;
+ yypmatch[5] = yyt6;
+ {}
+ }
+yy11:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt2 = yyt3;
+ yyt3 = yyt6;
+ yyt6 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt6 = yyt1;
+ yyt1 = yyt2;
+ goto yy10;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 4 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a*)(b?)(b+)b{3}
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt4 = yyt5 = yyt6 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ case 'b':
+ yyt5 = yyt6 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy7;
+ default: goto yy5;
+ }
+yy7:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy8;
+ default: goto yy5;
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default: goto yy5;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt6 = YYCURSOR;
+ goto yy11;
+ default: goto yy10;
+ }
+yy10:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt4;
+ yypmatch[4] = yyt5;
+ yypmatch[6] = yyt6;
+ yypmatch[7] = yyt1;
+ yypmatch[0] = yyt4;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt5;
+ yypmatch[5] = yyt6;
+ {}
+ }
+yy11:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt2 = yyt3;
+ yyt3 = yyt6;
+ yyt6 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt6 = yyt1;
+ yyt1 = yyt2;
+ goto yy10;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 4 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a*)(b{0,1})(b{1,})b{3}
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ yyt2 = YYCURSOR;
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[4] = yyt1;
+ yypmatch[5] = yyt2;
+ yypmatch[0] = YYCURSOR - 1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = YYCURSOR - 1;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ ((a|a)|a)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ default: goto yy5;
+ }
+yy5:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a*)(a|aa)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) goto yy8;
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ ++YYCURSOR;
+yy6:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = YYCURSOR - 2;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+yy7:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy8:
+ switch (yych) {
+ case 0x00: goto yy6;
+ case 'a': goto yy7;
+ default: goto yy5;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 3 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ case 'e':
+ yyt6 = YYCURSOR;
+ goto yy8;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd':
+ yyt4 = YYCURSOR;
+ goto yy9;
+ default: goto yy4;
+ }
+yy6:
+ ++YYCURSOR;
+ yyt4 = yyt5 = yyt6 = yyt7 = NULL;
+ yyt3 = YYCURSOR;
+yy7:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = yyt3;
+ yypmatch[4] = yyt4;
+ yypmatch[5] = yyt5;
+ yypmatch[6] = yyt6;
+ yypmatch[7] = yyt7;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'f':
+ yyt7 = YYCURSOR;
+ goto yy10;
+ default: goto yy4;
+ }
+yy9:
+ ++YYCURSOR;
+ yyt2 = yyt3 = yyt6 = yyt7 = NULL;
+ yyt5 = YYCURSOR;
+ goto yy7;
+yy10:
+ ++YYCURSOR;
+ yyt2 = yyt3 = yyt4 = yyt5 = NULL;
+ goto yy7;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ a(b)|c(d)|a(e)f
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt3 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ case 'a':
+ case 'b':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt2 = yyt3 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt3;
+ yypmatch[3] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy4:
+ if (yych <= 0x00) goto yy2;
+ goto yy3;
+yy5:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ goto yy4;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy6;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy8;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy8;
+ default: goto yy4;
+ }
+yy6:
+ ++YYCURSOR;
+ yyt1 = yyt2 = NULL;
+ yyt4 = YYCURSOR;
+yy7:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[4] = yyt3;
+ yypmatch[5] = yyt4;
+ yypmatch[0] = YYCURSOR - 2;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy8:
+ ++YYCURSOR;
+ yyt3 = yyt4 = NULL;
+ goto yy7;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a|b)c|a(b|c)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy6;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy8;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy8;
+ default: goto yy4;
+ }
+yy6:
+ ++YYCURSOR;
+ yyt1 = yyt2 = NULL;
+ yyt4 = YYCURSOR;
+yy7:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[4] = yyt3;
+ yypmatch[5] = yyt4;
+ yypmatch[0] = YYCURSOR - 2;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy8:
+ ++YYCURSOR;
+ yyt3 = yyt4 = NULL;
+ goto yy7;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a|b)c|a(b|c)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ case 'b':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ case 'c':
+ yyt1 = yyt3 = NULL;
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ ++YYCURSOR;
+ yyt4 = NULL;
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt2;
+ yypmatch[3] = yyt3;
+ yypmatch[5] = yyt4;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt4;
+ {}
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a|b)*c|(a|ab)*c
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ case 'b': goto yy7;
+ default: goto yy6;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ goto yy2;
+ } else {
+ yyt2 = yyt3 = NULL;
+ yyt5 = YYCURSOR;
+ goto yy8;
+ }
+yy5:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy6:
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'a':
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy5;
+ }
+yy7:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt3 = YYCURSOR;
+ goto yy11;
+ }
+ yyt4 = yyt5 = NULL;
+ yyt3 = YYCURSOR;
+yy8:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = yyt3;
+ yypmatch[4] = yyt4;
+ yypmatch[5] = yyt5;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy9:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt4 = yyt2;
+ yyt2 = yyt3 = NULL;
+ yyt5 = YYCURSOR;
+ goto yy8;
+ case 'a':
+ case 'b':
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt4 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy5;
+ }
+yy11:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt4 = yyt5 = NULL;
+ goto yy8;
+ }
+ goto yy11;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 3 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy6;
+ case 'b': goto yy7;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy8;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy8;
+ default: goto yy4;
+ }
+yy7:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy9;
+ default: goto yy4;
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy10;
+ default: goto yy4;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy10;
+ case 'b': goto yy11;
+ default: goto yy4;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy11;
+ default: goto yy4;
+ }
+yy11:
+ ++YYCURSOR;
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = YYCURSOR - 4;
+ yypmatch[3] = YYCURSOR - 2;
+ {}
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ a?(ab|ba)ab
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy6;
+ case 'b': goto yy7;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy8;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy8;
+ default: goto yy4;
+ }
+yy7:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy9;
+ default: goto yy4;
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy10;
+ default: goto yy4;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy10;
+ case 'b': goto yy11;
+ default: goto yy4;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy11;
+ default: goto yy4;
+ }
+yy11:
+ ++YYCURSOR;
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = YYCURSOR - 4;
+ yypmatch[3] = YYCURSOR - 2;
+ {}
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ a?(a[c]{0}b|ba)ab
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ goto yy2;
+ } else {
+ goto yy6;
+ }
+yy5:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a': goto yy7;
+ default: goto yy6;
+ }
+yy6:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy7:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy8;
+ default: goto yy4;
+ }
+yy8:
+ ++YYCURSOR;
+ goto yy6;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ ab|abab
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt3 = yyt4 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt2 = yyt3 = yyt4 = yyt5 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[4] = yyt4;
+ yypmatch[5] = yyt5;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt3;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy4;
+ default:
+ yyt2 = yyt3 = NULL;
+ yyt5 = YYCURSOR;
+ goto yy2;
+ }
+yy4:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt4 = yyt5 = NULL;
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy6;
+ default:
+ yyt4 = yyt5 = NULL;
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ default:
+ yyt3 = yyt2;
+ yyt4 = yyt5 = NULL;
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy7:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy8;
+ default:
+ yyt3 = yyt4;
+ yyt4 = yyt5 = NULL;
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy8:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt3 = yyt4;
+ yyt4 = yyt5 = NULL;
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy10;
+ default:
+ yyt4 = yyt5 = NULL;
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy10:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt3 = yyt2;
+ yyt4 = yyt5 = NULL;
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy11:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy12;
+ default:
+ yyt3 = yyt2;
+ yyt4 = yyt5 = NULL;
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy12:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ default:
+ yyt4 = yyt5 = NULL;
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 3 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (aa|aaa)*|(a|aaaaa)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt3 = yyt4 = yyt5 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ case 'a':
+ yyt1 = yyt2 = yyt3 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt1 = yyt2 = yyt3 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[3] = yyt5;
+ yypmatch[4] = yyt3;
+ yypmatch[5] = yyt4;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt2;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy6;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0:
+ yyt2 = yyt3 = yyt4 = yyt5 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ case 1:
+ yyt3 = yyt4 = NULL;
+ yyt5 = YYCURSOR;
+ goto yy2;
+ case 2:
+ yyt2 = yyt5 = NULL;
+ yyt4 = YYCURSOR;
+ goto yy2;
+ default:
+ yyt2 = yyt3;
+ yyt3 = yyt4 = NULL;
+ yyt5 = YYCURSOR;
+ goto yy2;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt5 = NULL;
+ yyt4 = YYCURSOR;
+ goto yy2;
+ case 'a': goto yy8;
+ default: goto yy7;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) goto yy4;
+ goto yy9;
+yy7:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt3 = yyt4 = NULL;
+ yyt5 = YYCURSOR;
+ goto yy2;
+ case 'a':
+ yyt5 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt5 = YYCURSOR;
+ goto yy10;
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt3 = yyt4 = NULL;
+ yyt5 = YYCURSOR;
+ goto yy2;
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy12;
+ default: goto yy9;
+ }
+yy9:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt3 = yyt4 = NULL;
+ yyt5 = YYCURSOR;
+ goto yy2;
+ case 'a':
+ yyt5 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt5 = YYCURSOR;
+ goto yy13;
+ }
+yy10:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy14;
+ default: goto yy4;
+ }
+yy11:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'a': goto yy15;
+ default:
+ yyt2 = yyt5;
+ goto yy7;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt3 = yyt4 = NULL;
+ yyt5 = YYCURSOR;
+ goto yy2;
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy17;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy16;
+ }
+yy13:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'a': goto yy19;
+ default: goto yy18;
+ }
+yy14:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) goto yy4;
+ yyt2 = yyt5;
+ goto yy7;
+yy15:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt5;
+ yyt3 = yyt4 = NULL;
+ yyt5 = YYCURSOR;
+ goto yy2;
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy21;
+ default: goto yy20;
+ }
+yy16:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt4;
+ yyt3 = yyt4 = NULL;
+ yyt5 = YYCURSOR;
+ goto yy2;
+ case 'a':
+ yyt5 = YYCURSOR;
+ goto yy23;
+ default:
+ yyt5 = YYCURSOR;
+ goto yy22;
+ }
+yy17:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt4;
+ yyt3 = yyt4 = NULL;
+ yyt5 = YYCURSOR;
+ goto yy2;
+ case 'a': goto yy24;
+ default:
+ yyt5 = yyt2;
+ goto yy20;
+ }
+yy18:
+ ++YYCURSOR;
+ yyt2 = yyt5 = NULL;
+ yyt4 = YYCURSOR;
+ goto yy2;
+yy19:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = yyt5 = NULL;
+ yyt4 = YYCURSOR;
+ goto yy2;
+ }
+ yyt2 = yyt5;
+ goto yy7;
+yy20:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt5;
+ yyt3 = yyt4 = NULL;
+ yyt5 = YYCURSOR;
+ goto yy2;
+ case 'a':
+ yyt2 = yyt5;
+ yyt5 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt2 = yyt5;
+ yyt5 = YYCURSOR;
+ goto yy10;
+ }
+yy21:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt5;
+ yyt3 = yyt4 = NULL;
+ yyt5 = YYCURSOR;
+ goto yy2;
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy26;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy25;
+ }
+yy22:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a': goto yy14;
+ default:
+ yyt2 = yyt5 = NULL;
+ yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy23:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt5 = NULL;
+ yyt4 = YYCURSOR;
+ goto yy2;
+ case 'a': goto yy27;
+ default: goto yy7;
+ }
+yy24:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt3 = yyt4 = NULL;
+ yyt5 = YYCURSOR;
+ goto yy2;
+ case 'a':
+ yyt5 = YYCURSOR;
+ goto yy28;
+ default: goto yy7;
+ }
+yy25:
+ yyaccept = 3;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt3;
+ yyt3 = yyt4 = NULL;
+ yyt5 = YYCURSOR;
+ goto yy2;
+ case 'a':
+ yyt5 = YYCURSOR;
+ goto yy29;
+ default:
+ yyt5 = YYCURSOR;
+ goto yy10;
+ }
+yy26:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt3;
+ yyt3 = yyt4 = NULL;
+ yyt5 = YYCURSOR;
+ goto yy2;
+ case 'a': goto yy24;
+ default:
+ yyt5 = yyt2;
+ goto yy20;
+ }
+yy27:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt3 = yyt4 = NULL;
+ yyt5 = YYCURSOR;
+ goto yy2;
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy31;
+ default:
+ yyt4 = YYCURSOR;
+ goto yy30;
+ }
+yy28:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt3 = yyt4 = NULL;
+ yyt5 = YYCURSOR;
+ goto yy2;
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy32;
+ default:
+ yyt4 = YYCURSOR;
+ goto yy30;
+ }
+yy29:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'a': goto yy27;
+ default: goto yy7;
+ }
+yy30:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt5;
+ yyt3 = yyt4 = NULL;
+ yyt5 = YYCURSOR;
+ goto yy2;
+ case 'a':
+ yyt2 = yyt5;
+ yyt5 = YYCURSOR;
+ goto yy33;
+ default:
+ yyt2 = yyt5;
+ yyt5 = YYCURSOR;
+ goto yy10;
+ }
+yy31:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt5;
+ yyt3 = yyt4 = NULL;
+ yyt5 = YYCURSOR;
+ goto yy2;
+ case 'a': goto yy34;
+ default:
+ yyt2 = yyt4;
+ goto yy7;
+ }
+yy32:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt5;
+ yyt3 = yyt4 = NULL;
+ yyt5 = YYCURSOR;
+ goto yy2;
+ case 'a':
+ yyt4 = yyt2;
+ goto yy34;
+ default: goto yy7;
+ }
+yy33:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'a':
+ yyt2 = yyt4;
+ goto yy27;
+ default:
+ yyt2 = yyt4;
+ goto yy7;
+ }
+yy34:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt4;
+ yyt3 = yyt4 = NULL;
+ yyt5 = YYCURSOR;
+ goto yy2;
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy35;
+ default:
+ yyt5 = yyt4;
+ goto yy20;
+ }
+yy35:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt4;
+ yyt3 = yyt4 = NULL;
+ yyt5 = YYCURSOR;
+ goto yy2;
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy26;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy25;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 3 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a': goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ ++YYCURSOR;
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR - 3;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = YYCURSOR - 3;
+ yypmatch[3] = YYCURSOR - 2;
+ yypmatch[4] = YYCURSOR - 2;
+ yypmatch[5] = YYCURSOR - 1;
+ yypmatch[6] = YYCURSOR - 1;
+ yypmatch[7] = YYCURSOR;
+ {}
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a)(b)(c)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'x': goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ {
+ const size_t yynmatch = 31;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR - 1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = YYCURSOR - 1;
+ yypmatch[3] = YYCURSOR;
+ yypmatch[4] = YYCURSOR - 1;
+ yypmatch[5] = YYCURSOR;
+ yypmatch[6] = YYCURSOR - 1;
+ yypmatch[7] = YYCURSOR;
+ yypmatch[8] = YYCURSOR - 1;
+ yypmatch[9] = YYCURSOR;
+ yypmatch[10] = YYCURSOR - 1;
+ yypmatch[11] = YYCURSOR;
+ yypmatch[12] = YYCURSOR - 1;
+ yypmatch[13] = YYCURSOR;
+ yypmatch[14] = YYCURSOR - 1;
+ yypmatch[15] = YYCURSOR;
+ yypmatch[16] = YYCURSOR - 1;
+ yypmatch[17] = YYCURSOR;
+ yypmatch[18] = YYCURSOR - 1;
+ yypmatch[19] = YYCURSOR;
+ yypmatch[20] = YYCURSOR - 1;
+ yypmatch[21] = YYCURSOR;
+ yypmatch[22] = YYCURSOR - 1;
+ yypmatch[23] = YYCURSOR;
+ yypmatch[24] = YYCURSOR - 1;
+ yypmatch[25] = YYCURSOR;
+ yypmatch[26] = YYCURSOR - 1;
+ yypmatch[27] = YYCURSOR;
+ yypmatch[28] = YYCURSOR - 1;
+ yypmatch[29] = YYCURSOR;
+ yypmatch[30] = YYCURSOR - 1;
+ yypmatch[31] = YYCURSOR;
+ yypmatch[32] = YYCURSOR - 1;
+ yypmatch[33] = YYCURSOR;
+ yypmatch[34] = YYCURSOR - 1;
+ yypmatch[35] = YYCURSOR;
+ yypmatch[36] = YYCURSOR - 1;
+ yypmatch[37] = YYCURSOR;
+ yypmatch[38] = YYCURSOR - 1;
+ yypmatch[39] = YYCURSOR;
+ yypmatch[40] = YYCURSOR - 1;
+ yypmatch[41] = YYCURSOR;
+ yypmatch[42] = YYCURSOR - 1;
+ yypmatch[43] = YYCURSOR;
+ yypmatch[44] = YYCURSOR - 1;
+ yypmatch[45] = YYCURSOR;
+ yypmatch[46] = YYCURSOR - 1;
+ yypmatch[47] = YYCURSOR;
+ yypmatch[48] = YYCURSOR - 1;
+ yypmatch[49] = YYCURSOR;
+ yypmatch[50] = YYCURSOR - 1;
+ yypmatch[51] = YYCURSOR;
+ yypmatch[52] = YYCURSOR - 1;
+ yypmatch[53] = YYCURSOR;
+ yypmatch[54] = YYCURSOR - 1;
+ yypmatch[55] = YYCURSOR;
+ yypmatch[56] = YYCURSOR - 1;
+ yypmatch[57] = YYCURSOR;
+ yypmatch[58] = YYCURSOR - 1;
+ yypmatch[59] = YYCURSOR;
+ yypmatch[60] = YYCURSOR - 1;
+ yypmatch[61] = YYCURSOR;
+ {}
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ ((((((((((((((((((((((((((((((x))))))))))))))))))))))))))))))
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'x':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt2 = yyt3 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 31;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[4] = yyt3;
+ yypmatch[5] = yyt2;
+ yypmatch[6] = yyt3;
+ yypmatch[7] = yyt2;
+ yypmatch[8] = yyt3;
+ yypmatch[9] = yyt2;
+ yypmatch[10] = yyt3;
+ yypmatch[11] = yyt2;
+ yypmatch[12] = yyt3;
+ yypmatch[13] = yyt2;
+ yypmatch[14] = yyt3;
+ yypmatch[15] = yyt2;
+ yypmatch[16] = yyt3;
+ yypmatch[17] = yyt2;
+ yypmatch[18] = yyt3;
+ yypmatch[19] = yyt2;
+ yypmatch[20] = yyt3;
+ yypmatch[21] = yyt2;
+ yypmatch[22] = yyt3;
+ yypmatch[23] = yyt2;
+ yypmatch[24] = yyt3;
+ yypmatch[25] = yyt2;
+ yypmatch[26] = yyt3;
+ yypmatch[27] = yyt2;
+ yypmatch[28] = yyt3;
+ yypmatch[29] = yyt2;
+ yypmatch[30] = yyt3;
+ yypmatch[31] = yyt2;
+ yypmatch[32] = yyt3;
+ yypmatch[33] = yyt2;
+ yypmatch[34] = yyt3;
+ yypmatch[35] = yyt2;
+ yypmatch[36] = yyt3;
+ yypmatch[37] = yyt2;
+ yypmatch[38] = yyt3;
+ yypmatch[39] = yyt2;
+ yypmatch[40] = yyt3;
+ yypmatch[41] = yyt2;
+ yypmatch[42] = yyt3;
+ yypmatch[43] = yyt2;
+ yypmatch[44] = yyt3;
+ yypmatch[45] = yyt2;
+ yypmatch[46] = yyt3;
+ yypmatch[47] = yyt2;
+ yypmatch[48] = yyt3;
+ yypmatch[49] = yyt2;
+ yypmatch[50] = yyt3;
+ yypmatch[51] = yyt2;
+ yypmatch[52] = yyt3;
+ yypmatch[53] = yyt2;
+ yypmatch[54] = yyt3;
+ yypmatch[55] = yyt2;
+ yypmatch[56] = yyt3;
+ yypmatch[57] = yyt2;
+ yypmatch[58] = yyt3;
+ yypmatch[59] = yyt2;
+ yypmatch[60] = yyt3;
+ yypmatch[61] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt3;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'x':
+ yyt3 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ ((((((((((((((((((((((((((((((x))))))))))))))))))))))))))))))*
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy4;
+ default:
+ yyt2 = yyt3 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[3] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt2;
+ {}
+ }
+yy3:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy6;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = NULL;
+ goto yy2;
+ }
+yy4:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy8;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0:
+ yyt2 = yyt3 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ case 1:
+ yyt2 = yyt3 = NULL;
+ goto yy2;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy6:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt3 = yyt4;
+ goto yy8;
+ default: goto yy5;
+ }
+yy7:
+ yyaccept = 2;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy9;
+ case 'b':
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy4;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy8:
+ yyaccept = 2;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = yyt3;
+ yyt4 = YYCURSOR;
+ goto yy6;
+ case 'b':
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy4;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy9:
+ yyaccept = 2;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = yyt4;
+ yyt4 = YYCURSOR;
+ goto yy6;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ a?(ab|ba)*
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ case 'b': goto yy6;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ ++YYCURSOR;
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ a*a*a*a*a*b
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy6;
+ case 'c': goto yy8;
+ default: goto yy4;
+ }
+yy8:
+ ++YYCURSOR;
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ a[b]+bc
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy6;
+ case 'c': goto yy8;
+ default: goto yy4;
+ }
+yy8:
+ ++YYCURSOR;
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ a[b]+bc
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy6;
+ case 'c': goto yy7;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy7;
+ default: goto yy4;
+ }
+yy7:
+ ++YYCURSOR;
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ a[b]?bc
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy6;
+ case 'c': goto yy7;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy7;
+ default: goto yy4;
+ }
+yy7:
+ ++YYCURSOR;
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ a[b]?bc
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ case 'c': goto yy6;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ ++YYCURSOR;
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ a[b]?c
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a': goto yy3;
+ case 'c': goto yy5;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy6;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ ++YYCURSOR;
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR - 2;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ ab|cd
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a': goto yy3;
+ case 'c': goto yy5;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy6;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ ++YYCURSOR;
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR - 2;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ ab|cd
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR - 1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = YYCURSOR - 1;
+ yypmatch[3] = YYCURSOR;
+ yypmatch[4] = YYCURSOR - 1;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ ((a))
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a': goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ ++YYCURSOR;
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR - 3;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = YYCURSOR - 3;
+ yypmatch[3] = YYCURSOR - 2;
+ yypmatch[4] = YYCURSOR - 1;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a)b(c)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ yyt1 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ default: goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ a*
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt1;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a*)*
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ yyt1 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ default: goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a*)+
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt1 = yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt3;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy5:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a*|b)*
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt2 = yyt3 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt3;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy5:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a+|b)*
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy5:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+yy6:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a+|b)+
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt2 = yyt3 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy5:
+ ++YYCURSOR;
+ yyt3 = YYCURSOR;
+ goto yy2;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a+|b)?
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ case 'b':
+ case 'c':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ case 'd':
+ yyt1 = yyt3 = NULL;
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ case 'b':
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ ++YYCURSOR;
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt2;
+ yypmatch[3] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt1;
+ {}
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ ([abc])*d
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ case 'c':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt2 = yyt4 = NULL;
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy4:
+ switch (yych) {
+ case 'a':
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy7;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy9;
+ default: goto yy4;
+ }
+yy7:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy7;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy10;
+ default: goto yy5;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy11;
+ default: goto yy4;
+ }
+yy10:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy7;
+ case 'd':
+ yyt4 = yyt1;
+ goto yy11;
+ default: goto yy5;
+ }
+yy11:
+ ++YYCURSOR;
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt3;
+ yypmatch[3] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt4;
+ {}
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ ([abc])*bcd
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e': goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR - 1;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ a|b|c|d|e
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e': goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'f': goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ ++YYCURSOR;
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR - 2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = YYCURSOR - 2;
+ yypmatch[3] = YYCURSOR - 1;
+ {}
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a|b|c|d|e)f
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt1 = yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[4] = yyt3;
+ yypmatch[5] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt3;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy5:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ ((a*|b))*
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ case 'c': goto yy7;
+ default: goto yy4;
+ }
+yy7:
+ ++YYCURSOR;
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR - 2;
+ {}
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (ab|a[b]*)bc
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy4:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[0] = yyt1 - 1;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy5:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b':
+ case 'c': goto yy5;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ a([bc]*)c*
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a': goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ case 'd':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy7;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b':
+ case 'c': goto yy5;
+ case 'd':
+ yyt2 = YYCURSOR;
+ goto yy7;
+ default: goto yy4;
+ }
+yy7:
+ ++YYCURSOR;
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[0] = yyt1 - 1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ a([bc]*)(c*d)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a': goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b':
+ case 'c': goto yy5;
+ case 'd':
+ yyt2 = YYCURSOR;
+ goto yy7;
+ default: goto yy4;
+ }
+yy7:
+ ++YYCURSOR;
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[0] = yyt1 - 1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ a([bc]+)(c*d)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a': goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy7;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy7;
+ default: goto yy4;
+ }
+yy7:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy7;
+ case 'd': goto yy9;
+ default: goto yy4;
+ }
+yy9:
+ ++YYCURSOR;
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[0] = yyt1 - 1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ a([bc]*)(c+d)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b':
+ case 'c': goto yy3;
+ case 'd': goto yy6;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy3;
+ case 'c': goto yy8;
+ case 'd': goto yy6;
+ default: goto yy5;
+ }
+yy8:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b':
+ case 'c': goto yy3;
+ case 'd': goto yy9;
+ default: goto yy5;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy3;
+ case 'c': goto yy10;
+ case 'd': goto yy6;
+ default: goto yy5;
+ }
+yy10:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b':
+ case 'c': goto yy3;
+ case 'd': goto yy11;
+ default: goto yy5;
+ }
+yy11:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy3;
+ case 'c': goto yy10;
+ case 'd': goto yy6;
+ case 'e': goto yy12;
+ default: goto yy5;
+ }
+yy12:
+ ++YYCURSOR;
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ a[bcd]*dcdcde
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy8;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ ++YYCURSOR;
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt2;
+ yypmatch[3] = yyt1;
+ yypmatch[0] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy8:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy8;
+ case 'c': goto yy6;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (ab|a)b*c
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a': goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy7;
+ default: goto yy4;
+ }
+yy7:
+ ++YYCURSOR;
+ {
+ const size_t yynmatch = 5;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR - 4;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = YYCURSOR - 4;
+ yypmatch[3] = YYCURSOR - 1;
+ yypmatch[4] = YYCURSOR - 4;
+ yypmatch[5] = YYCURSOR - 3;
+ yypmatch[6] = YYCURSOR - 3;
+ yypmatch[7] = YYCURSOR - 2;
+ yypmatch[8] = YYCURSOR - 1;
+ yypmatch[9] = YYCURSOR;
+ {}
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ ((a)(b)c)(d)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ {
+ const size_t yynmatch = 10;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR - 1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = YYCURSOR - 1;
+ yypmatch[3] = YYCURSOR;
+ yypmatch[4] = YYCURSOR - 1;
+ yypmatch[5] = YYCURSOR;
+ yypmatch[6] = YYCURSOR - 1;
+ yypmatch[7] = YYCURSOR;
+ yypmatch[8] = YYCURSOR - 1;
+ yypmatch[9] = YYCURSOR;
+ yypmatch[10] = YYCURSOR - 1;
+ yypmatch[11] = YYCURSOR;
+ yypmatch[12] = YYCURSOR - 1;
+ yypmatch[13] = YYCURSOR;
+ yypmatch[14] = YYCURSOR - 1;
+ yypmatch[15] = YYCURSOR;
+ yypmatch[16] = YYCURSOR - 1;
+ yypmatch[17] = YYCURSOR;
+ yypmatch[18] = YYCURSOR - 1;
+ yypmatch[19] = YYCURSOR;
+ {}
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (((((((((a)))))))))
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy2;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default:
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy5;
+ case 'c': goto yy6;
+ default: goto yy3;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt2 = YYCURSOR;
+ goto yy8;
+ case 'c': goto yy6;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy9;
+ }
+yy8:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2 - 1;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy8;
+ case 'c': goto yy6;
+ default: goto yy9;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a': goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy7;
+ default: goto yy4;
+ }
+yy7:
+ ++YYCURSOR;
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR - 4;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = YYCURSOR - 3;
+ yypmatch[3] = YYCURSOR - 1;
+ {}
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ a(bc)d
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x01:
+ case 0x02:
+ case 0x03: goto yy5;
+ case 'c': goto yy6;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ ++YYCURSOR;
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ a[\ 1-\ 3]?c
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ case 'b':
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ case 'd':
+ yyt1 = yyt3 = NULL;
+ goto yy8;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b':
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy8;
+ default: goto yy5;
+ }
+yy8:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy8;
+ default: goto yy10;
+ }
+yy10:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt2;
+ yypmatch[3] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt1;
+ {}
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ a+(b|c)*d+
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = yyt4 = NULL;
+ yyt1 = yyt2 = yyt5 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt3 = yyt4 = NULL;
+ yyt1 = yyt2 = yyt5 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[6] = yyt5;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[4] = yyt4;
+ yypmatch[7] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = yyt4 = NULL;
+ yyt5 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt3 = yyt4 = NULL;
+ yyt2 = yyt5 = YYCURSOR;
+ goto yy2;
+ }
+yy5:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ default: goto yy2;
+ }
+yy7:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt6 = YYCURSOR;
+ goto yy8;
+ case 'b':
+ yyt2 = yyt5;
+ goto yy5;
+ default:
+ yyt2 = yyt5;
+ goto yy2;
+ }
+yy8:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy10;
+ default: goto yy9;
+ }
+yy9:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ yyt2 = yyt5;
+ goto yy2;
+ } else {
+ yyt3 = yyt5 = YYCURSOR;
+ goto yy2;
+ }
+yy10:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt4 = yyt6;
+ yyt6 = YYCURSOR;
+ goto yy8;
+ case 'b':
+ yyt4 = yyt6;
+ yyt3 = yyt5 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt4 = yyt6;
+ yyt3 = yyt5 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a*)(ab)*(b*)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = yyt4 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = yyt4 = NULL;
+ yyt1 = yyt2 = yyt5 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt3 = yyt4 = NULL;
+ yyt1 = yyt2 = yyt5 = yyt6 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 7;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[4] = yyt1;
+ yypmatch[5] = yyt2;
+ yypmatch[7] = yyt3;
+ yypmatch[10] = yyt5;
+ yypmatch[12] = yyt6;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt5;
+ yypmatch[6] = yyt4;
+ yypmatch[8] = yyt5;
+ yypmatch[9] = YYCURSOR;
+ yypmatch[11] = yyt6;
+ yypmatch[13] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy3;
+ case 'b': goto yy7;
+ default:
+ yyt3 = yyt4 = NULL;
+ yyt2 = yyt5 = yyt6 = YYCURSOR;
+ goto yy2;
+ }
+yy5:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt6 = YYCURSOR;
+ goto yy8;
+ case 'b': goto yy5;
+ default:
+ yyt6 = YYCURSOR;
+ goto yy2;
+ }
+yy7:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = yyt5 = yyt6 = yyt7 = YYCURSOR;
+ goto yy10;
+ case 'b':
+ yyt3 = yyt5 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt3 = yyt5 = yyt6 = YYCURSOR;
+ goto yy2;
+ }
+yy8:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy9:
+ switch (yych) {
+ case 'a': goto yy8;
+ default: goto yy2;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy11;
+ default: goto yy9;
+ }
+yy11:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = yyt5 = yyt6 = YYCURSOR;
+ goto yy12;
+ case 'b':
+ yyt4 = yyt7;
+ yyt3 = yyt5 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt4 = yyt7;
+ yyt3 = yyt5 = yyt6 = YYCURSOR;
+ goto yy2;
+ }
+yy12:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt4 = yyt7;
+ goto yy8;
+ case 'b':
+ yyt7 = yyt3;
+ goto yy11;
+ default:
+ yyt4 = yyt7;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ ((a*)(ab)*)((b*)(a*))
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy3;
+ }
+ yyt2 = yyt3 = NULL;
+ yyt1 = YYCURSOR;
+yy2:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt3;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) goto yy5;
+ YYCURSOR = YYMARKER;
+ yyt2 = yyt3 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+yy5:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ yyt2 = YYCURSOR;
+ if (yych <= 0x00) goto yy2;
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+ yyt3 = YYCURSOR;
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+ goto yy5;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 3 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy8;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ ++YYCURSOR;
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt2;
+ yypmatch[4] = yyt1;
+ yypmatch[0] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt1;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy6;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a|ab)(bc|c)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy5;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy8;
+ default: goto yy7;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy9;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy10;
+ default: goto yy4;
+ }
+yy6:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *YYCURSOR;
+yy7:
+ switch (yych) {
+ case 'a': goto yy6;
+ case 'b': goto yy5;
+ default: goto yy4;
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy12;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy10;
+ default: goto yy4;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy15;
+ default: goto yy14;
+ }
+yy10:
+ ++YYCURSOR;
+yy11:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt2;
+ yypmatch[4] = yyt1;
+ yypmatch[0] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt1;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy9;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy16;
+ default: goto yy4;
+ }
+yy13:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy14:
+ switch (yych) {
+ case 'a': goto yy13;
+ case 'b': goto yy10;
+ default: goto yy4;
+ }
+yy15:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy10;
+ default: goto yy11;
+ }
+yy16:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy10;
+ default:
+ yyt1 = yyt3;
+ goto yy11;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (aba|a*b)(aba|a*b)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a*){2}
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt1;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a*)*
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt2 = yyt3 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[3] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt2;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b': goto yy9;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ yyt2 = yyt3 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ } else {
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy5:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy7:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b': goto yy5;
+ default: goto yy4;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy10;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy10:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy11:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy12;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy12:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy13;
+ case 'b': goto yy9;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy13:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b':
+ yyt2 = yyt4;
+ goto yy11;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (aba|a*b)*
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy6;
+ default:
+ yyt3 = yyt4 = NULL;
+ goto yy5;
+ }
+yy5:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[4] = yyt3;
+ yypmatch[5] = yyt4;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+yy6:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt4 = YYCURSOR;
+ goto yy5;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a(b)?)+
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+ yyt1 = yyt2 = YYCURSOR;
+yy2:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+ goto yy3;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 8) YYFILL(8);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt4 = yyt5 = NULL;
+ yyt1 = yyt2 = yyt6 = YYCURSOR;
+ goto yy4;
+ default:
+ yyt3 = yyt4 = yyt5 = yyt9 = NULL;
+ yyt1 = yyt2 = yyt6 = yyt8 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 6;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[6] = yyt4;
+ yypmatch[7] = yyt5;
+ yypmatch[8] = yyt6;
+ yypmatch[9] = yyt8;
+ yypmatch[10] = yyt9;
+ yypmatch[11] = yyt3;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = yyt6;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt4 = yyt5 = NULL;
+ yyt3 = yyt6 = yyt7 = yyt8 = YYCURSOR;
+ goto yy5;
+ case 'b':
+ yyt4 = yyt5 = NULL;
+ yyt6 = yyt7 = YYCURSOR;
+ goto yy6;
+ default:
+ yyt3 = yyt4 = yyt5 = yyt9 = NULL;
+ yyt2 = yyt6 = yyt8 = YYCURSOR;
+ goto yy2;
+ }
+yy4:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt8 = yyt9 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt3 = yyt9 = NULL;
+ yyt8 = YYCURSOR;
+ goto yy8;
+ default:
+ yyt3 = yyt9 = NULL;
+ yyt8 = YYCURSOR;
+ goto yy2;
+ }
+yy5:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt9 = YYCURSOR;
+ goto yy9;
+ case 'b': goto yy11;
+ default:
+ yyt2 = yyt7;
+ yyt3 = yyt9 = NULL;
+ goto yy2;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = yyt7;
+ yyt8 = yyt9 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt3 = yyt9 = NULL;
+ yyt8 = YYCURSOR;
+ goto yy12;
+ default:
+ yyt2 = yyt7;
+ yyt3 = yyt9 = NULL;
+ yyt8 = YYCURSOR;
+ goto yy2;
+ }
+yy7:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt7 = yyt2;
+ yyt9 = YYCURSOR;
+ goto yy9;
+ case 'b':
+ yyt3 = yyt7 = NULL;
+ goto yy13;
+ default:
+ yyt3 = yyt9 = NULL;
+ goto yy2;
+ }
+yy8:
+ ++YYCURSOR;
+ goto yy2;
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy14;
+ default: goto yy10;
+ }
+yy10:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ yyt2 = yyt7;
+ yyt3 = yyt9 = NULL;
+ goto yy2;
+ } else {
+ yyt3 = yyt9 = NULL;
+ goto yy2;
+ }
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = yyt7;
+ yyt4 = yyt3;
+ yyt5 = yyt6 = yyt8 = yyt9 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt2 = yyt7;
+ yyt4 = yyt3;
+ yyt5 = yyt6 = YYCURSOR;
+ goto yy4;
+ default:
+ yyt2 = yyt7;
+ yyt4 = yyt3;
+ yyt3 = yyt9 = NULL;
+ yyt5 = yyt6 = yyt8 = YYCURSOR;
+ goto yy2;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt4 = yyt1;
+ yyt5 = yyt8;
+ yyt6 = yyt8;
+ yyt8 = yyt9 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt4 = yyt1;
+ yyt5 = yyt8;
+ yyt6 = yyt8;
+ yyt3 = yyt9 = NULL;
+ yyt8 = YYCURSOR;
+ goto yy8;
+ default:
+ yyt2 = yyt7;
+ goto yy2;
+ }
+yy13:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy8;
+ default:
+ yyt9 = yyt7;
+ goto yy2;
+ }
+yy14:
+ yych = *++YYCURSOR;
+ yyt2 = yyt7;
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy8;
+ default: goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 3 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a?)((ab)?)(b?)a?(ab)?b?
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy8;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default: goto yy4;
+ }
+yy6:
+ ++YYCURSOR;
+yy7:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy10;
+ default: goto yy4;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default:
+ yyt2 = yyt3;
+ goto yy7;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd':
+ yyt2 = yyt3;
+ goto yy6;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a|ab)(c|bcd)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy8;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default: goto yy4;
+ }
+yy6:
+ ++YYCURSOR;
+yy7:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy10;
+ default: goto yy4;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default:
+ yyt2 = yyt3;
+ goto yy7;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd':
+ yyt2 = yyt3;
+ goto yy6;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a|ab)(bcd|c)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy8;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default: goto yy4;
+ }
+yy6:
+ ++YYCURSOR;
+yy7:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy10;
+ default: goto yy4;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default:
+ yyt2 = yyt3;
+ goto yy7;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd':
+ yyt2 = yyt3;
+ goto yy6;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (ab|a)(c|bcd)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy8;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default: goto yy4;
+ }
+yy6:
+ ++YYCURSOR;
+yy7:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy10;
+ default: goto yy4;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default:
+ yyt2 = yyt3;
+ goto yy7;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd':
+ yyt2 = yyt3;
+ goto yy6;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (ab|a)(bcd|c)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy8;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ goto yy11;
+yy7:
+ {
+ const size_t yynmatch = 5;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[4] = yyt1;
+ yypmatch[6] = yyt2;
+ yypmatch[8] = yyt3;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt3;
+ yypmatch[5] = yyt2;
+ yypmatch[7] = yyt3;
+ yypmatch[9] = YYCURSOR;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy12;
+ default: goto yy4;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy7;
+ }
+yy10:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy11:
+ switch (yych) {
+ case 'd': goto yy10;
+ default: goto yy7;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd':
+ yyt2 = yyt3;
+ goto yy6;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ ((a|ab)(c|bcd))(d*)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy8;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ goto yy11;
+yy7:
+ {
+ const size_t yynmatch = 5;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[4] = yyt1;
+ yypmatch[6] = yyt2;
+ yypmatch[8] = yyt3;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt3;
+ yypmatch[5] = yyt2;
+ yypmatch[7] = yyt3;
+ yypmatch[9] = YYCURSOR;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy12;
+ default: goto yy4;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy7;
+ }
+yy10:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy11:
+ switch (yych) {
+ case 'd': goto yy10;
+ default: goto yy7;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd':
+ yyt2 = yyt3;
+ goto yy6;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ ((a|ab)(bcd|c))(d*)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy8;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ goto yy11;
+yy7:
+ {
+ const size_t yynmatch = 5;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[4] = yyt1;
+ yypmatch[6] = yyt2;
+ yypmatch[8] = yyt3;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt3;
+ yypmatch[5] = yyt2;
+ yypmatch[7] = yyt3;
+ yypmatch[9] = YYCURSOR;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy12;
+ default: goto yy4;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy7;
+ }
+yy10:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy11:
+ switch (yych) {
+ case 'd': goto yy10;
+ default: goto yy7;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd':
+ yyt2 = yyt3;
+ goto yy6;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ ((ab|a)(c|bcd))(d*)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy8;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ goto yy11;
+yy7:
+ {
+ const size_t yynmatch = 5;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[4] = yyt1;
+ yypmatch[6] = yyt2;
+ yypmatch[8] = yyt3;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt3;
+ yypmatch[5] = yyt2;
+ yypmatch[7] = yyt3;
+ yypmatch[9] = YYCURSOR;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy12;
+ default: goto yy4;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy7;
+ }
+yy10:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy11:
+ switch (yych) {
+ case 'd': goto yy10;
+ default: goto yy7;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd':
+ yyt2 = yyt3;
+ goto yy6;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ ((ab|a)(bcd|c))(d*)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy8;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ goto yy10;
+yy7:
+ {
+ const size_t yynmatch = 5;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt2;
+ yypmatch[6] = yyt1;
+ yypmatch[8] = yyt3;
+ yypmatch[0] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt1;
+ yypmatch[4] = yyt1;
+ yypmatch[5] = YYCURSOR;
+ yypmatch[7] = yyt3;
+ yypmatch[9] = YYCURSOR;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy11;
+ default: goto yy4;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy10:
+ switch (yych) {
+ case 'd': goto yy9;
+ default: goto yy7;
+ }
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a|ab)((c|bcd)(d*))
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy8;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ goto yy10;
+yy7:
+ {
+ const size_t yynmatch = 5;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt2;
+ yypmatch[6] = yyt1;
+ yypmatch[8] = yyt3;
+ yypmatch[0] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt1;
+ yypmatch[4] = yyt1;
+ yypmatch[5] = YYCURSOR;
+ yypmatch[7] = yyt3;
+ yypmatch[9] = YYCURSOR;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy11;
+ default: goto yy4;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy10:
+ switch (yych) {
+ case 'd': goto yy9;
+ default: goto yy7;
+ }
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a|ab)((bcd|c)(d*))
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy8;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ goto yy10;
+yy7:
+ {
+ const size_t yynmatch = 5;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt2;
+ yypmatch[6] = yyt1;
+ yypmatch[8] = yyt3;
+ yypmatch[0] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt1;
+ yypmatch[4] = yyt1;
+ yypmatch[5] = YYCURSOR;
+ yypmatch[7] = yyt3;
+ yypmatch[9] = YYCURSOR;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy11;
+ default: goto yy4;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy10:
+ switch (yych) {
+ case 'd': goto yy9;
+ default: goto yy7;
+ }
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (ab|a)((c|bcd)(d*))
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy8;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ goto yy10;
+yy7:
+ {
+ const size_t yynmatch = 5;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt2;
+ yypmatch[6] = yyt1;
+ yypmatch[8] = yyt3;
+ yypmatch[0] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt1;
+ yypmatch[4] = yyt1;
+ yypmatch[5] = YYCURSOR;
+ yypmatch[7] = yyt3;
+ yypmatch[9] = YYCURSOR;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy11;
+ default: goto yy4;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy10:
+ switch (yych) {
+ case 'd': goto yy9;
+ default: goto yy7;
+ }
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (ab|a)((bcd|c)(d*))
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy8;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ ++YYCURSOR;
+yy7:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy6;
+ default:
+ yyt2 = yyt3;
+ goto yy7;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a*)(b|abc)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy8;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ ++YYCURSOR;
+yy7:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy6;
+ default:
+ yyt2 = yyt3;
+ goto yy7;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a*)(abc|b)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy8;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ goto yy10;
+yy7:
+ {
+ const size_t yynmatch = 5;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[4] = yyt1;
+ yypmatch[6] = yyt2;
+ yypmatch[8] = yyt3;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt3;
+ yypmatch[5] = yyt2;
+ yypmatch[7] = yyt3;
+ yypmatch[9] = YYCURSOR;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy6;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy7;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy10:
+ switch (yych) {
+ case 'c': goto yy9;
+ default: goto yy7;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ ((a*)(b|abc))(c*)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy8;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ goto yy10;
+yy7:
+ {
+ const size_t yynmatch = 5;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[4] = yyt1;
+ yypmatch[6] = yyt2;
+ yypmatch[8] = yyt3;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt3;
+ yypmatch[5] = yyt2;
+ yypmatch[7] = yyt3;
+ yypmatch[9] = YYCURSOR;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy6;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy7;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy10:
+ switch (yych) {
+ case 'c': goto yy9;
+ default: goto yy7;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ ((a*)(abc|b))(c*)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ goto yy9;
+yy7:
+ {
+ const size_t yynmatch = 5;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt2;
+ yypmatch[6] = yyt1;
+ yypmatch[8] = yyt3;
+ yypmatch[0] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt1;
+ yypmatch[4] = yyt1;
+ yypmatch[5] = YYCURSOR;
+ yypmatch[7] = yyt3;
+ yypmatch[9] = YYCURSOR;
+ {}
+ }
+yy8:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy9:
+ switch (yych) {
+ case 'c': goto yy8;
+ default: goto yy7;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a*)((b|abc)(c*))
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ goto yy9;
+yy7:
+ {
+ const size_t yynmatch = 5;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt2;
+ yypmatch[6] = yyt1;
+ yypmatch[8] = yyt3;
+ yypmatch[0] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt1;
+ yypmatch[4] = yyt1;
+ yypmatch[5] = YYCURSOR;
+ yypmatch[7] = yyt3;
+ yypmatch[9] = YYCURSOR;
+ {}
+ }
+yy8:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy9:
+ switch (yych) {
+ case 'c': goto yy8;
+ default: goto yy7;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a*)((abc|b)(c*))
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy8;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ ++YYCURSOR;
+yy7:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy6;
+ default:
+ yyt2 = yyt3;
+ goto yy7;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a*)(b|abc)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy8;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ ++YYCURSOR;
+yy7:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy6;
+ default:
+ yyt2 = yyt3;
+ goto yy7;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a*)(abc|b)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy8;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ goto yy10;
+yy7:
+ {
+ const size_t yynmatch = 5;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[4] = yyt1;
+ yypmatch[6] = yyt2;
+ yypmatch[8] = yyt3;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt3;
+ yypmatch[5] = yyt2;
+ yypmatch[7] = yyt3;
+ yypmatch[9] = YYCURSOR;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy6;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy7;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy10:
+ switch (yych) {
+ case 'c': goto yy9;
+ default: goto yy7;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ ((a*)(b|abc))(c*)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy8;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ goto yy10;
+yy7:
+ {
+ const size_t yynmatch = 5;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[4] = yyt1;
+ yypmatch[6] = yyt2;
+ yypmatch[8] = yyt3;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt3;
+ yypmatch[5] = yyt2;
+ yypmatch[7] = yyt3;
+ yypmatch[9] = YYCURSOR;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy6;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy7;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy10:
+ switch (yych) {
+ case 'c': goto yy9;
+ default: goto yy7;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ ((a*)(abc|b))(c*)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ goto yy9;
+yy7:
+ {
+ const size_t yynmatch = 5;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt2;
+ yypmatch[6] = yyt1;
+ yypmatch[8] = yyt3;
+ yypmatch[0] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt1;
+ yypmatch[4] = yyt1;
+ yypmatch[5] = YYCURSOR;
+ yypmatch[7] = yyt3;
+ yypmatch[9] = YYCURSOR;
+ {}
+ }
+yy8:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy9:
+ switch (yych) {
+ case 'c': goto yy8;
+ default: goto yy7;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a*)((b|abc)(c*))
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ goto yy9;
+yy7:
+ {
+ const size_t yynmatch = 5;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt2;
+ yypmatch[6] = yyt1;
+ yypmatch[8] = yyt3;
+ yypmatch[0] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt1;
+ yypmatch[4] = yyt1;
+ yypmatch[5] = YYCURSOR;
+ yypmatch[7] = yyt3;
+ yypmatch[9] = YYCURSOR;
+ {}
+ }
+yy8:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy9:
+ switch (yych) {
+ case 'c': goto yy8;
+ default: goto yy7;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a*)((abc|b)(c*))
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+yy5:
+ ++YYCURSOR;
+ goto yy4;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a|ab)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+yy5:
+ ++YYCURSOR;
+ goto yy4;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (ab|a)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy4:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+yy5:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ goto yy7;
+yy6:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy7:
+ switch (yych) {
+ case 'b': goto yy6;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a|ab)(b*)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy4:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+yy5:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ goto yy7;
+yy6:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy7:
+ switch (yych) {
+ case 'b': goto yy6;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (ab|a)(b*)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt3 = yyt4 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt2 = yyt4 = NULL;
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt3;
+ yypmatch[6] = yyt4;
+ yypmatch[7] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt3;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = yyt4 = YYCURSOR;
+ goto yy4;
+ case 'b': goto yy6;
+ default:
+ yyt2 = yyt4 = NULL;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy4:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy6;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ yyt2 = yyt4 = NULL;
+ yyt3 = YYCURSOR;
+ goto yy2;
+yy6:
+ ++YYCURSOR;
+ yyt2 = YYCURSOR;
+ goto yy2;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a?)((ab)?)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = yyt5 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = yyt5 = NULL;
+ yyt1 = yyt2 = yyt4 = YYCURSOR;
+ goto yy4;
+ default:
+ yyt3 = yyt5 = NULL;
+ yyt1 = yyt2 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 5;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[6] = yyt5;
+ yypmatch[7] = yyt3;
+ yypmatch[8] = yyt4;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = yyt4;
+ yypmatch[9] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = yyt5 = YYCURSOR;
+ goto yy5;
+ case 'b':
+ yyt3 = NULL;
+ yyt4 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt3 = yyt5 = NULL;
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy4:
+ ++YYCURSOR;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy8;
+ default: goto yy6;
+ }
+yy6:
+ YYCURSOR = YYMARKER;
+ yyt3 = yyt5 = NULL;
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy2;
+yy7:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt3 = yyt4 = YYCURSOR;
+ goto yy4;
+ default:
+ yyt2 = yyt4;
+ yyt5 = yyt3;
+ goto yy2;
+ }
+yy8:
+ yych = *++YYCURSOR;
+ yyt2 = yyt4;
+ yyt3 = yyt4 = YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy4;
+ default: goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a?)((ab)?)(b?)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt4 = yyt5 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt2 = yyt5 = NULL;
+ yyt1 = yyt3 = yyt4 = YYCURSOR;
+ goto yy4;
+ default:
+ yyt2 = yyt5 = NULL;
+ yyt1 = yyt3 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 6;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[4] = yyt1;
+ yypmatch[6] = yyt4;
+ yypmatch[8] = yyt5;
+ yypmatch[9] = yyt2;
+ yypmatch[10] = yyt3;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt3;
+ yypmatch[5] = yyt4;
+ yypmatch[7] = yyt3;
+ yypmatch[11] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = yyt5 = YYCURSOR;
+ goto yy5;
+ case 'b': goto yy7;
+ default:
+ yyt2 = yyt5 = NULL;
+ yyt3 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy4:
+ ++YYCURSOR;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy7;
+ default: goto yy6;
+ }
+yy6:
+ YYCURSOR = YYMARKER;
+ yyt2 = yyt5 = NULL;
+ yyt3 = yyt4 = YYCURSOR;
+ goto yy2;
+yy7:
+ yych = *++YYCURSOR;
+ yyt2 = yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy4;
+ default: goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ ((a?)((ab)?))(b?)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = yyt5 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = yyt5 = NULL;
+ yyt1 = yyt2 = yyt4 = YYCURSOR;
+ goto yy4;
+ default:
+ yyt3 = yyt5 = NULL;
+ yyt1 = yyt2 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 6;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[6] = yyt2;
+ yypmatch[8] = yyt5;
+ yypmatch[9] = yyt3;
+ yypmatch[10] = yyt4;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = YYCURSOR;
+ yypmatch[7] = yyt4;
+ yypmatch[11] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = yyt5 = YYCURSOR;
+ goto yy5;
+ case 'b':
+ yyt3 = NULL;
+ yyt4 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt3 = yyt5 = NULL;
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy4:
+ ++YYCURSOR;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy8;
+ default: goto yy6;
+ }
+yy6:
+ YYCURSOR = YYMARKER;
+ yyt3 = yyt5 = NULL;
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy2;
+yy7:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt3 = yyt4 = YYCURSOR;
+ goto yy4;
+ default:
+ yyt2 = yyt4;
+ yyt5 = yyt3;
+ goto yy2;
+ }
+yy8:
+ yych = *++YYCURSOR;
+ yyt2 = yyt4;
+ yyt3 = yyt4 = YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy4;
+ default: goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a?)(((ab)?)(b?))
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ yyt1 = YYCURSOR;
+ if (yych >= 0x01) goto yy3;
+yy2:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ goto yy2;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ yyt1 = YYCURSOR;
+ if (yych >= 0x01) goto yy3;
+yy2:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ goto yy2;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+ yyt1 = yyt2 = YYCURSOR;
+yy2:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ if (yych <= 0x00) goto yy2;
+ ++YYCURSOR;
+ goto yy2;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+ yyt1 = yyt2 = YYCURSOR;
+yy2:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ if (yych <= 0x00) goto yy2;
+ ++YYCURSOR;
+ goto yy2;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy3;
+ }
+ yyt1 = yyt2 = yyt3 = YYCURSOR;
+yy2:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt3;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+ yyt3 = YYCURSOR;
+ goto yy3;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ yyt1 = YYCURSOR;
+ if (yych >= 0x01) goto yy3;
+yy2:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) goto yy2;
+ ++YYCURSOR;
+ goto yy2;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ yyt1 = YYCURSOR;
+ if (yych >= 0x01) goto yy3;
+yy2:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) goto yy2;
+ ++YYCURSOR;
+ goto yy2;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+ yyt1 = yyt2 = YYCURSOR;
+yy2:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ if (yych <= 0x00) goto yy2;
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) goto yy2;
+ ++YYCURSOR;
+ goto yy2;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+ yyt1 = yyt2 = YYCURSOR;
+yy2:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ if (yych <= 0x00) goto yy2;
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) goto yy2;
+ ++YYCURSOR;
+ goto yy2;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+ yyt1 = yyt2 = yyt3 = YYCURSOR;
+yy2:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[6] = yyt3;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[7] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+ yyt2 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ if (yych <= 0x00) goto yy2;
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) goto yy2;
+ ++YYCURSOR;
+ goto yy2;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+ yyt1 = yyt2 = YYCURSOR;
+yy2:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ if (yych <= 0x00) goto yy2;
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) goto yy2;
+ ++YYCURSOR;
+ goto yy2;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy3;
+ }
+ yyt1 = yyt2 = yyt3 = YYCURSOR;
+yy2:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt3;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+ yyt3 = YYCURSOR;
+ goto yy3;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = yyt5 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = yyt5 = NULL;
+ yyt1 = yyt2 = yyt4 = YYCURSOR;
+ goto yy4;
+ default:
+ yyt3 = yyt5 = NULL;
+ yyt1 = yyt2 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[4] = yyt5;
+ yypmatch[5] = yyt3;
+ yypmatch[6] = yyt4;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt4;
+ yypmatch[7] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = yyt5 = YYCURSOR;
+ goto yy5;
+ case 'b':
+ yyt3 = NULL;
+ yyt4 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt3 = yyt5 = NULL;
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy4:
+ ++YYCURSOR;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy8;
+ default: goto yy6;
+ }
+yy6:
+ YYCURSOR = YYMARKER;
+ yyt3 = yyt5 = NULL;
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy2;
+yy7:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt3 = yyt4 = YYCURSOR;
+ goto yy4;
+ default:
+ yyt2 = yyt4;
+ yyt5 = yyt3;
+ goto yy2;
+ }
+yy8:
+ yych = *++YYCURSOR;
+ yyt2 = yyt4;
+ yyt3 = yyt4 = YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy4;
+ default: goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ a?((ab)?)(b?)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = yyt5 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt4 = yyt5 = NULL;
+ yyt1 = yyt2 = yyt3 = YYCURSOR;
+ goto yy4;
+ default:
+ yyt4 = yyt5 = NULL;
+ yyt1 = yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[6] = yyt5;
+ yypmatch[7] = yyt4;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ {}
+ }
+yy3:
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = yyt5 = YYCURSOR;
+ goto yy5;
+ case 'b':
+ yyt4 = NULL;
+ yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt4 = yyt5 = NULL;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy4:
+ ++YYCURSOR;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy8;
+ default: goto yy6;
+ }
+yy6:
+ YYCURSOR = YYMARKER;
+ yyt4 = yyt5 = NULL;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+yy7:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt3 = yyt4 = YYCURSOR;
+ goto yy4;
+ default:
+ yyt2 = yyt3;
+ yyt5 = yyt4;
+ goto yy2;
+ }
+yy8:
+ yych = *++YYCURSOR;
+ yyt2 = yyt3;
+ yyt3 = yyt4 = YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy4;
+ default: goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a?)((ab)?)b?
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = yyt5 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt4 = yyt5 = NULL;
+ yyt1 = yyt2 = yyt3 = YYCURSOR;
+ goto yy4;
+ default:
+ yyt4 = yyt5 = NULL;
+ yyt1 = yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = yyt3;
+ yypmatch[4] = yyt5;
+ yypmatch[5] = yyt4;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = yyt5 = YYCURSOR;
+ goto yy5;
+ case 'b':
+ yyt4 = NULL;
+ yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt4 = yyt5 = NULL;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy4:
+ ++YYCURSOR;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy8;
+ default: goto yy6;
+ }
+yy6:
+ YYCURSOR = YYMARKER;
+ yyt4 = yyt5 = NULL;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+yy7:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt3 = yyt4 = YYCURSOR;
+ goto yy4;
+ default:
+ yyt2 = yyt3;
+ yyt5 = yyt4;
+ goto yy2;
+ }
+yy8:
+ yych = *++YYCURSOR;
+ yyt2 = yyt3;
+ yyt3 = yyt4 = YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy4;
+ default: goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ a?((ab)?)b?
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a*){2}
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy5;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt3 = yyt1;
+ switch (yych) {
+ case 'b': goto yy7;
+ default: goto yy4;
+ }
+yy4:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt2;
+ yypmatch[4] = yyt3;
+ yypmatch[0] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt3;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy8;
+ default: goto yy6;
+ }
+yy6:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ goto yy2;
+ } else {
+ goto yy4;
+ }
+yy7:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy8;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ default: goto yy6;
+ }
+yy8:
+ ++YYCURSOR;
+ yyt3 = yyt1;
+ goto yy4;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (ab?)(b?a)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ case 'b': goto yy7;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ ++YYCURSOR;
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt2;
+ yypmatch[4] = yyt1;
+ yypmatch[0] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt1;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+yy7:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy8;
+ default: goto yy4;
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy5;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a|ab)(ba|a)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy7;
+ default: goto yy4;
+ }
+yy4:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ default: goto yy6;
+ }
+yy6:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy7:
+ ++YYCURSOR;
+ goto yy4;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a|ab|ba)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy5;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ case 'b': goto yy8;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy8;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy9;
+ default: goto yy7;
+ }
+yy7:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt2;
+ yypmatch[4] = yyt1;
+ yypmatch[0] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt1;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy10;
+ default: goto yy4;
+ }
+yy9:
+ ++YYCURSOR;
+ goto yy7;
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy9;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a|ab|ba)(a|ab|ba)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt2 = yyt3 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt3;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b': goto yy7;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy5:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ default: goto yy6;
+ }
+yy6:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ yyt2 = yyt3 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ } else {
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy7:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a|ab|ba)*
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy9;
+ default: goto yy8;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ ++YYCURSOR;
+yy6:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+yy7:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy8:
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b': goto yy5;
+ default: goto yy4;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy5;
+ default: goto yy6;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (aba|a*b)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy5;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy8;
+ default: goto yy7;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy9;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy10;
+ default: goto yy4;
+ }
+yy6:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *YYCURSOR;
+yy7:
+ switch (yych) {
+ case 'a': goto yy6;
+ case 'b': goto yy5;
+ default: goto yy4;
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy12;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy10;
+ default: goto yy4;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy15;
+ default: goto yy14;
+ }
+yy10:
+ ++YYCURSOR;
+yy11:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt2;
+ yypmatch[4] = yyt1;
+ yypmatch[0] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt1;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy9;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy16;
+ default: goto yy4;
+ }
+yy13:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy14:
+ switch (yych) {
+ case 'a': goto yy13;
+ case 'b': goto yy10;
+ default: goto yy4;
+ }
+yy15:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy10;
+ default: goto yy11;
+ }
+yy16:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy10;
+ default:
+ yyt1 = yyt3;
+ goto yy11;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (aba|a*b)(aba|a*b)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy5;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy8;
+ default: goto yy7;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy9;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy10;
+ default: goto yy4;
+ }
+yy6:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 7) YYFILL(7);
+ yych = *YYCURSOR;
+yy7:
+ switch (yych) {
+ case 'a': goto yy6;
+ case 'b': goto yy5;
+ default: goto yy4;
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy10;
+ default: goto yy4;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy14;
+ default: goto yy13;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy15;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy16;
+ default: goto yy4;
+ }
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy9;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy18;
+ default: goto yy4;
+ }
+yy12:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *YYCURSOR;
+yy13:
+ switch (yych) {
+ case 'a': goto yy12;
+ case 'b': goto yy10;
+ default: goto yy4;
+ }
+yy14:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy19;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy16;
+ default: goto yy4;
+ }
+yy15:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy22;
+ default: goto yy21;
+ }
+yy16:
+ ++YYCURSOR;
+yy17:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt4;
+ yypmatch[4] = yyt1;
+ yypmatch[6] = yyt3;
+ yypmatch[0] = yyt4;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt1;
+ yypmatch[5] = yyt3;
+ yypmatch[7] = YYCURSOR;
+ {}
+ }
+yy18:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy23;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy16;
+ default: goto yy4;
+ }
+yy19:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy15;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy24;
+ default: goto yy4;
+ }
+yy20:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy21:
+ switch (yych) {
+ case 'a': goto yy20;
+ case 'b': goto yy16;
+ default: goto yy4;
+ }
+yy22:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy16;
+ default: goto yy17;
+ }
+yy23:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt5 = YYCURSOR;
+ goto yy25;
+ case 'b': goto yy22;
+ default: goto yy4;
+ }
+yy24:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy16;
+ default:
+ yyt3 = yyt2;
+ goto yy17;
+ }
+yy25:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy26;
+ default: goto yy21;
+ }
+yy26:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2;
+ yyt3 = yyt5;
+ goto yy16;
+ default: goto yy17;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (aba|a*b)(aba|a*b)(aba|a*b)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt2 = yyt3 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[3] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt2;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b': goto yy9;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ yyt2 = yyt3 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ } else {
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy5:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy7:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b': goto yy5;
+ default: goto yy4;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy10;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy10:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy11:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy12;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy12:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy13;
+ case 'b': goto yy9;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy13:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b':
+ yyt2 = yyt4;
+ goto yy11;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (aba|a*b)*
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ ++YYCURSOR;
+ goto yy4;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (aba|ab|a)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ case 'b': goto yy7;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy8;
+ default: goto yy6;
+ }
+yy6:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt2;
+ yypmatch[4] = yyt1;
+ yypmatch[0] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt1;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+yy7:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy9;
+ default: goto yy4;
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy10;
+ default: goto yy6;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ case 'b': goto yy8;
+ default: goto yy6;
+ }
+yy10:
+ ++YYCURSOR;
+ goto yy6;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (aba|ab|a)(aba|ab|a)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ case 'b': goto yy6;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy7;
+ case 'b': goto yy9;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy10;
+ default: goto yy4;
+ }
+yy7:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy11;
+ default: goto yy8;
+ }
+yy8:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt3;
+ yypmatch[4] = yyt1;
+ yypmatch[6] = yyt2;
+ yypmatch[0] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt1;
+ yypmatch[5] = yyt2;
+ yypmatch[7] = YYCURSOR;
+ {}
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy12;
+ default: goto yy4;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy13;
+ case 'b': goto yy9;
+ default: goto yy4;
+ }
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy14;
+ default: goto yy8;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy7;
+ case 'b': goto yy11;
+ default: goto yy8;
+ }
+yy13:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy7;
+ case 'b': goto yy15;
+ default: goto yy8;
+ }
+yy14:
+ ++YYCURSOR;
+ goto yy8;
+yy15:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy12;
+ default: goto yy8;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (aba|ab|a)(aba|ab|a)(aba|ab|a)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt2 = yyt3 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt3;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy3;
+ case 'b': goto yy5;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy5:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy6;
+ default: goto yy2;
+ }
+yy6:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = yyt2;
+ goto yy5;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (aba|ab|a)*
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt2 = yyt3 = NULL;
+ goto yy4;
+ }
+yy4:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+yy5:
+ ++YYCURSOR;
+ yyt3 = YYCURSOR;
+ goto yy4;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a(b)?)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt3 = NULL;
+ yyt4 = YYCURSOR;
+ goto yy5;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy7;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt5 = YYCURSOR;
+ goto yy8;
+ default:
+ yyt5 = yyt6 = NULL;
+ goto yy6;
+ }
+yy6:
+ {
+ const size_t yynmatch = 5;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt2;
+ yypmatch[4] = yyt1;
+ yypmatch[5] = yyt3;
+ yypmatch[6] = yyt4;
+ yypmatch[8] = yyt5;
+ yypmatch[9] = yyt6;
+ yypmatch[0] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt4;
+ yypmatch[7] = YYCURSOR;
+ {}
+ }
+yy7:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = yyt4 = YYCURSOR;
+ goto yy5;
+ default: goto yy4;
+ }
+yy8:
+ ++YYCURSOR;
+ yyt6 = YYCURSOR;
+ goto yy6;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a(b)?)(a(b)?)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy6;
+ default:
+ yyt3 = yyt4 = NULL;
+ goto yy5;
+ }
+yy5:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[4] = yyt3;
+ yypmatch[5] = yyt4;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+yy6:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt4 = YYCURSOR;
+ goto yy5;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a(b)?)+
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+ yyt1 = yyt2 = YYCURSOR;
+yy2:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+ goto yy3;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+ yyt1 = yyt2 = YYCURSOR;
+yy2:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+ goto yy3;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy5;
+ case 'z': goto yy8;
+ default: goto yy3;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ goto yy2;
+ } else {
+ goto yy10;
+ }
+yy6:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy5;
+ case 'y': goto yy11;
+ default: goto yy6;
+ }
+yy8:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy10;
+ case 'z': goto yy8;
+ default: goto yy3;
+ }
+yy10:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+yy11:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy10;
+ case 'y': goto yy11;
+ default: goto yy6;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy5;
+ case 'z': goto yy8;
+ default: goto yy3;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0: goto yy2;
+ case 1: goto yy22;
+ case 2:
+ yyt3 = yyt4;
+ goto yy22;
+ default:
+ yyt3 = yyt1;
+ goto yy22;
+ }
+yy6:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy5;
+ case 'y': goto yy10;
+ default: goto yy6;
+ }
+yy8:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy5;
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy12;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy14;
+ case 'z': goto yy8;
+ default: goto yy3;
+ }
+yy10:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy5;
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy16;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy18;
+ case 'y': goto yy10;
+ default: goto yy6;
+ }
+yy12:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy5;
+ case 'z': goto yy20;
+ default: goto yy12;
+ }
+yy14:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy5;
+ case 'y': goto yy23;
+ case 'z': goto yy25;
+ default: goto yy14;
+ }
+yy16:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy5;
+ case 'y': goto yy27;
+ case 'z': goto yy29;
+ default: goto yy16;
+ }
+yy18:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy5;
+ case 'y': goto yy31;
+ default: goto yy18;
+ }
+yy20:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt3 = yyt1;
+ goto yy22;
+ case 'a':
+ yyt3 = yyt1;
+ yyt1 = YYCURSOR;
+ goto yy12;
+ case 'b':
+ yyt3 = yyt1;
+ yyt4 = YYCURSOR;
+ goto yy33;
+ case 'z': goto yy20;
+ default:
+ yyt3 = yyt1;
+ goto yy12;
+ }
+yy22:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt2;
+ yypmatch[4] = yyt3;
+ yypmatch[0] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt3;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+yy23:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt3 = yyt1;
+ goto yy22;
+ case 'y': goto yy23;
+ case 'z':
+ yyt3 = yyt1;
+ goto yy25;
+ default:
+ yyt3 = yyt1;
+ goto yy14;
+ }
+yy25:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy5;
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy35;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy14;
+ case 'y': goto yy23;
+ case 'z': goto yy25;
+ default: goto yy14;
+ }
+yy27:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy5;
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy16;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy37;
+ case 'y': goto yy27;
+ case 'z': goto yy29;
+ default: goto yy16;
+ }
+yy29:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt3 = yyt1;
+ goto yy22;
+ case 'y':
+ yyt3 = yyt1;
+ goto yy27;
+ case 'z': goto yy29;
+ default:
+ yyt3 = yyt1;
+ goto yy16;
+ }
+yy31:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt3 = yyt1;
+ goto yy22;
+ case 'a':
+ yyt3 = yyt1;
+ yyt4 = YYCURSOR;
+ goto yy39;
+ case 'b':
+ yyt3 = yyt1;
+ yyt1 = YYCURSOR;
+ goto yy18;
+ case 'y': goto yy31;
+ default:
+ yyt3 = yyt1;
+ goto yy18;
+ }
+yy33:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy5;
+ case 'y': goto yy41;
+ case 'z': goto yy43;
+ default: goto yy33;
+ }
+yy35:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy5;
+ case 'y': goto yy45;
+ case 'z': goto yy47;
+ default: goto yy35;
+ }
+yy37:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy5;
+ case 'y': goto yy49;
+ case 'z': goto yy51;
+ default: goto yy37;
+ }
+yy39:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy5;
+ case 'y': goto yy53;
+ case 'z': goto yy55;
+ default: goto yy39;
+ }
+yy41:
+ yyaccept = 2;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt3 = yyt4;
+ goto yy22;
+ case 'y': goto yy41;
+ case 'z': goto yy43;
+ default: goto yy33;
+ }
+yy43:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt3 = yyt1;
+ goto yy22;
+ case 'a':
+ yyt3 = yyt1;
+ yyt1 = yyt4;
+ yyt4 = YYCURSOR;
+ goto yy35;
+ case 'b':
+ yyt3 = yyt1;
+ yyt4 = YYCURSOR;
+ goto yy33;
+ case 'y': goto yy41;
+ case 'z': goto yy43;
+ default:
+ yyt3 = yyt1;
+ goto yy33;
+ }
+yy45:
+ yyaccept = 3;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt3 = yyt1;
+ goto yy22;
+ case 'y': goto yy45;
+ case 'z': goto yy47;
+ default: goto yy35;
+ }
+yy47:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt3 = yyt4;
+ goto yy22;
+ case 'a':
+ yyt3 = yyt4;
+ yyt4 = YYCURSOR;
+ goto yy35;
+ case 'b':
+ yyt1 = yyt4;
+ yyt3 = yyt4;
+ yyt4 = YYCURSOR;
+ goto yy33;
+ case 'y': goto yy45;
+ case 'z': goto yy47;
+ default:
+ yyt3 = yyt4;
+ goto yy35;
+ }
+yy49:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt3 = yyt4;
+ goto yy22;
+ case 'a':
+ yyt1 = yyt4;
+ yyt3 = yyt4;
+ yyt4 = YYCURSOR;
+ goto yy39;
+ case 'b':
+ yyt3 = yyt4;
+ yyt4 = YYCURSOR;
+ goto yy37;
+ case 'y': goto yy49;
+ case 'z': goto yy51;
+ default:
+ yyt3 = yyt4;
+ goto yy37;
+ }
+yy51:
+ yyaccept = 3;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt3 = yyt1;
+ goto yy22;
+ case 'y': goto yy49;
+ case 'z': goto yy51;
+ default: goto yy37;
+ }
+yy53:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt3 = yyt1;
+ goto yy22;
+ case 'a':
+ yyt3 = yyt1;
+ yyt4 = YYCURSOR;
+ goto yy39;
+ case 'b':
+ yyt3 = yyt1;
+ yyt1 = yyt4;
+ yyt4 = YYCURSOR;
+ goto yy37;
+ case 'y': goto yy53;
+ case 'z': goto yy55;
+ default:
+ yyt3 = yyt1;
+ goto yy39;
+ }
+yy55:
+ yyaccept = 2;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt3 = yyt4;
+ goto yy22;
+ case 'y': goto yy53;
+ case 'z': goto yy55;
+ default: goto yy39;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 3 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 3 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy6;
+ default:
+ yyt2 = yyt3 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt3;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy5;
+ case 'z': goto yy8;
+ default: goto yy3;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0:
+ yyt2 = yyt3 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ case 1:
+ yyt2 = YYCURSOR;
+ goto yy2;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy6:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy5;
+ case 'y': goto yy10;
+ default: goto yy6;
+ }
+yy8:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt2 = YYCURSOR;
+ goto yy2;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy12;
+ case 'z': goto yy8;
+ default: goto yy3;
+ }
+yy10:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt2 = YYCURSOR;
+ goto yy2;
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy14;
+ case 'y': goto yy10;
+ default: goto yy6;
+ }
+yy12:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy5;
+ case 'y': goto yy16;
+ case 'z': goto yy18;
+ default: goto yy12;
+ }
+yy14:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy5;
+ case 'y': goto yy20;
+ case 'z': goto yy22;
+ default: goto yy14;
+ }
+yy16:
+ yyaccept = 2;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy2;
+ case 'y': goto yy16;
+ case 'z': goto yy18;
+ default: goto yy12;
+ }
+yy18:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt2 = YYCURSOR;
+ goto yy2;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy12;
+ case 'y': goto yy16;
+ case 'z': goto yy18;
+ default: goto yy12;
+ }
+yy20:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt2 = YYCURSOR;
+ goto yy2;
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy14;
+ case 'y': goto yy20;
+ case 'z': goto yy22;
+ default: goto yy14;
+ }
+yy22:
+ yyaccept = 2;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy2;
+ case 'y': goto yy20;
+ case 'z': goto yy22;
+ default: goto yy14;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) goto yy5;
+ yyt2 = YYCURSOR;
+yy4:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+yy5:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ goto yy7;
+yy6:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy7:
+ if (yych <= 0x00) goto yy4;
+ goto yy6;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt2 = NULL;
+ yyt1 = yyt3 = yyt5 = YYCURSOR;
+ goto yy3;
+ }
+ yyt2 = yyt3 = yyt4 = yyt5 = NULL;
+ yyt1 = YYCURSOR;
+yy2:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[5] = yyt2;
+ yypmatch[7] = yyt4;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ yypmatch[4] = yyt3;
+ yypmatch[6] = yyt5;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) goto yy5;
+ YYCURSOR = YYMARKER;
+ yyt2 = yyt3 = yyt4 = yyt5 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt4 = yyt5 = NULL;
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+ yyt4 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt2;
+ yyt4 = YYCURSOR;
+ goto yy2;
+ }
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt4;
+ yyt4 = yyt5 = NULL;
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+ yyt2 = yyt5 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = yyt4;
+ yyt5 = yyt4;
+ yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt2;
+ yyt4 = yyt5 = NULL;
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+ yyt3 = YYCURSOR;
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt4;
+ yyt4 = YYCURSOR;
+ goto yy2;
+ }
+ yyt4 = yyt2;
+ yyt5 = yyt3;
+ yyt2 = yyt3;
+ goto yy9;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 4 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 4 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 4 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 4 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt2 = NULL;
+ yyt1 = yyt3 = yyt5 = YYCURSOR;
+ goto yy3;
+ }
+ yyt2 = yyt3 = yyt4 = yyt5 = yyt7 = NULL;
+ yyt1 = yyt6 = YYCURSOR;
+yy2:
+ {
+ const size_t yynmatch = 7;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[5] = yyt2;
+ yypmatch[7] = yyt4;
+ yypmatch[8] = yyt6;
+ yypmatch[11] = yyt7;
+ yypmatch[13] = yyt7;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt6;
+ yypmatch[4] = yyt3;
+ yypmatch[6] = yyt5;
+ yypmatch[9] = YYCURSOR;
+ yypmatch[10] = yyt7;
+ yypmatch[12] = yyt7;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) goto yy5;
+ YYCURSOR = YYMARKER;
+ yyt2 = yyt3 = yyt4 = yyt5 = yyt7 = NULL;
+ yyt1 = yyt6 = YYCURSOR;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt4 = yyt5 = yyt7 = NULL;
+ yyt2 = yyt6 = YYCURSOR;
+ goto yy2;
+ }
+ yyt4 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt2;
+ yyt7 = NULL;
+ yyt4 = yyt6 = YYCURSOR;
+ goto yy2;
+ }
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt4;
+ yyt4 = yyt5 = yyt7 = NULL;
+ yyt2 = yyt6 = YYCURSOR;
+ goto yy2;
+ }
+ yyt2 = yyt5 = yyt6 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = yyt4;
+ yyt5 = yyt4;
+ yyt7 = NULL;
+ yyt4 = yyt6 = YYCURSOR;
+ goto yy2;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt6;
+ yyt4 = yyt5 = yyt7 = NULL;
+ yyt2 = yyt6 = YYCURSOR;
+ goto yy2;
+ }
+ yyt3 = YYCURSOR;
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt4;
+ yyt7 = NULL;
+ yyt4 = yyt6 = YYCURSOR;
+ goto yy2;
+ }
+ yyt2 = yyt3;
+ yyt4 = yyt6;
+ yyt5 = yyt3;
+ yyt6 = yyt3;
+ goto yy9;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 3 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 4 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 4 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 5 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 3 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 6 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 3 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 4 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 3 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 4 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 3 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 3 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt2 = yyt3 = NULL;
+ yyt1 = yyt4 = yyt6 = YYCURSOR;
+ goto yy3;
+ }
+ yyt3 = yyt4 = yyt5 = yyt6 = NULL;
+ yyt1 = yyt2 = YYCURSOR;
+yy2:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[7] = yyt5;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt4;
+ yypmatch[6] = yyt6;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) goto yy5;
+ YYCURSOR = YYMARKER;
+ yyt3 = yyt4 = yyt5 = yyt6 = NULL;
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt5 = yyt6 = NULL;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+ yyt5 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt4 = yyt2;
+ yyt2 = yyt5 = YYCURSOR;
+ goto yy2;
+ }
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt4 = yyt5;
+ yyt5 = yyt6 = NULL;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+ yyt2 = yyt3 = yyt6 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt5;
+ yyt6 = yyt5;
+ yyt2 = yyt5 = YYCURSOR;
+ goto yy2;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt4 = yyt2;
+ yyt5 = yyt6 = NULL;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+ yyt4 = YYCURSOR;
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt4 = yyt5;
+ yyt2 = yyt5 = YYCURSOR;
+ goto yy2;
+ }
+ yyt3 = yyt4;
+ yyt5 = yyt2;
+ yyt6 = yyt4;
+ yyt2 = yyt4;
+ goto yy9;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 3 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 4 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 4 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 4 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 4 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt1;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a*)*
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ yyt1 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ default: goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a*)+
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt2 = yyt3 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt3;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a+)*
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ default: goto yy5;
+ }
+yy5:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a+)+
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt1;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ ([a]*)*
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ yyt1 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ default: goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ ([a]*)+
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ case 'b':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy2;
+ default:
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt1;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy2;
+ default: goto yy3;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt1;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ case 'b': goto yy3;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ ([ab]*)*
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ case 'a':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy2;
+ default:
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt1;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy2;
+ default: goto yy3;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ case 'a':
+ case 'b':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy2;
+ default:
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt1;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ case 'a':
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy2;
+ default: goto yy3;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy3;
+ case 'z':
+ yyt1 = yyt3 = yyt5 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt2 = yyt3 = yyt4 = yyt5 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = yyt4;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt3;
+ yypmatch[4] = yyt5;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy3;
+ case 'z':
+ yyt3 = yyt5 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt4 = yyt5 = NULL;
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy5:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy3;
+ case 'z':
+ yyt5 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ ((z)+|a)*
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR - 1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = YYCURSOR - 1;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'x':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ case 'x':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ ++YYCURSOR;
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = YYCURSOR - 1;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a*)*(x)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'x':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ case 'x':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ ++YYCURSOR;
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = YYCURSOR - 1;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a*)*(x)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'x':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ case 'x':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ ++YYCURSOR;
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = YYCURSOR - 1;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a*)*(x)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'x':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ case 'x': goto yy6;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ ++YYCURSOR;
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = YYCURSOR - 1;
+ yypmatch[4] = YYCURSOR - 1;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a*)+(x)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'x':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ case 'x': goto yy6;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ ++YYCURSOR;
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = YYCURSOR - 1;
+ yypmatch[4] = YYCURSOR - 1;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a*)+(x)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'x':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ case 'x': goto yy6;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ ++YYCURSOR;
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = YYCURSOR - 1;
+ yypmatch[4] = YYCURSOR - 1;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a*)+(x)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'x':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ case 'x':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ ++YYCURSOR;
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = YYCURSOR - 1;
+ yypmatch[4] = YYCURSOR - 1;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a*){2}(x)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'x':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ case 'x':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ ++YYCURSOR;
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = YYCURSOR - 1;
+ yypmatch[4] = YYCURSOR - 1;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a*){2}(x)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'x':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ case 'x':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ ++YYCURSOR;
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = YYCURSOR - 1;
+ yypmatch[4] = YYCURSOR - 1;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a*){2}(x)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy2;
+ case 'b':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt2 = NULL;
+ goto yy7;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt2 = NULL;
+ goto yy7;
+ default: goto yy6;
+ }
+yy6:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR - 1;
+ yypmatch[6] = YYCURSOR - 1;
+ yypmatch[7] = YYCURSOR;
+ {}
+ }
+yy7:
+ ++YYCURSOR;
+ goto yy6;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy5;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt2 = NULL;
+ goto yy7;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt2 = NULL;
+ goto yy7;
+ default: goto yy6;
+ }
+yy6:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR - 1;
+ yypmatch[6] = YYCURSOR - 1;
+ yypmatch[7] = YYCURSOR;
+ {}
+ }
+yy7:
+ ++YYCURSOR;
+ goto yy6;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (("")|[ab])(b)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt2 = yyt4 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt4 = NULL;
+ yyt3 = YYCURSOR;
+ goto yy8;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ goto yy2;
+ } else {
+ goto yy7;
+ }
+yy6:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'b':
+ yyt4 = NULL;
+ yyt3 = YYCURSOR;
+ goto yy8;
+ default: goto yy9;
+ }
+yy7:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt2;
+ yypmatch[4] = yyt4;
+ yypmatch[5] = yyt4;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt3;
+ yypmatch[3] = YYCURSOR - 1;
+ {}
+ }
+yy8:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy9:
+ switch (yych) {
+ case 'a':
+ yyt3 = yyt1;
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt3;
+ yyt4 = NULL;
+ yyt3 = YYCURSOR;
+ goto yy8;
+ default:
+ yyt3 = yyt1;
+ goto yy7;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (("")|[ab])+b
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy2;
+ case 'b':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt2 = NULL;
+ goto yy7;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt2 = NULL;
+ goto yy7;
+ default: goto yy6;
+ }
+yy6:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR - 1;
+ yypmatch[6] = YYCURSOR - 1;
+ yypmatch[7] = YYCURSOR;
+ {}
+ }
+yy7:
+ ++YYCURSOR;
+ goto yy6;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy5;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt2 = NULL;
+ goto yy7;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt2 = NULL;
+ goto yy7;
+ default: goto yy6;
+ }
+yy6:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR - 1;
+ yypmatch[6] = YYCURSOR - 1;
+ yypmatch[7] = YYCURSOR;
+ {}
+ }
+yy7:
+ ++YYCURSOR;
+ goto yy6;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ ([ab]|(""))(b)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt2 = yyt4 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt4 = NULL;
+ yyt3 = YYCURSOR;
+ goto yy8;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ goto yy2;
+ } else {
+ goto yy7;
+ }
+yy6:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'b':
+ yyt4 = NULL;
+ yyt3 = YYCURSOR;
+ goto yy8;
+ default: goto yy9;
+ }
+yy7:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt2;
+ yypmatch[4] = yyt4;
+ yypmatch[5] = yyt4;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt3;
+ yypmatch[3] = YYCURSOR - 1;
+ {}
+ }
+yy8:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy9:
+ switch (yych) {
+ case 'a':
+ yyt3 = yyt1;
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt3;
+ yyt4 = NULL;
+ yyt3 = YYCURSOR;
+ goto yy8;
+ default:
+ yyt3 = yyt1;
+ goto yy7;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ ([ab]|(""))+b
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy2;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy7;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy7;
+ default: goto yy6;
+ }
+yy6:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR - 1;
+ yypmatch[4] = YYCURSOR - 1;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+yy7:
+ ++YYCURSOR;
+ goto yy6;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt2 = yyt3 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt3;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy4;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy4:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a|aa)*
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt2 = yyt3 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt3;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy4;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy4:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (aa|a)*
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ yyt1 = NULL;
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt1;
+ yypmatch[0] = YYCURSOR - 1;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ a|(a)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ yyt2 = YYCURSOR;
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[0] = YYCURSOR - 1;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a)|a
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ ++YYCURSOR;
+ yyt3 = NULL;
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[4] = yyt3;
+ yypmatch[5] = yyt3;
+ yypmatch[0] = YYCURSOR - 2;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (b)a|b(a)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'b': goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ ++YYCURSOR;
+ yyt3 = NULL;
+ yyt2 = YYCURSOR;
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[4] = yyt3;
+ yypmatch[5] = yyt3;
+ yypmatch[0] = YYCURSOR - 2;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ b(a)|(b)a
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt2 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt2;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ default:
+ yyt2 = NULL;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 3 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ a*|(a|aa)*
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt2 = yyt3 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt3;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy4;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy4:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 3 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a|aa)*|a*
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt1 = yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt3;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ yyt1 = yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+yy5:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy6;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy6:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ default: goto yy2;
+ }
+yy7:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy8;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy8:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy9;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy10;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy10:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy5;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 4 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (aa*|aaa*)*
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy2;
+yy5:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy6;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy6:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ default: goto yy2;
+ }
+yy7:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy8;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy8:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy9;
+ default: goto yy2;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy10;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy10:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy5;
+ default:
+ yyt2 = yyt3;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 5 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 5 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (aa*|aaa*)(aa*|aaa*)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt3 = yyt5 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt2 = yyt3 = yyt4 = yyt5 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = yyt4;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt3;
+ yypmatch[4] = yyt5;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0:
+ yyt2 = yyt3 = yyt4 = yyt5 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ case 1:
+ yyt4 = yyt5 = NULL;
+ yyt2 = YYCURSOR;
+ goto yy2;
+ default:
+ yyt3 = yyt2;
+ yyt4 = yyt5 = NULL;
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy5:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy6;
+ default:
+ yyt4 = yyt5 = NULL;
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy6:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ default:
+ yyt2 = yyt3 = NULL;
+ yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy7:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy8;
+ default:
+ yyt4 = yyt5 = NULL;
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy8:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy9;
+ default: goto yy4;
+ }
+yy9:
+ yyaccept = 2;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = yyt5 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt3 = yyt2;
+ yyt4 = yyt5 = NULL;
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (aa)*|(aaa)*
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'X':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy3;
+ case 'Y':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy5;
+ case 'a':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt2 = yyt3 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[3] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt2;
+ {}
+ }
+yy3:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'X':
+ yyt3 = YYCURSOR;
+ goto yy3;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy5;
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy10;
+ case 'b':
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy5:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'X':
+ yyt3 = YYCURSOR;
+ goto yy3;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy5;
+ case 'a':
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy7:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy11;
+ default: goto yy8;
+ }
+yy8:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0:
+ yyt2 = yyt3 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ case 1:
+ yyt3 = YYCURSOR;
+ goto yy2;
+ case 2:
+ yyt2 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ default:
+ yyt2 = yyt5;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'Y': goto yy5;
+ case 'a': goto yy12;
+ default: goto yy8;
+ }
+yy10:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'X':
+ yyt3 = YYCURSOR;
+ goto yy3;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy5;
+ case 'a':
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt5 = YYCURSOR;
+ goto yy13;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy11:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy14;
+ default: goto yy8;
+ }
+yy12:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy15;
+ default: goto yy8;
+ }
+yy13:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'X':
+ yyt3 = YYCURSOR;
+ goto yy3;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy5;
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy16;
+ case 'b':
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy14:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ default: goto yy8;
+ }
+yy15:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy5;
+ default: goto yy8;
+ }
+yy16:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'X':
+ yyt3 = YYCURSOR;
+ goto yy3;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy5;
+ case 'a':
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy17;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy17:
+ yyaccept = 2;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'X':
+ yyt3 = YYCURSOR;
+ goto yy3;
+ case 'Y': goto yy5;
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy18;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt2 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy18:
+ yyaccept = 3;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'X':
+ yyt3 = YYCURSOR;
+ goto yy3;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy5;
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt5 = YYCURSOR;
+ goto yy19;
+ default:
+ yyt2 = yyt5;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy19:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'X':
+ yyt3 = YYCURSOR;
+ goto yy3;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy5;
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy16;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 4 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (X|Xa|Xab|Xaba|abab|baba|bY|Y)*
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'y':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'y':
+ yyt2 = YYCURSOR;
+ goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ ++YYCURSOR;
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (y){2}
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'y':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt2 = yyt3 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt3;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'y':
+ yyt3 = YYCURSOR;
+ goto yy4;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy4:
+ ++YYCURSOR;
+ yyt2 = YYCURSOR;
+ goto yy2;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (y){0,2}
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'y':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'y':
+ yyt2 = YYCURSOR;
+ goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+yy5:
+ ++YYCURSOR;
+ goto yy4;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (y){1,2}
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'y':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'y':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'y': goto yy7;
+ default: goto yy6;
+ }
+yy6:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt3;
+ yypmatch[3] = YYCURSOR - 1;
+ {}
+ }
+yy7:
+ ++YYCURSOR;
+ yyt3 = yyt1;
+ goto yy6;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (y){1,2}y
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'y':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'y':
+ yyt3 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy4:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt3;
+ {}
+ }
+yy5:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'y': goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ ++YYCURSOR;
+ goto yy4;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (y){1,2}y?
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'y':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'y':
+ yyt2 = YYCURSOR;
+ goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'y':
+ yyt2 = YYCURSOR;
+ goto yy5;
+ default: goto yy7;
+ }
+yy7:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (y){2,}
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'y':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'y': goto yy4;
+ default: goto yy2;
+ }
+yy4:
+ ++YYCURSOR;
+ goto yy2;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (y?){2}
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'y':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt1 = yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt3;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'y':
+ yyt3 = YYCURSOR;
+ goto yy4;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy4:
+ ++YYCURSOR;
+ yyt2 = YYCURSOR;
+ goto yy2;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (y?){0,2}
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ yyt1 = yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'y': goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'y':
+ yyt2 = YYCURSOR;
+ goto yy4;
+ default: goto yy2;
+ }
+yy4:
+ ++YYCURSOR;
+ goto yy2;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (y?){1,2}
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'y':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'y':
+ yyt3 = YYCURSOR;
+ goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = YYCURSOR - 1;
+ {}
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'y': goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ ++YYCURSOR;
+ yyt2 = yyt3;
+ goto yy4;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (y?){1,2}y
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'y':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt1 = yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt3;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'y':
+ yyt3 = YYCURSOR;
+ goto yy4;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy4:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'y': goto yy5;
+ default: goto yy2;
+ }
+yy5:
+ ++YYCURSOR;
+ goto yy2;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (y?){1,2}y?
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'y':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'y': goto yy4;
+ default: goto yy2;
+ }
+yy4:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'y':
+ yyt2 = YYCURSOR;
+ goto yy4;
+ default: goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (y?){2,}
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'x':
+ yyt1 = yyt2 = yyt3 = YYCURSOR;
+ goto yy3;
+ case 'y':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy4;
+ default:
+ yyt1 = yyt2 = yyt3 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[4] = yyt3;
+ yypmatch[5] = yyt4;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'x':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy5;
+ case 'y':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default:
+ yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy4:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'x':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy5;
+ case 'y':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default:
+ yyt3 = yyt4 = NULL;
+ goto yy2;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'x':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ case 'y':
+ yyt2 = YYCURSOR;
+ goto yy8;
+ default:
+ yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'x':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ case 'y':
+ yyt2 = YYCURSOR;
+ goto yy8;
+ default:
+ yyt3 = yyt4 = NULL;
+ goto yy2;
+ }
+yy7:
+ ++YYCURSOR;
+ yyt4 = YYCURSOR;
+ goto yy2;
+yy8:
+ ++YYCURSOR;
+ yyt3 = yyt4 = NULL;
+ goto yy2;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (y|(x?)){1,3}
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'y':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'y': goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'y':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'y':
+ yyt2 = YYCURSOR;
+ goto yy8;
+ default: goto yy7;
+ }
+yy7:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'y':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ default: goto yy7;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'y': goto yy10;
+ default: goto yy7;
+ }
+yy10:
+ ++YYCURSOR;
+ goto yy7;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (y[y]?){3}
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = yyt2 = yyt4 = YYCURSOR;
+ goto yy3;
+ }
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) goto yy5;
+ yyt2 = yyt3 = NULL;
+ yyt5 = YYCURSOR;
+yy4:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[6] = yyt4;
+ yypmatch[7] = yyt5;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+yy5:
+ ++YYCURSOR;
+ yyt4 = yyt5 = NULL;
+ yyt3 = YYCURSOR;
+ goto yy4;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt3 = NULL;
+ yyt5 = yyt6 = yyt9 = YYCURSOR;
+ goto yy5;
+ }
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt4 = yyt5 = NULL;
+ yyt3 = yyt6 = yyt7 = yyt9 = YYCURSOR;
+ goto yy7;
+ }
+ yyt7 = yyt8 = NULL;
+ yyt10 = YYCURSOR;
+yy6:
+ {
+ const size_t yynmatch = 7;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[6] = yyt4;
+ yypmatch[7] = yyt5;
+ yypmatch[8] = yyt6;
+ yypmatch[10] = yyt7;
+ yypmatch[11] = yyt8;
+ yypmatch[12] = yyt9;
+ yypmatch[13] = yyt10;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt6;
+ yypmatch[9] = YYCURSOR;
+ {}
+ }
+yy7:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = yyt1;
+ yyt7 = yyt8 = NULL;
+ yyt10 = YYCURSOR;
+ goto yy6;
+ }
+ ++YYCURSOR;
+ yyt2 = yyt1;
+ yyt9 = yyt10 = NULL;
+ yyt8 = YYCURSOR;
+ goto yy6;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt3 = yyt6 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt4 = yyt5 = NULL;
+ yyt7 = yyt8 = yyt11 = YYCURSOR;
+ goto yy5;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) goto yy4;
+ yyt2 = yyt9 = yyt10 = NULL;
+ yyt1 = yyt12 = yyt13 = yyt15 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt9 = yyt10 = NULL;
+ yyt12 = yyt13 = yyt15 = YYCURSOR;
+ goto yy8;
+ }
+ yyt1 = yyt14 = NULL;
+ yyt2 = YYCURSOR;
+yy7:
+ {
+ const size_t yynmatch = 10;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt3;
+ yypmatch[4] = yyt4;
+ yypmatch[5] = yyt5;
+ yypmatch[6] = yyt6;
+ yypmatch[7] = yyt7;
+ yypmatch[8] = yyt8;
+ yypmatch[10] = yyt9;
+ yypmatch[11] = yyt10;
+ yypmatch[12] = yyt11;
+ yypmatch[13] = yyt12;
+ yypmatch[14] = yyt13;
+ yypmatch[16] = yyt14;
+ yypmatch[17] = yyt1;
+ yypmatch[18] = yyt15;
+ yypmatch[19] = yyt2;
+ yypmatch[0] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt8;
+ yypmatch[9] = yyt13;
+ yypmatch[15] = YYCURSOR;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt4 = yyt3;
+ yyt5 = yyt1;
+ yyt6 = yyt2;
+ yyt7 = yyt2;
+ yyt8 = yyt1;
+ yyt11 = yyt1;
+ yyt1 = yyt14 = NULL;
+ yyt2 = YYCURSOR;
+ goto yy7;
+ }
+ yyt11 = yyt12 = NULL;
+ yyt10 = yyt13 = yyt14 = yyt15 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt4 = yyt3;
+ yyt5 = yyt1;
+ yyt6 = yyt2;
+ yyt7 = yyt2;
+ yyt8 = yyt1;
+ yyt9 = yyt1;
+ yyt1 = yyt14 = NULL;
+ yyt2 = YYCURSOR;
+ goto yy7;
+ }
+ ++YYCURSOR;
+ yyt4 = yyt3;
+ yyt5 = yyt1;
+ yyt6 = yyt2;
+ yyt7 = yyt2;
+ yyt8 = yyt1;
+ yyt9 = yyt1;
+ yyt2 = yyt15 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy7;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 3 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 3 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = yyt2 = yyt4 = YYCURSOR;
+ goto yy3;
+ }
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) goto yy5;
+ yyt2 = yyt3 = NULL;
+ yyt5 = YYCURSOR;
+yy4:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[6] = yyt4;
+ yypmatch[7] = yyt5;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+yy5:
+ ++YYCURSOR;
+ yyt4 = yyt5 = NULL;
+ yyt3 = YYCURSOR;
+ goto yy4;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt5 = YYCURSOR;
+ goto yy5;
+ }
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt3 = yyt5 = YYCURSOR;
+ goto yy7;
+ }
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+yy6:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[4] = yyt3;
+ yypmatch[5] = yyt4;
+ yypmatch[6] = yyt5;
+ yypmatch[7] = yyt6;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+yy7:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+ goto yy6;
+ }
+ ++YYCURSOR;
+ yyt5 = yyt6 = NULL;
+ yyt4 = YYCURSOR;
+ goto yy6;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 3 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 3 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) goto yy5;
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) goto yy4;
+ yyt2 = yyt5 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt5 = YYCURSOR;
+ goto yy8;
+ }
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+yy7:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[4] = yyt3;
+ yypmatch[5] = yyt4;
+ yypmatch[6] = yyt5;
+ yypmatch[7] = yyt6;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+ goto yy7;
+ }
+ yyt2 = yyt3 = yyt5 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+ goto yy7;
+ }
+ ++YYCURSOR;
+ yyt5 = yyt6 = NULL;
+ yyt4 = YYCURSOR;
+ goto yy7;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 3 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 3 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = yyt3 = yyt4 = yyt6 = YYCURSOR;
+ goto yy3;
+ }
+ yyt2 = yyt3 = yyt4 = yyt5 = yyt6 = yyt7 = NULL;
+ yyt1 = YYCURSOR;
+yy2:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[4] = yyt4;
+ yypmatch[5] = yyt5;
+ yypmatch[6] = yyt6;
+ yypmatch[7] = yyt7;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt3;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt4 = yyt5 = NULL;
+ yyt2 = yyt7 = YYCURSOR;
+ goto yy2;
+ }
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt6 = yyt7 = NULL;
+ yyt2 = yyt5 = YYCURSOR;
+ goto yy2;
+ }
+ yyt3 = yyt4 = yyt6 = YYCURSOR;
+ goto yy3;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = yyt2 = yyt4 = YYCURSOR;
+ goto yy3;
+ }
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) goto yy5;
+ yyt2 = yyt3 = NULL;
+ yyt5 = YYCURSOR;
+yy4:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[6] = yyt4;
+ yypmatch[7] = yyt5;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+yy5:
+ ++YYCURSOR;
+ yyt4 = yyt5 = NULL;
+ yyt3 = YYCURSOR;
+ goto yy4;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt3 = NULL;
+ yyt5 = yyt6 = yyt9 = YYCURSOR;
+ goto yy5;
+ }
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt4 = yyt5 = NULL;
+ yyt3 = yyt6 = yyt7 = yyt9 = YYCURSOR;
+ goto yy7;
+ }
+ yyt7 = yyt8 = NULL;
+ yyt10 = YYCURSOR;
+yy6:
+ {
+ const size_t yynmatch = 7;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[6] = yyt4;
+ yypmatch[7] = yyt5;
+ yypmatch[8] = yyt6;
+ yypmatch[10] = yyt7;
+ yypmatch[11] = yyt8;
+ yypmatch[12] = yyt9;
+ yypmatch[13] = yyt10;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt6;
+ yypmatch[9] = YYCURSOR;
+ {}
+ }
+yy7:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = yyt1;
+ yyt7 = yyt8 = NULL;
+ yyt10 = YYCURSOR;
+ goto yy6;
+ }
+ ++YYCURSOR;
+ yyt2 = yyt1;
+ yyt9 = yyt10 = NULL;
+ yyt8 = YYCURSOR;
+ goto yy6;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt3 = yyt6 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt4 = yyt5 = NULL;
+ yyt7 = yyt8 = yyt11 = YYCURSOR;
+ goto yy5;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) goto yy4;
+ yyt2 = yyt9 = yyt10 = NULL;
+ yyt1 = yyt12 = yyt13 = yyt15 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt9 = yyt10 = NULL;
+ yyt12 = yyt13 = yyt15 = YYCURSOR;
+ goto yy8;
+ }
+ yyt1 = yyt14 = NULL;
+ yyt2 = YYCURSOR;
+yy7:
+ {
+ const size_t yynmatch = 10;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt3;
+ yypmatch[4] = yyt4;
+ yypmatch[5] = yyt5;
+ yypmatch[6] = yyt6;
+ yypmatch[7] = yyt7;
+ yypmatch[8] = yyt8;
+ yypmatch[10] = yyt9;
+ yypmatch[11] = yyt10;
+ yypmatch[12] = yyt11;
+ yypmatch[13] = yyt12;
+ yypmatch[14] = yyt13;
+ yypmatch[16] = yyt14;
+ yypmatch[17] = yyt1;
+ yypmatch[18] = yyt15;
+ yypmatch[19] = yyt2;
+ yypmatch[0] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt8;
+ yypmatch[9] = yyt13;
+ yypmatch[15] = YYCURSOR;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt4 = yyt3;
+ yyt5 = yyt1;
+ yyt6 = yyt2;
+ yyt7 = yyt2;
+ yyt8 = yyt1;
+ yyt11 = yyt1;
+ yyt1 = yyt14 = NULL;
+ yyt2 = YYCURSOR;
+ goto yy7;
+ }
+ yyt11 = yyt12 = NULL;
+ yyt10 = yyt13 = yyt14 = yyt15 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt4 = yyt3;
+ yyt5 = yyt1;
+ yyt6 = yyt2;
+ yyt7 = yyt2;
+ yyt8 = yyt1;
+ yyt9 = yyt1;
+ yyt1 = yyt14 = NULL;
+ yyt2 = YYCURSOR;
+ goto yy7;
+ }
+ ++YYCURSOR;
+ yyt4 = yyt3;
+ yyt5 = yyt1;
+ yyt6 = yyt2;
+ yyt7 = yyt2;
+ yyt8 = yyt1;
+ yyt9 = yyt1;
+ yyt2 = yyt15 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy7;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 3 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 3 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = yyt2 = yyt4 = YYCURSOR;
+ goto yy3;
+ }
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) goto yy5;
+ yyt2 = yyt3 = NULL;
+ yyt5 = YYCURSOR;
+yy4:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[6] = yyt4;
+ yypmatch[7] = yyt5;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+yy5:
+ ++YYCURSOR;
+ yyt4 = yyt5 = NULL;
+ yyt3 = YYCURSOR;
+ goto yy4;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt5 = YYCURSOR;
+ goto yy5;
+ }
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt3 = yyt5 = YYCURSOR;
+ goto yy7;
+ }
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+yy6:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[4] = yyt3;
+ yypmatch[5] = yyt4;
+ yypmatch[6] = yyt5;
+ yypmatch[7] = yyt6;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+yy7:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+ goto yy6;
+ }
+ ++YYCURSOR;
+ yyt5 = yyt6 = NULL;
+ yyt4 = YYCURSOR;
+ goto yy6;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 3 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 3 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) goto yy5;
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) goto yy4;
+ yyt2 = yyt5 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt5 = YYCURSOR;
+ goto yy8;
+ }
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+yy7:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[4] = yyt3;
+ yypmatch[5] = yyt4;
+ yypmatch[6] = yyt5;
+ yypmatch[7] = yyt6;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+ goto yy7;
+ }
+ yyt2 = yyt3 = yyt5 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+ goto yy7;
+ }
+ ++YYCURSOR;
+ yyt5 = yyt6 = NULL;
+ yyt4 = YYCURSOR;
+ goto yy7;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 3 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 3 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = yyt3 = yyt4 = yyt6 = YYCURSOR;
+ goto yy3;
+ }
+ yyt2 = yyt3 = yyt4 = yyt5 = yyt6 = yyt7 = NULL;
+ yyt1 = YYCURSOR;
+yy2:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[4] = yyt4;
+ yypmatch[5] = yyt5;
+ yypmatch[6] = yyt6;
+ yypmatch[7] = yyt7;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt3;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt4 = yyt5 = NULL;
+ yyt2 = yyt7 = YYCURSOR;
+ goto yy2;
+ }
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt6 = yyt7 = NULL;
+ yyt2 = yyt5 = YYCURSOR;
+ goto yy2;
+ }
+ yyt3 = yyt4 = yyt6 = YYCURSOR;
+ goto yy3;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = yyt2 = yyt4 = YYCURSOR;
+ goto yy3;
+ }
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) goto yy5;
+ yyt2 = yyt3 = NULL;
+ yyt5 = YYCURSOR;
+yy4:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[6] = yyt4;
+ yypmatch[7] = yyt5;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+yy5:
+ ++YYCURSOR;
+ yyt4 = yyt5 = NULL;
+ yyt3 = YYCURSOR;
+ goto yy4;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt3 = NULL;
+ yyt5 = yyt6 = yyt9 = YYCURSOR;
+ goto yy5;
+ }
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt4 = yyt5 = NULL;
+ yyt3 = yyt6 = yyt7 = yyt9 = YYCURSOR;
+ goto yy7;
+ }
+ yyt7 = yyt8 = NULL;
+ yyt10 = YYCURSOR;
+yy6:
+ {
+ const size_t yynmatch = 7;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[6] = yyt4;
+ yypmatch[7] = yyt5;
+ yypmatch[8] = yyt6;
+ yypmatch[10] = yyt7;
+ yypmatch[11] = yyt8;
+ yypmatch[12] = yyt9;
+ yypmatch[13] = yyt10;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt6;
+ yypmatch[9] = YYCURSOR;
+ {}
+ }
+yy7:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = yyt1;
+ yyt7 = yyt8 = NULL;
+ yyt10 = YYCURSOR;
+ goto yy6;
+ }
+ ++YYCURSOR;
+ yyt2 = yyt1;
+ yyt9 = yyt10 = NULL;
+ yyt8 = YYCURSOR;
+ goto yy6;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt3 = yyt6 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt4 = yyt5 = NULL;
+ yyt7 = yyt8 = yyt11 = YYCURSOR;
+ goto yy5;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) goto yy4;
+ yyt2 = yyt9 = yyt10 = NULL;
+ yyt1 = yyt12 = yyt13 = yyt15 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt9 = yyt10 = NULL;
+ yyt12 = yyt13 = yyt15 = YYCURSOR;
+ goto yy8;
+ }
+ yyt1 = yyt14 = NULL;
+ yyt2 = YYCURSOR;
+yy7:
+ {
+ const size_t yynmatch = 10;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt3;
+ yypmatch[4] = yyt4;
+ yypmatch[5] = yyt5;
+ yypmatch[6] = yyt6;
+ yypmatch[7] = yyt7;
+ yypmatch[8] = yyt8;
+ yypmatch[10] = yyt9;
+ yypmatch[11] = yyt10;
+ yypmatch[12] = yyt11;
+ yypmatch[13] = yyt12;
+ yypmatch[14] = yyt13;
+ yypmatch[16] = yyt14;
+ yypmatch[17] = yyt1;
+ yypmatch[18] = yyt15;
+ yypmatch[19] = yyt2;
+ yypmatch[0] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt8;
+ yypmatch[9] = yyt13;
+ yypmatch[15] = YYCURSOR;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt4 = yyt3;
+ yyt5 = yyt1;
+ yyt6 = yyt2;
+ yyt7 = yyt2;
+ yyt8 = yyt1;
+ yyt11 = yyt1;
+ yyt1 = yyt14 = NULL;
+ yyt2 = YYCURSOR;
+ goto yy7;
+ }
+ yyt11 = yyt12 = NULL;
+ yyt10 = yyt13 = yyt14 = yyt15 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt4 = yyt3;
+ yyt5 = yyt1;
+ yyt6 = yyt2;
+ yyt7 = yyt2;
+ yyt8 = yyt1;
+ yyt9 = yyt1;
+ yyt1 = yyt14 = NULL;
+ yyt2 = YYCURSOR;
+ goto yy7;
+ }
+ ++YYCURSOR;
+ yyt4 = yyt3;
+ yyt5 = yyt1;
+ yyt6 = yyt2;
+ yyt7 = yyt2;
+ yyt8 = yyt1;
+ yyt9 = yyt1;
+ yyt2 = yyt15 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy7;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 3 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 3 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = yyt2 = yyt4 = YYCURSOR;
+ goto yy3;
+ }
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) goto yy5;
+ yyt2 = yyt3 = NULL;
+ yyt5 = YYCURSOR;
+yy4:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[6] = yyt4;
+ yypmatch[7] = yyt5;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+yy5:
+ ++YYCURSOR;
+ yyt4 = yyt5 = NULL;
+ yyt3 = YYCURSOR;
+ goto yy4;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt5 = YYCURSOR;
+ goto yy5;
+ }
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt3 = yyt5 = YYCURSOR;
+ goto yy7;
+ }
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+yy6:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[4] = yyt3;
+ yypmatch[5] = yyt4;
+ yypmatch[6] = yyt5;
+ yypmatch[7] = yyt6;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+yy7:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+ goto yy6;
+ }
+ ++YYCURSOR;
+ yyt5 = yyt6 = NULL;
+ yyt4 = YYCURSOR;
+ goto yy6;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 3 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 3 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) goto yy5;
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) goto yy4;
+ yyt2 = yyt5 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt5 = YYCURSOR;
+ goto yy8;
+ }
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+yy7:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[4] = yyt3;
+ yypmatch[5] = yyt4;
+ yypmatch[6] = yyt5;
+ yypmatch[7] = yyt6;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+ goto yy7;
+ }
+ yyt2 = yyt3 = yyt5 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+ goto yy7;
+ }
+ ++YYCURSOR;
+ yyt5 = yyt6 = NULL;
+ yyt4 = YYCURSOR;
+ goto yy7;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 3 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 3 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = yyt3 = yyt4 = yyt6 = YYCURSOR;
+ goto yy3;
+ }
+ yyt2 = yyt3 = yyt4 = yyt5 = yyt6 = yyt7 = NULL;
+ yyt1 = YYCURSOR;
+yy2:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[4] = yyt4;
+ yypmatch[5] = yyt5;
+ yypmatch[6] = yyt6;
+ yypmatch[7] = yyt7;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt3;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt4 = yyt5 = NULL;
+ yyt2 = yyt7 = YYCURSOR;
+ goto yy2;
+ }
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt6 = yyt7 = NULL;
+ yyt2 = yyt5 = YYCURSOR;
+ goto yy2;
+ }
+ yyt3 = yyt4 = yyt6 = YYCURSOR;
+ goto yy3;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = yyt2 = yyt4 = YYCURSOR;
+ goto yy3;
+ }
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) goto yy5;
+ yyt2 = yyt3 = NULL;
+ yyt5 = YYCURSOR;
+yy4:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[6] = yyt4;
+ yypmatch[7] = yyt5;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+yy5:
+ ++YYCURSOR;
+ yyt4 = yyt5 = NULL;
+ yyt3 = YYCURSOR;
+ goto yy4;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt3 = NULL;
+ yyt5 = yyt6 = yyt9 = YYCURSOR;
+ goto yy5;
+ }
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt4 = yyt5 = NULL;
+ yyt3 = yyt6 = yyt7 = yyt9 = YYCURSOR;
+ goto yy7;
+ }
+ yyt7 = yyt8 = NULL;
+ yyt10 = YYCURSOR;
+yy6:
+ {
+ const size_t yynmatch = 7;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[6] = yyt4;
+ yypmatch[7] = yyt5;
+ yypmatch[8] = yyt6;
+ yypmatch[10] = yyt7;
+ yypmatch[11] = yyt8;
+ yypmatch[12] = yyt9;
+ yypmatch[13] = yyt10;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt6;
+ yypmatch[9] = YYCURSOR;
+ {}
+ }
+yy7:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = yyt1;
+ yyt7 = yyt8 = NULL;
+ yyt10 = YYCURSOR;
+ goto yy6;
+ }
+ ++YYCURSOR;
+ yyt2 = yyt1;
+ yyt9 = yyt10 = NULL;
+ yyt8 = YYCURSOR;
+ goto yy6;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt3 = yyt6 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt4 = yyt5 = NULL;
+ yyt7 = yyt8 = yyt11 = YYCURSOR;
+ goto yy5;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) goto yy4;
+ yyt2 = yyt9 = yyt10 = NULL;
+ yyt1 = yyt12 = yyt13 = yyt15 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt9 = yyt10 = NULL;
+ yyt12 = yyt13 = yyt15 = YYCURSOR;
+ goto yy8;
+ }
+ yyt1 = yyt14 = NULL;
+ yyt2 = YYCURSOR;
+yy7:
+ {
+ const size_t yynmatch = 10;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt3;
+ yypmatch[4] = yyt4;
+ yypmatch[5] = yyt5;
+ yypmatch[6] = yyt6;
+ yypmatch[7] = yyt7;
+ yypmatch[8] = yyt8;
+ yypmatch[10] = yyt9;
+ yypmatch[11] = yyt10;
+ yypmatch[12] = yyt11;
+ yypmatch[13] = yyt12;
+ yypmatch[14] = yyt13;
+ yypmatch[16] = yyt14;
+ yypmatch[17] = yyt1;
+ yypmatch[18] = yyt15;
+ yypmatch[19] = yyt2;
+ yypmatch[0] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt8;
+ yypmatch[9] = yyt13;
+ yypmatch[15] = YYCURSOR;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt4 = yyt3;
+ yyt5 = yyt1;
+ yyt6 = yyt2;
+ yyt7 = yyt2;
+ yyt8 = yyt1;
+ yyt11 = yyt1;
+ yyt1 = yyt14 = NULL;
+ yyt2 = YYCURSOR;
+ goto yy7;
+ }
+ yyt11 = yyt12 = NULL;
+ yyt10 = yyt13 = yyt14 = yyt15 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt4 = yyt3;
+ yyt5 = yyt1;
+ yyt6 = yyt2;
+ yyt7 = yyt2;
+ yyt8 = yyt1;
+ yyt9 = yyt1;
+ yyt1 = yyt14 = NULL;
+ yyt2 = YYCURSOR;
+ goto yy7;
+ }
+ ++YYCURSOR;
+ yyt4 = yyt3;
+ yyt5 = yyt1;
+ yyt6 = yyt2;
+ yyt7 = yyt2;
+ yyt8 = yyt1;
+ yyt9 = yyt1;
+ yyt2 = yyt15 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy7;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 3 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 3 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = yyt2 = yyt4 = YYCURSOR;
+ goto yy3;
+ }
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) goto yy5;
+ yyt2 = yyt3 = NULL;
+ yyt5 = YYCURSOR;
+yy4:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[6] = yyt4;
+ yypmatch[7] = yyt5;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+yy5:
+ ++YYCURSOR;
+ yyt4 = yyt5 = NULL;
+ yyt3 = YYCURSOR;
+ goto yy4;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt5 = YYCURSOR;
+ goto yy5;
+ }
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt3 = yyt5 = YYCURSOR;
+ goto yy7;
+ }
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+yy6:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[4] = yyt3;
+ yypmatch[5] = yyt4;
+ yypmatch[6] = yyt5;
+ yypmatch[7] = yyt6;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+yy7:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+ goto yy6;
+ }
+ ++YYCURSOR;
+ yyt5 = yyt6 = NULL;
+ yyt4 = YYCURSOR;
+ goto yy6;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 3 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 3 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) goto yy5;
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) goto yy4;
+ yyt2 = yyt5 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt5 = YYCURSOR;
+ goto yy8;
+ }
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+yy7:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[4] = yyt3;
+ yypmatch[5] = yyt4;
+ yypmatch[6] = yyt5;
+ yypmatch[7] = yyt6;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+ goto yy7;
+ }
+ yyt2 = yyt3 = yyt5 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+ goto yy7;
+ }
+ ++YYCURSOR;
+ yyt5 = yyt6 = NULL;
+ yyt4 = YYCURSOR;
+ goto yy7;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 3 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 3 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = yyt3 = yyt4 = yyt6 = YYCURSOR;
+ goto yy3;
+ }
+ yyt2 = yyt3 = yyt4 = yyt5 = yyt6 = yyt7 = NULL;
+ yyt1 = YYCURSOR;
+yy2:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[4] = yyt4;
+ yypmatch[5] = yyt5;
+ yypmatch[6] = yyt6;
+ yypmatch[7] = yyt7;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt3;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt4 = yyt5 = NULL;
+ yyt2 = yyt7 = YYCURSOR;
+ goto yy2;
+ }
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt6 = yyt7 = NULL;
+ yyt2 = yyt5 = YYCURSOR;
+ goto yy2;
+ }
+ yyt3 = yyt4 = yyt6 = YYCURSOR;
+ goto yy3;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = yyt2 = yyt4 = YYCURSOR;
+ goto yy3;
+ }
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) goto yy5;
+ yyt2 = yyt3 = NULL;
+ yyt5 = YYCURSOR;
+yy4:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[6] = yyt4;
+ yypmatch[7] = yyt5;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+yy5:
+ ++YYCURSOR;
+ yyt4 = yyt5 = NULL;
+ yyt3 = YYCURSOR;
+ goto yy4;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt3 = NULL;
+ yyt5 = yyt6 = yyt9 = YYCURSOR;
+ goto yy5;
+ }
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt4 = yyt5 = NULL;
+ yyt3 = yyt6 = yyt7 = yyt9 = YYCURSOR;
+ goto yy7;
+ }
+ yyt7 = yyt8 = NULL;
+ yyt10 = YYCURSOR;
+yy6:
+ {
+ const size_t yynmatch = 7;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[6] = yyt4;
+ yypmatch[7] = yyt5;
+ yypmatch[8] = yyt6;
+ yypmatch[10] = yyt7;
+ yypmatch[11] = yyt8;
+ yypmatch[12] = yyt9;
+ yypmatch[13] = yyt10;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt6;
+ yypmatch[9] = YYCURSOR;
+ {}
+ }
+yy7:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = yyt1;
+ yyt7 = yyt8 = NULL;
+ yyt10 = YYCURSOR;
+ goto yy6;
+ }
+ ++YYCURSOR;
+ yyt2 = yyt1;
+ yyt9 = yyt10 = NULL;
+ yyt8 = YYCURSOR;
+ goto yy6;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt3 = yyt6 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt4 = yyt5 = NULL;
+ yyt7 = yyt8 = yyt11 = YYCURSOR;
+ goto yy5;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) goto yy4;
+ yyt2 = yyt9 = yyt10 = NULL;
+ yyt1 = yyt12 = yyt13 = yyt15 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt9 = yyt10 = NULL;
+ yyt12 = yyt13 = yyt15 = YYCURSOR;
+ goto yy8;
+ }
+ yyt1 = yyt14 = NULL;
+ yyt2 = YYCURSOR;
+yy7:
+ {
+ const size_t yynmatch = 10;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt3;
+ yypmatch[4] = yyt4;
+ yypmatch[5] = yyt5;
+ yypmatch[6] = yyt6;
+ yypmatch[7] = yyt7;
+ yypmatch[8] = yyt8;
+ yypmatch[10] = yyt9;
+ yypmatch[11] = yyt10;
+ yypmatch[12] = yyt11;
+ yypmatch[13] = yyt12;
+ yypmatch[14] = yyt13;
+ yypmatch[16] = yyt14;
+ yypmatch[17] = yyt1;
+ yypmatch[18] = yyt15;
+ yypmatch[19] = yyt2;
+ yypmatch[0] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt8;
+ yypmatch[9] = yyt13;
+ yypmatch[15] = YYCURSOR;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt4 = yyt3;
+ yyt5 = yyt1;
+ yyt6 = yyt2;
+ yyt7 = yyt2;
+ yyt8 = yyt1;
+ yyt11 = yyt1;
+ yyt1 = yyt14 = NULL;
+ yyt2 = YYCURSOR;
+ goto yy7;
+ }
+ yyt11 = yyt12 = NULL;
+ yyt10 = yyt13 = yyt14 = yyt15 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt4 = yyt3;
+ yyt5 = yyt1;
+ yyt6 = yyt2;
+ yyt7 = yyt2;
+ yyt8 = yyt1;
+ yyt9 = yyt1;
+ yyt1 = yyt14 = NULL;
+ yyt2 = YYCURSOR;
+ goto yy7;
+ }
+ ++YYCURSOR;
+ yyt4 = yyt3;
+ yyt5 = yyt1;
+ yyt6 = yyt2;
+ yyt7 = yyt2;
+ yyt8 = yyt1;
+ yyt9 = yyt1;
+ yyt2 = yyt15 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy7;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 3 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 3 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = yyt2 = yyt4 = YYCURSOR;
+ goto yy3;
+ }
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) goto yy5;
+ yyt2 = yyt3 = NULL;
+ yyt5 = YYCURSOR;
+yy4:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[6] = yyt4;
+ yypmatch[7] = yyt5;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+yy5:
+ ++YYCURSOR;
+ yyt4 = yyt5 = NULL;
+ yyt3 = YYCURSOR;
+ goto yy4;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt5 = YYCURSOR;
+ goto yy5;
+ }
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt3 = yyt5 = YYCURSOR;
+ goto yy7;
+ }
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+yy6:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[4] = yyt3;
+ yypmatch[5] = yyt4;
+ yypmatch[6] = yyt5;
+ yypmatch[7] = yyt6;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+yy7:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+ goto yy6;
+ }
+ ++YYCURSOR;
+ yyt5 = yyt6 = NULL;
+ yyt4 = YYCURSOR;
+ goto yy6;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 3 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 3 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) goto yy5;
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) goto yy4;
+ yyt2 = yyt5 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt5 = YYCURSOR;
+ goto yy8;
+ }
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+yy7:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[4] = yyt3;
+ yypmatch[5] = yyt4;
+ yypmatch[6] = yyt5;
+ yypmatch[7] = yyt6;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+ goto yy7;
+ }
+ yyt2 = yyt3 = yyt5 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+ goto yy7;
+ }
+ ++YYCURSOR;
+ yyt5 = yyt6 = NULL;
+ yyt4 = YYCURSOR;
+ goto yy7;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 3 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 3 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = yyt3 = yyt4 = yyt6 = YYCURSOR;
+ goto yy3;
+ }
+ yyt2 = yyt3 = yyt4 = yyt5 = yyt6 = yyt7 = NULL;
+ yyt1 = YYCURSOR;
+yy2:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[4] = yyt4;
+ yypmatch[5] = yyt5;
+ yypmatch[6] = yyt6;
+ yypmatch[7] = yyt7;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt3;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt4 = yyt5 = NULL;
+ yyt2 = yyt7 = YYCURSOR;
+ goto yy2;
+ }
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt6 = yyt7 = NULL;
+ yyt2 = yyt5 = YYCURSOR;
+ goto yy2;
+ }
+ yyt3 = yyt4 = yyt6 = YYCURSOR;
+ goto yy3;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = yyt2 = yyt4 = YYCURSOR;
+ goto yy3;
+ }
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) goto yy5;
+ yyt2 = yyt3 = NULL;
+ yyt5 = YYCURSOR;
+yy4:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[6] = yyt4;
+ yypmatch[7] = yyt5;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+yy5:
+ ++YYCURSOR;
+ yyt4 = yyt5 = NULL;
+ yyt3 = YYCURSOR;
+ goto yy4;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt3 = NULL;
+ yyt5 = yyt6 = yyt9 = YYCURSOR;
+ goto yy5;
+ }
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt4 = yyt5 = NULL;
+ yyt3 = yyt6 = yyt7 = yyt9 = YYCURSOR;
+ goto yy7;
+ }
+ yyt7 = yyt8 = NULL;
+ yyt10 = YYCURSOR;
+yy6:
+ {
+ const size_t yynmatch = 7;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[6] = yyt4;
+ yypmatch[7] = yyt5;
+ yypmatch[8] = yyt6;
+ yypmatch[10] = yyt7;
+ yypmatch[11] = yyt8;
+ yypmatch[12] = yyt9;
+ yypmatch[13] = yyt10;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt6;
+ yypmatch[9] = YYCURSOR;
+ {}
+ }
+yy7:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = yyt1;
+ yyt7 = yyt8 = NULL;
+ yyt10 = YYCURSOR;
+ goto yy6;
+ }
+ ++YYCURSOR;
+ yyt2 = yyt1;
+ yyt9 = yyt10 = NULL;
+ yyt8 = YYCURSOR;
+ goto yy6;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt3 = yyt6 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt4 = yyt5 = NULL;
+ yyt7 = yyt8 = yyt11 = YYCURSOR;
+ goto yy5;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) goto yy4;
+ yyt2 = yyt9 = yyt10 = NULL;
+ yyt1 = yyt12 = yyt13 = yyt15 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt9 = yyt10 = NULL;
+ yyt12 = yyt13 = yyt15 = YYCURSOR;
+ goto yy8;
+ }
+ yyt1 = yyt14 = NULL;
+ yyt2 = YYCURSOR;
+yy7:
+ {
+ const size_t yynmatch = 10;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt3;
+ yypmatch[4] = yyt4;
+ yypmatch[5] = yyt5;
+ yypmatch[6] = yyt6;
+ yypmatch[7] = yyt7;
+ yypmatch[8] = yyt8;
+ yypmatch[10] = yyt9;
+ yypmatch[11] = yyt10;
+ yypmatch[12] = yyt11;
+ yypmatch[13] = yyt12;
+ yypmatch[14] = yyt13;
+ yypmatch[16] = yyt14;
+ yypmatch[17] = yyt1;
+ yypmatch[18] = yyt15;
+ yypmatch[19] = yyt2;
+ yypmatch[0] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt8;
+ yypmatch[9] = yyt13;
+ yypmatch[15] = YYCURSOR;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt4 = yyt3;
+ yyt5 = yyt1;
+ yyt6 = yyt2;
+ yyt7 = yyt2;
+ yyt8 = yyt1;
+ yyt11 = yyt1;
+ yyt1 = yyt14 = NULL;
+ yyt2 = YYCURSOR;
+ goto yy7;
+ }
+ yyt11 = yyt12 = NULL;
+ yyt10 = yyt13 = yyt14 = yyt15 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt4 = yyt3;
+ yyt5 = yyt1;
+ yyt6 = yyt2;
+ yyt7 = yyt2;
+ yyt8 = yyt1;
+ yyt9 = yyt1;
+ yyt1 = yyt14 = NULL;
+ yyt2 = YYCURSOR;
+ goto yy7;
+ }
+ ++YYCURSOR;
+ yyt4 = yyt3;
+ yyt5 = yyt1;
+ yyt6 = yyt2;
+ yyt7 = yyt2;
+ yyt8 = yyt1;
+ yyt9 = yyt1;
+ yyt2 = yyt15 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy7;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 3 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 3 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = yyt2 = yyt4 = YYCURSOR;
+ goto yy3;
+ }
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) goto yy5;
+ yyt2 = yyt3 = NULL;
+ yyt5 = YYCURSOR;
+yy4:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[6] = yyt4;
+ yypmatch[7] = yyt5;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+yy5:
+ ++YYCURSOR;
+ yyt4 = yyt5 = NULL;
+ yyt3 = YYCURSOR;
+ goto yy4;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt5 = YYCURSOR;
+ goto yy5;
+ }
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt3 = yyt5 = YYCURSOR;
+ goto yy7;
+ }
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+yy6:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[4] = yyt3;
+ yypmatch[5] = yyt4;
+ yypmatch[6] = yyt5;
+ yypmatch[7] = yyt6;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+yy7:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+ goto yy6;
+ }
+ ++YYCURSOR;
+ yyt5 = yyt6 = NULL;
+ yyt4 = YYCURSOR;
+ goto yy6;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 3 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 3 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) goto yy5;
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) goto yy4;
+ yyt2 = yyt5 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt5 = YYCURSOR;
+ goto yy8;
+ }
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+yy7:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[4] = yyt3;
+ yypmatch[5] = yyt4;
+ yypmatch[6] = yyt5;
+ yypmatch[7] = yyt6;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+ goto yy7;
+ }
+ yyt2 = yyt3 = yyt5 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+ goto yy7;
+ }
+ ++YYCURSOR;
+ yyt5 = yyt6 = NULL;
+ yyt4 = YYCURSOR;
+ goto yy7;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 3 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 3 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = yyt3 = yyt4 = yyt6 = YYCURSOR;
+ goto yy3;
+ }
+ yyt2 = yyt3 = yyt4 = yyt5 = yyt6 = yyt7 = NULL;
+ yyt1 = YYCURSOR;
+yy2:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[4] = yyt4;
+ yypmatch[5] = yyt5;
+ yypmatch[6] = yyt6;
+ yypmatch[7] = yyt7;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt3;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt4 = yyt5 = NULL;
+ yyt2 = yyt7 = YYCURSOR;
+ goto yy2;
+ }
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt6 = yyt7 = NULL;
+ yyt2 = yyt5 = YYCURSOR;
+ goto yy2;
+ }
+ yyt3 = yyt4 = yyt6 = YYCURSOR;
+ goto yy3;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = yyt2 = yyt4 = YYCURSOR;
+ goto yy3;
+ }
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) goto yy5;
+ yyt2 = yyt3 = NULL;
+ yyt5 = YYCURSOR;
+yy4:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[6] = yyt4;
+ yypmatch[7] = yyt5;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+yy5:
+ ++YYCURSOR;
+ yyt4 = yyt5 = NULL;
+ yyt3 = YYCURSOR;
+ goto yy4;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt3 = NULL;
+ yyt5 = yyt6 = yyt9 = YYCURSOR;
+ goto yy5;
+ }
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt4 = yyt5 = NULL;
+ yyt3 = yyt6 = yyt7 = yyt9 = YYCURSOR;
+ goto yy7;
+ }
+ yyt7 = yyt8 = NULL;
+ yyt10 = YYCURSOR;
+yy6:
+ {
+ const size_t yynmatch = 7;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[6] = yyt4;
+ yypmatch[7] = yyt5;
+ yypmatch[8] = yyt6;
+ yypmatch[10] = yyt7;
+ yypmatch[11] = yyt8;
+ yypmatch[12] = yyt9;
+ yypmatch[13] = yyt10;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt6;
+ yypmatch[9] = YYCURSOR;
+ {}
+ }
+yy7:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = yyt1;
+ yyt7 = yyt8 = NULL;
+ yyt10 = YYCURSOR;
+ goto yy6;
+ }
+ ++YYCURSOR;
+ yyt2 = yyt1;
+ yyt9 = yyt10 = NULL;
+ yyt8 = YYCURSOR;
+ goto yy6;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt3 = yyt6 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt4 = yyt5 = NULL;
+ yyt7 = yyt8 = yyt11 = YYCURSOR;
+ goto yy5;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) goto yy4;
+ yyt2 = yyt9 = yyt10 = NULL;
+ yyt1 = yyt12 = yyt13 = yyt15 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt9 = yyt10 = NULL;
+ yyt12 = yyt13 = yyt15 = YYCURSOR;
+ goto yy8;
+ }
+ yyt1 = yyt14 = NULL;
+ yyt2 = YYCURSOR;
+yy7:
+ {
+ const size_t yynmatch = 10;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt3;
+ yypmatch[4] = yyt4;
+ yypmatch[5] = yyt5;
+ yypmatch[6] = yyt6;
+ yypmatch[7] = yyt7;
+ yypmatch[8] = yyt8;
+ yypmatch[10] = yyt9;
+ yypmatch[11] = yyt10;
+ yypmatch[12] = yyt11;
+ yypmatch[13] = yyt12;
+ yypmatch[14] = yyt13;
+ yypmatch[16] = yyt14;
+ yypmatch[17] = yyt1;
+ yypmatch[18] = yyt15;
+ yypmatch[19] = yyt2;
+ yypmatch[0] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt8;
+ yypmatch[9] = yyt13;
+ yypmatch[15] = YYCURSOR;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt4 = yyt3;
+ yyt5 = yyt1;
+ yyt6 = yyt2;
+ yyt7 = yyt2;
+ yyt8 = yyt1;
+ yyt11 = yyt1;
+ yyt1 = yyt14 = NULL;
+ yyt2 = YYCURSOR;
+ goto yy7;
+ }
+ yyt11 = yyt12 = NULL;
+ yyt10 = yyt13 = yyt14 = yyt15 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt4 = yyt3;
+ yyt5 = yyt1;
+ yyt6 = yyt2;
+ yyt7 = yyt2;
+ yyt8 = yyt1;
+ yyt9 = yyt1;
+ yyt1 = yyt14 = NULL;
+ yyt2 = YYCURSOR;
+ goto yy7;
+ }
+ ++YYCURSOR;
+ yyt4 = yyt3;
+ yyt5 = yyt1;
+ yyt6 = yyt2;
+ yyt7 = yyt2;
+ yyt8 = yyt1;
+ yyt9 = yyt1;
+ yyt2 = yyt15 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy7;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 3 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 3 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = yyt2 = yyt4 = YYCURSOR;
+ goto yy3;
+ }
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) goto yy5;
+ yyt2 = yyt3 = NULL;
+ yyt5 = YYCURSOR;
+yy4:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[6] = yyt4;
+ yypmatch[7] = yyt5;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+yy5:
+ ++YYCURSOR;
+ yyt4 = yyt5 = NULL;
+ yyt3 = YYCURSOR;
+ goto yy4;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt5 = YYCURSOR;
+ goto yy5;
+ }
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt3 = yyt5 = YYCURSOR;
+ goto yy7;
+ }
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+yy6:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[4] = yyt3;
+ yypmatch[5] = yyt4;
+ yypmatch[6] = yyt5;
+ yypmatch[7] = yyt6;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+yy7:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+ goto yy6;
+ }
+ ++YYCURSOR;
+ yyt5 = yyt6 = NULL;
+ yyt4 = YYCURSOR;
+ goto yy6;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 3 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 3 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) goto yy5;
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) goto yy4;
+ yyt2 = yyt5 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt5 = YYCURSOR;
+ goto yy8;
+ }
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+yy7:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[4] = yyt3;
+ yypmatch[5] = yyt4;
+ yypmatch[6] = yyt5;
+ yypmatch[7] = yyt6;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = YYCURSOR;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+ goto yy7;
+ }
+ yyt2 = yyt3 = yyt5 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+ goto yy7;
+ }
+ ++YYCURSOR;
+ yyt5 = yyt6 = NULL;
+ yyt4 = YYCURSOR;
+ goto yy7;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 3 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 3 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = yyt3 = yyt4 = yyt6 = YYCURSOR;
+ goto yy3;
+ }
+ yyt2 = yyt3 = yyt4 = yyt5 = yyt6 = yyt7 = NULL;
+ yyt1 = YYCURSOR;
+yy2:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[4] = yyt4;
+ yypmatch[5] = yyt5;
+ yypmatch[6] = yyt6;
+ yypmatch[7] = yyt7;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt3;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt4 = yyt5 = NULL;
+ yyt2 = yyt7 = YYCURSOR;
+ goto yy2;
+ }
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt6 = yyt7 = NULL;
+ yyt2 = yyt5 = YYCURSOR;
+ goto yy2;
+ }
+ yyt3 = yyt4 = yyt6 = YYCURSOR;
+ goto yy3;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'X':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'Y':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy7;
+ default: goto yy6;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ goto yy2;
+ } else {
+ goto yy8;
+ }
+yy5:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy6:
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt1 = YYCURSOR;
+ goto yy5;
+ }
+yy7:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default: goto yy10;
+ }
+yy8:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt2;
+ yypmatch[3] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt4;
+ {}
+ }
+yy9:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy10:
+ switch (yych) {
+ case 0x00:
+ yyt4 = yyt1;
+ goto yy8;
+ case 'Y':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt4 = yyt1;
+ yyt1 = YYCURSOR;
+ goto yy5;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'X':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'Y':
+ yyt1 = YYCURSOR;
+ goto yy7;
+ default: goto yy6;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ goto yy2;
+ } else {
+ goto yy8;
+ }
+yy5:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy6:
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt1 = YYCURSOR;
+ goto yy5;
+ }
+yy7:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default: goto yy10;
+ }
+yy8:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt3;
+ yypmatch[3] = YYCURSOR - 1;
+ {}
+ }
+yy9:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy10:
+ switch (yych) {
+ case 0x00:
+ yyt3 = yyt1;
+ goto yy8;
+ case 'Y':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt3 = yyt1;
+ yyt1 = YYCURSOR;
+ goto yy5;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'X':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ goto yy2;
+ } else {
+ goto yy7;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy10;
+ default: goto yy9;
+ }
+yy6:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy10;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy7:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = YYCURSOR - 1;
+ {}
+ }
+yy8:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy9:
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy10:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default: goto yy12;
+ }
+yy11:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy12:
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt3;
+ goto yy7;
+ case 'Y':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'X':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ goto yy2;
+ } else {
+ goto yy7;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ default: goto yy8;
+ }
+yy6:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ default: goto yy8;
+ }
+yy7:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = YYCURSOR - 1;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy12;
+ default: goto yy11;
+ }
+yy9:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy12;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy10;
+ }
+yy10:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy11:
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy13;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy10;
+ }
+yy12:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy13;
+ default: goto yy14;
+ }
+yy13:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy14:
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt3;
+ goto yy7;
+ case 'Y':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy13;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy10;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'X':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ goto yy2;
+ } else {
+ goto yy7;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ default: goto yy8;
+ }
+yy6:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ default: goto yy8;
+ }
+yy7:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = YYCURSOR - 1;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default: goto yy10;
+ }
+yy9:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default: goto yy10;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy14;
+ default: goto yy13;
+ }
+yy11:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy14;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy12;
+ }
+yy12:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy13:
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy15;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy12;
+ }
+yy14:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy15;
+ default: goto yy16;
+ }
+yy15:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy16:
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt3;
+ goto yy7;
+ case 'Y':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy15;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy12;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 7) YYFILL(7);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'X':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ goto yy2;
+ } else {
+ goto yy7;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ default: goto yy8;
+ }
+yy6:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ default: goto yy8;
+ }
+yy7:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = YYCURSOR - 1;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default: goto yy10;
+ }
+yy9:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default: goto yy10;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy13;
+ default: goto yy12;
+ }
+yy11:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy13;
+ default: goto yy12;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy16;
+ default: goto yy15;
+ }
+yy13:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy14;
+ }
+yy14:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy15:
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy17;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy14;
+ }
+yy16:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy17;
+ default: goto yy18;
+ }
+yy17:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy18:
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt3;
+ goto yy7;
+ case 'Y':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy17;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy14;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 8) YYFILL(8);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'X':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ goto yy2;
+ } else {
+ goto yy7;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ default: goto yy8;
+ }
+yy6:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ default: goto yy8;
+ }
+yy7:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = YYCURSOR - 1;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default: goto yy10;
+ }
+yy9:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default: goto yy10;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy13;
+ default: goto yy12;
+ }
+yy11:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy13;
+ default: goto yy12;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy15;
+ default: goto yy14;
+ }
+yy13:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy15;
+ default: goto yy14;
+ }
+yy14:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy18;
+ default: goto yy17;
+ }
+yy15:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy18;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy16;
+ }
+yy16:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy17:
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy19;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy16;
+ }
+yy18:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy19;
+ default: goto yy20;
+ }
+yy19:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy20:
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt3;
+ goto yy7;
+ case 'Y':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy19;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy16;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'X':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ goto yy2;
+ } else {
+ goto yy7;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ default: goto yy8;
+ }
+yy6:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ default: goto yy8;
+ }
+yy7:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = YYCURSOR - 1;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default: goto yy10;
+ }
+yy9:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default: goto yy10;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy13;
+ default: goto yy12;
+ }
+yy11:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy13;
+ default: goto yy12;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy15;
+ default: goto yy14;
+ }
+yy13:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy15;
+ default: goto yy14;
+ }
+yy14:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy17;
+ default: goto yy16;
+ }
+yy15:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy17;
+ default: goto yy16;
+ }
+yy16:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy20;
+ default: goto yy19;
+ }
+yy17:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy20;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy18;
+ }
+yy18:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy19:
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy21;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy18;
+ }
+yy20:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy21;
+ default: goto yy22;
+ }
+yy21:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy22:
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt3;
+ goto yy7;
+ case 'Y':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy21;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy18;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 10) YYFILL(10);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'X':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ goto yy2;
+ } else {
+ goto yy7;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ default: goto yy8;
+ }
+yy6:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ default: goto yy8;
+ }
+yy7:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = YYCURSOR - 1;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default: goto yy10;
+ }
+yy9:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default: goto yy10;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy13;
+ default: goto yy12;
+ }
+yy11:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy13;
+ default: goto yy12;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy15;
+ default: goto yy14;
+ }
+yy13:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy15;
+ default: goto yy14;
+ }
+yy14:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy17;
+ default: goto yy16;
+ }
+yy15:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy17;
+ default: goto yy16;
+ }
+yy16:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy19;
+ default: goto yy18;
+ }
+yy17:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy19;
+ default: goto yy18;
+ }
+yy18:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy22;
+ default: goto yy21;
+ }
+yy19:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy20;
+ }
+yy20:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy21:
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy23;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy20;
+ }
+yy22:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy23;
+ default: goto yy24;
+ }
+yy23:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy24:
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt3;
+ goto yy7;
+ case 'Y':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy23;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy20;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 10) YYFILL(10);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'X':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy6;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy5;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0: goto yy2;
+ case 1: goto yy7;
+ case 2:
+ yyt3 = yyt4;
+ goto yy7;
+ case 3:
+ yyt3 = yyt5;
+ goto yy7;
+ case 4:
+ yyt3 = yyt6;
+ goto yy7;
+ case 5:
+ yyt3 = yyt7;
+ goto yy7;
+ default:
+ yyt3 = yyt8;
+ goto yy7;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt4 = YYCURSOR;
+ goto yy8;
+ }
+yy6:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt4 = YYCURSOR;
+ goto yy8;
+ }
+yy7:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt3;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = yyt5 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt5 = YYCURSOR;
+ goto yy10;
+ }
+yy9:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = yyt5 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt5 = YYCURSOR;
+ goto yy10;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = yyt6 = YYCURSOR;
+ goto yy13;
+ default:
+ yyt6 = YYCURSOR;
+ goto yy12;
+ }
+yy11:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt3 = yyt4;
+ goto yy7;
+ case 'Y':
+ yyt2 = yyt6 = YYCURSOR;
+ goto yy13;
+ default:
+ yyt6 = YYCURSOR;
+ goto yy12;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = yyt7 = YYCURSOR;
+ goto yy15;
+ default:
+ yyt7 = YYCURSOR;
+ goto yy14;
+ }
+yy13:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt3 = yyt5;
+ goto yy7;
+ case 'Y':
+ yyt2 = yyt7 = YYCURSOR;
+ goto yy15;
+ default:
+ yyt7 = YYCURSOR;
+ goto yy14;
+ }
+yy14:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = yyt8 = YYCURSOR;
+ goto yy17;
+ default:
+ yyt8 = YYCURSOR;
+ goto yy16;
+ }
+yy15:
+ yyaccept = 4;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt3 = yyt6;
+ goto yy7;
+ case 'Y':
+ yyt2 = yyt8 = YYCURSOR;
+ goto yy17;
+ default:
+ yyt8 = YYCURSOR;
+ goto yy16;
+ }
+yy16:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = yyt9 = YYCURSOR;
+ goto yy19;
+ default:
+ yyt9 = YYCURSOR;
+ goto yy18;
+ }
+yy17:
+ yyaccept = 5;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt3 = yyt7;
+ goto yy7;
+ case 'Y':
+ yyt2 = yyt9 = YYCURSOR;
+ goto yy19;
+ default:
+ yyt9 = YYCURSOR;
+ goto yy18;
+ }
+yy18:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = yyt10 = YYCURSOR;
+ goto yy21;
+ default:
+ yyt10 = YYCURSOR;
+ goto yy20;
+ }
+yy19:
+ yyaccept = 6;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt3 = yyt8;
+ goto yy7;
+ case 'Y':
+ yyt2 = yyt10 = YYCURSOR;
+ goto yy21;
+ default:
+ yyt10 = YYCURSOR;
+ goto yy20;
+ }
+yy20:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy22;
+ default: goto yy4;
+ }
+yy21:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt3 = yyt9;
+ goto yy7;
+ }
+yy22:
+ ++YYCURSOR;
+ yyt3 = yyt10;
+ goto yy7;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 10) YYFILL(10);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'X':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy5;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0: goto yy2;
+ case 1: goto yy7;
+ case 2:
+ yyt2 = yyt3;
+ goto yy7;
+ case 3:
+ yyt2 = yyt4;
+ goto yy7;
+ case 4:
+ yyt2 = yyt5;
+ goto yy7;
+ case 5:
+ yyt2 = yyt6;
+ goto yy7;
+ default:
+ yyt2 = yyt7;
+ goto yy7;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy6:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy7:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = YYCURSOR - 1;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt4 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt4 = YYCURSOR;
+ goto yy10;
+ }
+yy9:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt4 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt4 = YYCURSOR;
+ goto yy10;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt5 = YYCURSOR;
+ goto yy13;
+ default:
+ yyt5 = YYCURSOR;
+ goto yy12;
+ }
+yy11:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt3;
+ goto yy7;
+ case 'Y':
+ yyt5 = YYCURSOR;
+ goto yy13;
+ default:
+ yyt5 = YYCURSOR;
+ goto yy12;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt6 = YYCURSOR;
+ goto yy15;
+ default:
+ yyt6 = YYCURSOR;
+ goto yy14;
+ }
+yy13:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt4;
+ goto yy7;
+ case 'Y':
+ yyt6 = YYCURSOR;
+ goto yy15;
+ default:
+ yyt6 = YYCURSOR;
+ goto yy14;
+ }
+yy14:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt7 = YYCURSOR;
+ goto yy17;
+ default:
+ yyt7 = YYCURSOR;
+ goto yy16;
+ }
+yy15:
+ yyaccept = 4;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt5;
+ goto yy7;
+ case 'Y':
+ yyt7 = YYCURSOR;
+ goto yy17;
+ default:
+ yyt7 = YYCURSOR;
+ goto yy16;
+ }
+yy16:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt8 = YYCURSOR;
+ goto yy19;
+ default:
+ yyt8 = YYCURSOR;
+ goto yy18;
+ }
+yy17:
+ yyaccept = 5;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt6;
+ goto yy7;
+ case 'Y':
+ yyt8 = YYCURSOR;
+ goto yy19;
+ default:
+ yyt8 = YYCURSOR;
+ goto yy18;
+ }
+yy18:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt9 = YYCURSOR;
+ goto yy21;
+ default:
+ yyt9 = YYCURSOR;
+ goto yy20;
+ }
+yy19:
+ yyaccept = 6;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt7;
+ goto yy7;
+ case 'Y':
+ yyt9 = YYCURSOR;
+ goto yy21;
+ default:
+ yyt9 = YYCURSOR;
+ goto yy20;
+ }
+yy20:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'Y': goto yy22;
+ default: goto yy4;
+ }
+yy21:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'Y': goto yy22;
+ default:
+ yyt2 = yyt8;
+ goto yy7;
+ }
+yy22:
+ ++YYCURSOR;
+ yyt2 = yyt9;
+ goto yy7;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 10) YYFILL(10);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'X':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0: goto yy2;
+ case 1: goto yy7;
+ case 2:
+ yyt2 = yyt3;
+ goto yy7;
+ case 3:
+ yyt2 = yyt4;
+ goto yy7;
+ case 4:
+ yyt2 = yyt5;
+ goto yy7;
+ case 5:
+ yyt2 = yyt6;
+ goto yy7;
+ default:
+ yyt2 = yyt7;
+ goto yy7;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy6:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy7:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = YYCURSOR - 1;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt4 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt4 = YYCURSOR;
+ goto yy10;
+ }
+yy9:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt3;
+ goto yy7;
+ case 'Y':
+ yyt4 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt4 = YYCURSOR;
+ goto yy10;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt5 = YYCURSOR;
+ goto yy13;
+ default:
+ yyt5 = YYCURSOR;
+ goto yy12;
+ }
+yy11:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt3;
+ goto yy7;
+ case 'Y':
+ yyt5 = YYCURSOR;
+ goto yy13;
+ default:
+ yyt5 = YYCURSOR;
+ goto yy12;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt6 = YYCURSOR;
+ goto yy15;
+ default:
+ yyt6 = YYCURSOR;
+ goto yy14;
+ }
+yy13:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt4;
+ goto yy7;
+ case 'Y':
+ yyt6 = YYCURSOR;
+ goto yy15;
+ default:
+ yyt6 = YYCURSOR;
+ goto yy14;
+ }
+yy14:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt7 = YYCURSOR;
+ goto yy17;
+ default:
+ yyt7 = YYCURSOR;
+ goto yy16;
+ }
+yy15:
+ yyaccept = 4;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt5;
+ goto yy7;
+ case 'Y':
+ yyt7 = YYCURSOR;
+ goto yy17;
+ default:
+ yyt7 = YYCURSOR;
+ goto yy16;
+ }
+yy16:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt8 = YYCURSOR;
+ goto yy19;
+ default:
+ yyt8 = YYCURSOR;
+ goto yy18;
+ }
+yy17:
+ yyaccept = 5;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt6;
+ goto yy7;
+ case 'Y':
+ yyt8 = YYCURSOR;
+ goto yy19;
+ default:
+ yyt8 = YYCURSOR;
+ goto yy18;
+ }
+yy18:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt9 = YYCURSOR;
+ goto yy21;
+ default:
+ yyt9 = YYCURSOR;
+ goto yy20;
+ }
+yy19:
+ yyaccept = 6;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt7;
+ goto yy7;
+ case 'Y':
+ yyt9 = YYCURSOR;
+ goto yy21;
+ default:
+ yyt9 = YYCURSOR;
+ goto yy20;
+ }
+yy20:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'Y': goto yy22;
+ default: goto yy4;
+ }
+yy21:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'Y': goto yy22;
+ default:
+ yyt2 = yyt8;
+ goto yy7;
+ }
+yy22:
+ ++YYCURSOR;
+ yyt2 = yyt9;
+ goto yy7;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 10) YYFILL(10);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'X':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0: goto yy2;
+ case 1: goto yy7;
+ case 2:
+ yyt2 = yyt3;
+ goto yy7;
+ case 3:
+ yyt2 = yyt4;
+ goto yy7;
+ case 4:
+ yyt2 = yyt5;
+ goto yy7;
+ default:
+ yyt2 = yyt6;
+ goto yy7;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ default: goto yy8;
+ }
+yy6:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ default: goto yy8;
+ }
+yy7:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = YYCURSOR - 1;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy10;
+ }
+yy9:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy10;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt4 = YYCURSOR;
+ goto yy13;
+ default:
+ yyt4 = YYCURSOR;
+ goto yy12;
+ }
+yy11:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt3;
+ goto yy7;
+ case 'Y':
+ yyt4 = YYCURSOR;
+ goto yy13;
+ default:
+ yyt4 = YYCURSOR;
+ goto yy12;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt5 = YYCURSOR;
+ goto yy15;
+ default:
+ yyt5 = YYCURSOR;
+ goto yy14;
+ }
+yy13:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt3;
+ goto yy7;
+ case 'Y':
+ yyt5 = YYCURSOR;
+ goto yy15;
+ default:
+ yyt5 = YYCURSOR;
+ goto yy14;
+ }
+yy14:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt6 = YYCURSOR;
+ goto yy17;
+ default:
+ yyt6 = YYCURSOR;
+ goto yy16;
+ }
+yy15:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt4;
+ goto yy7;
+ case 'Y':
+ yyt6 = YYCURSOR;
+ goto yy17;
+ default:
+ yyt6 = YYCURSOR;
+ goto yy16;
+ }
+yy16:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt7 = YYCURSOR;
+ goto yy19;
+ default:
+ yyt7 = YYCURSOR;
+ goto yy18;
+ }
+yy17:
+ yyaccept = 4;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt5;
+ goto yy7;
+ case 'Y':
+ yyt7 = YYCURSOR;
+ goto yy19;
+ default:
+ yyt7 = YYCURSOR;
+ goto yy18;
+ }
+yy18:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt8 = YYCURSOR;
+ goto yy21;
+ default:
+ yyt8 = YYCURSOR;
+ goto yy20;
+ }
+yy19:
+ yyaccept = 5;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt6;
+ goto yy7;
+ case 'Y':
+ yyt8 = YYCURSOR;
+ goto yy21;
+ default:
+ yyt8 = YYCURSOR;
+ goto yy20;
+ }
+yy20:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'Y': goto yy22;
+ default: goto yy4;
+ }
+yy21:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'Y': goto yy22;
+ default:
+ yyt2 = yyt7;
+ goto yy7;
+ }
+yy22:
+ ++YYCURSOR;
+ yyt2 = yyt8;
+ goto yy7;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 10) YYFILL(10);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'X':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0: goto yy2;
+ case 1: goto yy7;
+ case 2:
+ yyt2 = yyt3;
+ goto yy7;
+ case 3:
+ yyt2 = yyt4;
+ goto yy7;
+ default:
+ yyt2 = yyt5;
+ goto yy7;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ default: goto yy8;
+ }
+yy6:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ default: goto yy8;
+ }
+yy7:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = YYCURSOR - 1;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default: goto yy10;
+ }
+yy9:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default: goto yy10;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy13;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy12;
+ }
+yy11:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy13;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy12;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt4 = YYCURSOR;
+ goto yy15;
+ default:
+ yyt4 = YYCURSOR;
+ goto yy14;
+ }
+yy13:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt3;
+ goto yy7;
+ case 'Y':
+ yyt4 = YYCURSOR;
+ goto yy15;
+ default:
+ yyt4 = YYCURSOR;
+ goto yy14;
+ }
+yy14:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt5 = YYCURSOR;
+ goto yy17;
+ default:
+ yyt5 = YYCURSOR;
+ goto yy16;
+ }
+yy15:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt3;
+ goto yy7;
+ case 'Y':
+ yyt5 = YYCURSOR;
+ goto yy17;
+ default:
+ yyt5 = YYCURSOR;
+ goto yy16;
+ }
+yy16:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt6 = YYCURSOR;
+ goto yy19;
+ default:
+ yyt6 = YYCURSOR;
+ goto yy18;
+ }
+yy17:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt4;
+ goto yy7;
+ case 'Y':
+ yyt6 = YYCURSOR;
+ goto yy19;
+ default:
+ yyt6 = YYCURSOR;
+ goto yy18;
+ }
+yy18:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt7 = YYCURSOR;
+ goto yy21;
+ default:
+ yyt7 = YYCURSOR;
+ goto yy20;
+ }
+yy19:
+ yyaccept = 4;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt5;
+ goto yy7;
+ case 'Y':
+ yyt7 = YYCURSOR;
+ goto yy21;
+ default:
+ yyt7 = YYCURSOR;
+ goto yy20;
+ }
+yy20:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'Y': goto yy22;
+ default: goto yy4;
+ }
+yy21:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'Y': goto yy22;
+ default:
+ yyt2 = yyt6;
+ goto yy7;
+ }
+yy22:
+ ++YYCURSOR;
+ yyt2 = yyt7;
+ goto yy7;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 10) YYFILL(10);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'X':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0: goto yy2;
+ case 1: goto yy7;
+ case 2:
+ yyt2 = yyt3;
+ goto yy7;
+ default:
+ yyt2 = yyt4;
+ goto yy7;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ default: goto yy8;
+ }
+yy6:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ default: goto yy8;
+ }
+yy7:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = YYCURSOR - 1;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default: goto yy10;
+ }
+yy9:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default: goto yy10;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy13;
+ default: goto yy12;
+ }
+yy11:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy13;
+ default: goto yy12;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy15;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy14;
+ }
+yy13:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy15;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy14;
+ }
+yy14:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt4 = YYCURSOR;
+ goto yy17;
+ default:
+ yyt4 = YYCURSOR;
+ goto yy16;
+ }
+yy15:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt3;
+ goto yy7;
+ case 'Y':
+ yyt4 = YYCURSOR;
+ goto yy17;
+ default:
+ yyt4 = YYCURSOR;
+ goto yy16;
+ }
+yy16:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt5 = YYCURSOR;
+ goto yy19;
+ default:
+ yyt5 = YYCURSOR;
+ goto yy18;
+ }
+yy17:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt3;
+ goto yy7;
+ case 'Y':
+ yyt5 = YYCURSOR;
+ goto yy19;
+ default:
+ yyt5 = YYCURSOR;
+ goto yy18;
+ }
+yy18:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt6 = YYCURSOR;
+ goto yy21;
+ default:
+ yyt6 = YYCURSOR;
+ goto yy20;
+ }
+yy19:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt4;
+ goto yy7;
+ case 'Y':
+ yyt6 = YYCURSOR;
+ goto yy21;
+ default:
+ yyt6 = YYCURSOR;
+ goto yy20;
+ }
+yy20:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'Y': goto yy22;
+ default: goto yy4;
+ }
+yy21:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'Y': goto yy22;
+ default:
+ yyt2 = yyt5;
+ goto yy7;
+ }
+yy22:
+ ++YYCURSOR;
+ yyt2 = yyt6;
+ goto yy7;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 10) YYFILL(10);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'X':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0: goto yy2;
+ case 1: goto yy7;
+ default:
+ yyt2 = yyt3;
+ goto yy7;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ default: goto yy8;
+ }
+yy6:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ default: goto yy8;
+ }
+yy7:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = YYCURSOR - 1;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default: goto yy10;
+ }
+yy9:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default: goto yy10;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy13;
+ default: goto yy12;
+ }
+yy11:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy13;
+ default: goto yy12;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy15;
+ default: goto yy14;
+ }
+yy13:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy15;
+ default: goto yy14;
+ }
+yy14:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy17;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy16;
+ }
+yy15:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy17;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy16;
+ }
+yy16:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt4 = YYCURSOR;
+ goto yy19;
+ default:
+ yyt4 = YYCURSOR;
+ goto yy18;
+ }
+yy17:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt3;
+ goto yy7;
+ case 'Y':
+ yyt4 = YYCURSOR;
+ goto yy19;
+ default:
+ yyt4 = YYCURSOR;
+ goto yy18;
+ }
+yy18:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt5 = YYCURSOR;
+ goto yy21;
+ default:
+ yyt5 = YYCURSOR;
+ goto yy20;
+ }
+yy19:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt3;
+ goto yy7;
+ case 'Y':
+ yyt5 = YYCURSOR;
+ goto yy21;
+ default:
+ yyt5 = YYCURSOR;
+ goto yy20;
+ }
+yy20:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'Y': goto yy22;
+ default: goto yy4;
+ }
+yy21:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'Y': goto yy22;
+ default:
+ yyt2 = yyt4;
+ goto yy7;
+ }
+yy22:
+ ++YYCURSOR;
+ yyt2 = yyt5;
+ goto yy7;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 10) YYFILL(10);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'X':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0: goto yy2;
+ case 1: goto yy7;
+ default:
+ yyt2 = yyt3;
+ goto yy7;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ default: goto yy8;
+ }
+yy6:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ default: goto yy8;
+ }
+yy7:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = YYCURSOR - 1;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default: goto yy10;
+ }
+yy9:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default: goto yy10;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy13;
+ default: goto yy12;
+ }
+yy11:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy13;
+ default: goto yy12;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy15;
+ default: goto yy14;
+ }
+yy13:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy15;
+ default: goto yy14;
+ }
+yy14:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy17;
+ default: goto yy16;
+ }
+yy15:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy17;
+ default: goto yy16;
+ }
+yy16:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy19;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy18;
+ }
+yy17:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy19;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy18;
+ }
+yy18:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt4 = YYCURSOR;
+ goto yy21;
+ default:
+ yyt4 = YYCURSOR;
+ goto yy20;
+ }
+yy19:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt3;
+ goto yy7;
+ case 'Y':
+ yyt4 = YYCURSOR;
+ goto yy21;
+ default:
+ yyt4 = YYCURSOR;
+ goto yy20;
+ }
+yy20:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'Y': goto yy22;
+ default: goto yy4;
+ }
+yy21:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'Y': goto yy22;
+ default:
+ yyt2 = yyt3;
+ goto yy7;
+ }
+yy22:
+ ++YYCURSOR;
+ yyt2 = yyt4;
+ goto yy7;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 10) YYFILL(10);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'X':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ goto yy2;
+ } else {
+ goto yy7;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ default: goto yy8;
+ }
+yy6:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ default: goto yy8;
+ }
+yy7:
+ {
+ const size_t yynmatch = 2;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = YYCURSOR - 1;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default: goto yy10;
+ }
+yy9:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default: goto yy10;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy13;
+ default: goto yy12;
+ }
+yy11:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy13;
+ default: goto yy12;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy15;
+ default: goto yy14;
+ }
+yy13:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy15;
+ default: goto yy14;
+ }
+yy14:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy17;
+ default: goto yy16;
+ }
+yy15:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy17;
+ default: goto yy16;
+ }
+yy16:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy19;
+ default: goto yy18;
+ }
+yy17:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy19;
+ default: goto yy18;
+ }
+yy18:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy21;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy20;
+ }
+yy19:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy21;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy20;
+ }
+yy20:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'Y': goto yy22;
+ default: goto yy4;
+ }
+yy21:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'Y': goto yy22;
+ default:
+ yyt2 = yyt3;
+ goto yy7;
+ }
+yy22:
+ ++YYCURSOR;
+ yyt2 = yyt3;
+ goto yy7;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt5 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt5 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt1 = yyt5 = YYCURSOR;
+ goto yy7;
+ case 'd':
+ yyt2 = yyt5 = NULL;
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt2 = yyt3 = NULL;
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[4] = yyt4;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt3;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt5 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ case 'c':
+ yyt5 = YYCURSOR;
+ goto yy7;
+ case 'd':
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt3 = yyt5;
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy5:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy12;
+ default: goto yy6;
+ }
+yy6:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ yyt2 = yyt3 = NULL;
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy2;
+ } else {
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy7:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt5 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = yyt5;
+ yyt5 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt5 = YYCURSOR;
+ goto yy7;
+ case 'd':
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt3 = yyt5;
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy9;
+ default:
+ yyt3 = yyt5;
+ goto yy2;
+ }
+yy11:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt5 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = yyt5;
+ yyt5 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy13;
+ case 'd':
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt3 = yyt5;
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy12:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy7;
+ default: goto yy6;
+ }
+yy13:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt5 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt5 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt5 = YYCURSOR;
+ goto yy7;
+ case 'd':
+ yyt5 = yyt2;
+ goto yy7;
+ default:
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a|ab|c|bcd){0,}(d*)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy6;
+ case 'c':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy8;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy10;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy8;
+ case 'd':
+ yyt4 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt3 = yyt1;
+ yyt4 = YYCURSOR;
+ goto yy5;
+ }
+yy5:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt2;
+ yypmatch[4] = yyt4;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt3;
+ yypmatch[3] = yyt4;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+yy6:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy13;
+ default: goto yy7;
+ }
+yy7:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ goto yy2;
+ } else {
+ yyt4 = YYCURSOR;
+ goto yy5;
+ }
+yy8:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = yyt1;
+ yyt1 = YYCURSOR;
+ goto yy6;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy8;
+ case 'd':
+ yyt4 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt3 = yyt1;
+ yyt4 = YYCURSOR;
+ goto yy5;
+ }
+yy10:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = yyt1;
+ yyt1 = YYCURSOR;
+ goto yy6;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy14;
+ case 'd':
+ yyt4 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt3 = yyt1;
+ yyt4 = YYCURSOR;
+ goto yy5;
+ }
+yy11:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy11;
+ default:
+ yyt3 = yyt1;
+ goto yy5;
+ }
+yy13:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy8;
+ default: goto yy7;
+ }
+yy14:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy8;
+ case 'd':
+ yyt1 = yyt4;
+ goto yy8;
+ default:
+ yyt4 = YYCURSOR;
+ goto yy5;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a|ab|c|bcd){1,}(d*)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy10;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0: goto yy2;
+ case 1:
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt2 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy9;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy13;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ case 'b':
+ case 'c': goto yy12;
+ default: goto yy4;
+ }
+yy7:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy15;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy9;
+ }
+yy9:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[4] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = yyt3;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy14;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy18;
+ default: goto yy4;
+ }
+yy11:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy12:
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy14;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy9;
+ }
+yy13:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default: goto yy4;
+ }
+yy14:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy19;
+ default: goto yy4;
+ }
+yy15:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy14;
+ case 'c':
+ yyt2 = yyt3;
+ yyt4 = YYCURSOR;
+ goto yy18;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy9;
+ }
+yy16:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy16;
+ default: goto yy9;
+ }
+yy18:
+ yyaccept = 2;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy14;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ case 'd': goto yy11;
+ default:
+ yyt2 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy9;
+ }
+yy19:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd':
+ yyt2 = yyt3;
+ goto yy11;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a|ab|c|bcd){2,}(d*)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 7) YYFILL(7);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b': goto yy8;
+ case 'c': goto yy9;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0: goto yy2;
+ case 1:
+ yyt3 = YYCURSOR;
+ goto yy14;
+ default:
+ yyt2 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy14;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy10;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b': goto yy11;
+ case 'c': goto yy9;
+ default: goto yy4;
+ }
+yy7:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy12;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy15;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy16;
+ default: goto yy4;
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b': goto yy11;
+ case 'c': goto yy18;
+ default: goto yy4;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ case 'b':
+ case 'c': goto yy17;
+ default: goto yy4;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default: goto yy4;
+ }
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy20;
+ default: goto yy4;
+ }
+yy12:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy12;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy21;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy16;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy14;
+ }
+yy14:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[4] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = yyt3;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+yy15:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy12;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy19;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy24;
+ default: goto yy4;
+ }
+yy16:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy17:
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy12;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy19;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy16;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy14;
+ }
+yy18:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ case 'b':
+ case 'c': goto yy17;
+ case 'd': goto yy9;
+ default: goto yy4;
+ }
+yy19:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy25;
+ default: goto yy4;
+ }
+yy20:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy9;
+ default: goto yy4;
+ }
+yy21:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy12;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy19;
+ case 'c':
+ yyt2 = yyt3;
+ yyt4 = YYCURSOR;
+ goto yy24;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy14;
+ }
+yy22:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy22;
+ default: goto yy14;
+ }
+yy24:
+ yyaccept = 2;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy12;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy19;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy16;
+ case 'd': goto yy16;
+ default:
+ yyt2 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy14;
+ }
+yy25:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd':
+ yyt2 = yyt3;
+ goto yy16;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a|ab|c|bcd){3,}(d*)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 10) YYFILL(10);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b': goto yy8;
+ case 'c': goto yy9;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0: goto yy2;
+ case 1:
+ yyt3 = YYCURSOR;
+ goto yy20;
+ default:
+ yyt2 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy20;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy10;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b': goto yy11;
+ case 'c': goto yy9;
+ default: goto yy4;
+ }
+yy7:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy12;
+ case 'b': goto yy13;
+ case 'c': goto yy14;
+ default: goto yy4;
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b': goto yy11;
+ case 'c': goto yy15;
+ default: goto yy4;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy12;
+ case 'b': goto yy16;
+ case 'c': goto yy14;
+ default: goto yy4;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default: goto yy4;
+ }
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy17;
+ default: goto yy4;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy18;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy21;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy22;
+ default: goto yy4;
+ }
+yy13:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy12;
+ case 'b': goto yy16;
+ case 'c': goto yy24;
+ default: goto yy4;
+ }
+yy14:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ case 'b':
+ case 'c': goto yy23;
+ default: goto yy4;
+ }
+yy15:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy12;
+ case 'b': goto yy16;
+ case 'c': goto yy14;
+ case 'd': goto yy9;
+ default: goto yy4;
+ }
+yy16:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy26;
+ default: goto yy4;
+ }
+yy17:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy9;
+ default: goto yy4;
+ }
+yy18:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy18;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy27;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy22;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy20;
+ }
+yy20:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[4] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = yyt3;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+yy21:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy18;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy25;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy30;
+ default: goto yy4;
+ }
+yy22:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy23:
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy18;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy25;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy22;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy20;
+ }
+yy24:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ case 'b':
+ case 'c': goto yy23;
+ case 'd': goto yy14;
+ default: goto yy4;
+ }
+yy25:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy31;
+ default: goto yy4;
+ }
+yy26:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy14;
+ default: goto yy4;
+ }
+yy27:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy18;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy25;
+ case 'c':
+ yyt2 = yyt3;
+ yyt4 = YYCURSOR;
+ goto yy30;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy20;
+ }
+yy28:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy28;
+ default: goto yy20;
+ }
+yy30:
+ yyaccept = 2;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy18;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy25;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy22;
+ case 'd': goto yy22;
+ default:
+ yyt2 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy20;
+ }
+yy31:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd':
+ yyt2 = yyt3;
+ goto yy22;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a|ab|c|bcd){4,}(d*)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 31) YYFILL(31);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy4;
+ case 'c':
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy6;
+ case 'd':
+ yyt2 = yyt4 = NULL;
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt4 = NULL;
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[4] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt4;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy10;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ case 'd':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy4:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy12;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0:
+ yyt2 = yyt4 = NULL;
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy2;
+ case 1:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ case 2:
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ default:
+ yyt4 = yyt3;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy6:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy13;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ case 'd':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy7:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy8:
+ switch (yych) {
+ case 'd': goto yy7;
+ default: goto yy2;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy14;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy15;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy16;
+ case 'd':
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy10:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy13;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy17;
+ case 'd':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy11:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy14;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy18;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy16;
+ case 'd':
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default: goto yy5;
+ }
+yy13:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy19;
+ default: goto yy5;
+ }
+yy14:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy20;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy21;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy22;
+ case 'd':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy15:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy14;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy18;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy23;
+ case 'd':
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy16:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy20;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy24;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy22;
+ case 'd':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy17:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy14;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy18;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy16;
+ case 'd': goto yy11;
+ default:
+ yyt4 = yyt3;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy18:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy25;
+ default: goto yy5;
+ }
+yy19:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy11;
+ default: goto yy5;
+ }
+yy20:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy26;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy27;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy28;
+ case 'd':
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy21:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy20;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy24;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy29;
+ case 'd':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy22:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy26;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy30;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy28;
+ case 'd':
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy23:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy20;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy24;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy22;
+ case 'd': goto yy16;
+ default:
+ yyt4 = yyt3;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy24:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy31;
+ default: goto yy5;
+ }
+yy25:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy16;
+ default: goto yy5;
+ }
+yy26:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy32;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy33;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy34;
+ case 'd':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy27:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy26;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy30;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy35;
+ case 'd':
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy28:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy32;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy36;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy34;
+ case 'd':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy29:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy26;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy30;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy28;
+ case 'd': goto yy22;
+ default:
+ yyt4 = yyt3;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy30:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy37;
+ default: goto yy5;
+ }
+yy31:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy22;
+ default: goto yy5;
+ }
+yy32:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy38;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy39;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy40;
+ case 'd':
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy33:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy32;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy36;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy41;
+ case 'd':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy34:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy38;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy42;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy40;
+ case 'd':
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy35:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy32;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy36;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy34;
+ case 'd': goto yy28;
+ default:
+ yyt4 = yyt3;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy36:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy43;
+ default: goto yy5;
+ }
+yy37:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy28;
+ default: goto yy5;
+ }
+yy38:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy44;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy45;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy46;
+ case 'd':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy39:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy38;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy42;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy47;
+ case 'd':
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy40:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy44;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy48;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy46;
+ case 'd':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy41:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy38;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy42;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy40;
+ case 'd': goto yy34;
+ default:
+ yyt4 = yyt3;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy42:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy49;
+ default: goto yy5;
+ }
+yy43:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy34;
+ default: goto yy5;
+ }
+yy44:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy50;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy51;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy52;
+ case 'd':
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy45:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy44;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy48;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy53;
+ case 'd':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy46:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy50;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy54;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy52;
+ case 'd':
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy47:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy44;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy48;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy46;
+ case 'd': goto yy40;
+ default:
+ yyt4 = yyt3;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy48:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy55;
+ default: goto yy5;
+ }
+yy49:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy40;
+ default: goto yy5;
+ }
+yy50:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy56;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy57;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy58;
+ case 'd':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy51:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy50;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy54;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy59;
+ case 'd':
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy52:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy56;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy60;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy58;
+ case 'd':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy53:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy50;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy54;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy52;
+ case 'd': goto yy46;
+ default:
+ yyt4 = yyt3;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy54:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy61;
+ default: goto yy5;
+ }
+yy55:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy46;
+ default: goto yy5;
+ }
+yy56:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy58;
+ case 'd':
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy57:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy56;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy60;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy62;
+ case 'd':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy58:
+ yych = *++YYCURSOR;
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy8;
+yy59:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy56;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy60;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy58;
+ case 'd': goto yy52;
+ default:
+ yyt4 = yyt3;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy60:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy63;
+ default: goto yy5;
+ }
+yy61:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy52;
+ default: goto yy5;
+ }
+yy62:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy58;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy63:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy58;
+ default: goto yy5;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a|ab|c|bcd){0,10}(d*)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 31) YYFILL(31);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy7;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy8;
+ case 'b': goto yy9;
+ case 'c': goto yy10;
+ default: goto yy12;
+ }
+yy4:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt2;
+ yypmatch[4] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt3;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy13;
+ default: goto yy6;
+ }
+yy6:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0: goto yy2;
+ case 1:
+ yyt3 = YYCURSOR;
+ goto yy4;
+ case 2:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy4;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy4;
+ }
+yy7:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy8;
+ case 'b': goto yy14;
+ case 'c': goto yy10;
+ default: goto yy12;
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy15;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy16;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy17;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy4;
+ }
+yy9:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy8;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy14;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy18;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy4;
+ }
+yy10:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy15;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy19;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy17;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy4;
+ }
+yy11:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy12:
+ switch (yych) {
+ case 'd': goto yy11;
+ default: goto yy4;
+ }
+yy13:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy7;
+ default: goto yy6;
+ }
+yy14:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy20;
+ default: goto yy6;
+ }
+yy15:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy21;
+ case 'b': goto yy22;
+ case 'c': goto yy23;
+ default: goto yy12;
+ }
+yy16:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy15;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy19;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy24;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy4;
+ }
+yy17:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy21;
+ case 'b': goto yy25;
+ case 'c': goto yy23;
+ default: goto yy12;
+ }
+yy18:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy15;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy19;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy17;
+ case 'd': goto yy10;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy4;
+ }
+yy19:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy26;
+ default: goto yy6;
+ }
+yy20:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy10;
+ default: goto yy6;
+ }
+yy21:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy27;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy28;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy29;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy4;
+ }
+yy22:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy21;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy25;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy30;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy4;
+ }
+yy23:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy27;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy31;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy29;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy4;
+ }
+yy24:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy21;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy25;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy23;
+ case 'd': goto yy17;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy4;
+ }
+yy25:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy32;
+ default: goto yy6;
+ }
+yy26:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy17;
+ default: goto yy6;
+ }
+yy27:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy33;
+ case 'b': goto yy34;
+ case 'c': goto yy35;
+ default: goto yy12;
+ }
+yy28:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy27;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy31;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy36;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy4;
+ }
+yy29:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy33;
+ case 'b': goto yy37;
+ case 'c': goto yy35;
+ default: goto yy12;
+ }
+yy30:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy27;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy31;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy29;
+ case 'd': goto yy23;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy4;
+ }
+yy31:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy38;
+ default: goto yy6;
+ }
+yy32:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy23;
+ default: goto yy6;
+ }
+yy33:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy39;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy40;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy41;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy4;
+ }
+yy34:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy33;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy37;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy42;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy4;
+ }
+yy35:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy39;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy43;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy41;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy4;
+ }
+yy36:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy33;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy37;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy35;
+ case 'd': goto yy29;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy4;
+ }
+yy37:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy44;
+ default: goto yy6;
+ }
+yy38:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy29;
+ default: goto yy6;
+ }
+yy39:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy45;
+ case 'b': goto yy46;
+ case 'c': goto yy47;
+ default: goto yy12;
+ }
+yy40:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy39;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy43;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy48;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy4;
+ }
+yy41:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy45;
+ case 'b': goto yy49;
+ case 'c': goto yy47;
+ default: goto yy12;
+ }
+yy42:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy39;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy43;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy41;
+ case 'd': goto yy35;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy4;
+ }
+yy43:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy50;
+ default: goto yy6;
+ }
+yy44:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy35;
+ default: goto yy6;
+ }
+yy45:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy51;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy52;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy53;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy4;
+ }
+yy46:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy45;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy49;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy54;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy4;
+ }
+yy47:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy51;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy55;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy53;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy4;
+ }
+yy48:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy45;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy49;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy47;
+ case 'd': goto yy41;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy4;
+ }
+yy49:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy56;
+ default: goto yy6;
+ }
+yy50:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy41;
+ default: goto yy6;
+ }
+yy51:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy57;
+ case 'b': goto yy58;
+ case 'c': goto yy59;
+ default: goto yy12;
+ }
+yy52:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy51;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy55;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy60;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy4;
+ }
+yy53:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy57;
+ case 'b': goto yy61;
+ case 'c': goto yy59;
+ default: goto yy12;
+ }
+yy54:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy51;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy55;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy53;
+ case 'd': goto yy47;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy4;
+ }
+yy55:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy62;
+ default: goto yy6;
+ }
+yy56:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy47;
+ default: goto yy6;
+ }
+yy57:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy59;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy4;
+ }
+yy58:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy57;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy61;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy63;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy4;
+ }
+yy59:
+ yych = *++YYCURSOR;
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy12;
+yy60:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy57;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy61;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy59;
+ case 'd': goto yy53;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy4;
+ }
+yy61:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy64;
+ default: goto yy6;
+ }
+yy62:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy53;
+ default: goto yy6;
+ }
+yy63:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy59;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy4;
+ }
+yy64:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy59;
+ default: goto yy6;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a|ab|c|bcd){1,10}(d*)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 31) YYFILL(31);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy9;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy10;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0: goto yy2;
+ case 1:
+ yyt3 = YYCURSOR;
+ goto yy8;
+ case 2:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy8;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy11;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy12;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy10;
+ default: goto yy4;
+ }
+yy7:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy13;
+ case 'b': goto yy14;
+ case 'c': goto yy15;
+ default: goto yy17;
+ }
+yy8:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt2;
+ yypmatch[4] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt3;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy12;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy18;
+ default: goto yy4;
+ }
+yy10:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy13;
+ case 'b': goto yy19;
+ case 'c': goto yy15;
+ default: goto yy17;
+ }
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default: goto yy4;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy20;
+ default: goto yy4;
+ }
+yy13:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy21;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy22;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy23;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy14:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy13;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy19;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy24;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy15:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy21;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy25;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy23;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy16:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy17:
+ switch (yych) {
+ case 'd': goto yy16;
+ default: goto yy8;
+ }
+yy18:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy13;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy19;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy15;
+ case 'd': goto yy10;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy19:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy26;
+ default: goto yy4;
+ }
+yy20:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy10;
+ default: goto yy4;
+ }
+yy21:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy27;
+ case 'b': goto yy28;
+ case 'c': goto yy29;
+ default: goto yy17;
+ }
+yy22:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy21;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy25;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy30;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy23:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy27;
+ case 'b': goto yy31;
+ case 'c': goto yy29;
+ default: goto yy17;
+ }
+yy24:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy21;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy25;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy23;
+ case 'd': goto yy15;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy25:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy32;
+ default: goto yy4;
+ }
+yy26:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy15;
+ default: goto yy4;
+ }
+yy27:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy33;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy34;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy35;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy28:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy27;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy31;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy36;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy29:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy33;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy37;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy35;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy30:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy27;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy31;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy29;
+ case 'd': goto yy23;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy31:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy38;
+ default: goto yy4;
+ }
+yy32:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy23;
+ default: goto yy4;
+ }
+yy33:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy39;
+ case 'b': goto yy40;
+ case 'c': goto yy41;
+ default: goto yy17;
+ }
+yy34:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy33;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy37;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy42;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy35:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy39;
+ case 'b': goto yy43;
+ case 'c': goto yy41;
+ default: goto yy17;
+ }
+yy36:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy33;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy37;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy35;
+ case 'd': goto yy29;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy37:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy44;
+ default: goto yy4;
+ }
+yy38:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy29;
+ default: goto yy4;
+ }
+yy39:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy45;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy46;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy47;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy40:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy39;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy43;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy48;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy41:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy45;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy49;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy47;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy42:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy39;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy43;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy41;
+ case 'd': goto yy35;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy43:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy50;
+ default: goto yy4;
+ }
+yy44:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy35;
+ default: goto yy4;
+ }
+yy45:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy51;
+ case 'b': goto yy52;
+ case 'c': goto yy53;
+ default: goto yy17;
+ }
+yy46:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy45;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy49;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy54;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy47:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy51;
+ case 'b': goto yy55;
+ case 'c': goto yy53;
+ default: goto yy17;
+ }
+yy48:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy45;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy49;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy47;
+ case 'd': goto yy41;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy49:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy56;
+ default: goto yy4;
+ }
+yy50:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy41;
+ default: goto yy4;
+ }
+yy51:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy57;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy58;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy59;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy52:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy51;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy55;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy60;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy53:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy57;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy61;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy59;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy54:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy51;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy55;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy53;
+ case 'd': goto yy47;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy55:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy62;
+ default: goto yy4;
+ }
+yy56:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy47;
+ default: goto yy4;
+ }
+yy57:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy59;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy58:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy57;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy61;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy63;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy59:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ goto yy17;
+yy60:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy57;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy61;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy59;
+ case 'd': goto yy53;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy61:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy64;
+ default: goto yy4;
+ }
+yy62:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy53;
+ default: goto yy4;
+ }
+yy63:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy59;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy64:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy59;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a|ab|c|bcd){2,10}(d*)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 31) YYFILL(31);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b': goto yy8;
+ case 'c': goto yy9;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0: goto yy2;
+ case 1:
+ yyt3 = YYCURSOR;
+ goto yy13;
+ case 2:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy13;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy13;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy10;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b': goto yy11;
+ case 'c': goto yy9;
+ default: goto yy4;
+ }
+yy7:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy12;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy14;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy15;
+ default: goto yy4;
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b': goto yy11;
+ case 'c': goto yy16;
+ default: goto yy4;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy12;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy17;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy15;
+ default: goto yy4;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default: goto yy4;
+ }
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy18;
+ default: goto yy4;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy19;
+ case 'b': goto yy20;
+ case 'c': goto yy21;
+ default: goto yy23;
+ }
+yy13:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt2;
+ yypmatch[4] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt3;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+yy14:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy12;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy17;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy24;
+ default: goto yy4;
+ }
+yy15:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy19;
+ case 'b': goto yy25;
+ case 'c': goto yy21;
+ default: goto yy23;
+ }
+yy16:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy12;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy17;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy15;
+ case 'd': goto yy9;
+ default: goto yy4;
+ }
+yy17:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy26;
+ default: goto yy4;
+ }
+yy18:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy9;
+ default: goto yy4;
+ }
+yy19:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy27;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy28;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy29;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy13;
+ }
+yy20:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy19;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy25;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy30;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy13;
+ }
+yy21:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy27;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy31;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy29;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy13;
+ }
+yy22:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy23:
+ switch (yych) {
+ case 'd': goto yy22;
+ default: goto yy13;
+ }
+yy24:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy19;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy25;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy21;
+ case 'd': goto yy15;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy13;
+ }
+yy25:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy32;
+ default: goto yy4;
+ }
+yy26:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy15;
+ default: goto yy4;
+ }
+yy27:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy33;
+ case 'b': goto yy34;
+ case 'c': goto yy35;
+ default: goto yy23;
+ }
+yy28:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy27;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy31;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy36;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy13;
+ }
+yy29:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy33;
+ case 'b': goto yy37;
+ case 'c': goto yy35;
+ default: goto yy23;
+ }
+yy30:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy27;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy31;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy29;
+ case 'd': goto yy21;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy13;
+ }
+yy31:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy38;
+ default: goto yy4;
+ }
+yy32:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy21;
+ default: goto yy4;
+ }
+yy33:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy39;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy40;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy41;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy13;
+ }
+yy34:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy33;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy37;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy42;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy13;
+ }
+yy35:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy39;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy43;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy41;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy13;
+ }
+yy36:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy33;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy37;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy35;
+ case 'd': goto yy29;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy13;
+ }
+yy37:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy44;
+ default: goto yy4;
+ }
+yy38:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy29;
+ default: goto yy4;
+ }
+yy39:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy45;
+ case 'b': goto yy46;
+ case 'c': goto yy47;
+ default: goto yy23;
+ }
+yy40:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy39;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy43;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy48;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy13;
+ }
+yy41:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy45;
+ case 'b': goto yy49;
+ case 'c': goto yy47;
+ default: goto yy23;
+ }
+yy42:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy39;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy43;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy41;
+ case 'd': goto yy35;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy13;
+ }
+yy43:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy50;
+ default: goto yy4;
+ }
+yy44:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy35;
+ default: goto yy4;
+ }
+yy45:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy51;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy52;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy53;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy13;
+ }
+yy46:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy45;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy49;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy54;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy13;
+ }
+yy47:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy51;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy55;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy53;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy13;
+ }
+yy48:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy45;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy49;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy47;
+ case 'd': goto yy41;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy13;
+ }
+yy49:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy56;
+ default: goto yy4;
+ }
+yy50:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy41;
+ default: goto yy4;
+ }
+yy51:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy57;
+ case 'b': goto yy58;
+ case 'c': goto yy59;
+ default: goto yy23;
+ }
+yy52:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy51;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy55;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy60;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy13;
+ }
+yy53:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy57;
+ case 'b': goto yy61;
+ case 'c': goto yy59;
+ default: goto yy23;
+ }
+yy54:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy51;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy55;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy53;
+ case 'd': goto yy47;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy13;
+ }
+yy55:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy62;
+ default: goto yy4;
+ }
+yy56:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy47;
+ default: goto yy4;
+ }
+yy57:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy59;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy13;
+ }
+yy58:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy57;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy61;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy63;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy13;
+ }
+yy59:
+ yych = *++YYCURSOR;
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy23;
+yy60:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy57;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy61;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy59;
+ case 'd': goto yy53;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy13;
+ }
+yy61:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy64;
+ default: goto yy4;
+ }
+yy62:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy53;
+ default: goto yy4;
+ }
+yy63:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy59;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy13;
+ }
+yy64:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy59;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a|ab|c|bcd){3,10}(d*)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 31) YYFILL(31);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b': goto yy8;
+ case 'c': goto yy9;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0: goto yy2;
+ case 1:
+ yyt3 = YYCURSOR;
+ goto yy19;
+ case 2:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy19;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy19;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy10;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b': goto yy11;
+ case 'c': goto yy9;
+ default: goto yy4;
+ }
+yy7:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy12;
+ case 'b': goto yy13;
+ case 'c': goto yy14;
+ default: goto yy4;
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b': goto yy11;
+ case 'c': goto yy15;
+ default: goto yy4;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy12;
+ case 'b': goto yy16;
+ case 'c': goto yy14;
+ default: goto yy4;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default: goto yy4;
+ }
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy17;
+ default: goto yy4;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy18;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy20;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy21;
+ default: goto yy4;
+ }
+yy13:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy12;
+ case 'b': goto yy16;
+ case 'c': goto yy22;
+ default: goto yy4;
+ }
+yy14:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy18;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy23;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy21;
+ default: goto yy4;
+ }
+yy15:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy12;
+ case 'b': goto yy16;
+ case 'c': goto yy14;
+ case 'd': goto yy9;
+ default: goto yy4;
+ }
+yy16:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy24;
+ default: goto yy4;
+ }
+yy17:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy9;
+ default: goto yy4;
+ }
+yy18:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy25;
+ case 'b': goto yy26;
+ case 'c': goto yy27;
+ default: goto yy29;
+ }
+yy19:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt2;
+ yypmatch[4] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt3;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+yy20:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy18;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy23;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy30;
+ default: goto yy4;
+ }
+yy21:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy25;
+ case 'b': goto yy31;
+ case 'c': goto yy27;
+ default: goto yy29;
+ }
+yy22:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy18;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy23;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy21;
+ case 'd': goto yy14;
+ default: goto yy4;
+ }
+yy23:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy32;
+ default: goto yy4;
+ }
+yy24:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy14;
+ default: goto yy4;
+ }
+yy25:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy33;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy34;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy35;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy19;
+ }
+yy26:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy25;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy31;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy36;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy19;
+ }
+yy27:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy33;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy37;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy35;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy19;
+ }
+yy28:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy29:
+ switch (yych) {
+ case 'd': goto yy28;
+ default: goto yy19;
+ }
+yy30:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy25;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy31;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy27;
+ case 'd': goto yy21;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy19;
+ }
+yy31:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy38;
+ default: goto yy4;
+ }
+yy32:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy21;
+ default: goto yy4;
+ }
+yy33:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy39;
+ case 'b': goto yy40;
+ case 'c': goto yy41;
+ default: goto yy29;
+ }
+yy34:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy33;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy37;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy42;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy19;
+ }
+yy35:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy39;
+ case 'b': goto yy43;
+ case 'c': goto yy41;
+ default: goto yy29;
+ }
+yy36:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy33;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy37;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy35;
+ case 'd': goto yy27;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy19;
+ }
+yy37:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy44;
+ default: goto yy4;
+ }
+yy38:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy27;
+ default: goto yy4;
+ }
+yy39:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy45;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy46;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy47;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy19;
+ }
+yy40:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy39;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy43;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy48;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy19;
+ }
+yy41:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy45;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy49;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy47;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy19;
+ }
+yy42:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy39;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy43;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy41;
+ case 'd': goto yy35;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy19;
+ }
+yy43:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy50;
+ default: goto yy4;
+ }
+yy44:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy35;
+ default: goto yy4;
+ }
+yy45:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy51;
+ case 'b': goto yy52;
+ case 'c': goto yy53;
+ default: goto yy29;
+ }
+yy46:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy45;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy49;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy54;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy19;
+ }
+yy47:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy51;
+ case 'b': goto yy55;
+ case 'c': goto yy53;
+ default: goto yy29;
+ }
+yy48:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy45;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy49;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy47;
+ case 'd': goto yy41;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy19;
+ }
+yy49:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy56;
+ default: goto yy4;
+ }
+yy50:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy41;
+ default: goto yy4;
+ }
+yy51:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy57;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy58;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy59;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy19;
+ }
+yy52:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy51;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy55;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy60;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy19;
+ }
+yy53:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy57;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy61;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy59;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy19;
+ }
+yy54:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy51;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy55;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy53;
+ case 'd': goto yy47;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy19;
+ }
+yy55:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy62;
+ default: goto yy4;
+ }
+yy56:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy47;
+ default: goto yy4;
+ }
+yy57:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy59;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy19;
+ }
+yy58:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy57;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy61;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy63;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy19;
+ }
+yy59:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ goto yy29;
+yy60:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy57;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy61;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy59;
+ case 'd': goto yy53;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy19;
+ }
+yy61:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy64;
+ default: goto yy4;
+ }
+yy62:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy53;
+ default: goto yy4;
+ }
+yy63:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy59;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy19;
+ }
+yy64:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy59;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a|ab|c|bcd){4,10}(d*)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt5 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt5 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt1 = yyt5 = YYCURSOR;
+ goto yy7;
+ case 'd':
+ yyt2 = yyt5 = NULL;
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt2 = yyt3 = NULL;
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[4] = yyt4;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt3;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt5 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ case 'c':
+ yyt5 = YYCURSOR;
+ goto yy7;
+ case 'd':
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt3 = yyt5;
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy5:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy12;
+ default: goto yy6;
+ }
+yy6:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ yyt2 = yyt3 = NULL;
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy2;
+ } else {
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy7:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt5 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = yyt5;
+ yyt5 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt5 = YYCURSOR;
+ goto yy7;
+ case 'd':
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt3 = yyt5;
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy9;
+ default:
+ yyt3 = yyt5;
+ goto yy2;
+ }
+yy11:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt5 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = yyt5;
+ yyt5 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy13;
+ case 'd':
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt3 = yyt5;
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy12:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy7;
+ default: goto yy6;
+ }
+yy13:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt5 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt5 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt5 = YYCURSOR;
+ goto yy7;
+ case 'd':
+ yyt5 = yyt2;
+ goto yy7;
+ default:
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a|ab|c|bcd)*(d*)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy6;
+ case 'c':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy8;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy10;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy8;
+ case 'd':
+ yyt4 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt3 = yyt1;
+ yyt4 = YYCURSOR;
+ goto yy5;
+ }
+yy5:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt2;
+ yypmatch[4] = yyt4;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt3;
+ yypmatch[3] = yyt4;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+yy6:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy13;
+ default: goto yy7;
+ }
+yy7:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ goto yy2;
+ } else {
+ yyt4 = YYCURSOR;
+ goto yy5;
+ }
+yy8:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = yyt1;
+ yyt1 = YYCURSOR;
+ goto yy6;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy8;
+ case 'd':
+ yyt4 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt3 = yyt1;
+ yyt4 = YYCURSOR;
+ goto yy5;
+ }
+yy10:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = yyt1;
+ yyt1 = YYCURSOR;
+ goto yy6;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy14;
+ case 'd':
+ yyt4 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt3 = yyt1;
+ yyt4 = YYCURSOR;
+ goto yy5;
+ }
+yy11:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy11;
+ default:
+ yyt3 = yyt1;
+ goto yy5;
+ }
+yy13:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy8;
+ default: goto yy7;
+ }
+yy14:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy8;
+ case 'd':
+ yyt1 = yyt4;
+ goto yy8;
+ default:
+ yyt4 = YYCURSOR;
+ goto yy5;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a|ab|c|bcd)+(d*)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt5 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt5 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt1 = yyt5 = YYCURSOR;
+ goto yy7;
+ case 'd':
+ yyt2 = yyt5 = NULL;
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt2 = yyt3 = NULL;
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[4] = yyt4;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt3;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt5 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ case 'c':
+ yyt5 = YYCURSOR;
+ goto yy7;
+ case 'd':
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt3 = yyt5;
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy5:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy12;
+ default: goto yy6;
+ }
+yy6:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0:
+ yyt2 = yyt3 = NULL;
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy2;
+ case 1:
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy2;
+ default:
+ yyt3 = yyt2;
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy7:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt5 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = yyt5;
+ yyt5 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt5 = YYCURSOR;
+ goto yy7;
+ case 'd':
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt3 = yyt5;
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy9;
+ default:
+ yyt3 = yyt5;
+ goto yy2;
+ }
+yy11:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt5 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = yyt5;
+ yyt5 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy13;
+ case 'd':
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt3 = yyt5;
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy12:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy7;
+ default: goto yy6;
+ }
+yy13:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt5 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt5 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt5 = YYCURSOR;
+ goto yy7;
+ case 'd': goto yy14;
+ default:
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy14:
+ yyaccept = 2;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt5 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt5 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt5 = YYCURSOR;
+ goto yy7;
+ case 'd':
+ yyt5 = yyt2;
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt3 = yyt2;
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (ab|a|c|bcd){0,}(d*)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy6;
+ case 'c':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy8;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy10;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy8;
+ case 'd':
+ yyt4 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt3 = yyt1;
+ yyt4 = YYCURSOR;
+ goto yy5;
+ }
+yy5:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt2;
+ yypmatch[4] = yyt4;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt3;
+ yypmatch[3] = yyt4;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+yy6:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy13;
+ default: goto yy7;
+ }
+yy7:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0: goto yy2;
+ case 1:
+ yyt4 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt3 = yyt4;
+ yyt4 = YYCURSOR;
+ goto yy5;
+ }
+yy8:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = yyt1;
+ yyt1 = YYCURSOR;
+ goto yy6;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy8;
+ case 'd':
+ yyt4 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt3 = yyt1;
+ yyt4 = YYCURSOR;
+ goto yy5;
+ }
+yy10:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = yyt1;
+ yyt1 = YYCURSOR;
+ goto yy6;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy14;
+ case 'd':
+ yyt4 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt3 = yyt1;
+ yyt4 = YYCURSOR;
+ goto yy5;
+ }
+yy11:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy11;
+ default:
+ yyt3 = yyt1;
+ goto yy5;
+ }
+yy13:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy8;
+ default: goto yy7;
+ }
+yy14:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy8;
+ case 'd': goto yy15;
+ default:
+ yyt4 = YYCURSOR;
+ goto yy5;
+ }
+yy15:
+ yyaccept = 2;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy8;
+ case 'd':
+ yyt1 = yyt4;
+ yyt4 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt3 = yyt4;
+ yyt4 = YYCURSOR;
+ goto yy5;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (ab|a|c|bcd){1,}(d*)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy10;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0: goto yy2;
+ case 1:
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt2 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy9;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy13;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ case 'b':
+ case 'c': goto yy12;
+ default: goto yy4;
+ }
+yy7:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy15;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy9;
+ }
+yy9:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[4] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = yyt3;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy14;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy18;
+ default: goto yy4;
+ }
+yy11:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy12:
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy14;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy9;
+ }
+yy13:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default: goto yy4;
+ }
+yy14:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy19;
+ default: goto yy4;
+ }
+yy15:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy14;
+ case 'c':
+ yyt2 = yyt3;
+ yyt4 = YYCURSOR;
+ goto yy18;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy9;
+ }
+yy16:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy16;
+ default: goto yy9;
+ }
+yy18:
+ yyaccept = 2;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy14;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ case 'd': goto yy11;
+ default:
+ yyt2 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy9;
+ }
+yy19:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd':
+ yyt2 = yyt3;
+ goto yy11;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (ab|a|c|bcd){2,}(d*)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 7) YYFILL(7);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b': goto yy8;
+ case 'c': goto yy9;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0: goto yy2;
+ case 1:
+ yyt3 = YYCURSOR;
+ goto yy14;
+ default:
+ yyt2 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy14;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy10;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b': goto yy11;
+ case 'c': goto yy9;
+ default: goto yy4;
+ }
+yy7:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy12;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy15;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy16;
+ default: goto yy4;
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b': goto yy11;
+ case 'c': goto yy18;
+ default: goto yy4;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ case 'b':
+ case 'c': goto yy17;
+ default: goto yy4;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default: goto yy4;
+ }
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy20;
+ default: goto yy4;
+ }
+yy12:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy12;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy21;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy16;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy14;
+ }
+yy14:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[4] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = yyt3;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+yy15:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy12;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy19;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy24;
+ default: goto yy4;
+ }
+yy16:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy17:
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy12;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy19;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy16;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy14;
+ }
+yy18:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ case 'b':
+ case 'c': goto yy17;
+ case 'd': goto yy9;
+ default: goto yy4;
+ }
+yy19:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy25;
+ default: goto yy4;
+ }
+yy20:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy9;
+ default: goto yy4;
+ }
+yy21:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy12;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy19;
+ case 'c':
+ yyt2 = yyt3;
+ yyt4 = YYCURSOR;
+ goto yy24;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy14;
+ }
+yy22:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy22;
+ default: goto yy14;
+ }
+yy24:
+ yyaccept = 2;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy12;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy19;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy16;
+ case 'd': goto yy16;
+ default:
+ yyt2 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy14;
+ }
+yy25:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd':
+ yyt2 = yyt3;
+ goto yy16;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (ab|a|c|bcd){3,}(d*)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 10) YYFILL(10);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b': goto yy8;
+ case 'c': goto yy9;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0: goto yy2;
+ case 1:
+ yyt3 = YYCURSOR;
+ goto yy20;
+ default:
+ yyt2 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy20;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy10;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b': goto yy11;
+ case 'c': goto yy9;
+ default: goto yy4;
+ }
+yy7:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy12;
+ case 'b': goto yy13;
+ case 'c': goto yy14;
+ default: goto yy4;
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b': goto yy11;
+ case 'c': goto yy15;
+ default: goto yy4;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy12;
+ case 'b': goto yy16;
+ case 'c': goto yy14;
+ default: goto yy4;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default: goto yy4;
+ }
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy17;
+ default: goto yy4;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy18;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy21;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy22;
+ default: goto yy4;
+ }
+yy13:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy12;
+ case 'b': goto yy16;
+ case 'c': goto yy24;
+ default: goto yy4;
+ }
+yy14:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ case 'b':
+ case 'c': goto yy23;
+ default: goto yy4;
+ }
+yy15:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy12;
+ case 'b': goto yy16;
+ case 'c': goto yy14;
+ case 'd': goto yy9;
+ default: goto yy4;
+ }
+yy16:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy26;
+ default: goto yy4;
+ }
+yy17:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy9;
+ default: goto yy4;
+ }
+yy18:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy18;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy27;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy22;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy20;
+ }
+yy20:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[4] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = yyt3;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+yy21:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy18;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy25;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy30;
+ default: goto yy4;
+ }
+yy22:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy23:
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy18;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy25;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy22;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy20;
+ }
+yy24:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ case 'b':
+ case 'c': goto yy23;
+ case 'd': goto yy14;
+ default: goto yy4;
+ }
+yy25:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy31;
+ default: goto yy4;
+ }
+yy26:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy14;
+ default: goto yy4;
+ }
+yy27:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy18;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy25;
+ case 'c':
+ yyt2 = yyt3;
+ yyt4 = YYCURSOR;
+ goto yy30;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy20;
+ }
+yy28:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy28;
+ default: goto yy20;
+ }
+yy30:
+ yyaccept = 2;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy18;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy25;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy22;
+ case 'd': goto yy22;
+ default:
+ yyt2 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy20;
+ }
+yy31:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd':
+ yyt2 = yyt3;
+ goto yy22;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (ab|a|c|bcd){4,}(d*)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 31) YYFILL(31);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy4;
+ case 'c':
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy6;
+ case 'd':
+ yyt2 = yyt4 = NULL;
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt4 = NULL;
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[4] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt4;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy10;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ case 'd':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy4:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy12;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0:
+ yyt2 = yyt4 = NULL;
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy2;
+ case 1:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ case 2:
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ default:
+ yyt4 = yyt3;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy6:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy13;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ case 'd':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy7:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy8:
+ switch (yych) {
+ case 'd': goto yy7;
+ default: goto yy2;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy14;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy15;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy16;
+ case 'd':
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy10:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy13;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy17;
+ case 'd':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy11:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy14;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy18;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy16;
+ case 'd':
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default: goto yy5;
+ }
+yy13:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy19;
+ default: goto yy5;
+ }
+yy14:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy20;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy21;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy22;
+ case 'd':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy15:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy14;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy18;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy23;
+ case 'd':
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy16:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy20;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy24;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy22;
+ case 'd':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy17:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy14;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy18;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy16;
+ case 'd': goto yy11;
+ default:
+ yyt4 = yyt3;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy18:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy25;
+ default: goto yy5;
+ }
+yy19:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy11;
+ default: goto yy5;
+ }
+yy20:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy26;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy27;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy28;
+ case 'd':
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy21:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy20;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy24;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy29;
+ case 'd':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy22:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy26;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy30;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy28;
+ case 'd':
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy23:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy20;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy24;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy22;
+ case 'd': goto yy16;
+ default:
+ yyt4 = yyt3;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy24:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy31;
+ default: goto yy5;
+ }
+yy25:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy16;
+ default: goto yy5;
+ }
+yy26:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy32;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy33;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy34;
+ case 'd':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy27:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy26;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy30;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy35;
+ case 'd':
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy28:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy32;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy36;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy34;
+ case 'd':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy29:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy26;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy30;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy28;
+ case 'd': goto yy22;
+ default:
+ yyt4 = yyt3;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy30:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy37;
+ default: goto yy5;
+ }
+yy31:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy22;
+ default: goto yy5;
+ }
+yy32:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy38;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy39;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy40;
+ case 'd':
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy33:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy32;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy36;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy41;
+ case 'd':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy34:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy38;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy42;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy40;
+ case 'd':
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy35:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy32;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy36;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy34;
+ case 'd': goto yy28;
+ default:
+ yyt4 = yyt3;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy36:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy43;
+ default: goto yy5;
+ }
+yy37:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy28;
+ default: goto yy5;
+ }
+yy38:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy44;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy45;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy46;
+ case 'd':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy39:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy38;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy42;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy47;
+ case 'd':
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy40:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy44;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy48;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy46;
+ case 'd':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy41:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy38;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy42;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy40;
+ case 'd': goto yy34;
+ default:
+ yyt4 = yyt3;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy42:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy49;
+ default: goto yy5;
+ }
+yy43:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy34;
+ default: goto yy5;
+ }
+yy44:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy50;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy51;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy52;
+ case 'd':
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy45:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy44;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy48;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy53;
+ case 'd':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy46:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy50;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy54;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy52;
+ case 'd':
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy47:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy44;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy48;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy46;
+ case 'd': goto yy40;
+ default:
+ yyt4 = yyt3;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy48:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy55;
+ default: goto yy5;
+ }
+yy49:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy40;
+ default: goto yy5;
+ }
+yy50:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy56;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy57;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy58;
+ case 'd':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy51:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy50;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy54;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy59;
+ case 'd':
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy52:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy56;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy60;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy58;
+ case 'd':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy53:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy50;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy54;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy52;
+ case 'd': goto yy46;
+ default:
+ yyt4 = yyt3;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy54:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy61;
+ default: goto yy5;
+ }
+yy55:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy46;
+ default: goto yy5;
+ }
+yy56:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy58;
+ case 'd':
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy57:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy56;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy60;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy62;
+ case 'd':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy58:
+ yych = *++YYCURSOR;
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy8;
+yy59:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy56;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy60;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy58;
+ case 'd': goto yy52;
+ default:
+ yyt4 = yyt3;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy60:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy63;
+ default: goto yy5;
+ }
+yy61:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy52;
+ default: goto yy5;
+ }
+yy62:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy58;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy63:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy58;
+ default: goto yy5;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (ab|a|c|bcd){0,10}(d*)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 31) YYFILL(31);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy7;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy8;
+ case 'b': goto yy9;
+ case 'c': goto yy10;
+ default: goto yy12;
+ }
+yy4:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt2;
+ yypmatch[4] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt3;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy13;
+ default: goto yy6;
+ }
+yy6:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0: goto yy2;
+ case 1:
+ yyt3 = YYCURSOR;
+ goto yy4;
+ case 2:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy4;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy4;
+ }
+yy7:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy8;
+ case 'b': goto yy14;
+ case 'c': goto yy10;
+ default: goto yy12;
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy15;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy16;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy17;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy4;
+ }
+yy9:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy8;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy14;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy18;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy4;
+ }
+yy10:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy15;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy19;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy17;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy4;
+ }
+yy11:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy12:
+ switch (yych) {
+ case 'd': goto yy11;
+ default: goto yy4;
+ }
+yy13:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy7;
+ default: goto yy6;
+ }
+yy14:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy20;
+ default: goto yy6;
+ }
+yy15:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy21;
+ case 'b': goto yy22;
+ case 'c': goto yy23;
+ default: goto yy12;
+ }
+yy16:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy15;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy19;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy24;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy4;
+ }
+yy17:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy21;
+ case 'b': goto yy25;
+ case 'c': goto yy23;
+ default: goto yy12;
+ }
+yy18:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy15;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy19;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy17;
+ case 'd': goto yy10;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy4;
+ }
+yy19:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy26;
+ default: goto yy6;
+ }
+yy20:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy10;
+ default: goto yy6;
+ }
+yy21:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy27;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy28;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy29;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy4;
+ }
+yy22:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy21;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy25;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy30;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy4;
+ }
+yy23:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy27;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy31;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy29;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy4;
+ }
+yy24:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy21;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy25;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy23;
+ case 'd': goto yy17;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy4;
+ }
+yy25:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy32;
+ default: goto yy6;
+ }
+yy26:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy17;
+ default: goto yy6;
+ }
+yy27:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy33;
+ case 'b': goto yy34;
+ case 'c': goto yy35;
+ default: goto yy12;
+ }
+yy28:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy27;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy31;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy36;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy4;
+ }
+yy29:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy33;
+ case 'b': goto yy37;
+ case 'c': goto yy35;
+ default: goto yy12;
+ }
+yy30:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy27;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy31;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy29;
+ case 'd': goto yy23;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy4;
+ }
+yy31:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy38;
+ default: goto yy6;
+ }
+yy32:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy23;
+ default: goto yy6;
+ }
+yy33:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy39;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy40;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy41;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy4;
+ }
+yy34:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy33;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy37;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy42;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy4;
+ }
+yy35:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy39;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy43;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy41;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy4;
+ }
+yy36:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy33;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy37;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy35;
+ case 'd': goto yy29;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy4;
+ }
+yy37:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy44;
+ default: goto yy6;
+ }
+yy38:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy29;
+ default: goto yy6;
+ }
+yy39:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy45;
+ case 'b': goto yy46;
+ case 'c': goto yy47;
+ default: goto yy12;
+ }
+yy40:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy39;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy43;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy48;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy4;
+ }
+yy41:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy45;
+ case 'b': goto yy49;
+ case 'c': goto yy47;
+ default: goto yy12;
+ }
+yy42:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy39;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy43;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy41;
+ case 'd': goto yy35;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy4;
+ }
+yy43:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy50;
+ default: goto yy6;
+ }
+yy44:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy35;
+ default: goto yy6;
+ }
+yy45:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy51;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy52;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy53;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy4;
+ }
+yy46:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy45;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy49;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy54;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy4;
+ }
+yy47:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy51;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy55;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy53;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy4;
+ }
+yy48:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy45;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy49;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy47;
+ case 'd': goto yy41;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy4;
+ }
+yy49:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy56;
+ default: goto yy6;
+ }
+yy50:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy41;
+ default: goto yy6;
+ }
+yy51:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy57;
+ case 'b': goto yy58;
+ case 'c': goto yy59;
+ default: goto yy12;
+ }
+yy52:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy51;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy55;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy60;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy4;
+ }
+yy53:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy57;
+ case 'b': goto yy61;
+ case 'c': goto yy59;
+ default: goto yy12;
+ }
+yy54:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy51;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy55;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy53;
+ case 'd': goto yy47;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy4;
+ }
+yy55:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy62;
+ default: goto yy6;
+ }
+yy56:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy47;
+ default: goto yy6;
+ }
+yy57:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy59;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy4;
+ }
+yy58:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy57;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy61;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy63;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy4;
+ }
+yy59:
+ yych = *++YYCURSOR;
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy12;
+yy60:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy57;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy61;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy59;
+ case 'd': goto yy53;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy4;
+ }
+yy61:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy64;
+ default: goto yy6;
+ }
+yy62:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy53;
+ default: goto yy6;
+ }
+yy63:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy59;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy4;
+ }
+yy64:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy59;
+ default: goto yy6;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (ab|a|c|bcd){1,10}(d*)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 31) YYFILL(31);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy9;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy10;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0: goto yy2;
+ case 1:
+ yyt3 = YYCURSOR;
+ goto yy8;
+ case 2:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy8;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy11;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy12;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy10;
+ default: goto yy4;
+ }
+yy7:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy13;
+ case 'b': goto yy14;
+ case 'c': goto yy15;
+ default: goto yy17;
+ }
+yy8:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt2;
+ yypmatch[4] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt3;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy12;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy18;
+ default: goto yy4;
+ }
+yy10:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy13;
+ case 'b': goto yy19;
+ case 'c': goto yy15;
+ default: goto yy17;
+ }
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default: goto yy4;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy20;
+ default: goto yy4;
+ }
+yy13:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy21;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy22;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy23;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy14:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy13;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy19;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy24;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy15:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy21;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy25;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy23;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy16:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy17:
+ switch (yych) {
+ case 'd': goto yy16;
+ default: goto yy8;
+ }
+yy18:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy13;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy19;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy15;
+ case 'd': goto yy10;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy19:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy26;
+ default: goto yy4;
+ }
+yy20:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy10;
+ default: goto yy4;
+ }
+yy21:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy27;
+ case 'b': goto yy28;
+ case 'c': goto yy29;
+ default: goto yy17;
+ }
+yy22:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy21;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy25;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy30;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy23:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy27;
+ case 'b': goto yy31;
+ case 'c': goto yy29;
+ default: goto yy17;
+ }
+yy24:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy21;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy25;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy23;
+ case 'd': goto yy15;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy25:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy32;
+ default: goto yy4;
+ }
+yy26:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy15;
+ default: goto yy4;
+ }
+yy27:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy33;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy34;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy35;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy28:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy27;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy31;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy36;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy29:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy33;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy37;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy35;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy30:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy27;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy31;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy29;
+ case 'd': goto yy23;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy31:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy38;
+ default: goto yy4;
+ }
+yy32:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy23;
+ default: goto yy4;
+ }
+yy33:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy39;
+ case 'b': goto yy40;
+ case 'c': goto yy41;
+ default: goto yy17;
+ }
+yy34:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy33;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy37;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy42;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy35:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy39;
+ case 'b': goto yy43;
+ case 'c': goto yy41;
+ default: goto yy17;
+ }
+yy36:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy33;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy37;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy35;
+ case 'd': goto yy29;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy37:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy44;
+ default: goto yy4;
+ }
+yy38:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy29;
+ default: goto yy4;
+ }
+yy39:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy45;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy46;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy47;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy40:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy39;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy43;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy48;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy41:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy45;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy49;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy47;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy42:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy39;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy43;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy41;
+ case 'd': goto yy35;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy43:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy50;
+ default: goto yy4;
+ }
+yy44:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy35;
+ default: goto yy4;
+ }
+yy45:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy51;
+ case 'b': goto yy52;
+ case 'c': goto yy53;
+ default: goto yy17;
+ }
+yy46:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy45;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy49;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy54;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy47:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy51;
+ case 'b': goto yy55;
+ case 'c': goto yy53;
+ default: goto yy17;
+ }
+yy48:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy45;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy49;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy47;
+ case 'd': goto yy41;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy49:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy56;
+ default: goto yy4;
+ }
+yy50:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy41;
+ default: goto yy4;
+ }
+yy51:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy57;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy58;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy59;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy52:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy51;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy55;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy60;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy53:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy57;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy61;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy59;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy54:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy51;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy55;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy53;
+ case 'd': goto yy47;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy55:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy62;
+ default: goto yy4;
+ }
+yy56:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy47;
+ default: goto yy4;
+ }
+yy57:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy59;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy58:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy57;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy61;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy63;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy59:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ goto yy17;
+yy60:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy57;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy61;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy59;
+ case 'd': goto yy53;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy61:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy64;
+ default: goto yy4;
+ }
+yy62:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy53;
+ default: goto yy4;
+ }
+yy63:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy59;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy64:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy59;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (ab|a|c|bcd){2,10}(d*)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 31) YYFILL(31);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b': goto yy8;
+ case 'c': goto yy9;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0: goto yy2;
+ case 1:
+ yyt3 = YYCURSOR;
+ goto yy13;
+ case 2:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy13;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy13;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy10;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b': goto yy11;
+ case 'c': goto yy9;
+ default: goto yy4;
+ }
+yy7:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy12;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy14;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy15;
+ default: goto yy4;
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b': goto yy11;
+ case 'c': goto yy16;
+ default: goto yy4;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy12;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy17;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy15;
+ default: goto yy4;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default: goto yy4;
+ }
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy18;
+ default: goto yy4;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy19;
+ case 'b': goto yy20;
+ case 'c': goto yy21;
+ default: goto yy23;
+ }
+yy13:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt2;
+ yypmatch[4] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt3;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+yy14:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy12;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy17;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy24;
+ default: goto yy4;
+ }
+yy15:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy19;
+ case 'b': goto yy25;
+ case 'c': goto yy21;
+ default: goto yy23;
+ }
+yy16:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy12;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy17;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy15;
+ case 'd': goto yy9;
+ default: goto yy4;
+ }
+yy17:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy26;
+ default: goto yy4;
+ }
+yy18:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy9;
+ default: goto yy4;
+ }
+yy19:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy27;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy28;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy29;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy13;
+ }
+yy20:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy19;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy25;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy30;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy13;
+ }
+yy21:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy27;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy31;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy29;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy13;
+ }
+yy22:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy23:
+ switch (yych) {
+ case 'd': goto yy22;
+ default: goto yy13;
+ }
+yy24:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy19;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy25;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy21;
+ case 'd': goto yy15;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy13;
+ }
+yy25:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy32;
+ default: goto yy4;
+ }
+yy26:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy15;
+ default: goto yy4;
+ }
+yy27:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy33;
+ case 'b': goto yy34;
+ case 'c': goto yy35;
+ default: goto yy23;
+ }
+yy28:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy27;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy31;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy36;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy13;
+ }
+yy29:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy33;
+ case 'b': goto yy37;
+ case 'c': goto yy35;
+ default: goto yy23;
+ }
+yy30:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy27;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy31;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy29;
+ case 'd': goto yy21;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy13;
+ }
+yy31:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy38;
+ default: goto yy4;
+ }
+yy32:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy21;
+ default: goto yy4;
+ }
+yy33:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy39;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy40;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy41;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy13;
+ }
+yy34:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy33;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy37;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy42;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy13;
+ }
+yy35:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy39;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy43;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy41;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy13;
+ }
+yy36:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy33;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy37;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy35;
+ case 'd': goto yy29;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy13;
+ }
+yy37:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy44;
+ default: goto yy4;
+ }
+yy38:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy29;
+ default: goto yy4;
+ }
+yy39:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy45;
+ case 'b': goto yy46;
+ case 'c': goto yy47;
+ default: goto yy23;
+ }
+yy40:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy39;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy43;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy48;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy13;
+ }
+yy41:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy45;
+ case 'b': goto yy49;
+ case 'c': goto yy47;
+ default: goto yy23;
+ }
+yy42:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy39;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy43;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy41;
+ case 'd': goto yy35;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy13;
+ }
+yy43:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy50;
+ default: goto yy4;
+ }
+yy44:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy35;
+ default: goto yy4;
+ }
+yy45:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy51;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy52;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy53;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy13;
+ }
+yy46:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy45;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy49;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy54;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy13;
+ }
+yy47:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy51;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy55;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy53;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy13;
+ }
+yy48:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy45;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy49;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy47;
+ case 'd': goto yy41;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy13;
+ }
+yy49:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy56;
+ default: goto yy4;
+ }
+yy50:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy41;
+ default: goto yy4;
+ }
+yy51:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy57;
+ case 'b': goto yy58;
+ case 'c': goto yy59;
+ default: goto yy23;
+ }
+yy52:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy51;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy55;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy60;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy13;
+ }
+yy53:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy57;
+ case 'b': goto yy61;
+ case 'c': goto yy59;
+ default: goto yy23;
+ }
+yy54:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy51;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy55;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy53;
+ case 'd': goto yy47;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy13;
+ }
+yy55:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy62;
+ default: goto yy4;
+ }
+yy56:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy47;
+ default: goto yy4;
+ }
+yy57:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy59;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy13;
+ }
+yy58:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy57;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy61;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy63;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy13;
+ }
+yy59:
+ yych = *++YYCURSOR;
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy23;
+yy60:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy57;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy61;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy59;
+ case 'd': goto yy53;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy13;
+ }
+yy61:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy64;
+ default: goto yy4;
+ }
+yy62:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy53;
+ default: goto yy4;
+ }
+yy63:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy59;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy13;
+ }
+yy64:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy59;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (ab|a|c|bcd){3,10}(d*)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 31) YYFILL(31);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b': goto yy8;
+ case 'c': goto yy9;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0: goto yy2;
+ case 1:
+ yyt3 = YYCURSOR;
+ goto yy19;
+ case 2:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy19;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy19;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy10;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b': goto yy11;
+ case 'c': goto yy9;
+ default: goto yy4;
+ }
+yy7:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy12;
+ case 'b': goto yy13;
+ case 'c': goto yy14;
+ default: goto yy4;
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b': goto yy11;
+ case 'c': goto yy15;
+ default: goto yy4;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy12;
+ case 'b': goto yy16;
+ case 'c': goto yy14;
+ default: goto yy4;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default: goto yy4;
+ }
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy17;
+ default: goto yy4;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy18;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy20;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy21;
+ default: goto yy4;
+ }
+yy13:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy12;
+ case 'b': goto yy16;
+ case 'c': goto yy22;
+ default: goto yy4;
+ }
+yy14:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy18;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy23;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy21;
+ default: goto yy4;
+ }
+yy15:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy12;
+ case 'b': goto yy16;
+ case 'c': goto yy14;
+ case 'd': goto yy9;
+ default: goto yy4;
+ }
+yy16:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy24;
+ default: goto yy4;
+ }
+yy17:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy9;
+ default: goto yy4;
+ }
+yy18:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy25;
+ case 'b': goto yy26;
+ case 'c': goto yy27;
+ default: goto yy29;
+ }
+yy19:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt2;
+ yypmatch[4] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt3;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+yy20:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy18;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy23;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy30;
+ default: goto yy4;
+ }
+yy21:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy25;
+ case 'b': goto yy31;
+ case 'c': goto yy27;
+ default: goto yy29;
+ }
+yy22:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy18;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy23;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy21;
+ case 'd': goto yy14;
+ default: goto yy4;
+ }
+yy23:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy32;
+ default: goto yy4;
+ }
+yy24:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy14;
+ default: goto yy4;
+ }
+yy25:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy33;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy34;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy35;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy19;
+ }
+yy26:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy25;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy31;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy36;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy19;
+ }
+yy27:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy33;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy37;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy35;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy19;
+ }
+yy28:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy29:
+ switch (yych) {
+ case 'd': goto yy28;
+ default: goto yy19;
+ }
+yy30:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy25;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy31;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy27;
+ case 'd': goto yy21;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy19;
+ }
+yy31:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy38;
+ default: goto yy4;
+ }
+yy32:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy21;
+ default: goto yy4;
+ }
+yy33:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy39;
+ case 'b': goto yy40;
+ case 'c': goto yy41;
+ default: goto yy29;
+ }
+yy34:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy33;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy37;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy42;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy19;
+ }
+yy35:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy39;
+ case 'b': goto yy43;
+ case 'c': goto yy41;
+ default: goto yy29;
+ }
+yy36:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy33;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy37;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy35;
+ case 'd': goto yy27;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy19;
+ }
+yy37:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy44;
+ default: goto yy4;
+ }
+yy38:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy27;
+ default: goto yy4;
+ }
+yy39:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy45;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy46;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy47;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy19;
+ }
+yy40:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy39;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy43;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy48;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy19;
+ }
+yy41:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy45;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy49;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy47;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy19;
+ }
+yy42:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy39;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy43;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy41;
+ case 'd': goto yy35;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy19;
+ }
+yy43:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy50;
+ default: goto yy4;
+ }
+yy44:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy35;
+ default: goto yy4;
+ }
+yy45:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy51;
+ case 'b': goto yy52;
+ case 'c': goto yy53;
+ default: goto yy29;
+ }
+yy46:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy45;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy49;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy54;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy19;
+ }
+yy47:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy51;
+ case 'b': goto yy55;
+ case 'c': goto yy53;
+ default: goto yy29;
+ }
+yy48:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy45;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy49;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy47;
+ case 'd': goto yy41;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy19;
+ }
+yy49:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy56;
+ default: goto yy4;
+ }
+yy50:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy41;
+ default: goto yy4;
+ }
+yy51:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy57;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy58;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy59;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy19;
+ }
+yy52:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy51;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy55;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy60;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy19;
+ }
+yy53:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy57;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy61;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy59;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy19;
+ }
+yy54:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy51;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy55;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy53;
+ case 'd': goto yy47;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy19;
+ }
+yy55:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy62;
+ default: goto yy4;
+ }
+yy56:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy47;
+ default: goto yy4;
+ }
+yy57:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy59;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy19;
+ }
+yy58:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy57;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy61;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy63;
+ case 'd':
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy19;
+ }
+yy59:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ goto yy29;
+yy60:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy57;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy61;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy59;
+ case 'd': goto yy53;
+ default:
+ yyt1 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy19;
+ }
+yy61:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy64;
+ default: goto yy4;
+ }
+yy62:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy53;
+ default: goto yy4;
+ }
+yy63:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy59;
+ default:
+ yyt1 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy19;
+ }
+yy64:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy59;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (ab|a|c|bcd){4,10}(d*)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt5 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt5 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt1 = yyt5 = YYCURSOR;
+ goto yy7;
+ case 'd':
+ yyt2 = yyt5 = NULL;
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt2 = yyt3 = NULL;
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[4] = yyt4;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt3;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt5 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ case 'c':
+ yyt5 = YYCURSOR;
+ goto yy7;
+ case 'd':
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt3 = yyt5;
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy5:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy12;
+ default: goto yy6;
+ }
+yy6:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0:
+ yyt2 = yyt3 = NULL;
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy2;
+ case 1:
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy2;
+ default:
+ yyt3 = yyt2;
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy7:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt5 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = yyt5;
+ yyt5 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt5 = YYCURSOR;
+ goto yy7;
+ case 'd':
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt3 = yyt5;
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy9;
+ default:
+ yyt3 = yyt5;
+ goto yy2;
+ }
+yy11:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt5 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = yyt5;
+ yyt5 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy13;
+ case 'd':
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt3 = yyt5;
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy12:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy7;
+ default: goto yy6;
+ }
+yy13:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt5 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt5 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt5 = YYCURSOR;
+ goto yy7;
+ case 'd': goto yy14;
+ default:
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy14:
+ yyaccept = 2;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt5 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt5 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt5 = YYCURSOR;
+ goto yy7;
+ case 'd':
+ yyt5 = yyt2;
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt3 = yyt2;
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (ab|a|c|bcd)*(d*)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy6;
+ case 'c':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy8;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy10;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy8;
+ case 'd':
+ yyt4 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt3 = yyt1;
+ yyt4 = YYCURSOR;
+ goto yy5;
+ }
+yy5:
+ {
+ const size_t yynmatch = 3;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = yyt2;
+ yypmatch[4] = yyt4;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt3;
+ yypmatch[3] = yyt4;
+ yypmatch[5] = YYCURSOR;
+ {}
+ }
+yy6:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy13;
+ default: goto yy7;
+ }
+yy7:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0: goto yy2;
+ case 1:
+ yyt4 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt3 = yyt4;
+ yyt4 = YYCURSOR;
+ goto yy5;
+ }
+yy8:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = yyt1;
+ yyt1 = YYCURSOR;
+ goto yy6;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy8;
+ case 'd':
+ yyt4 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt3 = yyt1;
+ yyt4 = YYCURSOR;
+ goto yy5;
+ }
+yy10:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = yyt1;
+ yyt1 = YYCURSOR;
+ goto yy6;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy14;
+ case 'd':
+ yyt4 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt3 = yyt1;
+ yyt4 = YYCURSOR;
+ goto yy5;
+ }
+yy11:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy11;
+ default:
+ yyt3 = yyt1;
+ goto yy5;
+ }
+yy13:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy8;
+ default: goto yy7;
+ }
+yy14:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy8;
+ case 'd': goto yy15;
+ default:
+ yyt4 = YYCURSOR;
+ goto yy5;
+ }
+yy15:
+ yyaccept = 2;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy8;
+ case 'd':
+ yyt1 = yyt4;
+ yyt4 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt3 = yyt4;
+ yyt4 = YYCURSOR;
+ goto yy5;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (ab|a|c|bcd)+(d*)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy8;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ goto yy10;
+yy7:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt2;
+ yypmatch[4] = yyt1;
+ yypmatch[6] = yyt3;
+ yypmatch[0] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt1;
+ yypmatch[5] = yyt3;
+ yypmatch[7] = YYCURSOR;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy11;
+ default: goto yy4;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy10:
+ switch (yych) {
+ case 'd': goto yy9;
+ default: goto yy7;
+ }
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a|ab)(c|bcd)(d*)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy8;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ goto yy10;
+yy7:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt2;
+ yypmatch[4] = yyt1;
+ yypmatch[6] = yyt3;
+ yypmatch[0] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt1;
+ yypmatch[5] = yyt3;
+ yypmatch[7] = YYCURSOR;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy11;
+ default: goto yy4;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy10:
+ switch (yych) {
+ case 'd': goto yy9;
+ default: goto yy7;
+ }
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a|ab)(bcd|c)(d*)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy8;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ goto yy10;
+yy7:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt2;
+ yypmatch[4] = yyt1;
+ yypmatch[6] = yyt3;
+ yypmatch[0] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt1;
+ yypmatch[5] = yyt3;
+ yypmatch[7] = YYCURSOR;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy11;
+ default: goto yy4;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy10:
+ switch (yych) {
+ case 'd': goto yy9;
+ default: goto yy7;
+ }
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (ab|a)(c|bcd)(d*)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy8;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ goto yy10;
+yy7:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt2;
+ yypmatch[4] = yyt1;
+ yypmatch[6] = yyt3;
+ yypmatch[0] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt1;
+ yypmatch[5] = yyt3;
+ yypmatch[7] = YYCURSOR;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy11;
+ default: goto yy4;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy10:
+ switch (yych) {
+ case 'd': goto yy9;
+ default: goto yy7;
+ }
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (ab|a)(bcd|c)(d*)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ goto yy9;
+yy7:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt2;
+ yypmatch[4] = yyt1;
+ yypmatch[6] = yyt3;
+ yypmatch[0] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt1;
+ yypmatch[5] = yyt3;
+ yypmatch[7] = YYCURSOR;
+ {}
+ }
+yy8:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy9:
+ switch (yych) {
+ case 'c': goto yy8;
+ default: goto yy7;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a*)(b|abc)(c*)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ goto yy9;
+yy7:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt2;
+ yypmatch[4] = yyt1;
+ yypmatch[6] = yyt3;
+ yypmatch[0] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt1;
+ yypmatch[5] = yyt3;
+ yypmatch[7] = YYCURSOR;
+ {}
+ }
+yy8:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy9:
+ switch (yych) {
+ case 'c': goto yy8;
+ default: goto yy7;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a*)(abc|b)(c*)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ goto yy9;
+yy7:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt2;
+ yypmatch[4] = yyt1;
+ yypmatch[6] = yyt3;
+ yypmatch[0] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt1;
+ yypmatch[5] = yyt3;
+ yypmatch[7] = YYCURSOR;
+ {}
+ }
+yy8:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy9:
+ switch (yych) {
+ case 'c': goto yy8;
+ default: goto yy7;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a*)(b|abc)(c*)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ goto yy9;
+yy7:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt2;
+ yypmatch[4] = yyt1;
+ yypmatch[6] = yyt3;
+ yypmatch[0] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt1;
+ yypmatch[5] = yyt3;
+ yypmatch[7] = YYCURSOR;
+ {}
+ }
+yy8:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy9:
+ switch (yych) {
+ case 'c': goto yy8;
+ default: goto yy7;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/*!re2c
+ re2c:flags:flex-syntax = 1;
+ re2c:flags:posix-captures = 1;
+ (a*)(abc|b)(c*)
+ {}
+ "" {}
+*/
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy8;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ goto yy10;
+yy7:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt2;
+ yypmatch[4] = yyt1;
+ yypmatch[6] = yyt3;
+ yypmatch[0] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt1;
+ yypmatch[5] = yyt3;
+ yypmatch[7] = YYCURSOR;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy11;
+ default: goto yy4;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy10:
+ if (yych <= 0x00) goto yy7;
+ goto yy9;
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy8;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ goto yy10;
+yy7:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt2;
+ yypmatch[4] = yyt1;
+ yypmatch[6] = yyt3;
+ yypmatch[0] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt1;
+ yypmatch[5] = yyt3;
+ yypmatch[7] = YYCURSOR;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy11;
+ default: goto yy4;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy10:
+ if (yych <= 0x00) goto yy7;
+ goto yy9;
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy8;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ goto yy10;
+yy7:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt2;
+ yypmatch[4] = yyt1;
+ yypmatch[6] = yyt3;
+ yypmatch[0] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt1;
+ yypmatch[5] = yyt3;
+ yypmatch[7] = YYCURSOR;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy11;
+ default: goto yy4;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy10:
+ if (yych <= 0x00) goto yy7;
+ goto yy9;
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
--- /dev/null
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {
+ const size_t yynmatch = 1;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy8;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ goto yy10;
+yy7:
+ {
+ const size_t yynmatch = 4;
+ const YYCTYPE *yypmatch[yynmatch * 2];
+ yypmatch[2] = yyt2;
+ yypmatch[4] = yyt1;
+ yypmatch[6] = yyt3;
+ yypmatch[0] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt1;
+ yypmatch[5] = yyt3;
+ yypmatch[7] = YYCURSOR;
+ {}
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy11;
+ default: goto yy4;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy10:
+ if (yych <= 0x00) goto yy7;
+ goto yy9;
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]
+re2c: warning: line 5: trailing context is non-deterministic and induces 2 parallel instances [-Wnondeterministic-tags]