Website Summary Files Commits Branches @commit @diff @stats
path: root / JSImpl / src / Lexer.h
diff options
context:
space:
mode:
Commit7509dce0686d9a418975f73b3721ecaa2d534f16 (patch)
Author
 omalinov <ognyan.m@coherent-labs.com>
2018-10-21 15:20:12 +0300
Committer
 Martin Dobrev <martindobrev0@gmail.com>
2018-10-21 15:20:12 +0300
Files0dc9528a6bb780560af29b660550a05f91d7f91a /JSImpl/src/Lexer.h
IPL-7509dce0686d9a418975f73b3721ecaa2d534f16.tar
IPL-7509dce0686d9a418975f73b3721ecaa2d534f16.tar.gz
IPL-7509dce0686d9a418975f73b3721ecaa2d534f16.zip
Parent3075429adc93c18c72a77a311056debe89342aca (diff)
Lexer whitespace and commens tokens. (#13)
* Lexer can create whitespace tokens * Parse whitespaces, comments and error fixes * Brace error fix * Less explicit default settings tokenizer.
1 files changed, 12 insertions, 1 deletions
-rw-r--r--JSImpl/src/Lexer.h13
diff --git a/JSImpl/src/Lexer.h b/JSImpl/src/Lexer.h
index fb3e0a1..e17270d 100644
--- a/JSImpl/src/Lexer.h
+++ b/JSImpl/src/Lexer.h
@@ -88,6 +88,7 @@ enum class TokenType
Try,
Typeof,
Var,
+ Let,
Void,
While,
With,
@@ -97,6 +98,9 @@ enum class TokenType
True,
False,
+ Whitespace,
+ Comment,
+
Eof,
Invalid
};
@@ -115,4 +119,11 @@ struct LexerResult
IPLError Error;
};
-LexerResult Tokenize(const char* code, IPLVector<Token>& tokens);
+struct LexerSettings
+{
+ bool CreateWhitespaceTokens;
+ bool CreateCommentTokens;
+};
+
+LexerResult Tokenize(const char* code, IPLVector<Token>& tokens, const LexerSettings& settings);
+LexerResult Tokenize(const char* code, IPLVector<Token>& tokens); \ No newline at end of file