diff options
Diffstat (limited to 'src/grecs-gram.y')
-rw-r--r-- | src/grecs-gram.y | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/src/grecs-gram.y b/src/grecs-gram.y index 3452074..bbe3d5e 100644 --- a/src/grecs-gram.y +++ b/src/grecs-gram.y @@ -51,17 +51,28 @@ static struct grecs_node *parse_tree; %type <svalue> value %type <pvalue> vallist tag %type <list> values list vlist -%type <node> stmt simple block +%type <node> stmt simple block maybe_stmtlist %type <node_list> stmtlist %% -input : stmtlist +input : maybe_stmtlist { parse_tree = grecs_node_create(grecs_node_root, &grecs_current_locus); parse_tree->v.texttab = grecs_text_table(); - grecs_node_bind(parse_tree, $1.head, 1); + grecs_node_bind(parse_tree, $1, 1); + } + ; + +maybe_stmtlist: + /* empty */ + { + $$ = NULL; + } + | stmtlist + { + $$ = $1.head; } ; |