diff options
| author | kr.angelov <kr.angelov@gmail.com> | 2012-06-13 05:49:30 +0000 |
|---|---|---|
| committer | kr.angelov <kr.angelov@gmail.com> | 2012-06-13 05:49:30 +0000 |
| commit | 3ad5493758227a3d273dea66061fa254f14c886d (patch) | |
| tree | 1f6f3219f23b5ba1b21a527858fe19bcf901ebe2 /src/runtime/c/pgf/data.h | |
| parent | cc58e2d05f75710f018efd5e026686146e9b4b9d (diff) | |
Use a separated tag for meta productions in the robust parser. This cleans up the code a lot
Diffstat (limited to 'src/runtime/c/pgf/data.h')
| -rw-r--r-- | src/runtime/c/pgf/data.h | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/runtime/c/pgf/data.h b/src/runtime/c/pgf/data.h index f85e68cca..f1cd2bafc 100644 --- a/src/runtime/c/pgf/data.h +++ b/src/runtime/c/pgf/data.h @@ -42,7 +42,6 @@ typedef struct PgfAbstr PgfAbstr; extern GU_DECLARE_TYPE(PgfAbstr, struct); typedef struct PgfFunDecl PgfFunDecl; -typedef struct PgfConcr PgfConcr; typedef int PgfLength; typedef struct GuVariant PgfSymbol; @@ -293,7 +292,8 @@ typedef struct PgfSymbolKP typedef enum { PGF_PRODUCTION_APPLY, PGF_PRODUCTION_COERCE, - PGF_PRODUCTION_EXTERN + PGF_PRODUCTION_EXTERN, + PGF_PRODUCTION_META } PgfProductionTag; typedef struct PgfPArg PgfPArg; @@ -323,11 +323,17 @@ typedef struct PgfProductionCoerce } PgfProductionCoerce; typedef struct { - PgfFunId fun; - PgfPArgs args; PgfLiteralCallback *callback; + PgfExprProb *ep; + GuSeq lins; } PgfProductionExtern; +typedef struct { + PgfExprProb *ep; + GuSeq lins; + PgfPArgs args; +} PgfProductionMeta; + extern GU_DECLARE_TYPE(PgfPatt, GuVariant); extern GU_DECLARE_TYPE(PgfProduction, GuVariant); |
