parsec

    1熱度

    1回答

    摺疊有沒有辦法做適當的情況下與Parsec摺疊(說我要表現得像stringCI從Data.Attoparsec.Text解析器)。 在Text.Parsec.Token中執行不區分大小寫的解析的代碼僅使用char (toLower c) <|> char (toUpper c),但沒有正確的大小寫摺疊。所以我很困惑這是否可能。

    23熱度

    3回答

    我試圖爲一個簡單的功能語言,有點像Caml的解析器,但我似乎堅持最簡單的事情。 所以我想知道是否有一些更完整的parsec解析器的例子,超越了「這是你如何解析2 + 3」。尤其是函數調用等方面。 我讀過「給你寫一個Scheme」,但是Scheme的語法很簡單,並不能真正幫助學習。 我最多的問題是如何利用try,<|>和choice正確,因爲我真的不知道爲什麼秒差距似乎永遠不會使用這個解析器解析a(

    3熱度

    1回答

    作爲學習練習,我使用parsec在測試文件中查找值。我通常使用regexp來處理這個特定的情況,但是想看看parsec是否也有意義。不幸的是,我遇到了一些問題。 數據文件由重複的部分組成,其外觀類似於以下內容。 'SHEF'是頁面之間的六個值之一和變化,我想用它來構造數據類型。 Part A SHEF Nov/14/2011 (10:52) -------------------

    12熱度

    1回答

    我在學習如何使用Parsec來編寫一個Delphi解析器,但是我一直在定義LanguageDef。 在Delphi中,有兩種類型的註釋塊,(* comments *)和{ comments }。 但是評論的類型CommentDeartEnd的LanguageDef是String,而不是[String],所以我只能放在其中一個。 所以,我試圖製作我自己的whiteSpace解析器,但我不確定我是否可

    1熱度

    1回答

    香港專業教育學院一直與這個頁面 http://book.realworldhaskell.org/read/using-parsec.html ,我試圖讓一個CSV文件解析器的工作,但我注意到, parse csvFile "(stdin)" str 總是返回 Right [["s","o"],["h","i"]] 是有一種方法來解析,工作在哪裏它只返回我可以在我的代碼中稍後使用的數組數組

    8熱度

    2回答

    我想通過實現一個小的正則表達式分析器來學習Parsec。在BNF,我的語法看起來像: EXP : EXP * | LIT EXP | LIT 我試圖在Haskell其實現爲: expr = try star <|> try litE <|> lit litE = do c <- noneOf "*" rest <- expr

    53熱度

    5回答

    似乎有一種共識,你應該使用Parsec作爲應用而不是單子。應用性分析相對於monadic分析有什麼好處? 風格 性能 抽象 是一元解析出來?

    0熱度

    1回答

    我正在解析長度編碼的二進制流,我試圖讓這個代碼編譯。組合代碼(https://github.com/jlouis/combinatorrent/blob/master/src/Protocol/Wire.hs)對於讓我繼續前進非常有幫助,但現在我陷入困境。如何在return語句中使用frame_length? data FrameCont = FINAL | MORE | BADCONT

    1熱度

    1回答

    我試圖創建一個解析器(用秒差距),即解析令牌,通過換行,逗號,分號和Unicode破折號(ndash的和mdash)分隔: authorParser = do name <- many1 (noneOf [',', ':', '\r', '\n', '\8212', '\8213']) many (char ',' <|> char ':' <|> char '-' <|> c

    1熱度

    2回答

    我正在將一些代碼從attoparsec轉換爲Parsec,因爲解析器需要生成更好的錯誤消息。 attoparsec代碼廣泛使用inClass(和notInClass)。 Parsec有沒有類似的功能,可以讓我機械地翻譯inClass -cure? Hayoo和Hoogle沒有提供任何有關此事的見解。 inClass :: String -> Char -> Bool inClass "a-c'