/* * Procedure parser. * Copyright (c) 2023-2024, Quinn Stephens and the OSMORA team. * Provided under the BSD 3-Clause license. */ #ifndef _PARSER_PROC_H #define _PARSER_PROC_H #include "list.h" #include "hashmap.h" #include "parser/ast.h" #include "parser/var.h" struct parameter { struct variable var; struct list_entry list_entry; }; struct procedure { struct hashmap_entry hashmap_entry; char *name; size_t name_len; struct hashmap vars; struct list params; struct type *ret_typ; int ret_n_ptrs; struct ast_node *node; }; void parse_proc(struct parser *ctx); #endif /* !_PARSER_PROC_H */