XL Compilers Design and Implementation

There are several XL compilers, but they all follow the same basic architecture:

Design differences between XL2 and XLR

The primary difference between the XL2 and XLR implementations are the following:

These differences result from the different usage models for the two languages.

Low-Level Virtual Machine (LLVM)

LLVM stands for Low-Level Virtual Machine.

The LLVM project (http://llvm.org) is a collection of modular and reusable compiler and toolchain technologies. It started as a research project at the University of Illinois.

It is used in XLR as a back-end for dynamic code generation.