# dump the current parse tree function element_string(elnum, LOCAL, elem) { elem = elements[elnum, "elem"]; if (elements[elnum, "ptr"]=="1") elem="*"elem; if (elements[elnum, "array_len"]!="") elem=elem"["elements[elnum, "array_len"]"]"; if (elements[elnum, "switch"]!="") elem=elem"["elements[elnum, "switch"]"]"; return elem; } function dump_element(f, elnum, LOCAL, elem, type) { type = elements[elnum, "type"]; case = elements[elnum, "case"]; elem = element_string(elnum); if (case != "") { xprintf(f,"\t\tcase %d %s %s;\n", case, type, elem); } else { xprintf(f,"\t%s %s;\n", type, elem); } } function dump_union(f, elnum, LOCAL, i) { xprintf(f,"\tunion %s {\n", element_string(elnum)); for (i=0;i