aboutsummaryrefslogtreecommitdiff
path: root/gen/gen_lexer.inc
diff options
context:
space:
mode:
authorKimplul <kimi.h.kuparinen@gmail.com>2024-04-20 03:39:40 +0300
committerKimplul <kimi.h.kuparinen@gmail.com>2024-04-20 03:39:40 +0300
commit1cc7990ef7d5483d0434dda412f2d88e0b17df27 (patch)
tree93c9945318908c4f593251c0b8f9ecf57c3bde96 /gen/gen_lexer.inc
parentedf56e3444d5333d4362277ee97a5cdf0c2f52af (diff)
downloadposthaste-1cc7990ef7d5483d0434dda412f2d88e0b17df27.tar.gz
posthaste-1cc7990ef7d5483d0434dda412f2d88e0b17df27.zip
initial working bytecode
Diffstat (limited to 'gen/gen_lexer.inc')
-rw-r--r--gen/gen_lexer.inc30
1 files changed, 16 insertions, 14 deletions
diff --git a/gen/gen_lexer.inc b/gen/gen_lexer.inc
index b6f9599..0e34d3f 100644
--- a/gen/gen_lexer.inc
+++ b/gen/gen_lexer.inc
@@ -1105,13 +1105,15 @@ case 36:
YY_RULE_SETUP
#line 156 "src/lexer.l"
{
- yylval->str = yytext;
+ /* skip quotation marks */
+ yylval->str = strdup(yytext + 1);
+ yylval->str[strlen(yylval->str) - 1] = '\0';
return STRING;
}
YY_BREAK
case 37:
YY_RULE_SETUP
-#line 161 "src/lexer.l"
+#line 163 "src/lexer.l"
{
yylval->num = lex_date(parser, src_loc(*yylloc), yytext);
return DATE_LITERAL;
@@ -1119,7 +1121,7 @@ YY_RULE_SETUP
YY_BREAK
case 38:
YY_RULE_SETUP
-#line 166 "src/lexer.l"
+#line 168 "src/lexer.l"
{
yylval->snum = lex_int(parser, src_loc(*yylloc), yytext);
return INT_LITERAL;
@@ -1127,47 +1129,47 @@ YY_RULE_SETUP
YY_BREAK
case 39:
YY_RULE_SETUP
-#line 171 "src/lexer.l"
+#line 173 "src/lexer.l"
{
- yylval->str = yytext;
+ yylval->str = strdup(yytext);
return IDENT;
}
YY_BREAK
case 40:
YY_RULE_SETUP
-#line 176 "src/lexer.l"
+#line 178 "src/lexer.l"
{
- yylval->str = yytext;
+ yylval->str = strdup(yytext);
return FUNC_IDENT;
}
YY_BREAK
case 41:
YY_RULE_SETUP
-#line 181 "src/lexer.l"
+#line 183 "src/lexer.l"
{
- yylval->str = yytext;
+ yylval->str = strdup(yytext);
return PROC_IDENT;
}
YY_BREAK
case 42:
/* rule 42 can match eol */
YY_RULE_SETUP
-#line 186 "src/lexer.l"
+#line 188 "src/lexer.l"
{/* skip whitespace */}
YY_BREAK
case 43:
YY_RULE_SETUP
-#line 188 "src/lexer.l"
+#line 190 "src/lexer.l"
{
lex_fail(parser, src_loc(*yylloc), "Unexpected token: %s", yytext);
}
YY_BREAK
case 44:
YY_RULE_SETUP
-#line 191 "src/lexer.l"
+#line 193 "src/lexer.l"
YY_FATAL_ERROR( "flex scanner jammed" );
YY_BREAK
-#line 1171 "gen/gen_lexer.inc"
+#line 1173 "gen/gen_lexer.inc"
case YY_STATE_EOF(INITIAL):
case YY_STATE_EOF(SC_COMMENT):
yyterminate();
@@ -2299,6 +2301,6 @@ void yyfree (void * ptr , yyscan_t yyscanner)
#define YYTABLES_NAME "yytables"
-#line 191 "src/lexer.l"
+#line 193 "src/lexer.l"