CH02-Features

  1. 以 Java、Scala 源码的形式定义文法。
    • 没有外部的、非 Java/Scala 源码格式的文件。
    • 无需学习额外的特有语法。
    • 无需破坏 IDE 支持。
  2. 真实世界可读。
    • 来自PEG的完整表现力。
    • 支持强大且灵活的解析器动作。
    • 游戏的解析错误包括与恢复。
    • 高性能。
  3. 非常易于集成。
    • 无需管理外部的解析器生成器。
    • 没有特殊的步骤使你的构建过程复杂化。
    • 你的项目结构中不再有“谜不可触”的、生成的源文件。
    • 开放、轻量的结构使得非常易于集成到现有项目结构。
  4. 轻量、易用。
  • 仅有一个解析阶段(词法分析代码不是必须的)。
  • 少量且简单的 API。
  • 整个库仅占用 300/450 KB,依赖较少。

虽然 Parboiled 最初设计的速度低于易用性和可维护性,但其解析性能自早期版本以来已显着改善,现在对于大多数应用程序来说已经足够了。它可以以近似的速率解析其自身的 Java 5 源码。以每秒 55,000 行或每秒 200 万个字符的速度运行(2.4 GHz Intel Core i5 单核,OS/X Java 6)。