nom

    2热度

    1回答

    我试图使用Nom但得到以下错误运行cargo build --verbose时: Unable to get packages from source Caused by: Failed to unpack package `nom v0.5.0` Caused by: The filename, directory name, or volume label synt

    2热度

    1回答

    我想分析一个字符串,如"ParseThis"或"parseThis"成像字符串的向量,如["Parse", "This"]或["parse", "this"]使用nom箱子。 我试过的所有尝试都没有返回预期的结果。有可能我不明白如何使用nom中的所有函数。 我想: named!(camel_case<(&str)>, map_res!( take_till!(is_not_

    1热度

    2回答

    我工作的一个模板引擎,其中的一些语法可能是这样的: {{ somevar|filter }} 在地方的somevar可以是任意“表达”,这是说,要么是变量名称,如somevar,要么是嵌套的过滤器表达式(如{{ somevar|filter|anotherfilter }})。我试图用Rust的nom分析器组合库来解析这个问题,但是到目前为止还没有得到它的工作。 这里的解析器,我拿出这么远:

    1热度

    1回答

    我在nom中编写了一个完全无状态的分析器,现在我需要将它包装在几个有状态的层中。 我有一个名为alt_fn的顶级解析函数,它将为我提供解析输出的下一位,作为枚举变体,其细节可能不重要。 我有三件事情,我需要做的是涉及国家: 1)我需要的,如果存在一个不可变的HashMap比赛是一部分有条件地执行对alt_fn输出转换我State结构。这应该基本上像一个map!但作为一个方法调用我的结构。事情是这样

    1热度

    2回答

    我正在尝试使用nom来创建一个解析器,它将解析一些可能是众多选项之一的文本。 Nom在编译时已知值为alt!,但我的值不会。 这一直是我尝试创建我自己的解析器,可以采取Vec<String>匹配,我遇到了几个问题。 #[macro_use] extern crate nom; use nom::IResult; fn alternative_wrapper<'a>(input: &'a

    2热度

    1回答

    中匹配几个字节之一我使用nom来解析一些二进制65c816汇编数据。我的解析器结构的一部分将操作码分解为单独的表单,然后抓取它们的参数(如果有的话)。一个例子解析器目前看起来是这样的: named!(absolute_long<Instruction>, do_parse!(op: bits!(alt!( opcode!(0x0F) | opcode!(0x22) | opco