summaryrefslogtreecommitdiffstats
path: root/grammar
diff options
context:
space:
mode:
Diffstat (limited to 'grammar')
-rw-r--r--grammar/grammar.y1
-rw-r--r--grammar/lexer.l3
2 files changed, 3 insertions, 1 deletions
diff --git a/grammar/grammar.y b/grammar/grammar.y
index b8790411..402b1a57 100644
--- a/grammar/grammar.y
+++ b/grammar/grammar.y
@@ -63,6 +63,7 @@ extern int yyerror(char*);
%token ENDOBJ
%token <s> CFSYSLINE
%token BEGIN_ACTION
+%token STOP
%token <s> LEGACY_ACTION
%token <s> PRIFILT
%token <s> PROPFILT
diff --git a/grammar/lexer.l b/grammar/lexer.l
index 347a2a7a..802b2d89 100644
--- a/grammar/lexer.l
+++ b/grammar/lexer.l
@@ -134,6 +134,7 @@ int fileno(FILE *stream);
/* line number support because the "preprocessor" combines lines and so needs
* to tell us the real source line.
*/
+"stop" { dbgprintf("STOP\n"); return STOP; }
"preprocfilelinenumber(" { BEGIN LINENO; }
<LINENO>[0-9]+ { yylineno = atoi(yytext) - 1; }
<LINENO>")" { BEGIN INITIAL; }
@@ -159,7 +160,7 @@ int fileno(FILE *stream);
\-\/[^*][^\n]* |
\/[^*][^\n]* |
:[a-z0-9]+:[^\n]* |
-[\|\.\-\@~][^\n]+ |
+[\|\.\-\@\^?~>][^\n]+ |
[a-z0-9_][a-z0-9_\-\+]* { yylval.s = strdup(yytext);
// printf("lex: LEGA ACT: '%s'\n", yytext);
return LEGACY_ACTION; }