Feat: Add Character, String and float literals

This commit is contained in:
Lucàs
2024-07-09 16:57:13 +02:00
parent 2e76ccf9fc
commit 332dd73f15
6 changed files with 32 additions and 40 deletions
+11
View File
@@ -3,6 +3,12 @@ open Syntax
%}
%token <int> INT
%token <float> FLOAT
%token <char> CHARACTER
%token <string> STRING
%token <string> IDENTIFIER
%token NULL
%token PLUS "+"
%token MINUS "-"
%token TIMES "*"
@@ -36,12 +42,17 @@ statement:
expression:
| literal { Expressions.Literal($1) }
| IDENTIFIER { Expressions.Identifier($1) }
| unary_expression { $1 }
| binary_expression { $1 }
| "(" expression ")" { $2 }
literal:
| INT { Literals.Integer($1) }
| FLOAT { Literals.Float($1) }
| CHARACTER { Literals.Character($1) }
| STRING { Literals.String($1) }
| NULL { Literals.Null }
unary_expression:
| "-" expression %prec UMINUS { Expressions.UnaryExpression(UnaryOperators.ArithmeticNegation, $2) }