WONKY



LOG | FILES | OVERVIEW


#ifndef WONKY_TOKEN_HH
#define WONKY_TOKEN_HH WONKY_TOKEN_HH

struct token;
struct identifier;
struct token_identifier;
struct token_keyword;
struct token_punctuator;
struct token_constant;
struct token_string;
struct token_include_directive;
struct token_if_directive;
struct token_ifdefndef_directive;
struct token_normal_define_directive;
struct token_functionlike_define_directive;
struct token_functionlike_define_argument;
struct token_undef_directive;
struct token_line_directive;
struct token_error_directive;
struct token_pragma_directive;
struct token_defined_unary_operator;
struct token_hashtag_unary_operator;
struct token_hashtag_hastag_operator;
struct token_error;

enum Punctuator_Token_Type
{
	PUNCTUATOR_NORMAL,
	PUNCTUATOR_DIGRAPH,
	PUNCTUATOR_TRIGRAPH,
	PUNCTUATOR_TYPE_END
};
enum Constant_Token_Encoding
{
	CONSTANT_TOKEN_HEXADECIMAL,
	CONSTANT_TOKEN_DECIMAL,
	CONSTANT_TOKEN_OCTAL,
	CONSTANT_TOKEN_TYPE_END
};
enum Constant_Token_Specifier
{
	CONSTANT_TOKEN_SPECIFIER_NONE,
	CONSTANT_TOKEN_SPECIFIER_LONG,
	CONSTANT_TOKEN_SPECIFIER_LONG_LONG,
	CONSTANT_TOKEN_SPECIFIER_END

};
enum Constant_Token_Signedness
{
	CONSTANT_TOKEN_SIGNED,
	CONSTANT_TOKEN_UNSIGNED,
	CONSTANT_TOKEN_SIGNEDNESS_END
};
enum String_Token_Type
{
	STRING_TOKEN_NORMAL,
	STRING_TOKEN_WIDE,
	STRING_TOKEN_TYPE_END
};
enum Pragma_Type
{
	PRAGMA_TYPE_END	
};

#endif