#ifndef WONKY_IDENTIFIER_H
#define WONKY_IDENTIFIER_H WONKY_IDENTIFIER_H
#include <identifier.hh>
#include <token.h>
#include <macro.h>
struct identifier /*there is only one of these per id*/
{
size_t size;
char *data;
struct token *last_defined_macro_with_this_id;
struct functionlike_define_directive *hold_functionlike_define_directive;
struct functionlike_define_directive_argument *hold_functionlike_define_directive_argument;
size_t number_of_translation_unit_where_id_was_last_defined_as_a_macro;
/*use this to prevent bottomless recursion in macro expansion*/
_Bool was_already_expanded_as_a_macro;
};
struct identifier* get_identifier(char *data,size_t size);
_Bool id_is_a_macro(struct identifier *id,size_t translation_unit_number);
#endif