summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/runtime/c/pgf/reasoner.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/runtime/c/pgf/reasoner.h b/src/runtime/c/pgf/reasoner.h
new file mode 100644
index 000000000..cbc7a7832
--- /dev/null
+++ b/src/runtime/c/pgf/reasoner.h
@@ -0,0 +1,22 @@
+#ifndef PGF_REASONER_H_
+#define PGF_REASONER_H_
+
+typedef struct PgfReasoner PgfReasoner;
+typedef struct PgfReasonerState PgfReasonerState;
+typedef struct PgfExprState PgfExprState;
+
+typedef void (*PgfPredicate)(PgfReasoner* rs, PgfReasonerState* st);
+
+void
+pgf_try_first(PgfReasoner* rs, PgfExprState* parent, PgfAbsFun* absfun);
+
+void
+pgf_try_else(PgfReasoner* rs, PgfExprState* prev, PgfAbsFun* absfun);
+
+void
+pgf_complete(PgfReasoner* rs, PgfExprState* st);
+
+void
+pgf_try_constant(PgfReasoner* rs, PgfExprState* prev, PgfAbsFun* absfun);
+
+#endif