X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=symbol_t.h;h=1fe4054e593eedb10939db040088f80117d987e9;hb=9e9141455d9e7a9028d7ffa1d5656b1e9bb25c74;hp=44b9900cbefaddf01a2964cf6e1bdb7c771bc23a;hpb=1c622ff40fc61cbef1202888d3184215d88de680;p=cparser diff --git a/symbol_t.h b/symbol_t.h index 44b9900..1fe4054 100644 --- a/symbol_t.h +++ b/symbol_t.h @@ -21,21 +21,28 @@ #define SYMBOL_T_H #include +#include "symbol.h" #include "ast.h" #include "token_t.h" -struct pp_definition { +struct pp_definition_t { + symbol_t *symbol; source_position_t source_position; - bool expanding; - token_t replacement_list[]; + pp_definition_t *parent_expansion; + size_t expand_pos; + bool is_variadic; + size_t argument_count; + token_t *arguments; + size_t list_len; + token_t *replacement_list; }; struct symbol_t { - const char *string; - unsigned short ID; - unsigned short pp_ID; - declaration_t *declaration; - pp_definition *pp_define; + const char *string; + unsigned short ID; + unsigned short pp_ID; + declaration_t *declaration; + pp_definition_t *pp_definition; }; #endif