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