p_re3.new_alt("re_longest", t_longest, t_opar, p_re, t_cpar)
p_re3.new_alt("re_par", t_opar, p_re, t_cpar)
p_re3.new_alt("re_class", p_text, t_dot, t_dot, p_text)
+p_re3.new_alt("re_openclass", p_text, t_dot, t_dot, t_dot)
p_re3.new_alt("re_any", t_any)
p_re3.new_alt("re_end", t_end)
p_re3.new_alt("re_id", t_id)
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
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