Skip to content

Latest commit

 

History

History
41 lines (33 loc) · 1.78 KB

File metadata and controls

41 lines (33 loc) · 1.78 KB

Roadmap

General Topics

  • Extend the documentation.
  • Add benchmarks to all documentation.
  • Publish Visual Studio Code extension for syntax highlighting of GoLR files
  • Publish IntelliJ plugin for syntax highlighting of GoLR files
  • Support extended Backus-Naur form for GoLR productions
  • Add support for C backend
  • Add support for C++ backend
  • Add support for C# backend
  • Add support for Java backend
  • Add support for Python backend
  • Add support for Rust backend
  • Add support for JavaScript
  • Add support for TypeScript
  • Add the Ruby GNU Bison grammar as a well known grammar for the bison frontend. Note that this grammar is using %rule statements which we currently do not support.
  • Reduce shift/reduce conflict of the golang example to 0.

Parser Generator

  • Improve error handling for generated parser.
  • Improve performance
  • Compare performance with other generators like https://github.com/goccmack/gocc or Hyacc (https://hyacc.sourceforge.net/)
  • Introduce strongly typed wrappers for general purpose parse nodes. That way, users don't rely on children being a specific count, but can instead use named methods for directly accessing the correct child. Make sure this is a zero overhead abstraction over the parse nodes.
  • The bison frontend should support %rule.

Scanner Generator

  • Allow scanner to parse case independent (accept lower case and upper case characters if specified in one case only)

Formater

  • The GoLR formater should retain comments. Right now, comments are dropped because we parse the grammar file into a context-free grammar and regular expressions, then write those out again. As parsing the context-free grammar drops all comments, they are lost for writing out again. We need to look into mechanics to pass on dropped comments to the output.