From 46461c9de03434be29c6088d093007a80e8810e0 Mon Sep 17 00:00:00 2001 From: DrMaxNix Date: Fri, 9 Sep 2022 13:34:55 +0200 Subject: [PATCH] :sparkles: tokenize question mark --- src/lexer.js | 8 +++++++- src/main.js | 3 ++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/lexer.js b/src/lexer.js index 44a71f8..eae7d9f 100644 --- a/src/lexer.js +++ b/src/lexer.js @@ -180,7 +180,8 @@ class Juicescript_lexer { break; - // AMPERSAND // + // SPECIAL CHARS // + // ampersand case "&": // only if there's a dollar sign after it if(this.peek() === "$"){ @@ -193,6 +194,11 @@ class Juicescript_lexer { this.error("unexpected character '" + this.char + "'"); break; + // question mark + case "?": + this.token_add({type: Juicescript.token_type.QUESTION_MARK}); + break; + // EVERYTHING ELSE // default: diff --git a/src/main.js b/src/main.js index 4cdce44..ae56e62 100644 --- a/src/main.js +++ b/src/main.js @@ -23,7 +23,7 @@ class Juicescript { "BRACKET_CURLY_OPEN", "BRACKET_CURLY_CLOSE", // special chars - "AMPERSAND", + "AMPERSAND", "QUESTION_MARK", // delimiters "DELIMITER", @@ -79,6 +79,7 @@ class Juicescript { // run lexical analysis let token_list = lexer.scan(); + /**/console.log(token_list); // stop here if unsuccessful if(lexer.error_count > 0) return false;