diff options
| author | kartofen <kartofen.mail.0@protonmail.com> | 2025-07-01 00:11:29 +0300 |
|---|---|---|
| committer | kartofen <kartofen.mail.0@protonmail.com> | 2025-07-01 00:11:29 +0300 |
| commit | a854ee90235597711e036fe38de2c310dab6e168 (patch) | |
| tree | f53d551e49e2263b5208b9adf1d4c50943f4d59d /parts/grammar.h | |
| parent | 3f3ad468ba6847f75717927f30a91fb82e70f7c9 (diff) | |
major refactor, more modular (wow because obviously modularity is always a good thing yes), and etc
Diffstat (limited to 'parts/grammar.h')
| -rw-r--r-- | parts/grammar.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/parts/grammar.h b/parts/grammar.h new file mode 100644 index 0000000..328f88e --- /dev/null +++ b/parts/grammar.h @@ -0,0 +1,22 @@ +#ifndef GRAMMAR_H +#define GRAMMAR_H + +extern struct production { + symbol LHS; + symbol *RHS; + size_t nRHS; +} grammar[]; + +extern const size_t total_productions; + +void grammar_print() +{ + for(size_t i = 0; i < total_productions; i++) { + printf("%d --> ", grammar[i].LHS); + for(size_t j = 0; j < grammar[i].nRHS; j++) + printf("%d ", grammar[i].RHS[j]); + printf("\n"); + } +} + +#endif |
