Skip to content
Randall O'Reilly edited this page Dec 31, 2018 · 8 revisions

Welcome to the GoPi wiki!

This wiki contains docs for using the GoPi Interactive Parser and applying it to new languages.

The README file provides an overview of the overall strategy and approach -- the wiki has more of the details.

See the Go Doc for API docs.

Status: as of 1/2019, it is fully functional for parsing Go and supporting all the Gide completion and other functionality that depends on parsing. It has a few remaining issues with some very low-frequency expressions (see end of README), but is plenty robust for IDE-level usage.

Lexing:

PassTwo:

Parsing:

Languages:

  • FileState -- master state record for a given file
  • Langs -- general language support
  • Cache -- how parse state is cached
  • Go -- details about Go-specific processing