diff --git a/compiler.nim b/compiler.nim index a61784e..ebbf296 100644 --- a/compiler.nim +++ b/compiler.nim @@ -25,7 +25,7 @@ import meta/tokenobject import meta/tokentype import meta/looptype import types/japlvalue -import types/string +import types/stringtype import types/function import tables when isMainModule: diff --git a/lexer.nim b/lexer.nim index ab45c44..e31b6e4 100644 --- a/lexer.nim +++ b/lexer.nim @@ -29,7 +29,7 @@ import strformat import tables import meta/tokentype import meta/tokenobject -import types/string +import types/stringtype import types/japlvalue # Table of all tokens except reserved keywords diff --git a/types/exceptions.nim b/types/exceptions.nim index ba1b8d2..4d2b4d9 100644 --- a/types/exceptions.nim +++ b/types/exceptions.nim @@ -15,7 +15,7 @@ ## Defines JAPL exceptions -import string +import stringtype import japlvalue import strformat import ../memory diff --git a/types/function.nim b/types/function.nim index 864a6c6..1b4df05 100644 --- a/types/function.nim +++ b/types/function.nim @@ -19,7 +19,7 @@ # code objects that can be compiled inside the JAPL runtime, pretty much # like in Python -import string +import stringtype import strformat import ../memory import ../meta/opcode diff --git a/types/operations.nim b/types/operations.nim index 4a5b3dc..923c291 100644 --- a/types/operations.nim +++ b/types/operations.nim @@ -13,7 +13,7 @@ # limitations under the License. import japlvalue -import string +import stringtype import function import exceptions import strutils diff --git a/types/string.nim b/types/stringtype.nim similarity index 100% rename from types/string.nim rename to types/stringtype.nim diff --git a/vm.nim b/vm.nim index 21a8224..96b4b9d 100644 --- a/vm.nim +++ b/vm.nim @@ -27,7 +27,7 @@ import tables import meta/opcode import types/exceptions import types/japlvalue -import types/string +import types/stringtype import types/function import types/operations import memory @@ -643,7 +643,8 @@ proc freeVM*(self: var VM) = proc initVM*(): VM = ## Initializes the VM setControlCHook(handleInterrupt) - result = VM(lastPop: Value(kind: ValueType.Nil), objects: @[], globals: initTable[string, Value](), source: "", file: "") + var globals: Table[string, Value] = initTable[string, Value]() + result = VM(lastPop: Value(kind: ValueType.Nil), objects: @[], globals: globals, source: "", file: "") # TODO asNil() ?