{"id":26881184,"url":"https://github.com/johnedquinn/kanonic","last_synced_at":"2025-09-02T14:36:53.285Z","repository":{"id":153362176,"uuid":"576195646","full_name":"johnedquinn/kanonic","owner":"johnedquinn","description":"A fast LR(1) parser generator for the JVM.","archived":false,"fork":false,"pushed_at":"2023-05-01T17:52:21.000Z","size":331,"stargazers_count":5,"open_issues_count":13,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-07T23:04:55.481Z","etag":null,"topics":["jvm","lalr","lr1","parser","parser-generator"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/johnedquinn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-12-09T08:29:51.000Z","updated_at":"2023-05-01T18:22:20.000Z","dependencies_parsed_at":null,"dependency_job_id":"197373c3-a92f-4dd7-bfe6-b560e3e63655","html_url":"https://github.com/johnedquinn/kanonic","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/johnedquinn/kanonic","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnedquinn%2Fkanonic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnedquinn%2Fkanonic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnedquinn%2Fkanonic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnedquinn%2Fkanonic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/johnedquinn","download_url":"https://codeload.github.com/johnedquinn/kanonic/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnedquinn%2Fkanonic/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273298341,"owners_count":25080548,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-02T02:00:09.530Z","response_time":77,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["jvm","lalr","lr1","parser","parser-generator"],"created_at":"2025-03-31T14:53:16.296Z","updated_at":"2025-09-02T14:36:53.246Z","avatar_url":"https://github.com/johnedquinn.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Kanonic\n\nKanonic is a fast LR(1) parser generator operating on the JVM.\n\nWhile Java is understood to be the language of the software industry, there hasn't been an adequate parser generator\noperating on the JVM that accomplishes one of the main pre-requisites for companies: speed. This project aims to tackle\nthis problem by leveraging the speed and expressiveness of LR(1) grammars.\n\n## About\n\nCheck out [Kanonic's Documentation](https://github.com/johnedquinn/kanonic/wiki) for information regarding the Kanonic\nsyntax, example usage, code generation, and more!\n\n## Status\n\n*This project is a work-in-progress and should be considered experimental.*\n\n## Building\n\n```shell\n./gradlew clean assemble\n```\n\n## Using the Tool\n\nFirst, you'll need to install the `kanonic` command:\n```shell\n./gradlew :kanonic-tool:install\n```\n\nThen, run the command on a Kanonic file:\n```shell\n./kanonic-tool/build/install/kanonic-tool/bin/kanonic ./examples/calculator.knc\n```\n\nOr, see more options:\n```shell\n./kanonic-tool/build/install/kanonic-tool/bin/kanonic --help\n```\n\nPlease see the [documentation](https://github.com/johnedquinn/kanonic/wiki) for more information!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnedquinn%2Fkanonic","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjohnedquinn%2Fkanonic","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnedquinn%2Fkanonic/lists"}