]> pd.if.org Git - pccts/blobdiff - support/rexpr/rexpr.h
auto commit for import
[pccts] / support / rexpr / rexpr.h
diff --git a/support/rexpr/rexpr.h b/support/rexpr/rexpr.h
new file mode 100755 (executable)
index 0000000..336be2e
--- /dev/null
@@ -0,0 +1,30 @@
+#define Atom   256             /* token Atom (an impossible char value) */
+#define Epsilon        257             /* epsilon arc (an impossible char value) */
+
+/* track field must be same for all node types */
+typedef struct _a {
+                                       struct _a *track;       /* track mem allocation */
+                                       int label;
+                                       struct _a *next;
+                                       struct _n *target;
+                               } Arc, *ArcPtr;
+
+typedef struct _n {
+                                       struct _n *track;
+                                       ArcPtr arcs, arctail;
+                               } Node, *NodePtr;
+
+typedef struct {
+                                       NodePtr left,
+                                                       right;
+                               } Graph, *GraphPtr;
+
+#ifdef __STDC__
+int rexpr( char *expr, char *s );
+int match( NodePtr automaton, char *s );
+#else
+int rexpr();
+int match();
+#endif
+
+