summaryrefslogtreecommitdiff
path: root/src/runtime/c/pgf/data.h
diff options
context:
space:
mode:
authorkr.angelov <kr.angelov@gmail.com>2012-03-05 12:59:31 +0000
committerkr.angelov <kr.angelov@gmail.com>2012-03-05 12:59:31 +0000
commit0e90d1ba1fd5c20bf526cda4459eedf12cd1f3ef (patch)
treec85a0b4198bcaee5fc4d5b3a03bbf8e9d1f7e6fa /src/runtime/c/pgf/data.h
parent04db5aa045d720a2ff473097e57c73a09e82e886 (diff)
libpgf: now all concrete functions and categories are explicitly linked to their abstract counter parts
Diffstat (limited to 'src/runtime/c/pgf/data.h')
-rw-r--r--src/runtime/c/pgf/data.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/runtime/c/pgf/data.h b/src/runtime/c/pgf/data.h
index 53df0058c..4a8fc062b 100644
--- a/src/runtime/c/pgf/data.h
+++ b/src/runtime/c/pgf/data.h
@@ -39,6 +39,8 @@ typedef GuSeq PgfCCatSeq;
extern GU_DECLARE_TYPE(PgfCCatSeq, GuSeq);
typedef struct PgfAbstr PgfAbstr;
+extern GU_DECLARE_TYPE(PgfAbstr, struct);
+
typedef struct PgfFunDecl PgfFunDecl;
typedef struct PgfConcr PgfConcr;
@@ -89,7 +91,9 @@ typedef struct PgfEquation PgfEquation;
typedef GuSeq PgfEquations;
typedef PgfEquations PgfEquationsM; // can be null
extern GU_DECLARE_TYPE(PgfEquationsM, GuSeq);
+
typedef struct PgfCat PgfCat;
+extern GU_DECLARE_TYPE(PgfCat, struct);
typedef PgfSequence PgfSeqId; // shared reference
@@ -141,9 +145,9 @@ struct PgfCat {
struct PgfCncCat {
- PgfCId cid;
+ PgfCat *abscat;
PgfCCatIds* cats;
-
+
size_t n_lins;
GuString labels[];
/**< Labels for tuples. All nested tuples, records and tables
@@ -155,7 +159,8 @@ struct PgfCncCat {
};
struct PgfCncFun {
- PgfCId fun; // XXX: resolve to PgfFunDecl*?
+ PgfCId name;
+ PgfFunDecl *absfun;
int funid;
GuLength n_lins;
PgfSeqId lins[];