diff options
| author | hachem <im@hachem.wtf> | 2026-09-08 11:26:42 +0200 |
|---|---|---|
| committer | hachem <im@hachem.wtf> | 2026-09-08 11:26:42 +0200 |
| commit | 21be45a904a0afc767214298721bd2bbce19a054 (patch) | |
| tree | 4e97ae690457f82cbedd30bb8f7cf67898e578a5 /src/parser/ast.h | |
| parent | 8d73e3f2cdba9ce3591bab5c02e5d90ce62a8de3 (diff) | |
feat: add signed memory loads
Diffstat (limited to 'src/parser/ast.h')
| -rw-r--r-- | src/parser/ast.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/parser/ast.h b/src/parser/ast.h index 75d0bdd..288bddf 100644 --- a/src/parser/ast.h +++ b/src/parser/ast.h @@ -58,6 +58,7 @@ struct Param enum ExprKind { EXPR_PRIMARY, + EXPR_UNARY, EXPR_BINARY, EXPR_MEMBER, EXPR_DEREF, @@ -68,6 +69,12 @@ struct PrimaryExpr struct Token token; }; +struct UnaryExpr +{ + struct Token op; + struct Expr* operand; +}; + struct BinaryExpr { struct Expr* left; @@ -83,6 +90,7 @@ struct MemberExpr struct DerefExpr { + bool is_signed; enum StoreSize size; struct Expr* address; }; @@ -93,6 +101,7 @@ struct Expr union { struct PrimaryExpr primary; + struct UnaryExpr unary; struct BinaryExpr binary; struct MemberExpr member; struct DerefExpr deref; |
