19 lines
620 B
Python
19 lines
620 B
Python
from smnp.ast.node.none import NoneNode
|
|
from smnp.program.interpreter import Interpreter
|
|
from smnp.runtime.evaluator import Evaluator
|
|
|
|
|
|
class ImportEvaluator(Evaluator):
|
|
|
|
@classmethod
|
|
def evaluator(cls, node, environment):
|
|
if type(node.type) == NoneNode:
|
|
cls._evaluateCodeImport(node, environment)
|
|
else:
|
|
raise RuntimeError("Importing types is not implemented yet")
|
|
|
|
@classmethod
|
|
def _evaluateCodeImport(cls, node, environment):
|
|
source = node.source
|
|
newEnvironment = Interpreter.interpretFile(source.value)
|
|
environment.extend(newEnvironment) |