diff options
author | David Gibson <dgibson@sneetch.(none)> | 2005-06-16 14:36:37 +1000 |
---|---|---|
committer | David Gibson <dgibson@sneetch.(none)> | 2005-06-16 14:36:37 +1000 |
commit | 4102d840d993e7cce7d5c5aea8ef696dc81236fc (patch) | |
tree | ab70f0a9e968780ed282f1bbd8d7ea1be3db5b6b /livetree.c | |
parent | fc14dad7692d84d5f0f547fd0456b3f98526b6cc (diff) | |
download | dtc-4102d840d993e7cce7d5c5aea8ef696dc81236fc.zip dtc-4102d840d993e7cce7d5c5aea8ef696dc81236fc.tar.gz dtc-4102d840d993e7cce7d5c5aea8ef696dc81236fc.tar.bz2 |
Initial label support. Also switch to glr-parser mode and get rid of
hacks that were necessary without it.
Diffstat (limited to 'livetree.c')
-rw-r--r-- | livetree.c | 13 |
1 files changed, 10 insertions, 3 deletions
@@ -24,7 +24,7 @@ * Tree building functions */ -struct property *build_property(char *name, struct data val) +struct property *build_property(char *name, struct data val, char *label) { struct property *new = xmalloc(sizeof(*new)); @@ -33,10 +33,12 @@ struct property *build_property(char *name, struct data val) new->next = NULL; + new->label = label; + return new; } -struct property *build_empty_property(char *name) +struct property *build_empty_property(char *name, char *label) { struct property *new = xmalloc(sizeof(*new)); @@ -46,6 +48,8 @@ struct property *build_empty_property(char *name) new->next = NULL; + new->label = label; + return new; } @@ -74,11 +78,14 @@ struct node *build_node(struct property *proplist, struct node *children) return new; } -struct node *name_node(struct node *node, char *name) +struct node *name_node(struct node *node, char *name, char * label) { assert(node->name == NULL); node->name = name; + + node->label = label; + return node; } |