PEGO

Design Records

Each record explains a decision in the design of PEGO and the alternatives that were considered.

RecordStatusDate
001. Grammar JSON MarshallingFinal2025-06-29
002: Transparent Choice by DefaultImplemented2025-06-29
003. SCC-Based Memoization and Left-Recursion SupportImplemented2025-06-30
004. Stabilizing Left Recursion in the VMSuperseded2025-06-30
005. Pratt Expressions (pratt)Implemented2026-10-07
006. Syntax Error Reporting and Error RecoveryImplemented2026-10-07
007. Stream Parsing and Incremental ParsingImplemented2026-10-07
008. Generating Go ParsersImplemented2026-10-07
009. Saving and Loading Compiled Grammars (.pegoc)Implemented2026-10-07
010. Bytecode VMAccepted2026-10-07
011. Source formatting that keeps commentsImplemented2026-10-07
012. Typed Values in Generated ParsersImplemented2026-10-08
013. Generating TypeScript ParsersImplemented2026-10-08
014. Tracing and ProfilingImplemented2026-10-08
015. Grammar-Based Input GenerationImplemented2026-10-08
016. Web Site and PlaygroundImplemented2026-10-08
017. A language server for PEGO grammarsImplemented2026-10-08
018. Grammar LintingImplemented2026-10-08