Initial import.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
53
Tools/Source/TianoTools/Pccts/h/BufFileInput.h
Normal file
53
Tools/Source/TianoTools/Pccts/h/BufFileInput.h
Normal file
@@ -0,0 +1,53 @@
|
||||
// FILE: BufFileInput.h
|
||||
// AUTHOR: Alexey Demakov (AVD) demakov@kazbek.ispras.ru
|
||||
// CREATION: 26-JAN-1998
|
||||
// DESCRIPTION: File Input Stream with lookahead for Scanner
|
||||
// Tested under Win32 with ANTLR 1.33 MR10 and MSVC 5.0
|
||||
|
||||
// Change History:
|
||||
//
|
||||
// 28-May-1998 Add virtual destructor to release buffer
|
||||
// Manfred Kogler (km@cast.uni-linz.ac.at)
|
||||
// (1.33MR14)
|
||||
|
||||
#ifndef BufFileInput_h
|
||||
#define BufFileInput_h
|
||||
|
||||
#include "pcctscfg.h"
|
||||
|
||||
#include "pccts_stdio.h"
|
||||
|
||||
PCCTS_NAMESPACE_STD
|
||||
|
||||
#include "DLexerBase.h"
|
||||
|
||||
class DllExportPCCTS BufFileInput : public DLGInputStream
|
||||
{
|
||||
public:
|
||||
// constructor
|
||||
// f - input stream
|
||||
// buf_size - size of buffer (maximal length for string in is_in)
|
||||
|
||||
BufFileInput(FILE *f, int buf_size = 8 );
|
||||
|
||||
virtual ~BufFileInput();
|
||||
|
||||
// gets next char from stream
|
||||
|
||||
virtual int nextChar( void );
|
||||
|
||||
// looks in stream and compares next l characters with s
|
||||
// returns the result of comparision
|
||||
|
||||
int lookahead( char* s );
|
||||
|
||||
private:
|
||||
FILE *input; // input stream;
|
||||
int* buf; // buffer
|
||||
int size; // size of buffer
|
||||
int start; // position of the first symbol in buffer
|
||||
int len; // count of characters in buffers
|
||||
};
|
||||
|
||||
#endif
|
||||
// end of file BufFileInput.h
|
Reference in New Issue
Block a user