From b966576f1e740966b35579d612050f4dfc09606c Mon Sep 17 00:00:00 2001 From: Rainer Gerhards Date: Mon, 4 Jul 2011 11:57:55 +0200 Subject: milestone: added BSD-style blocks --- grammar/rscript.l | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'grammar/rscript.l') diff --git a/grammar/rscript.l b/grammar/rscript.l index 7e7ab925..a4c37c81 100644 --- a/grammar/rscript.l +++ b/grammar/rscript.l @@ -122,9 +122,10 @@ char *currfn; /* name of currently processed file */ ^[ \t]*[,\*a-z]+\.[,!=;\.\*a-z]+ { printf("token prifilt '%s'\n", yytext); yylval.s = strdup(yytext); return PRIFILT; } "*" | +\-\/[^*][^\n]* | \/[^*][^\n]* | [\|\.\-\@:~][^\n]+ | -[a-z0-9_\-\+]+ { yylval.s = strdup(yytext); return LEGACY_ACTION; } +[a-z0-9_][a-z0-9_\-\+]* { yylval.s = strdup(yytext); printf("LEGACY_ACT: '%s'\n", yytext);return LEGACY_ACTION; } ")" { BEGIN INITIAL; return ENDOBJ; } [a-z][a-z0-9_\.]* { yylval.estr = es_newStrFromCStr(yytext, yyleng); return NAME; } @@ -141,7 +142,6 @@ char *currfn; /* name of currently processed file */ [ \n\t] . { printf("INOBJ: invalid char '%s'\n", yytext); } - /* CFSYSLINE is valid in all modes */ \$[a-z]+.*$ { /* see common on $IncludeConfig above */ if(!strncasecmp(yytext, "$includeconfig ", 14)) { yyless(14); @@ -151,6 +151,10 @@ char *currfn; /* name of currently processed file */ return CFSYSLINE; } } +![^ \t\n]+[ \t]*$ { printf("BSD TAG '%s'\n", yytext); yylval.s = strdup(yytext); return BSD_TAG_SELECTOR; } +[+-]\*[ \t\n]*#.*$ { printf("BSD HOST '%s'\n", yytext); yylval.s = strdup(yytext); return BSD_HOST_SELECTOR; } +[+-]\*[ \t\n]*$ { printf("BSD HOST '%s'\n", yytext); yylval.s = strdup(yytext); return BSD_HOST_SELECTOR; } +^[ \t]*[+-][a-z0-9.:-]+[ \t]*$ { printf("BSD HOST '%s'\n", yytext); yylval.s = strdup(yytext); return BSD_HOST_SELECTOR; } \#.*\n /* skip comments in input */ [\n\t ] /* drop whitespace */ -- cgit