diff options
Diffstat (limited to 'src/lexer.l')
-rw-r--r-- | src/lexer.l | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/lexer.l b/src/lexer.l index 6f58bd5..4de6ead 100644 --- a/src/lexer.l +++ b/src/lexer.l @@ -154,7 +154,9 @@ STRING \"(\\.|[^"\\])*\" "end" {return END;} {STRING} { - yylval->str = yytext; + /* skip quotation marks */ + yylval->str = strdup(yytext + 1); + yylval->str[strlen(yylval->str) - 1] = '\0'; return STRING; } @@ -169,17 +171,17 @@ STRING \"(\\.|[^"\\])*\" } {IDENT} { - yylval->str = yytext; + yylval->str = strdup(yytext); return IDENT; } {FUNC_IDENT} { - yylval->str = yytext; + yylval->str = strdup(yytext); return FUNC_IDENT; } {PROC_IDENT} { - yylval->str = yytext; + yylval->str = strdup(yytext); return PROC_IDENT; } |