diff options
Diffstat (limited to 'src/prc1/prv.h')
| -rw-r--r-- | src/prc1/prv.h | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/prc1/prv.h b/src/prc1/prv.h index c0c8930..e3658bc 100644 --- a/src/prc1/prv.h +++ b/src/prc1/prv.h @@ -10,11 +10,11 @@ struct step { enum tktype type; const char *id; - int chain; }; struct pos { + const char *name; const struct seq *seq, *stseq; const struct step *step; int (*end)(const struct lex *, struct prv *); @@ -29,23 +29,24 @@ struct prv struct ast *ast; struct type *ag, *t; struct fn *proto; - size_t n, i, block; + size_t n, i, block, cast; + struct sym *s; int (*entry)(const struct lex *, struct prv *); int (*type)(const struct lex *, struct prv *p, const struct type *t); + int (*sym)(const struct lex *, struct prv *, const struct sym *); }; struct seq { const struct step *steps; int (*fn)(const struct lex *l, struct prv *p); - int (*end)(const struct lex *l, struct prv *p); - const char *chain; }; int kw(const char *s); int prev(const struct prv *p); int push(const struct pos *pos, struct prv *p); int pop(const struct lex *l, struct prv *p); +void reset(struct prv *p); char *sdup(const char *s); #endif |
