Skip to content

cafe-jvm-lang/cafe

Repository files navigation

CAFE: Programming Language

Build License: GPL v3 Github All Releases Join the chat at https://gitter.im/cafe-jvm-lang/cafe-lang

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.


Authors

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)

Building CAFE

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.

Java virtual machine compatibility

Cafe requires Java 8 to build.

In practice you can run most Cafe code with Java 8 and beyond.

Building

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.

Gradle Java plugin

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.

License

GNU General Public License v3.0.

See LICENSE to see the full text.

Contributing

We are cuurently closed for contributions.