summaryrefslogtreecommitdiff
path: root/dtc.h
diff options
context:
space:
mode:
authorJon Loeliger <jdl@freescale.com>2007-10-22 16:09:56 -0500
committerJon Loeliger <jdl@freescale.com>2007-10-25 11:13:29 -0500
commit7b3fb789d2cd5fed818f439d0c7aed44b9860fab (patch)
tree34096341311b428a243bb75d074a1cb397cbc922 /dtc.h
parent3bef796b449320cefb8e52838ca90163df698722 (diff)
downloaddtc-7b3fb789d2cd5fed818f439d0c7aed44b9860fab.tar.gz
DTC: Remove the need for the GLR Parser.
Previously, there were a few shift/reduce and reduce/reduce errors in the grammar that were being handled by the not-so-popular GLR Parser technique. Flip a right-recursive stack-abusing rule into a left-recursive stack-friendly rule and clear up three messes in one shot: No more conflicts, no need for the GLR parser, and friendlier stackness. Compensate by reversing the property list on the node. Signed-off-by: Jon Loeliger <jdl@freescale.com>
Diffstat (limited to 'dtc.h')
-rw-r--r--dtc.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/dtc.h b/dtc.h
index 77494af..1fc6523 100644
--- a/dtc.h
+++ b/dtc.h
@@ -180,6 +180,7 @@ struct node {
struct property *build_property(char *name, struct data val, char *label);
struct property *chain_property(struct property *first, struct property *list);
+struct property *reverse_properties(struct property *first);
struct node *build_node(struct property *proplist, struct node *children);
struct node *name_node(struct node *node, char *name, char *label);