BufFileInput.h
上传用户:itx_2006
上传日期:2007-01-06
资源大小:493k
文件大小:1k
源码类别:

编译器/解释器

开发平台:

Others

  1. // FILE:        BufFileInput.h
  2. // AUTHOR:      Alexey Demakov (AVD) demakov@kazbek.ispras.ru
  3. // CREATION:    26-JAN-1998
  4. // DESCRIPTION: File Input Stream with lookahead for Scanner
  5. // Tested under Win32 with ANTLR 1.33 MR10 and MSVC 5.0
  6. // Change History:
  7. //
  8. //   28-May-1998    Add virtual destructor to release buffer
  9. //                  Manfred Kogler (km@cast.uni-linz.ac.at)
  10. //                  (1.33MR14)
  11. #ifndef BufFileInput_h
  12. #define BufFileInput_h
  13. #include "pcctscfg.h"
  14. #include PCCTS_STDIO_H
  15. PCCTS_NAMESPACE_STD
  16. #include "DLexerBase.h"
  17. class DllExportPCCTS BufFileInput : public DLGInputStream
  18. {
  19. public:
  20.     // constructor
  21.     // f - input stream
  22.     // buf_size - size of buffer (maximal length for string in is_in)
  23.     BufFileInput(FILE *f, int buf_size = 8 );
  24.     virtual ~BufFileInput();
  25.     // gets next char from stream
  26.     virtual int nextChar( void );
  27.     // looks in stream and compares next l characters with s
  28.     // returns the result of comparision
  29.     int lookahead( char* s );
  30. private:
  31.     FILE *input; // input stream;
  32.     int* buf;    // buffer
  33.     int  size;   // size of buffer
  34.     int  start;  // position of the first symbol in buffer
  35.     int  len;    // count of characters in buffers
  36. };
  37. #endif
  38. // end of file BufFileInput.h