Documentation

LanguageKit

LanguageKit provides the abstract syntax tree and compilation framework for Étoilé Pragmatic Smalltalk and EScript. LanguageKit is split into three main components:

  • The core LanguageKit framework provides the abstract syntax tree structure that front ends (such as Pragmatic Smalltalk) construct and manipulate. It also contains an AST interpreter.
  • The Runtime subframework provides a runtime library for code generated by LanguageKit. This sits on top of the Objective-C runtime and provides extra features, such as non-local returns and small integers.
  • The CodeGen framework uses LLVM to generate optimised native code from LanguageKit abstract syntax trees.

Code Generation Overview

The code generation framework generates code that is ABI-compatible with Objective-C. Classes, methods, and blocks use the same underlying representation as Objective-C.