Skip to content

johnedquinn/kanonic

Repository files navigation

Kanonic

Kanonic is a fast LR(1) parser generator operating on the JVM.

While Java is understood to be the language of the software industry, there hasn't been an adequate parser generator operating on the JVM that accomplishes one of the main pre-requisites for companies: speed. This project aims to tackle this problem by leveraging the speed and expressiveness of LR(1) grammars.

About

Check out Kanonic's Documentation for information regarding the Kanonic syntax, example usage, code generation, and more!

Status

This project is a work-in-progress and should be considered experimental.

Building

./gradlew clean assemble

Using the Tool

First, you'll need to install the kanonic command:

./gradlew :kanonic-tool:install

Then, run the command on a Kanonic file:

./kanonic-tool/build/install/kanonic-tool/bin/kanonic ./examples/calculator.knc

Or, see more options:

./kanonic-tool/build/install/kanonic-tool/bin/kanonic --help

Please see the documentation for more information!