summaryrefslogtreecommitdiffstats
path: root/src/parser.cpp
diff options
context:
space:
mode:
authorMatthias Schiffer <mschiffer@universe-factory.net>2015-04-05 02:28:52 +0200
committerMatthias Schiffer <mschiffer@universe-factory.net>2015-04-05 02:28:52 +0200
commit96dd0ebd2618df6ed0c1acf795e9a7054592b566 (patch)
tree5d53bd0efa0edd8b4e828c8583974b812a050f9b /src/parser.cpp
parent18f88fc863ffc4c3cc6bb30433228a0e889b2647 (diff)
downloadsolar-96dd0ebd2618df6ed0c1acf795e9a7054592b566.tar
solar-96dd0ebd2618df6ed0c1acf795e9a7054592b566.zip
Add support for simple reduce actions
Diffstat (limited to 'src/parser.cpp')
-rw-r--r--src/parser.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/parser.cpp b/src/parser.cpp
index d21a196..a1ee376 100644
--- a/src/parser.cpp
+++ b/src/parser.cpp
@@ -98,6 +98,11 @@ int parser_push(parser_t *parser, int token, const parser_value_t *value, parser
return 1;
case TOK_BLOCK:
+ state->add_rule(value->str);
+ free(value->str);
+ parser->state = STATE_INIT;
+ return 1;
+
case ';':
state->add_rule();
parser->state = STATE_INIT;