From 1cc7990ef7d5483d0434dda412f2d88e0b17df27 Mon Sep 17 00:00:00 2001
From: Kimplul <kimi.h.kuparinen@gmail.com>
Date: Sat, 20 Apr 2024 03:39:40 +0300
Subject: initial working bytecode

---
 gen/gen_lexer.inc | 30 ++++++++++++++++--------------
 1 file changed, 16 insertions(+), 14 deletions(-)

(limited to 'gen/gen_lexer.inc')

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"
 
 
-- 
cgit v1.2.3