Interpreter constructor

Interpreter()

Creates a new Interpreter instance. Initializes the global environment and defines built-in functions like print and range.

Implementation

Interpreter() {
  _environment = globals; // Start in global scope

  // register base class for Exceptions
  _registerBuiltinExceptionClasses();
  // Register all built-in functions
  _registerBuiltin("print", NativeFunction(_printBuiltin));
  _registerBuiltin("range", NativeFunction(_rangeBuiltin));
  _registerBuiltin("len", NativeFunction(_lenBuiltin));
  _registerBuiltin("str", NativeFunction(_strBuiltin));
  _registerBuiltin("int", NativeFunction(_intBuiltin));
  _registerBuiltin("float", NativeFunction(_floatBuiltin));
  _registerBuiltin("bool", NativeFunction(_boolBuiltin));
  _registerBuiltin("type", NativeFunction(_typeBuiltin));
  _registerBuiltin("abs", NativeFunction(_absBuiltin));
  _registerBuiltin("pow", NativeFunction(_powBuiltin));
  _registerBuiltin("hex", NativeFunction(_hexBuiltin));
  _registerBuiltin("oct", NativeFunction(_octBuiltin));
  _registerBuiltin("bin", NativeFunction(_binBuiltin));
  //_registerBuiltin("input", NativeFunction(_inputBuiltin));
  _registerBuiltin("list", NativeFunction(_listBuiltin));
  _registerBuiltin("dict", NativeFunction(_dictBuiltin));
  _registerBuiltin("set", NativeFunction(_setBuiltin));
  _registerBuiltin("tuple", NativeFunction(_tupleBuiltin));
  _registerBuiltin("round", NativeFunction(_roundBuiltin));
  _registerBuiltin("min", NativeFunction(_minBuiltin));
  _registerBuiltin("max", NativeFunction(_maxBuiltin));
  _registerBuiltin("sum", NativeFunction(_sumBuiltin));
  _registerBuiltin("repr", NativeFunction(_reprBuiltin));
  _registerBuiltin("ord", NativeFunction(_ordBuiltin));
  _registerBuiltin("chr", NativeFunction(_chrBuiltin));

  _registerBuiltin("isinstance", NativeFunction(_isinstanceBuiltin));
  _registerBuiltin("open", NativeFunction(_openBuiltin));
}