Features

Mathias edited this page Jan 26, 2011 · 4 revisions

These are the main features parboiled offers:

  1. 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.)
  2. 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
  3. 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
  4. 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).

Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.