CongoCC Documentation¶
CongoCC is a recursive-descent parser generator that produces parsers in Java, Python, C#, and Rust from a single grammar. This documentation is organized into three guides:
the Reference Manual — the complete, precise description of the grammar language, command-line interface, settings, and generated API;
the User Guide — tutorials, how-to guides, and explanations for getting real parsing work done;
the Target Language Guide — everything specific to generating and using parsers in each supported target language.
Note
CongoCC ships as a continuously updated tool rather than as numbered releases. Where a feature’s availability matters, the page marks it with a date — for example, Added 2026-06-19.
Reference Manual
- Reference Manual
- Overview
- Invocation
- The Grammar File
- Lexical Specification
- Productions and Expansions
- Disambiguation
- Tree Building
- Code Injection
- Advanced Tokenization
- Fault-Tolerant Parsing
- Generated API
- Settings Reference
- Appendix: Construct Index
- Appendix: Grammar of the Grammar
- Appendix: Legacy Mapping
- Appendix: Glossary
User Guide
- User Guide
- Installation
- Your First Grammar
- Walkthrough: A Calculator
- Walkthrough: JSON
- Where to Go Next
- How To: Design Tokens
- How To: Resolve Choice Conflicts
- How To: Shape and Use the Tree
- How To: Structure a Project
- How To: Integrate the Build
- How To: Test Grammars and Parsers
- How To: Handle Context-Sensitive Input
- How To: Parse Large Inputs
- How To: Parse Resiliently
- How Parsing Works
- How the Lexer Works
- Design Philosophy
- Templates and Code Generation
- Troubleshooting
- FAQ
- Migrating from JavaCC / JavaCC21
Target Language Guide