diff options
author | Carl Worth <cworth@cworth.org> | 2010-05-14 10:44:19 -0700 |
---|---|---|
committer | Carl Worth <cworth@cworth.org> | 2010-05-14 11:50:27 -0700 |
commit | 8f6a828e4a454e1bdce359c43e1108ff0315a89c (patch) | |
tree | 988c482b8fae6fe96ddcdbba5c0149d7bfcc9f24 /glcpp.h | |
parent | db272e6e6fbfe349ea6d9877bb7715ecb2d9f0c1 (diff) |
Support macro invocations with multiple tokens for a single argument.
We provide for this by changing the value of the argument-list
production from a list of strings (string_list_t) to a new
data-structure that holds a list of lists of strings
(argument_list_t).
Diffstat (limited to 'glcpp.h')
-rw-r--r-- | glcpp.h | 11 |
1 files changed, 10 insertions, 1 deletions
@@ -30,7 +30,6 @@ /* Some data types used for parser value. */ - typedef struct string_node { const char *str; struct string_node *next; @@ -41,6 +40,16 @@ typedef struct string_list { string_node_t *tail; } string_list_t; +typedef struct argument_node { + string_list_t *argument; + struct argument_node *next; +} argument_node_t; + +typedef struct argument_list { + argument_node_t *head; + argument_node_t *tail; +} argument_list_t; + typedef struct glcpp_parser glcpp_parser_t; glcpp_parser_t * |