--- /dev/null
+// 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