1#ifndef NEWLANG_LEXER_H_INCLUDED_
2#define NEWLANG_LEXER_H_INCLUDED_
11#define YY_USER_INIT m_loc = yylloc
14 newlang::parser::token_type \
15 newlang::Scanner::lex( \
17 newlang::parser::location_type* yylloc \
21#define yyFlexLexer NewLangFlexLexer
41 Scanner(std::istream* arg_yyin = &std::cin,
42 std::ostream* arg_yyout = &std::cout,
81 virtual parser::token_type
lex(
83 parser::location_type* yylloc
Scanner(std::istream *arg_yyin=&std::cin, std::ostream *arg_yyout=&std::cout, SourceType source=nullptr)
void ApplyDiags(DiagPtr diag=nullptr)
void LexerError(const char *msg) override
std::istringstream * m_macro_iss
parser::location_type m_macro_loc
parser::location_type * m_loc
virtual parser::token_type lex(TermPtr *yylval, parser::location_type *yylloc)
static BlockType ParseLexem(const std::string str)
#define LOG_RUNTIME(format,...)
std::string ParserMessage(std::string &buffer, int row, int col, const char *format,...)
std::shared_ptr< std::string > SourceType
std::shared_ptr< Term > TermPtr
std::vector< TermPtr > BlockType
std::shared_ptr< Diag > DiagPtr