From affa20ab497911353babc9ed6c580c8a12b2bf15 Mon Sep 17 00:00:00 2001 From: hachem Date: Sun, 30 Aug 2026 04:11:27 +0200 Subject: add: parse proc declarations --- src/parser/ast.h | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'src/parser/ast.h') diff --git a/src/parser/ast.h b/src/parser/ast.h index 30dd1e7..665bfd2 100644 --- a/src/parser/ast.h +++ b/src/parser/ast.h @@ -16,6 +16,20 @@ struct DataDecl struct Token value; }; +struct Param +{ + struct Token name; + struct Token reg; +}; + +struct ProcDecl +{ + struct Token name; + struct Param* params; + size_t param_count; + size_t param_capacity; +}; + struct Program { struct ConstDecl* consts; @@ -25,9 +39,17 @@ struct Program struct DataDecl* data_decls; size_t data_count; size_t data_capacity; + + struct ProcDecl* procs; + size_t proc_count; + size_t proc_capacity; }; struct Program create_program(void); void free_program(struct Program* program); void add_const(struct Program* program, struct ConstDecl decl); void add_data(struct Program* program, struct DataDecl decl); + +struct ProcDecl create_proc(void); +void add_param(struct ProcDecl* proc, struct Param param); +void add_proc(struct Program* program, struct ProcDecl decl); -- cgit v1.3