* kinds of tokens
*/
enum tok_kind {
- TOK_IDENT,
- TOK_STRCONST,
- TOK_LPAREN,
- TOK_RPAREN,
- TOK_LBRACE,
- TOK_RBRACE,
- TOK_LBRACKET,
- TOK_RBRACKET,
- TOK_LANGLE,
- TOK_RANGLE,
- TOK_STAR,
- TOK_COMMA,
- TOK_EQUAL,
- TOK_COLON,
- TOK_SEMICOLON,
- TOK_CONST,
- TOK_STRUCT,
- TOK_UNION,
- TOK_SWITCH,
- TOK_CASE,
- TOK_DEFAULT,
- TOK_ENUM,
- TOK_TYPEDEF,
- TOK_INT,
- TOK_SHORT,
- TOK_INT32,
- TOK_UNSIGNED,
- TOK_FLOAT,
- TOK_DOUBLE,
- TOK_OPAQUE,
- TOK_CHAR,
- TOK_STRING,
- TOK_BOOL,
- TOK_VOID,
- TOK_PROGRAM,
- TOK_VERSION,
- TOK_PACKAGE,
- TOK_PREFIX,
- TOK_STATINDEX,
- TOK_SPECIAL,
- TOK_STARTINGOPCODE,
- TOK_CUSTOMIZED,
- TOK_PROC,
- TOK_SPLITPREFIX,
- TOK_SPLIT,
- TOK_MULTI,
- TOK_IN,
- TOK_OUT,
- TOK_INOUT,
- TOK_AFSUUID,
- TOK_EOF
+ TOK_IDENT,
+ TOK_STRCONST,
+ TOK_LPAREN,
+ TOK_RPAREN,
+ TOK_LBRACE,
+ TOK_RBRACE,
+ TOK_LBRACKET,
+ TOK_RBRACKET,
+ TOK_LANGLE,
+ TOK_RANGLE,
+ TOK_STAR,
+ TOK_COMMA,
+ TOK_EQUAL,
+ TOK_COLON,
+ TOK_SEMICOLON,
+ TOK_CONST,
+ TOK_STRUCT,
+ TOK_UNION,
+ TOK_SWITCH,
+ TOK_CASE,
+ TOK_DEFAULT,
+ TOK_ENUM,
+ TOK_TYPEDEF,
+ TOK_INT,
+ TOK_SHORT,
+ TOK_INT32,
+ TOK_UNSIGNED,
+ TOK_FLOAT,
+ TOK_DOUBLE,
+ TOK_OPAQUE,
+ TOK_CHAR,
+ TOK_STRING,
+ TOK_BOOL,
+ TOK_VOID,
+ TOK_PROGRAM,
+ TOK_VERSION,
+ TOK_PACKAGE,
+ TOK_PREFIX,
+ TOK_STATINDEX,
+ TOK_SPECIAL,
+ TOK_STARTINGOPCODE,
+ TOK_CUSTOMIZED,
+ TOK_PROC,
+ TOK_SPLITPREFIX,
+ TOK_SPLIT,
+ TOK_MULTI,
+ TOK_IN,
+ TOK_OUT,
+ TOK_INOUT,
+ TOK_AFSUUID,
+ TOK_EOF
};
typedef enum tok_kind tok_kind;
* a token
*/
struct token {
- tok_kind kind;
- char *str;
+ tok_kind kind;
+ char *str;
};
typedef struct token token;