1234567891011121314151617181920212223242526272829303132 |
- #ifndef TOKENSTREAM_H
- #define TOKENSTREAM_H
- #include <vector>
- #include "tokenizer/Token.h"
- #include "utils/String.h"
- class TokenStream {
- public:
- TokenStream();
- bool hasToken() const;
- String nextTokenString();
- Token nextToken();
- unsigned int nextLine();
- const char* nextString();
- double nextDouble();
- void add(Token token, unsigned int line);
- void add(Token token, unsigned int line, double d);
- void add(Token token, unsigned int line, const char* text);
- private:
- void read(void* data, size_t length);
- void write(const void* data, size_t length);
-
- size_t readIndex;
- std::vector<char> buffer;
- };
- #endif
|