#include "blif_lexer.hpp" //Windows doesn't have unistd.h, so we set '%option nounistd' //in blif_lexer.l, but flex still includes it in the generated //header unless YY_NO_UNISTD_H is defined to 1 #define YY_NO_UNISTD_H 1 #include "blif_lexer.gen.hpp" //For blifparse_lex_*() extern YY_DECL; //For blifparse_lex() namespace blifparse { Lexer::Lexer(FILE* file, Callback& callback) : callback_(callback) { blifparse_lex_init(&state_); blifparse_set_in(file, state_); } Lexer::~Lexer() { blifparse_lex_destroy(state_); } Parser::symbol_type Lexer::next_token() { return blifparse_lex(state_, callback_); } const char* Lexer::text() const { return blifparse_get_text(state_); } int Lexer::lineno() const { return blifparse_get_lineno(state_); } }