diff options
-rw-r--r-- | parser.y | 5 | ||||
-rw-r--r-- | y.tab.c.shipped | 5 | ||||
-rw-r--r-- | y.tab.h.shipped | 2 |
3 files changed, 9 insertions, 3 deletions
@@ -1400,7 +1400,10 @@ void yydebug_onoff(int val) static void set_syntax_tree(parser_t *parser, val tree) { - set(mkloc(parser->syntax_tree, parser->parser), tree); + if (tree == nao) + parser->syntax_tree = tree; + else + set(mkloc(parser->syntax_tree, parser->parser), tree); } static val sym_helper(parser_t *parser, wchar_t *lexeme, val meta_allowed) diff --git a/y.tab.c.shipped b/y.tab.c.shipped index 2df3bdb9..526f2eef 100644 --- a/y.tab.c.shipped +++ b/y.tab.c.shipped @@ -6743,7 +6743,10 @@ void yydebug_onoff(int val) static void set_syntax_tree(parser_t *parser, val tree) { - set(mkloc(parser->syntax_tree, parser->parser), tree); + if (tree == nao) + parser->syntax_tree = tree; + else + set(mkloc(parser->syntax_tree, parser->parser), tree); } static val sym_helper(parser_t *parser, wchar_t *lexeme, val meta_allowed) diff --git a/y.tab.h.shipped b/y.tab.h.shipped index 19ec4906..82de207d 100644 --- a/y.tab.h.shipped +++ b/y.tab.h.shipped @@ -154,7 +154,7 @@ typedef union YYSTYPE { /* Line 2068 of yacc.c */ -#line 106 "parser.y" +#line 107 "parser.y" wchar_t *lexeme; union obj *val; |