diff options
Diffstat (limited to 'grammar/lexer.l')
-rw-r--r-- | grammar/lexer.l | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/grammar/lexer.l b/grammar/lexer.l index c5e7bf7d..51b0fbd2 100644 --- a/grammar/lexer.l +++ b/grammar/lexer.l @@ -138,6 +138,7 @@ int fileno(FILE *stream); * to tell us the real source line. */ "stop" { dbgprintf("STOP\n"); return STOP; } +"else" { dbgprintf("STOP\n"); return ELSE; } "preprocfilelinenumber(" { BEGIN LINENO; } <LINENO>[0-9]+ { yylineno = atoi(yytext) - 1; } <LINENO>")" { BEGIN INITIAL; } @@ -161,10 +162,10 @@ int fileno(FILE *stream); BEGIN INOBJ; return BEGINOBJ; } "module"[ \n\t]*"(" { yylval.objType = CNFOBJ_MODULE; BEGIN INOBJ; return BEGINOBJ; } -"action"[ \n\t]*"(" { BEGIN INOBJ; return BEGIN_ACTION; } +"action"[ \n\t]*"(" { dbgprintf("RRRR: lexer: %s\n", yytext); BEGIN INOBJ; return BEGIN_ACTION; } ^[ \t]*:\$?[a-z\-]+[ ]*,[ ]*!?[a-z]+[ ]*,[ ]*\".*\" { - yylval.s = strdup(yytext); return PROPFILT; } -^[ \t]*[\*a-z][,\*a-z]*[0-7]*\.[,!=;\.\*a-z0-7]+ { yylval.s = strdup(yytext); return PRIFILT; } + yylval.s = strdup(rmLeadingSpace(yytext)); return PROPFILT; } +^[ \t]*[\*a-z][,\*a-z]*[0-7]*\.[,!=;\.\*a-z0-7]+ { yylval.s = strdup(rmLeadingSpace(yytext)); return PRIFILT; } "~" | "*" | \-\/[^*][^\n]* | @@ -193,8 +194,10 @@ int fileno(FILE *stream); yyless(14); BEGIN INCL; } else { - yylval.s = strdup(yytext); - return CFSYSLINE; + /*yylval.s = strdup(yytext); + return CFSYSLINE;*/ + dbgprintf("RRRR: have CFSYSLINE/lexer: %s\n", yytext); + cnfDoCfsysline(strdup(yytext)); } } ![^ \t\n]+[ \t]*$ { yylval.s = strdup(yytext); return BSD_TAG_SELECTOR; } |