feat: Add Literals and operator of comparison

This commit is contained in:
Lucàs
2024-07-02 22:35:25 +02:00
parent 9ba70f93aa
commit 69e88fd5fd
5 changed files with 160 additions and 40 deletions
+26 -4
View File
@@ -1,12 +1,34 @@
(* lib/ast/syntax.ml *)
type binary_operator = Add | Substract | Multiply | Divide
type unary_operator = Negate
type literal =
| Integer of int
| Float of float
| Character of char
| String of string
| Boolean of bool
| Null
type binary_operator =
| Add
| Substract
| Multiply
| Divide
| AmpersandAmpersand
| BarBar
| EqualsEquals
| ExclamationEquals
| LessThan
| LessThanEquals
| GreaterThan
| GreaterThanEquals
type unary_operator = Negate | Not
type expression =
| IntegerLiteral of int
| Literal of literal
| Identifier of string
| UnaryExpression of unary_operator * expression
| BinaryExpression of binary_operator * expression * expression
type statement = ExpressionStatement of expression
type source_file = SourceFile of statement list
type source_file = SourceFile of statement list