From a48ab32ea87b156145ccc454cdf71dc01cdda0fa Mon Sep 17 00:00:00 2001 From: Jan Tuomi Date: Tue, 21 Jun 2016 20:23:32 +0300 Subject: Add string literals --- main/core/tokenizer/token/Token.java | 2 ++ .../tokenizer/token/types/StringLiteralToken.java | 33 ++++++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 main/core/tokenizer/token/types/StringLiteralToken.java (limited to 'main/core/tokenizer') diff --git a/main/core/tokenizer/token/Token.java b/main/core/tokenizer/token/Token.java index 2582590..f058391 100644 --- a/main/core/tokenizer/token/Token.java +++ b/main/core/tokenizer/token/Token.java @@ -155,6 +155,8 @@ abstract public class Token { case IntegerLiteralToken: return new IntegerLiteralToken(text); + case StringLiteralToken: + return new StringLiteralToken(text, rawText); case AdditionToken: return new AdditionToken(); case SubtractionToken: diff --git a/main/core/tokenizer/token/types/StringLiteralToken.java b/main/core/tokenizer/token/types/StringLiteralToken.java new file mode 100644 index 0000000..8d6cb8a --- /dev/null +++ b/main/core/tokenizer/token/types/StringLiteralToken.java @@ -0,0 +1,33 @@ +package com.jantuomi.interpreter.main.core.tokenizer.token.types; + +import com.jantuomi.interpreter.main.core.parser.ast.ASTNode; +import com.jantuomi.interpreter.main.core.parser.ast.StringLiteralNode; +import com.jantuomi.interpreter.main.core.tokenizer.token.Token; +import com.jantuomi.interpreter.main.exception.InterpreterException; + +import java.util.Arrays; +import java.util.List; + +/** + * Created by jan on 21.6.2016. + */ +public class StringLiteralToken extends Token { + public StringLiteralToken(String text, String rawText) { + super(Type.StringLiteralToken, text, rawText); + } + + @Override + public ASTNode generateNode() throws InterpreterException { + return new StringLiteralNode(this); + } + + @Override + public Token setArguments(List args) { + return this; + } + + @Override + public List getChildren() { + return Arrays.asList(); + } +} -- cgit v1.3