A simple, dynamic, weakly typed, prototype based language for the JVM.
Built with invokedynamic
instruction introduced in Java 7, Cafe takes advantage of latest advances of JVM.
This project is developed with an intent to explore how a programming language runs internally
and is also a major project for the graduation year.
NOTE
This project is still under development.
In order to get in touch with Cafe Authors, join cafe-jvm-lang/cafe-lang (Gitter).
username | talk to me about... | |
---|---|---|
@dhyey-shah |
cafe grammar,semantic-analyzer,compiler back-end (IR,code-generation), runtime | |
@SaurabhPethani |
compiler front-end (RD parser, ast) | |
@supastrikaromil |
cafe grammar, compiler front-end (Tokenizer) |
Cafe is built with Gradle. Since the source code contains the Gradle wrapper scripts, the build can bootstrap itself by downloading the qualified Gradle version from the Internet.
Cafe requires Java 8 to build.
In practice you can run most Cafe code with Java 8 and beyond.
This project is built with IntelliJ IDEA and can be loaded as a gradle project. I believe any other IDEs which support gradle can load this project.
For running as a java project, java-application-plugin is already included and can be invoked with gradlew run
.
The source file to compile can be set from build.gradle
run
method.
GNU General Public License v3.0.
See LICENSE to see the full text.
We are cuurently closed for contributions.