4.1.1 |
|
---|---|
4.0.0 |
|
3.1.0 |
|
2.1.0 |
|
1.0.2 |
|
#144 在 #parser-combinator
59 每月下载量
28KB
511 代码行
非正式
这是一个基于宏的解析器组合库。
lib.rs
:
非正式是一个库,可以帮助您使用几个简单的声明性宏来构建自己的解析器。
每个宏都会转换为具有以下类型的函数:fn (String, usize) ->
ParseResult
。
使用方法
informal
中的宏主要是编写解析函数的语法糖,因此它们最终看起来像简化的函数声明。
informal
宏将接受一个标识符,然后是一个包含该解析器的一个或多个子解析器的代码块,具体取决于宏。
示例
例如,通过调用如下所示的 just!
宏来解析终端符号
just!( pub plus { "+"; } );
注意,您可以像常规函数一样指定 pub
可见性。
上述宏调用声明了一个函数,可以使用您提供的相同标识符通过 String
和 usize
作为参数来调用。
assert!( plus ( String::from("+"), 0 ).is_ok() );
依赖关系
~2–3MB
~53K SLoC