/* * Mr. 4th Dimention - Allen Webster * * 24.03.2018 * * Parse context structures * */ // TOP #if !defined(FRED_PARSE_CONTEXT_H) #define FRED_PARSE_CONTEXT_H // TODO(allen): this needs a rewrite struct Stored_Parse_Context{ umem memsize; u64 *kw_keywords; u64 *pp_keywords; u32 kw_max; u32 pp_max; }; struct Stored_Parse_Context_Slot{ union{ Stored_Parse_Context_Slot *next; Stored_Parse_Context *context; }; b32 freed; }; struct Parse_Context_Memory{ Stored_Parse_Context_Slot *parse_context_array; u32 parse_context_counter; u32 parse_context_max; Stored_Parse_Context_Slot *free_list; }; struct Parse_Context{ b32 valid; Cpp_Keyword_Table kw_table; Cpp_Keyword_Table pp_table; umem memory_size; }; #endif // BOTTOM