#parser-generator #modern #squatted

mpg

现代解析器生成器的Squatted库

1个不稳定版本

0.0.0 2022年7月4日

#2#squatted

MIT/Apache

3KB

Squatted库,用于现代解析器生成器。

如果您想合作开发此工具,请联系@CAD97。当他们在找到时间和动力时,将进行独立开发。

在此之前,请查看tree-sitter

特别是,受到matklad的帖子的启发,mpg将提供

UX

设计用于IDE优先的工具。

  • 交互式开发。在编辑语法的同时提供示例输入,并立即看到生成的语法树。
  • 内联快照测试。列在定义规则旁边的示例生成式将自动与生成的语法树一起进行测试,并在版本控制中跟踪。
  • 完全LSP支持。

API

  • 设计用于在独立的词法分析器之上使用。
  • 支持基于原则的词法反馈的拉取词法分析。
  • 优先于可重放的增量重新解析的预词法分析。
  • 生成同质的字面语法树。
  • 提供可选的字面语法树类型化视图。
  • 可通过C API在任何地方嵌入。

解析技术

  • 直接指定运算符优先级和结合性。
  • 通过后集和显式恢复点实现强大的错误容错/恢复。
  • 选择您的权衡
    • 以牺牲通用性为代价保证确定性。
    • 以牺牲歧义性为代价实现完全通用性。

不优先考虑错误语法错误消息的质量,留给用户处理。

无运行时依赖