Compiled Euphoria

Compiled Euphoria is an idea I had to speed up Euphoria programs, decrease the size of the programs, and make it easier to build an interpreter. Compiled Euphoria is specifically an instruction set and bytecode file format for a mix of low-level and high-level features.

For example, in Euphoria Assembly, there is no while statement (you must use jumps), but there are sequence operations. The full instruction set documentation is available here.

So far, I have written a bytecode compiler for Euphoria Assembly (in Euphoria) and two interpreters (one in Euphoria and one in C++). If there is enough interest in it, I might also write a Euphoria to Euphoria Assembly translator, or anyone else who wants to can download my programs and documentation and write their own translator, compiler, or interpreter.

Current Performance

Euphoria interpreter: 82 sieves per second

C++ interpreter: 400+ sieves per second

ex.exe (official Euphoria interpreter): 3000+ sieves per second