]> git.sur5r.net Git - cc65/blobdiff - src/cc65/scanner.h
- fixed an old #include guard typo
[cc65] / src / cc65 / scanner.h
index 0b5b19a3e30c6b674c31a58f8405bab28d6da1dc..eb835fd8436b0ddefb60930200ddc684beefa485 100644 (file)
@@ -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