model_viewer: use a permalink to reach the old cardboard.jar
[nit.git] / contrib / nitcc / src / re2nfa.nit
index 886eaea..12cd600 100644 (file)
@@ -173,6 +173,16 @@ redef class Nre_longest
        end
 end
 
+redef class Nre_prefixes
+       redef fun make_rfa
+       do
+               var a = children[2].make_rfa
+               a.trim
+               a.accept.add_all a.states
+               return a
+       end
+end
+
 redef class Nre_conc
        redef fun make_rfa
        do
@@ -223,7 +233,7 @@ redef class Nre_class
                var c1 = children[0].children[0].value
                var c2 = children[3].children[0].value
                if c1.length != 1 or c2.length != 1 then
-                       print "Classes only works on single char"
+                       print "Classes expect a single char"
                        exit(1)
                        abort
                end
@@ -232,6 +242,20 @@ redef class Nre_class
        end
 end
 
+redef class Nre_openclass
+       redef fun make_rfa: Automaton
+       do
+               var c1 = children[0].children[0].value
+               if c1.length != 1 then
+                       print "Classes expect a single char"
+                       exit(1)
+                       abort
+               end
+               var a = new Automaton.cla(c1.chars.first.code_point, null)
+               return a
+       end
+end
+
 redef class Nre_any
        redef fun make_rfa: Automaton
        do