diff options
| -rw-r--r-- | include/lexer.h | 5 | ||||
| -rw-r--r-- | src/lexer.cc | 10 | ||||
| -rw-r--r-- | src/main.cc | 9 |
3 files changed, 11 insertions, 13 deletions
diff --git a/include/lexer.h b/include/lexer.h index 4c0e606..ecfbd21 100644 --- a/include/lexer.h +++ b/include/lexer.h @@ -12,10 +12,7 @@ private: public: void init(char *script); - - void scan_tokens(void); - List *tokens(void); - + List *scan_tokens(void); void clean(void); }; diff --git a/src/lexer.cc b/src/lexer.cc index 584de23..39ecf2b 100644 --- a/src/lexer.cc +++ b/src/lexer.cc @@ -15,15 +15,15 @@ Lexer::init(char *script) m_tokens->init(sizeof(Token)); } -void +List * Lexer::scan_tokens(void) { printf("%s\n", m_script); -} -List * -Lexer::tokens(void) -{ + Token token_eof; + token_eof.init(EOFF, "EOF", 2); + m_tokens->add(&token_eof); + return m_tokens; } diff --git a/src/main.cc b/src/main.cc index a993082..3bdc70c 100644 --- a/src/main.cc +++ b/src/main.cc @@ -30,11 +30,12 @@ main(int argc, char **argv) Lexer l; l.init(buffer); - l.scan_tokens(); - List *tokens = l.tokens(); - for (size_t i = 0; i < tokens->size(); i++) - printf("%s\n", (char *) tokens->get(i)); + List *tokens = l.scan_tokens(); + for (size_t i = 0; i < tokens->size(); i++) { + Token *t = (Token *) tokens->get(i); + printf("%s\n", t->to_string()); + } l.clean(); |
