36 const struct rdesc *parser,
37 void (*node_printer)(FILE *out,
const struct rdesc_node *));
53 const char *
const tk_names[],
54 const char *
const nt_names[]);
87 struct rdesc_node *parent,
88 uint16_t child_index);
Grammar definition.
Definition grammar.h:50
Recursive descent parser state.
Definition rdesc.h:42
void rdesc_flip_left(struct rdesc *parser, struct rdesc_node *parent, uint16_t child_index)
Rotates a right-recursive concrete syntax tree into a left-recursive form.
void rdesc_dump_bnf(FILE *out, const struct rdesc_grammar *grammar, const char *const tk_names[], const char *const nt_names[])
Dumps the grammar in BNF format.
void rdesc_dump_cst(FILE *out, const struct rdesc *parser, void(*node_printer)(FILE *out, const struct rdesc_node *))
Dumps the concrete syntax tree (CST) as a graphviz DOT graph.