Initial file

main
Øyvind Skaaden 2022-02-13 17:40:54 +01:00
parent 44e4fa4937
commit 081d59d000
1 changed files with 23 additions and 0 deletions

View File

@ -0,0 +1,23 @@
#ifndef IR_H
#define IR_H
/* This is the tree node structure */
typedef struct n {
node_index_t type; // Type of the node
void *data; // Pointer to associated data
struct s *entry; // Pointer to symtab entry (ignore for now)
uint64_t n_children; // Number of child nodes
struct n **children; // Array of n_children child nodes
} node_t;
/**Export the initializer function, it is needed by the parser
* @param *nd node to initialize
* @param type type of node (see nodetype.h)
* @param *data associated data. Declared void to allow any type
* @param n_children number of children
* @param ... variable argument list of child nodes (node_t *)
* */
void node_init (
node_t *nd, node_index_t type, void *data, uint64_t n_children, ...
);
#endif