diff options
| Commit | 1147692d253fb00fcd09df114652621f8d89f595 (patch) | |
|---|---|---|
| Author | 2018-10-15 09:03:03 +0300 | |
| Committer | 2018-10-15 09:03:03 +0300 | |
| Files | d530d0243407e86be9e9116e3853bf7992757ebd /JSImpl/src/Lexer.h | |
| IPL-1147692d253fb00fcd09df114652621f8d89f595.tar IPL-1147692d253fb00fcd09df114652621f8d89f595.tar.gz IPL-1147692d253fb00fcd09df114652621f8d89f595.zip | ||
| Parent | f671c0492871418a7b6fed235196b85f79236cff (diff) | |
| Parent | 202194341e3697d77077aa50652acf1042350997 (diff) | |
Merge branch 'omalinov-lexer-errors-handling'
1 files changed, 8 insertions, 4 deletions
| -rw-r--r-- | JSImpl/src/Lexer.h | 12 |
diff --git a/JSImpl/src/Lexer.h b/JSImpl/src/Lexer.h index 914b6ed..fb3e0a1 100644 --- a/JSImpl/src/Lexer.h +++ b/JSImpl/src/Lexer.h @@ -1,9 +1,8 @@ #pragma once #include "CommonTypes.h" -#include <functional> -enum TokenType +enum class TokenType { // Single-character tokens. LeftParen, @@ -98,7 +97,6 @@ enum TokenType True, False, - Eof, Invalid }; @@ -111,4 +109,10 @@ struct Token double Number; }; -IPLVector<Token> Tokenize(const char* code, const std::function<void()>& onError = {}); +struct LexerResult +{ + bool IsSuccessful; + IPLError Error; +}; + +LexerResult Tokenize(const char* code, IPLVector<Token>& tokens); |
