30 lines
519 B
C++
30 lines
519 B
C++
#pragma once
|
|
|
|
#if !defined(yyFlexLexerOnce)
|
|
#undef yyFlexLexer
|
|
#define yyFlexLexer stela_FlexLexer
|
|
#include <FlexLexer.h>
|
|
#endif
|
|
|
|
#undef YY_DECL
|
|
#define YY_DECL stela::Parser::symbol_type stela::Lexer::next_token()
|
|
|
|
#include "parser.hpp"
|
|
|
|
namespace stela {
|
|
|
|
class Interpreter;
|
|
|
|
class Lexer : public yyFlexLexer {
|
|
public:
|
|
Lexer(Interpreter& interpreter) : interpreter(interpreter) {}
|
|
virtual ~Lexer() = default;
|
|
virtual stela::Parser::symbol_type next_token();
|
|
|
|
private:
|
|
Interpreter& interpreter;
|
|
};
|
|
|
|
}
|
|
|