]> git.xonotic.org Git - xonotic/gmqcc.git/blobdiff - lexer.h
Use the _t consistency naming scheme. Also various cleanups.
[xonotic/gmqcc.git] / lexer.h
diff --git a/lexer.h b/lexer.h
index 5f0bb6375c25563d8593c7b4e524463fe9575a38..efbdd6490dc54061969a6a715af1c01b21fedd0f 100644 (file)
--- a/lexer.h
+++ b/lexer.h
@@ -22,7 +22,6 @@
  */
 #ifndef GMQCC_LEXER_HDR
 #define GMQCC_LEXER_HDR
-
 typedef struct token_s token;
 
 struct token_s {
@@ -31,7 +30,7 @@ struct token_s {
     char *value;
 
     union {
-        vector v;
+        vec3_t v;
         int    i;
         double f;
         int    t; /* type */
@@ -42,7 +41,7 @@ struct token_s {
     struct token_s *prev;
 #endif
 
-    lex_ctx ctx;
+    lex_ctx_t ctx;
 };
 
 #if 0
@@ -114,6 +113,7 @@ typedef struct lex_file_s {
     char   *name;
     size_t  line;
     size_t  sline; /* line at the start of a token */
+    size_t  column;
 
     int     peek[256];
     size_t  peekpos;
@@ -123,11 +123,11 @@ typedef struct lex_file_s {
     token   tok; /* not a pointer anymore */
 
     struct {
-        bool noops;
-        bool nodigraphs; /* used when lexing string constants */
-        bool preprocessing; /* whitespace and EOLs become actual tokens */
-        bool mergelines; /* backslash at the end of a line escapes the newline */
-    } flags;
+        unsigned noops:1;
+        unsigned nodigraphs:1; /* used when lexing string constants */
+        unsigned preprocessing:1; /* whitespace and EOLs become actual tokens */
+        unsigned mergelines:1; /* backslash at the end of a line escapes the newline */
+    } flags; /* sizeof == 1 */
 
     int framevalue;
     frame_macro *frames;