Features - parboiled1/parboiled GitHub Wiki
These are the main features parboiled offers:
-
Grammar definition directly in Java or Scala source
- No external, custom format non-Java/non-Scala files
- No proprietary syntax to learn
- No break in IDE support (syntax highlighting, code navigation, refactoring, etc.)
-
Real-world ready
- Full expressive power of Parsing Expression Grammars
- Support for powerful and flexible parser actions
- Excellent parse error reporting and recovery
- Good performance
-
Very easy integration
- No external parser generator tools to manage
- No special steps complicating your build process
- No “untouchable”, generated source files in your project structure
- Open and flexible architecture to integrate easily into existing structures
-
Light-weight, easy-to-use
- Just one parsing phase (no lexer code required)
- Small, simple API
- Library is ca. 300/450 KB for Java/Scala with few dependencies
Even though parboiled was originally designed less for speed than for ease-of-use and manageability its parsing performance has improved significantly since its early releases and is now more than sufficient for most applications. It can parse its own Java 5 sources (see the Java Parser example) at a rate of approx. 55,000 lines or 2.0 million characters per second on one core of a 2.4 GHz Intel Core i5 (under OS/X Java 6).