Start PS4
This commit is contained in:
30
exercises/04/vslc/include/ir.h
Normal file
30
exercises/04/vslc/include/ir.h
Normal file
@@ -0,0 +1,30 @@
|
||||
#ifndef IR_H
|
||||
#define IR_H
|
||||
|
||||
/* This is the tree node structure */
|
||||
typedef struct n {
|
||||
node_index_t type;
|
||||
void *data;
|
||||
struct s *entry;
|
||||
uint64_t n_children;
|
||||
struct n **children;
|
||||
} node_t;
|
||||
|
||||
// Export the initializer function, it is needed by the parser
|
||||
void node_init (
|
||||
node_t *nd, node_index_t type, void *data, uint64_t n_children, ...
|
||||
);
|
||||
|
||||
typedef enum {
|
||||
SYM_GLOBAL_VAR, SYM_FUNCTION, SYM_PARAMETER, SYM_LOCAL_VAR
|
||||
} symtype_t;
|
||||
|
||||
typedef struct s {
|
||||
char *name;
|
||||
symtype_t type;
|
||||
node_t *node;
|
||||
size_t seq;
|
||||
size_t nparms;
|
||||
tlhash_t *locals;
|
||||
} symbol_t;
|
||||
#endif
|
||||
Reference in New Issue
Block a user