aboutsummaryrefslogtreecommitdiff
path: root/src/lexer.l
diff options
context:
space:
mode:
Diffstat (limited to 'src/lexer.l')
-rw-r--r--src/lexer.l10
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;
}