From 12eeefcdba1ee392f033f51e6b9826eaae3c4de6 Mon Sep 17 00:00:00 2001 From: Jan Tuomi Date: Mon, 13 Jun 2016 23:16:54 +0300 Subject: Add tokenizer, parser and support for certain operations --- main/core/parser/ast/SymbolNode.java | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 main/core/parser/ast/SymbolNode.java (limited to 'main/core/parser/ast/SymbolNode.java') diff --git a/main/core/parser/ast/SymbolNode.java b/main/core/parser/ast/SymbolNode.java new file mode 100644 index 0000000..1457851 --- /dev/null +++ b/main/core/parser/ast/SymbolNode.java @@ -0,0 +1,35 @@ +package com.jantuomi.interpreter.main.core.parser.ast; + +import com.jantuomi.interpreter.main.core.parser.datatype.DataContainer; +import com.jantuomi.interpreter.main.core.runtime.State; +import com.jantuomi.interpreter.main.core.tokenizer.token.Token; + +import java.util.Arrays; +import java.util.List; + +/** + * Created by jan on 11.6.2016. + */ +public class SymbolNode extends ExpressionNode { + private String symbol; + + public SymbolNode(Token token) { + super(token); + + this.symbol = token.getText(); + } + + @Override + List getChildren() { + return Arrays.asList(); + } + + public String getSymbol() { + return symbol; + } + + @Override + public DataContainer evaluate() { + return State.getInstance().getSymbolValue(symbol); + } +} -- cgit v1.3