SoTecWare.net

»Imagination is more important than knowledge, for knowledge is limited.«Albert Einstein


Thorium Scripting Language

fast & easy scripting for FreePascal

Thorium is a FreePascal based scripting language for embedded use. It is not intended to run stand alone but to integrate well into a host environment like a gaming engine.

To accomplish that integration, it makes a big use of RTTI information to allow the easy integration of host classes.

Features

Compiler / language

  • Variables, constants, functions/procedures
  • The usual control structures (if, case, while, do-while, for)
  • Break and return instructions
  • Complex and nested expressions (limitation is set at engine compile-time and depends on the kind of the expression)
  • Virtual registers
  • Basic types: String, integers and floating point numbers
  • Post-compilation optimization
  • Evaluation of constant expressions at script compile time
  • Use of host environment classes and types

Interpreter / virtual machine

  • Stable and probably free of memleaks
  • Virtual registers (the amount is set at engine compile time)

Host integration and interface

  • Import classes from the host environment for use in Thorium with various features (like fake inheritance)
  • Wrapperless (NativeCall) import of functions and fake functions (methods with constant (hidden) object parameter ("self")) from the host environment
  • Calling script functions (hah, would be fairly useless without…)
  • Import of record/struct types from the host environment
Footnotes
  1. This is only available on processor architectures supporting Little Endian (this includes i386-i686 and x86_64). It allows the direct call of a native function from within the script without the need of a wrapper function.