]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkCompatibilityPkg/Other/Maintained/Tools/Pccts/h/BufFileInput.h
Add in the 1st version of ECP.
[mirror_edk2.git] / EdkCompatibilityPkg / Other / Maintained / Tools / Pccts / h / BufFileInput.h
diff --git a/EdkCompatibilityPkg/Other/Maintained/Tools/Pccts/h/BufFileInput.h b/EdkCompatibilityPkg/Other/Maintained/Tools/Pccts/h/BufFileInput.h
new file mode 100644 (file)
index 0000000..ea54c0e
--- /dev/null
@@ -0,0 +1,53 @@
+// FILE:        BufFileInput.h\r
+// AUTHOR:      Alexey Demakov (AVD) demakov@kazbek.ispras.ru\r
+// CREATION:    26-JAN-1998\r
+// DESCRIPTION: File Input Stream with lookahead for Scanner\r
+// Tested under Win32 with ANTLR 1.33 MR10 and MSVC 5.0\r
+\r
+// Change History:\r
+//\r
+//   28-May-1998    Add virtual destructor to release buffer\r
+//                  Manfred Kogler (km@cast.uni-linz.ac.at)\r
+//                  (1.33MR14)\r
+\r
+#ifndef BufFileInput_h\r
+#define BufFileInput_h\r
+\r
+#include "pcctscfg.h"\r
+\r
+#include "pccts_stdio.h"\r
+\r
+PCCTS_NAMESPACE_STD\r
+\r
+#include "DLexerBase.h"\r
+\r
+class DllExportPCCTS BufFileInput : public DLGInputStream\r
+{\r
+public:\r
+    // constructor\r
+    // f - input stream\r
+    // buf_size - size of buffer (maximal length for string in is_in)\r
+\r
+    BufFileInput(FILE *f, int buf_size = 8 );\r
+\r
+    virtual ~BufFileInput();\r
+\r
+    // gets next char from stream\r
+\r
+    virtual int nextChar( void );\r
+\r
+    // looks in stream and compares next l characters with s\r
+    // returns the result of comparision\r
+\r
+    int lookahead( char* s );\r
+\r
+private:\r
+    FILE *input; // input stream;\r
+    int* buf;    // buffer\r
+    int  size;   // size of buffer\r
+    int  start;  // position of the first symbol in buffer\r
+    int  len;    // count of characters in buffers\r
+};\r
+\r
+#endif\r
+// end of file BufFileInput.h\r