#parser-combinator #proc-macro #combine #macro

combine-proc-macro

支持使用 combine 解析器组合器与 proc_macro API 结合使用

4 个版本

0.3.1 2019 年 5 月 1 日
0.3.0 2019 年 4 月 30 日
0.2.1 2019 年 4 月 28 日
0.2.0 2019 年 4 月 28 日

#277解析工具

Download history 32/week @ 2024-03-13 67/week @ 2024-03-20 38/week @ 2024-03-27 92/week @ 2024-04-03 22/week @ 2024-04-10 6/week @ 2024-04-24 8/week @ 2024-05-01 55/week @ 2024-05-08 49/week @ 2024-05-15 29/week @ 2024-05-22 6/week @ 2024-05-29 26/week @ 2024-06-05 33/week @ 2024-06-12 35/week @ 2024-06-19 22/week @ 2024-06-26

每月 120 次下载
用于 crabwise-antlr-parser

MIT/Apache

24KB
467

combine-proc-macro

combine-proc-macro on docs.rs

一个库,允许使用 proc_macro 函数宏通过 combine 解析器组合器库进行解析。

用法

将此内容放入您的 Cargo.toml

[dependencies]
combine-proc-macro = "0.3.1"

并将其放入您的包根目录

extern crate combine_proc_macro;

要了解库的用法,请参阅一些示例

  • 文档 中的 hello_macro
  • crabwise-antlr-parser 中的 语法定义
  • 使用 crabwise-antlr-parser 实现的 #[proc_macro] 示例

动机

当编写一个 #[proc_macro_derive] 时,输入是 Rust 源代码,它得到了 syn 包的支持。然而,当编写一个 #[proc_macro] 宏时,通常需要定义一个自定义领域特定语言。

此包允许您使用 combine 解析器组合器库编写 DSL 的解析器。它还在解析结果中保留了源 span 信息,以便 rustc 为重新用于输出的标识符和字面量提供正确的源位置。

许可证

此库根据 MIT 许可证和 Apache 许可证(版本 2.0)的条款进行许可,可能包括包含其自身版权声明和许可条款的第三方编写的包。

有关详细信息,请参阅 LICENSE-APACHELICENSE-MITCOPYRIGHT

依赖关系

~1.5MB
~27K SLoC