X-Git-Url: https://ocean-lang.org/code/?a=blobdiff_plain;f=csrc%2Fparsergen.mdc;h=f8d8a39c47a8861a079135d6d3753b10b4ddc482;hb=8a12a62c211446b18639e19435524e7ef03e496d;hp=8e088b5b70c5150671f0afbbf84933739c073ef6;hpb=4162be28cd4c149b595f9ec19f771523d0fa96e0;p=ocean diff --git a/csrc/parsergen.mdc b/csrc/parsergen.mdc index 8e088b5..f8d8a39 100644 --- a/csrc/parsergen.mdc +++ b/csrc/parsergen.mdc @@ -540,8 +540,13 @@ where `START` is the first non-terminal given. struct production *p = calloc(1,sizeof(*p)); struct text start = {"$start",6}; struct text eof = {"$eof",4}; + struct text code = {"$0 = $<1;", 9}; p->head = sym_find(g, start); p->head->type = Nonterminal; + p->head->struct_name = g->current_type; + p->head->isref = g->type_isref; + if (g->current_type.txt) + p->code = code; array_add(&p->body, &p->body_size, head); array_add(&p->body, &p->body_size, sym_find(g, eof)); p->head->first_production = g->production_count;