1 | #ifndef INC_CharBuffer_hpp__ |
---|
2 | #define INC_CharBuffer_hpp__ |
---|
3 | |
---|
4 | /* ANTLR Translator Generator |
---|
5 | * Project led by Terence Parr at http://www.jGuru.com |
---|
6 | * Software rights: http://www.antlr.org/license.html |
---|
7 | * |
---|
8 | * $Id: //depot/code/org.antlr/release/antlr-2.7.7/lib/cpp/antlr/CharBuffer.hpp#2 $ |
---|
9 | */ |
---|
10 | |
---|
11 | #include <antlr/config.hpp> |
---|
12 | |
---|
13 | #include <istream> |
---|
14 | |
---|
15 | #include <antlr/InputBuffer.hpp> |
---|
16 | |
---|
17 | #ifdef ANTLR_CXX_SUPPORTS_NAMESPACE |
---|
18 | namespace antlr { |
---|
19 | #endif |
---|
20 | |
---|
21 | /**A Stream of characters fed to the lexer from a InputStream that can |
---|
22 | * be rewound via mark()/rewind() methods. |
---|
23 | * <p> |
---|
24 | * A dynamic array is used to buffer up all the input characters. Normally, |
---|
25 | * "k" characters are stored in the buffer. More characters may be stored |
---|
26 | * during guess mode (testing syntactic predicate), or when LT(i>k) is |
---|
27 | * referenced. |
---|
28 | * Consumption of characters is deferred. In other words, reading the next |
---|
29 | * character is not done by consume(), but deferred until needed by LA or LT. |
---|
30 | * <p> |
---|
31 | * |
---|
32 | * @see antlr.CharQueue |
---|
33 | */ |
---|
34 | |
---|
35 | class ANTLR_API CharBuffer : public InputBuffer { |
---|
36 | public: |
---|
37 | /// Create a character buffer |
---|
38 | CharBuffer( ANTLR_USE_NAMESPACE(std)istream& input ); |
---|
39 | /// Get the next character from the stream |
---|
40 | int getChar(); |
---|
41 | |
---|
42 | protected: |
---|
43 | // character source |
---|
44 | ANTLR_USE_NAMESPACE(std)istream& input; |
---|
45 | |
---|
46 | private: |
---|
47 | // NOTE: Unimplemented |
---|
48 | CharBuffer(const CharBuffer& other); |
---|
49 | CharBuffer& operator=(const CharBuffer& other); |
---|
50 | }; |
---|
51 | |
---|
52 | #ifdef ANTLR_CXX_SUPPORTS_NAMESPACE |
---|
53 | } |
---|
54 | #endif |
---|
55 | |
---|
56 | #endif //INC_CharBuffer_hpp__ |
---|