float literals

ilya
serr 2025-05-13 15:37:01 +03:00
parent cb9ddca848
commit 76bdf9bb4a
3 changed files with 9 additions and 2 deletions

View File

@ -48,6 +48,12 @@ LETTER_OR_DIGIT [a-zA-Z0-9_]
yylval.str = strdup(yytext);
return IDENTIFIER;
}
[0-9]+\.[0-9]+ {
yylval.str = strdup(yytext);
return FLOAT_LITERAL;
}
{DIGIT}+ {
yylval.str = strdup(yytext);
return NUMBER;

View File

@ -19,7 +19,7 @@ void free_node(char *str) {
char *str;
}
%token <str> IDENTIFIER NUMBER TEXT STRING_LITERAL
%token <str> IDENTIFIER NUMBER TEXT STRING_LITERAL FLOAT_LITERAL
%token SHORT_DECLARATION LBRACE RBRACE SEMICOLON ASSIGN
%token VAR
@ -86,6 +86,7 @@ type:
// Литералы
literal:
STRING_LITERAL
| FLOAT_LITERAL
| NUMBER
;
//

View File

@ -1,7 +1,7 @@
a := 1;
{
a := 1;
a := 229.162613;
s := "test string";