2 #ifndef SLANG_VARTABLE_H
3 #define SLANG_VARTABLE_H
5 struct _slang_ir_storage
;
7 typedef struct slang_var_table_ slang_var_table
;
9 struct slang_variable_
;
11 extern slang_var_table
*
12 _slang_new_var_table(GLuint maxRegisters
);
15 _slang_delete_var_table(slang_var_table
*vt
);
18 _slang_push_var_table(slang_var_table
*parent
);
21 _slang_pop_var_table(slang_var_table
*t
);
24 _slang_add_variable(slang_var_table
*t
, struct slang_variable_
*v
);
26 extern struct slang_variable_
*
27 _slang_find_variable(const slang_var_table
*t
, slang_atom name
);
30 _slang_alloc_var(slang_var_table
*t
, struct _slang_ir_storage
*store
);
33 _slang_alloc_temp(slang_var_table
*t
, struct _slang_ir_storage
*store
);
36 _slang_free_temp(slang_var_table
*t
, struct _slang_ir_storage
*store
);
39 _slang_is_temp(const slang_var_table
*t
, const struct _slang_ir_storage
*store
);
42 #endif /* SLANG_VARTABLE_H */