WONKY



LOG | FILES | OVERVIEW


#ifndef WONKY_DENOTED_HH
#define WONKY_DENOTED_HH WONKY_DENOTED_HH

#define AS_DENOTED_OBJECT_PTR(x) ((struct Denoted_Object*)x)
#define AS_DENOTED_FUNCTION(x) ((struct Denoted_Function*)x)
#define AS_DENOTED_TYPEDEF(x) ((struct Denoted_Type*)x)
#define AS_DENOTED_ENUM(x) ((struct Denoted_Enum*)x)
#define AS_DENOTED_ENUM_CONST(x) ((struct Denoted_Enum_Const*)x)
#define AS_DENOTED_STRUCT_UNION(x) ((struct Denoted_Struct_Union*)x)
#define AS_DENOTED_STATEMENT(x) ((struct Denoted_Statement*)x)

enum Denotation_Type
{
	DT_Macro,
	DT_Macro_Parameter,
	DT_Statement,
	DT_Object,
	DT_Typedef,
	DT_Function,
	DT_Enum,
	DT_Enum_Constant,
	DT_Struct_Union_Member,
	DT_Struct_Union_Tag,
	DT_Error,
	DT_Prototype,
	DENOTATION_TYPE_END
};

enum Function_Specifier
{
	FS_Inline,
	FS_None,
	FUNCTION_SPECIFIER_END
};

struct Denoted;
struct Denoted_Error;
struct Denoted_Base;
struct Denoted_Function;
struct Denoted_Object;
struct Denoted_Type;
struct Denoted_Enum;
struct Denoted_Enum_Const;
struct Denoted_Struct_Union;
struct Denoted_Statement;
struct Denotation_Prototype;


#endif