this repo has no description
1#ifndef REZLEXER_H
2#define REZLEXER_H
3
4#include <memory>
5#include <string>
6
7#include "location.hh"
8
9class RezSymbol;
10class RezWorld;
11
12class RezLexer
13{
14 RezWorld& world;
15 struct Priv;
16 std::unique_ptr<Priv> pImpl;
17
18 std::string curFile;
19 yy::location lastLocation;
20
21 class WaveToken;
22
23 bool atEnd();
24 WaveToken nextWave();
25 WaveToken peekWave();
26
27public:
28 RezLexer(RezWorld& world, std::string filename);
29 RezLexer(RezWorld& world, std::string filename, const std::string& data);
30 ~RezLexer();
31
32 RezSymbol nextToken();
33
34 void addDefine(std::string str);
35 void addIncludePath(std::string path);
36};
37
38#endif // REZLEXER_H