AGL: A Grammar Language (or maybe Akehurst Grammar Language!)
Generic Language (DSL) support for kotlin multiplatform (parser, syntax-analyser, formatter, processor, etc)
There are many parser technologies, frameworks, generators, libraries
that already exist. When I first started this one in about 2007 there was none that
met all the requirements that I have. It has taken me several years (too many) to finally
reach the stage where I am happy to publish it. (mostly because it was a home project and not
worked on very frequently until the last couple of years, 2017/2018).
My Requirements:
- Simple grammar for defining a language with no restrictions
-- i.e. should support left & right recursive rules,
- Useable in Java and Javascript (other platforms/languages a bonus but not essential)
- No need to worry about keyword/identifier clashes
- Interpreted at runtime, i.e. no generate parser step.
- Supports families of languages, i.e. grammar composition/extension
Other
Articles
TODO
lots:
- performance improvements
- PT is not always what one expects
Build
There are currently a number of failing tests, these indicate things to be fixed, and desired performance improvements.
To build locally the latest version, use assemble
or publishToMavenLocal
.
> cd net.akehurst.language
> ./gradlew clean assemble