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.
Check out Kanonic's Documentation for information regarding the Kanonic syntax, example usage, code generation, and more!
This project is a work-in-progress and should be considered experimental.
./gradlew clean assemble
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!