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).
This commit is contained in:
@@ -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 *
|
||||
|
||||
Reference in New Issue
Block a user