summaryrefslogtreecommitdiff
path: root/lex-ere.l
diff options
context:
space:
mode:
authorJakob Kaivo <jkk@ung.org>2019-03-13 21:33:54 -0400
committerJakob Kaivo <jkk@ung.org>2019-03-13 21:33:54 -0400
commitcb381413a77594a702d3679624500377b9f98854 (patch)
tree71462fe4af5a6a24feadc57d0d8b8120bfddd85c /lex-ere.l
migrate to gitlab
Diffstat (limited to 'lex-ere.l')
-rw-r--r--lex-ere.l32
1 files changed, 32 insertions, 0 deletions
diff --git a/lex-ere.l b/lex-ere.l
new file mode 100644
index 0000000..424515d
--- /dev/null
+++ b/lex-ere.l
@@ -0,0 +1,32 @@
+%{
+#include "lex-ere.tab.h"
+%}
+%x CHARACTER_CLASS
+%%
+"[=" return Open_equal;
+"=]" return Equal_close;
+"[." return Open_dot;
+".]" return Dot_close;
+j
+"[:" {
+ BEGIN CHARACTER_CLASS;
+ return Open_colon;
+ }
+
+":]" {
+ BEGIN INITIAL;
+ return Colon_close;
+ }
+
+<CHARACTER_CLASS>"alnum" |
+<CHARACTER_CLASS>"alpha" |
+<CHARACTER_CLASS>"blank" |
+<CHARACTER_CLASS>"cntrl" |
+<CHARACTER_CLASS>"digit" |
+<CHARACTER_CLASS>"graph" |
+<CHARACTER_CLASS>"lower" |
+<CHARACTER_CLASS>"print" |
+<CHARACTER_CLASS>"punct" |
+<CHARACTER_CLASS>"space" |
+<CHARACTER_CLASS>"upper" |
+<CHARACTER_CLASS>"xdigit" return class_name;