9 #include "../util/ErrorReporter.hpp"
121 static std::vector<std::pair<const char*, Token::Token_type>>
kw_vector;
Definition: lexer.hpp:101
shptr< ErrorReporter > errorReporter
Definition: lexer.hpp:20
Definition: PositionAwareNode.hpp:6
Definition: lexer.hpp:109
Definition: lexer.hpp:100
std::vector< Token > token_stack
Definition: lexer.hpp:25
void unget_token(Token const &t)
Definition: lexer.cpp:374
char getc()
Definition: lexer.cpp:206
std::pair< unsigned int, unsigned int > source_position_t
Definition: globals.hpp:10
Token::Token_type lex_keyword_or_ident(const char *s)
Definition: lexer.cpp:235
Lexer(const char *file_name, Stateomat const &stateomat, shptr< ErrorReporter > errorReporter)
Definition: lexer.cpp:169
Token_type
Definition: token.hpp:21
static Token::Token_type kw_array[]
Definition: lexer.hpp:116
int c
Definition: lexer.hpp:27
Definition: lexer.hpp:103
Token get_next_token()
Definition: lexer.cpp:274
size_t buf_len
Definition: lexer.hpp:40
size_t buf_off
Definition: lexer.hpp:39
source_position_t position
Definition: lexer.hpp:17
static std::vector< std::pair< const char *, Token::Token_type > > kw_vector
Definition: lexer.hpp:121
std::shared_ptr< T > shptr
Definition: globals.hpp:7
Stateomat stateomat
Definition: lexer.hpp:19
Definition: lexer.hpp:105
Definition: lexer.hpp:102
off_t line_start
Definition: lexer.hpp:42
Definition: lexer.hpp:106
Definition: lexer.hpp:108
Definition: stateomat.hpp:17
static const int kw_lex_table[][26]
Definition: lexer.hpp:124
bool good() const
Definition: lexer.cpp:369
int fd
Definition: lexer.hpp:32
void advancePosition(int nextCharacter)
Definition: lexer.cpp:194
Definition: lexer.hpp:107
Definition: lexer.hpp:104
std::string describe(Token::Token_type const &t) const
Definition: lexer.cpp:359
char buf[BUF_SIZE]
Definition: lexer.hpp:38
#define BUF_SIZE
Definition: lexer.hpp:30
Definition: lexer.hpp:110
kw_states
Definition: lexer.hpp:55