]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkCompatibilityPkg/Other/Maintained/Tools/Pccts/h/ATokenStream.h
Add in the 1st version of ECP.
[mirror_edk2.git] / EdkCompatibilityPkg / Other / Maintained / Tools / Pccts / h / ATokenStream.h
diff --git a/EdkCompatibilityPkg/Other/Maintained/Tools/Pccts/h/ATokenStream.h b/EdkCompatibilityPkg/Other/Maintained/Tools/Pccts/h/ATokenStream.h
new file mode 100644 (file)
index 0000000..a603707
--- /dev/null
@@ -0,0 +1,51 @@
+/* ANTLRTokenStream.h\r
+ *\r
+ * SOFTWARE RIGHTS\r
+ *\r
+ * We reserve no LEGAL rights to the Purdue Compiler Construction Tool\r
+ * Set (PCCTS) -- PCCTS is in the public domain.  An individual or\r
+ * company may do whatever they wish with source code distributed with\r
+ * PCCTS or the code generated by PCCTS, including the incorporation of\r
+ * PCCTS, or its output, into commerical software.\r
+ *\r
+ * We encourage users to develop software with PCCTS.  However, we do ask\r
+ * that credit is given to us for developing PCCTS.  By "credit",\r
+ * we mean that if you incorporate our source code into one of your\r
+ * programs (commercial product, research project, or otherwise) that you\r
+ * acknowledge this fact somewhere in the documentation, research report,\r
+ * etc...  If you like PCCTS and have developed a nice tool with the\r
+ * output, please mention that you developed it using PCCTS.  In\r
+ * addition, we ask that this header remain intact in our source code.\r
+ * As long as these guidelines are kept, we expect to continue enhancing\r
+ * this system and expect to make other tools available as they are\r
+ * completed.\r
+ *\r
+ * ANTLR 1.33\r
+ * Terence Parr\r
+ * Parr Research Corporation\r
+ * with Purdue University and AHPCRC, University of Minnesota\r
+ * 1989-1998\r
+ */\r
+\r
+#ifndef ATOKENSTREAM_H_GATE\r
+#define ATOKENSTREAM_H_GATE\r
+\r
+#include "pcctscfg.h"\r
+\r
+/* This is really a behavior or protocol; it merely indicates the behavior\r
+ * required of the input and output of an ANTLRTokenBuffer.  You could\r
+ * subclass it, but you can also just pass any old pointer to ANTLRTokenBuffer\r
+ * with a type cast (in which case, your getANTLRToken() would have to\r
+ * explicitly cast the input pointer to your REAL type (typically your lexer)).\r
+ */\r
+\r
+class ANTLRParser;              // MR1\r
+\r
+class DllExportPCCTS ANTLRTokenStream {\r
+public:\r
+    virtual _ANTLRTokenPtr getToken() = 0;\r
+  virtual ANTLRParser * setParser(ANTLRParser *p) {return 0; };   // MR12\r
+  virtual ANTLRParser * getParser() { return 0; };            // MR12\r
+};\r
+\r
+#endif\r