diff options
| author | Jan Tuomi <jans.tuomi@gmail.com> | 2016-06-20 20:55:22 +0300 |
|---|---|---|
| committer | Jan Tuomi <jans.tuomi@gmail.com> | 2016-07-26 19:47:02 +0300 |
| commit | d745f000d6d60b9cdf0ba40dbf80660c1aa6bc61 (patch) | |
| tree | e00ea32ae3a2d291768084544cb21429281dc0ae /main/core/parser/ast/SymbolNode.java | |
| parent | d35a37a449d31e6f4b43b937abf7b0e1fc497828 (diff) | |
Implemented general enhancements
Diffstat (limited to 'main/core/parser/ast/SymbolNode.java')
| -rw-r--r-- | main/core/parser/ast/SymbolNode.java | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/main/core/parser/ast/SymbolNode.java b/main/core/parser/ast/SymbolNode.java new file mode 100644 index 0000000..7ea8d96 --- /dev/null +++ b/main/core/parser/ast/SymbolNode.java @@ -0,0 +1,48 @@ +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 17.6.2016. + */ +public class SymbolNode extends ASTNode { + + public ParameterListNode getParameterListNode() { + return parameterListNode; + } + + public void setParameterListNode(ParameterListNode parameterListNode) { + this.parameterListNode = parameterListNode; + } + + private ParameterListNode parameterListNode; + + public void setName(String name) { + this.name = name; + } + + private String name; + + public SymbolNode(Token token) { + super(token); + } + + @Override + public DataContainer evaluate() { + return State.getInstance().getSymbolValue(name, parameterListNode.getParameters()); + } + + @Override + List<ASTNode> getChildren() { + if (parameterListNode == null) { + return Arrays.asList(); + } else { + return Arrays.asList(parameterListNode); + } + } +} |
