From 2b0d4ead061a39da9dbd705c18c9955549c4d405 Mon Sep 17 00:00:00 2001 From: Xavier Del Campo Romero Date: Thu, 1 Oct 2026 01:04:30 +0200 Subject: WIP sym --- src/prc1/prv.h | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'src/prc1/prv.h') 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 -- cgit v1.2.3