/*****************************************************************************/
/* */
-/* 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 */
/*****************************************************************************/
-/* Token definitions */
+/* Token definitions */
/*****************************************************************************/
/* 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,
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,
TOK_ICONST,
TOK_CCONST,
TOK_FCONST,
+ TOK_WCSCONST,
TOK_ATTRIBUTE,
TOK_FAR,
/*****************************************************************************/
-/* 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 */
/*****************************************************************************/
/* End of scanner.h */
-#endif
-
-
-
-
-
+#endif