diff options
author | Kimplul <kimi.h.kuparinen@gmail.com> | 2024-04-20 03:39:40 +0300 |
---|---|---|
committer | Kimplul <kimi.h.kuparinen@gmail.com> | 2024-04-20 03:39:40 +0300 |
commit | 1cc7990ef7d5483d0434dda412f2d88e0b17df27 (patch) | |
tree | 93c9945318908c4f593251c0b8f9ecf57c3bde96 /gen/gen_lexer.inc | |
parent | edf56e3444d5333d4362277ee97a5cdf0c2f52af (diff) | |
download | posthaste-1cc7990ef7d5483d0434dda412f2d88e0b17df27.tar.gz posthaste-1cc7990ef7d5483d0434dda412f2d88e0b17df27.zip |
initial working bytecode
Diffstat (limited to 'gen/gen_lexer.inc')
-rw-r--r-- | gen/gen_lexer.inc | 30 |
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" |