summaryrefslogtreecommitdiff
path: root/glcpp.h
diff options
context:
space:
mode:
Diffstat (limited to 'glcpp.h')
-rw-r--r--glcpp.h27
1 files changed, 20 insertions, 7 deletions
diff --git a/glcpp.h b/glcpp.h
index 6171ce8b4a..261254a17c 100644
--- a/glcpp.h
+++ b/glcpp.h
@@ -44,21 +44,34 @@ typedef struct string_list {
string_node_t *tail;
} string_list_t;
-typedef struct token {
+typedef struct token token_t;
+typedef struct token_list token_list_t;
+
+typedef union YYSTYPE
+{
+ int ival;
+ char *str;
+ token_t *token;
+ token_list_t *token_list;
+} YYSTYPE;
+
+# define YYSTYPE_IS_TRIVIAL 1
+# define YYSTYPE_IS_DECLARED 1
+
+struct token {
int type;
- char *value;
-} token_t;
+ YYSTYPE value;
+};
typedef struct token_node {
- int type;
- const char *value;
+ token_t *token;
struct token_node *next;
} token_node_t;
-typedef struct token_list {
+struct token_list {
token_node_t *head;
token_node_t *tail;
-} token_list_t;
+};
typedef struct argument_node {
token_list_t *argument;