8#include <rdesc/rdesc.h>
14#include <rdesc/grammar.h>
18#define PM_PRODUCTION_COUNT 9
20#define PM_MAX_ALTERNATIVE_COUNT 2
22#define PM_MAX_ALTERNATIVE_SIZE 4
39 TK_LPAREN , TK_RPAREN ,
52 NT_EXPONENTIATION_EXPR, NT_EXPONENTIATION_EXPR_REST,
54 NT_PIPE_EXPR, NT_PIPE_EXPR_REST,
60 NT_FUNCTION_ARG_LS, NT_FUNCTION_ARG_LS_REST,
const char * nt_names[]
Definition pm_grammar.c:56
pm_nt
[Token definition]
Definition pm_grammar.h:47
#define PM_MAX_ALTERNATIVE_COUNT
Definition pm_grammar.h:20
const char * tk_names[]
[Nonterminal definition]
Definition pm_grammar.c:48
void node_printer(FILE *out, const struct rdesc_node *)
[Token destroyer]
Definition pm_grammar.c:98
struct rdesc_grammar_symbol pm_grammar[PM_PRODUCTION_COUNT][PM_MAX_ALTERNATIVE_COUNT+1][PM_MAX_ALTERNATIVE_SIZE+1]
Pipe-Math grammar definition.
Definition pm_grammar.c:13
void tk_destroyer(uint16_t id, void *)
[exblex tokens]
Definition pm_grammar.c:79
const char exblex_tks[]
[Nonterminal and terminal names]
Definition pm_grammar.c:69
#define PM_PRODUCTION_COUNT
[Grammar declaration]
Definition pm_grammar.h:18
#define PM_MAX_ALTERNATIVE_SIZE
Definition pm_grammar.h:22
pm_tk
[Grammar declaration]
Definition pm_grammar.h:36
A terminal or nonterminal representing the body (right side) of a production rule.
Definition grammar.h:89