From 6c7fc844cebe201408017602ff54bf442df0da25 Mon Sep 17 00:00:00 2001 From: Ognyan Date: Sun, 14 Oct 2018 22:01:06 +0300 Subject: "Lexer string errors implemented." --- JSImpl/src/Lexer.h | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'JSImpl/src/Lexer.h') 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 -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 Tokenize(const char* code, const std::function& onError = {}); +struct LexerResult +{ + bool IsSuccessful; + IPLError Error; +}; + +LexerResult Tokenize(const char* code, IPLVector& tokens); -- cgit v1.3.1-23-gd82d