summaryrefslogtreecommitdiff
path: root/src/runtime/c/pgf/data.c
diff options
context:
space:
mode:
authorkr.angelov <kr.angelov@gmail.com>2013-02-11 13:51:12 +0000
committerkr.angelov <kr.angelov@gmail.com>2013-02-11 13:51:12 +0000
commit90c3304147e3829b9ea7f73085e54d9d0811ca8b (patch)
tree940fa49074899dcd6bbcc6da483671d56e52f968 /src/runtime/c/pgf/data.c
parent10ef298fa00bd100bc854c5c8570a550f470dde4 (diff)
remove the pgf2yaml tool which was both broken and redundant. The declarations for generic programming from data.c are removed as well
Diffstat (limited to 'src/runtime/c/pgf/data.c')
-rw-r--r--src/runtime/c/pgf/data.c201
1 files changed, 8 insertions, 193 deletions
diff --git a/src/runtime/c/pgf/data.c b/src/runtime/c/pgf/data.c
index d7a44e31c..3e159fa6f 100644
--- a/src/runtime/c/pgf/data.c
+++ b/src/runtime/c/pgf/data.c
@@ -22,218 +22,33 @@ pgf_tokens_equal(PgfTokens t1, PgfTokens t2)
return true;
}
-
-
-GU_DEFINE_TYPE(PgfTokens, GuSeq, gu_type(GuString));
-
GU_DEFINE_TYPE(PgfCId, typedef, gu_type(GuString));
-GU_DEFINE_TYPE(GuStringL, GuList, gu_type(GuString));
-
-
#define gu_type__PgfCIdMap gu_type__GuStringMap
typedef GuType_GuStringMap GuType_PgfCIdMap;
#define GU_TYPE_INIT_PgfCIdMap GU_TYPE_INIT_GuStringMap
-GU_DEFINE_TYPE(PgfCCat, struct,
- GU_MEMBER_S(PgfCCat, cnccat, PgfCncCat),
- GU_MEMBER_P(PgfCCat, lindefs, PgfFunIds),
- GU_MEMBER(PgfCCat, prods, PgfProductionSeq));
-
-GU_DEFINE_TYPE(PgfCCatId, shared, gu_type(PgfCCat));
-
-GU_DEFINE_TYPE(PgfCCatIds, GuList, gu_type(PgfCCatId));
-
-GU_DEFINE_TYPE(PgfCCatSeq, GuSeq, gu_type(PgfCCatId));
-
-GU_DEFINE_TYPE(PgfAlternative, struct,
- GU_MEMBER(PgfAlternative, form, PgfTokens),
- GU_MEMBER_P(PgfAlternative, prefixes, GuStringL));
-
-
-GU_DEFINE_TYPE(
- PgfSymbol, GuVariant,
- GU_CONSTRUCTOR_S(
- PGF_SYMBOL_CAT, PgfSymbolCat,
- GU_MEMBER(PgfSymbolCat, d, int),
- GU_MEMBER(PgfSymbolCat, r, int)),
- GU_CONSTRUCTOR_S(
- PGF_SYMBOL_LIT, PgfSymbolLit,
- GU_MEMBER(PgfSymbolLit, d, int),
- GU_MEMBER(PgfSymbolLit, r, int)),
- GU_CONSTRUCTOR_S(
- PGF_SYMBOL_VAR, PgfSymbolVar,
- GU_MEMBER(PgfSymbolVar, d, int),
- GU_MEMBER(PgfSymbolVar, r, int)),
- GU_CONSTRUCTOR_S(
- PGF_SYMBOL_KS, PgfSymbolKS,
- GU_MEMBER(PgfSymbolKS, tokens, PgfTokens)),
- GU_CONSTRUCTOR_S(
- PGF_SYMBOL_KP, PgfSymbolKP,
- GU_MEMBER(PgfSymbolKP, default_form, PgfTokens),
- GU_MEMBER(PgfSymbolKP, n_forms, GuLength),
- GU_FLEX_MEMBER(PgfSymbolKP, forms, PgfAlternative)));
-
-GU_DEFINE_TYPE(
- PgfCncCat, struct,
- GU_MEMBER(PgfCncCat, abscat, PgfCat),
- GU_MEMBER_P(PgfCncCat, cats, PgfCCatIds),
- GU_MEMBER(PgfCncCat, n_lins, size_t),
- GU_FLEX_MEMBER(PgfCncCat, labels, GuString));
+GU_DEFINE_TYPE(PgfCCat, abstract);
-// GU_DEFINE_TYPE(PgfSequence, GuList, gu_ptr_type(PgfSymbol));
-// GU_DEFINE_TYPE(PgfSequence, GuList, gu_type(PgfSymbol));
-GU_DEFINE_TYPE(PgfSequence, GuSeq, gu_type(PgfSymbol));
+GU_DEFINE_TYPE(PgfCncCat, abstract);
-GU_DEFINE_TYPE(PgfFlags, GuStringMap, gu_type(PgfLiteral), &gu_null_variant);
+GU_DEFINE_TYPE(PgfFlags, GuStringMap, gu_type(GuVariant), &gu_null_variant);
-typedef PgfFlags* PgfFlagsP;
+GU_DEFINE_TYPE(PgfProductionSeq, GuSeq, gu_type(GuVariant));
-GU_DEFINE_TYPE(PgfFlagsP, pointer, gu_type(PgfFlags));
-
-GU_DEFINE_TYPE(PgfSequences, GuList, gu_type(PgfSequence));
-
-GU_DEFINE_TYPE(PgfSeqId, typedef, gu_type(PgfSequence));
-
-GU_DEFINE_TYPE(
- PgfCncFun, struct,
- GU_MEMBER(PgfCncFun, name, PgfCId),
- GU_MEMBER(PgfCncFun, n_lins, GuLength),
- GU_FLEX_MEMBER(PgfCncFun, lins, PgfSeqId));
-
-GU_DEFINE_TYPE(PgfCncFuns, GuList,
- GU_TYPE_LIT(referenced, _, gu_ptr_type(PgfCncFun)));
-
-GU_DEFINE_TYPE(PgfFunId, shared, gu_type(PgfCncFun));
-
-GU_DEFINE_TYPE(PgfFunIds, GuList, gu_type(PgfFunId));
-
-GU_DEFINE_TYPE(
- PgfPArg, struct,
- GU_MEMBER_P(PgfPArg, hypos, PgfCCatIds),
- GU_MEMBER(PgfPArg, ccat, PgfCCatId));
-
-GU_DEFINE_TYPE(PgfPArgs, GuSeq, gu_type(PgfPArg));
-
-GU_DEFINE_TYPE(
- PgfProduction, GuVariant,
- GU_CONSTRUCTOR_S(
- PGF_PRODUCTION_APPLY, PgfProductionApply,
- GU_MEMBER(PgfProductionApply, fun, PgfFunId),
- GU_MEMBER(PgfProductionApply, args, PgfPArgs)),
- GU_CONSTRUCTOR_S(
- PGF_PRODUCTION_COERCE, PgfProductionCoerce,
- GU_MEMBER(PgfProductionCoerce, coerce, PgfCCatId)),
- GU_CONSTRUCTOR_S(
- PGF_PRODUCTION_EXTERN, PgfProductionExtern,
- GU_MEMBER(PgfProductionExtern, callback, PgfLiteralCallback),
- GU_MEMBER(PgfProductionExtern, lins, GuSeq)),
- GU_CONSTRUCTOR_S(
- PGF_PRODUCTION_META, PgfProductionMeta,
- GU_MEMBER(PgfProductionMeta, args, PgfPArgs)));
-
-GU_DEFINE_TYPE(PgfProductions, GuList, gu_type(PgfProduction));
-GU_DEFINE_TYPE(PgfProductionSeq, GuSeq, gu_type(PgfProduction));
-
-GU_DEFINE_TYPE(
- PgfPatt, GuVariant,
- GU_CONSTRUCTOR_S(
- PGF_PATT_APP, PgfPattApp,
- GU_MEMBER(PgfPattApp, ctor, PgfCId),
- GU_MEMBER(PgfPattApp, n_args, GuLength),
- GU_FLEX_MEMBER(PgfPattApp, args, PgfPatt)),
- GU_CONSTRUCTOR_S(
- PGF_PATT_VAR, PgfPattVar,
- GU_MEMBER(PgfPattVar, var, PgfCId)),
- GU_CONSTRUCTOR_S(
- PGF_PATT_AS, PgfPattAs,
- GU_MEMBER(PgfPattAs, var, PgfCId),
- GU_MEMBER(PgfPattAs, patt, PgfPatt)),
- GU_CONSTRUCTOR(
- PGF_PATT_WILD, void),
- GU_CONSTRUCTOR_S(
- PGF_PATT_LIT, PgfPattLit,
- GU_MEMBER(PgfPattLit, lit, PgfLiteral)),
- GU_CONSTRUCTOR_S(
- PGF_PATT_IMPL_ARG, PgfPattImplArg,
- GU_MEMBER(PgfPattImplArg, patt, PgfPatt)),
- GU_CONSTRUCTOR_S(
- PGF_PATT_TILDE, PgfPattTilde,
- GU_MEMBER(PgfPattTilde, expr, PgfExpr)));
-
-GU_DEFINE_TYPE(
- PgfEquation, struct,
- GU_MEMBER(PgfEquation, body, PgfExpr),
- GU_MEMBER(PgfEquation, n_patts, GuLength),
- GU_FLEX_MEMBER(PgfEquation, patts, PgfPatt));
-
-// Distinct type so we can give it special treatment in the reader
-GU_DEFINE_TYPE(PgfEquationsM, GuSeq, gu_type(PgfEquation));
-
-GU_DEFINE_TYPE(PgfExprProb, struct,
- GU_MEMBER(PgfExprProb, prob, double),
- GU_MEMBER(PgfExprProb, expr, PgfExpr));
-
-GU_DEFINE_TYPE(
- PgfFunDecl, struct,
- GU_MEMBER_P(PgfFunDecl, type, PgfType),
- GU_MEMBER(PgfFunDecl, arity, int),
- GU_MEMBER(PgfFunDecl, defns, PgfEquationsM),
- GU_MEMBER(PgfFunDecl, ep, PgfExprProb));
+GU_DEFINE_TYPE(PgfAbsFun, abstract);
static prob_t inf_prob = INFINITY;
GU_DEFINE_TYPE(prob_t, GuFloating, _);
GU_DEFINE_TYPE(PgfMetaChildMap, GuMap,
- gu_type(PgfCat), NULL,
+ gu_type(PgfAbsCat), NULL,
gu_type(prob_t), &inf_prob);
-GU_DEFINE_TYPE(
- PgfCat, struct,
- GU_MEMBER(PgfCat, context, PgfHypos));
-
-
-GU_DEFINE_TYPE(
- PgfAbstr, struct,
- GU_MEMBER(PgfAbstr, aflags, PgfFlagsP),
- GU_MEMBER_V(PgfAbstr, funs,
- GU_TYPE_LIT(pointer, PgfCIdMap*,
- GU_TYPE_LIT(PgfCIdMap, _,
- gu_ptr_type(PgfFunDecl),
- &gu_null_struct))),
- GU_MEMBER_V(PgfAbstr, cats,
- GU_TYPE_LIT(pointer, PgfCIdMap*,
- GU_TYPE_LIT(PgfCIdMap, _,
- gu_ptr_type(PgfCat),
- &gu_null_struct))));
+GU_DEFINE_TYPE(PgfAbsCat, abstract);
GU_DEFINE_TYPE(
PgfPrintNames, PgfCIdMap, gu_type(GuString), &gu_empty_string);
-GU_DEFINE_TYPE(
- PgfConcr, struct,
- GU_MEMBER(PgfConcr, cflags, PgfFlagsP),
- GU_MEMBER_P(PgfConcr, ccats, GuMap),
- GU_MEMBER_P(PgfConcr, cncfuns, PgfCncFuns),
- GU_MEMBER_P(PgfConcr, sequences, PgfSequences),
- GU_MEMBER_P(PgfConcr, printnames, PgfPrintNames),
- GU_MEMBER_V(PgfConcr, cnccats,
- GU_TYPE_LIT(pointer, PgfCIdMap*,
- GU_TYPE_LIT(PgfCIdMap, _,
- gu_ptr_type(PgfCncCat),
- &gu_null_struct))));
-
-GU_DEFINE_TYPE(
- PgfPGF, struct,
- GU_MEMBER(PgfPGF, major_version, uint16_t),
- GU_MEMBER(PgfPGF, minor_version, uint16_t),
- GU_MEMBER(PgfPGF, gflags, PgfFlagsP),
- GU_MEMBER(PgfPGF, absname, PgfCId),
- GU_MEMBER(PgfPGF, abstract, PgfAbstr),
- GU_MEMBER_V(PgfPGF, concretes,
- GU_TYPE_LIT(pointer, PgfCIdMap*,
- GU_TYPE_LIT(PgfCIdMap, _,
- gu_ptr_type(PgfConcr),
- &gu_null_struct))));
-
+GU_DEFINE_TYPE(PgfConcr, abstract);