Swift Package Index



GrammarKit is a framework that can tokenize, parse, and generate abstract syntax trees for any grammatical language, in particular programming languages but also written languages like English, Spanish, and even custom languages.


Swift 5.0 CI Status Version License Platform

The goal of GrammarKit is to provide a lightweight and extensible framework and scanner for grammatically scanning (or the act of tokenizing and subsequently parsing) a stream of characters using a user defined grammar definition that can attribute meaning to occurrences and/or sequences of characters that match any number of custom rules belonging to that grammar. Using this framework should allow developers to not only define any number of custom languages without the need for a complete project rebuild (just the addition of a simple XML file and/or ParserParser grammar package with the .grammar extension) but also use this scanner to apply syntax highlighting, identifier and scope recognition, and code recommendation/autocompletion in their applications.

Support to import and convert ANTLR4 .g4 grammar files to GrammarKit grammar bundle format is a long term goal of this project, as well.

General Workflow

The workflow of GrammarKit is meant to be easily integrated into development projects as an extensible microservice and not a massive blackboxed framework.

-- TODO --

Authors and Major Contributors

-- TODO --

Useful Documents