There are a few parts:
- A bare-bones assembly language. There are 19 instructions in total.
- A spreadsheet which runs programs in this assembly language. It is pure, spreadsheet functions, single-static-assignment - no macros, iterated computation or proprietary shenanigans.
- A compiler from a very limited subset of Java (int variables, some arithmetic/bitwise/comparison operations, if/else, while loops, function calls) targeting the assembly language.