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); yylval.str = strdup(yytext);
return IDENTIFIER; return IDENTIFIER;
} }
[0-9]+\.[0-9]+ {
yylval.str = strdup(yytext);
return FLOAT_LITERAL;
}
{DIGIT}+ { {DIGIT}+ {
yylval.str = strdup(yytext); yylval.str = strdup(yytext);
return NUMBER; return NUMBER;

View File

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

View File

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