]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/C/VfrCompile/Pccts/support/rexpr/rexpr.h
Check In tool source code based on Build tool project revision r1655.
[mirror_edk2.git] / BaseTools / Source / C / VfrCompile / Pccts / support / rexpr / rexpr.h
diff --git a/BaseTools/Source/C/VfrCompile/Pccts/support/rexpr/rexpr.h b/BaseTools/Source/C/VfrCompile/Pccts/support/rexpr/rexpr.h
new file mode 100644 (file)
index 0000000..e67a965
--- /dev/null
@@ -0,0 +1,30 @@
+#define Atom   256             /* token Atom (an impossible char value) */\r
+#define Epsilon        257             /* epsilon arc (an impossible char value) */\r
+\r
+/* track field must be same for all node types */\r
+typedef struct _a {\r
+                                       struct _a *track;       /* track mem allocation */\r
+                                       int label;\r
+                                       struct _a *next;\r
+                                       struct _n *target;\r
+                               } Arc, *ArcPtr;\r
+\r
+typedef struct _n {\r
+                                       struct _n *track;\r
+                                       ArcPtr arcs, arctail;\r
+                               } Node, *NodePtr;\r
+\r
+typedef struct {\r
+                                       NodePtr left,\r
+                                                       right;\r
+                               } Graph, *GraphPtr;\r
+\r
+#ifdef __USE_PROTOS\r
+int rexpr( char *expr, char *s );\r
+int match( NodePtr automaton, char *s );\r
+#else\r
+int rexpr();\r
+int match();\r
+#endif\r
+\r
+\r