Skip to content

Latest commit

 

History

History
48 lines (37 loc) · 2.23 KB

README.md

File metadata and controls

48 lines (37 loc) · 2.23 KB

Maven Central npm Generic badge

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