Use a separated tag for meta productions in the robust parser. This cleans up the code a lot

This commit is contained in:
kr.angelov
2012-06-13 05:49:30 +00:00
parent 70b338de20
commit 3a352a953f
5 changed files with 296 additions and 189 deletions

View File

@@ -127,9 +127,12 @@ GU_DEFINE_TYPE(
GU_MEMBER(PgfProductionCoerce, coerce, PgfCCatId)),
GU_CONSTRUCTOR_S(
PGF_PRODUCTION_EXTERN, PgfProductionExtern,
GU_MEMBER(PgfProductionExtern, fun, PgfFunId),
GU_MEMBER(PgfProductionExtern, args, PgfPArgs),
GU_MEMBER(PgfProductionExtern, callback, PgfLiteralCallback)));
GU_MEMBER(PgfProductionExtern, callback, PgfLiteralCallback),
GU_MEMBER(PgfProductionExtern, lins, GuSeq)),
GU_CONSTRUCTOR_S(
PGF_PRODUCTION_META, PgfProductionMeta,
GU_MEMBER(PgfProductionMeta, lins, GuSeq),
GU_MEMBER(PgfProductionMeta, args, PgfPArgs)));
GU_DEFINE_TYPE(PgfProductions, GuList, gu_type(PgfProduction));
GU_DEFINE_TYPE(PgfProductionSeq, GuSeq, gu_type(PgfProduction));