#解析器 #标记化器 #Rust

模糊腌菜

一个具有高级访问者实现的 Rust 源代码的低级解析器

2 个版本

0.1.1 2020 年 8 月 18 日
0.1.0 2019 年 1 月 4 日

#1086解析器实现

MIT/Apache

430KB
10K SLoC

模糊腌菜

虽然有很多高质量的 Rust 解析器,但还需要一种不同类型的解析器来提供 Strata Rust 所需要的详细数据。为此,模糊腌菜使用了 Peresil 解析工具包构建。该解析器旨在

  • 成为一个 Rust 源代码的低级解析器,提供对包括空白在内的直接解析结构的无限制访问。
  • 提供一个更容易使用的访问者接口,可以快速收集有关 Rust 代码的信息。
  • 提供合理的解析错误质量。
  • 解析所有语法上有效的 Rust 代码。

它也有反目标!解析器不

  • 尝试执行 Rust 代码的 语义 分析。
  • 保证拒绝所有语法上无效的代码。

贡献机会

一个项目总是需要来自感兴趣的人的帮助!

入门级机会 🌟

这些是任何人都可以帮忙的事情!

  • 运行解析器对您的 Rust 文件或您所知道的一个特别有趣的文件进行解析。
  • 缩小一个无法解析的文件以构建一个测试用例。

中级机会 🌟🌟🌟

这些可能需要深入代码并添加新代码或更改现有代码。

  • 增强解析器以识别当前无法识别的代码。
  • 验证一段代码是否正确解析。

请在开始之前打开一个问题,如果看起来一个功能需要不仅仅是直接添加的话!

高级机会 🌟🌟🌟🌟🌟

这些是可能需要大量努力并且在开始之前应该讨论在问题中的强大功能请求。

  • 执行宏展开

许可

模糊腌菜在 MIT 许可证和 Apache 许可证(版本 2.0)的条款下分发。

作者

这个包是由 Integer 32 的 Jake Goulding 创建的。

依赖项

~1.5MB
~38K SLoC