X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=src%2Fcc65%2Fscanner.h;h=eb835fd8436b0ddefb60930200ddc684beefa485;hb=db42af3f20b49e5c63d66a6c8630e5bcc1f0b094;hp=0b5b19a3e30c6b674c31a58f8405bab28d6da1dc;hpb=0b4f6426e25be1861a54647d0f015c4365db286f;p=cc65 diff --git a/src/cc65/scanner.h b/src/cc65/scanner.h index 0b5b19a3e..eb835fd84 100644 --- a/src/cc65/scanner.h +++ b/src/cc65/scanner.h @@ -1,15 +1,15 @@ /*****************************************************************************/ /* */ -/* scanner.h */ +/* scanner.h */ /* */ -/* Source file line info structure */ +/* Source file line info structure */ /* */ /* */ /* */ -/* (C) 1998-2004 Ullrich von Bassewitz */ -/* Römerstrasse 52 */ -/* D-70794 Filderstadt */ -/* EMail: uz@cc65.org */ +/* (C) 1998-2010, Ullrich von Bassewitz */ +/* Roemerstrasse 52 */ +/* D-70794 Filderstadt */ +/* EMail: uz@cc65.org */ /* */ /* */ /* This software is provided 'as-is', without any expressed or implied */ @@ -49,7 +49,7 @@ /*****************************************************************************/ -/* Token definitions */ +/* Token definitions */ /*****************************************************************************/ @@ -77,10 +77,11 @@ typedef enum token_t { /* Function specifiers */ TOK_INLINE, TOK_FASTCALL, + TOK_CDECL, /* Tokens denoting types */ TOK_FIRST_TYPE, - TOK_ENUM = TOK_FIRST_TYPE, + TOK_ENUM = TOK_FIRST_TYPE, TOK_CHAR, TOK_INT, TOK_DOUBLE, @@ -134,7 +135,7 @@ typedef enum token_t { TOK_MINUS, TOK_MUL_ASSIGN, TOK_STAR, - TOK_MUL = TOK_STAR, /* Alias */ + TOK_MUL = TOK_STAR, /* Alias */ TOK_DIV_ASSIGN, TOK_DIV, TOK_BOOL_AND, @@ -169,6 +170,7 @@ typedef enum token_t { TOK_ICONST, TOK_CCONST, TOK_FCONST, + TOK_WCSCONST, TOK_ATTRIBUTE, TOK_FAR, @@ -185,29 +187,33 @@ typedef enum token_t { /*****************************************************************************/ -/* data */ +/* Data */ /*****************************************************************************/ +/* Forward for struct Literal */ +struct Literal; + /* Token stuff */ typedef struct Token Token; struct Token { - token_t Tok; /* The token itself */ - long IVal; /* The integer attribute */ - Double FVal; /* The float attribute */ - ident Ident; /* Identifier if IDENT */ - LineInfo* LI; /* Source line where the token comes from */ - Type* Type; /* Type if integer or float constant */ + token_t Tok; /* The token itself */ + long IVal; /* The integer attribute */ + Double FVal; /* The float attribute */ + struct Literal* SVal; /* String literal is any */ + ident Ident; /* Identifier if IDENT */ + LineInfo* LI; /* Source line where the token comes from */ + Type* Type; /* Type if integer or float constant */ }; -extern Token CurTok; /* The current token */ -extern Token NextTok; /* The next token */ +extern Token CurTok; /* The current token */ +extern Token NextTok; /* The next token */ /*****************************************************************************/ -/* code */ +/* Code */ /*****************************************************************************/ @@ -298,10 +304,5 @@ int ConsumeRCurly (void); /* End of scanner.h */ -#endif - - - - - +#endif