Skip to content
Lars Willighagen edited this page Feb 17, 2018 · 29 revisions

Roadmap

0.11.0

Goal: Improve the documentation, modernize code & infrastructure.

  • Modernize code

    • Drop IE8 support and update code accordingly (#441)
    • Drop Node.js 0.10.x & 0.12.x support and update code accordingly (#442)
    • Update code style (#443)
    • Use ESLint to enforce code style (#407)
  • Modernize infrastructure

    • Switch from Make to Gulp (#444)
    • Switch from Jasmine to Mocha/Chai (#409)
    • Rewrite bin/pegjs (#429)
  • Cleanup

    • Improve tests (#447)
    • Use a better abstraction for code generation (#448)
    • Use a better abstraction for bytecode generation (#449)
    • Don’t generate code in bytecode generator (#450)
    • Improve AST visitor definitions (#451)
  • Enhancements

  • Improve documentation

    • Enhance documentation (#42)
    • Other minor improvements (#438, #368)

List of all issues

1.0.0

Goal: Improve PEG.js parser performance significantly, create new website, release the first officially stable version of PEG.js.

  • Improve AST (#374)
  • Clean-up terminology (#375)
  • Rewrite bin/pegjs using a command-line option parsing library (#429)
  • Replace or split the benchmarking framework (#446)
  • Document best practices for writing PEG.js grammars #248

List of all issues

Post-1.0.0

Goal: A rewrite of PEG.js, not only the library but also the development toolchain.

  • Change this repository project into a monorepo using Lerna

    • @pegjs/util common code shared across the PEG.js packages
    • @pegjs/language ast classes, opcodes, basic code writer and error classes
    • @pegjs/parser
    • @pegjs/linter basic linter based on ESLint and report passes
    • @pegjs/javascript a ES5/ES2015 code generator for the PEG.js compiler
    • @pegjs/compiler
    • @pegjs/core the main api library
    • @pegjs/cli https://en.wikipedia.org/wiki/Command-line_interface
    • @pegjs/repl https://en.wikipedia.org/wiki/Read–eval–print_loop
    • @pegjs/test-* a set of packages to simplify testing PEG.js and similar tools
  • Rewrite the plugin system