The Jaguar Compiler project aims at adding asynchronous support to the Tiger language.
Take a look at the proposal.md in order to see more about the specifications of the project.
The project has been done for the PRPA class, (parallel programming). The code we want to achieve at the end is something similar to this:
let
var buf := async read(10) /* Asynchronous call */
in /* This happens in parallel with the read. */
for i := 0 to 300000 do /* ... */
(); /* ... */
/* ... */
print_int(buf) /* Here, we wait for the asynchronous call to be */
/* finished, and return the value. */
end
The sources of the Tiger Compiler
itself cannnot be open-sourced, since it
remains an assignment to the EPITA students.
The Tiger Compiler, also called TC
, is a project aiming at the implementation
of a Tiger language compiler, in C++.
The compiler implementation is based on the book "Modern Compiler Implementation" by Andrew W. Appel.
TC compiles Tiger source to:
- x86
- ARM
- MIPS
or LLVM
, which allows us to target more architectures.