summaryrefslogtreecommitdiff
path: root/aliases_scan.l
diff options
context:
space:
mode:
Diffstat (limited to 'aliases_scan.l')
-rw-r--r--aliases_scan.l24
1 files changed, 24 insertions, 0 deletions
diff --git a/aliases_scan.l b/aliases_scan.l
new file mode 100644
index 0000000000000..809d1e1687310
--- /dev/null
+++ b/aliases_scan.l
@@ -0,0 +1,24 @@
+%{
+
+#include <string.h>
+#include "aliases_parse.h"
+
+#define YY_NO_INPUT
+
+int yylex(void);
+%}
+
+%option yylineno
+%option nounput
+
+%%
+
+[^:,#[:space:][:cntrl:]]+ {yylval.ident = strdup(yytext); return T_IDENT;}
+^([[:blank:]]*(#.*)?\n)+ ;/* ignore empty lines */
+[:,\n] return yytext[0];
+(\n?[[:blank:]]+|#.*)+ ;/* ignore whitespace and continuation */
+\\\n ;/* ignore continuation. not allowed in comments */
+. return T_ERROR;
+<<EOF>> return T_EOF;
+
+%%