aboutsummaryrefslogtreecommitdiffstats
path: root/main/core/runtime/State.java
diff options
context:
space:
mode:
authorJan Tuomi <jans.tuomi@gmail.com>2016-06-21 21:55:23 +0300
committerJan Tuomi <jans.tuomi@gmail.com>2016-07-26 19:47:07 +0300
commit89fdf7f1f7042f057f2cbdea4be2754d87f1cca8 (patch)
tree9315443b38ab8a9e0dbd2f83bc26137bb99115d1 /main/core/runtime/State.java
parent50dd5dc0caa4e37a37123845cb2f8cf02a7dd945 (diff)
Add builtin function 'out'
Diffstat (limited to 'main/core/runtime/State.java')
-rw-r--r--main/core/runtime/State.java10
1 files changed, 9 insertions, 1 deletions
diff --git a/main/core/runtime/State.java b/main/core/runtime/State.java
index d825a3a..8563a77 100644
--- a/main/core/runtime/State.java
+++ b/main/core/runtime/State.java
@@ -1,6 +1,7 @@
package com.jantuomi.interpreter.main.core.runtime;
import com.jantuomi.interpreter.main.core.parser.datatype.DataContainer;
+import com.jantuomi.interpreter.main.core.runtime.builtins.BuiltinManager;
import com.jantuomi.interpreter.main.exception.InterpreterException;
import java.util.Arrays;
@@ -21,7 +22,14 @@ public class State {
private State() {
/* Push global scope onto the stack */
- scopes.push(new Scope());
+ Scope globalScope = new Scope();
+
+ for (Function builtin : BuiltinManager.getInstance().getBuiltins()) {
+ globalScope.addFunction(builtin.getName(), builtin);
+ }
+
+ scopes.push(globalScope);
+
}
private DataContainer resolveSymbol(String symbol) throws InterpreterException {