parsec

    4熱度

    4回答

    import Data.Attoparsec.Text.Lazy import Data.Text.Lazy.Internal (Text) import Data.Text.Lazy (pack) data List a = Nil | Cons a (List a) list :: Text list = pack $ unlines [ "0" , "1"

    2熱度

    1回答

    哪裏可以找到Parsec實施的測試? Parsec's darcs repository上沒有任何東西。 注意:我不是問如何爲Parsec解析器編寫測試,我正在尋找Parsec庫本身的測試。

    2熱度

    1回答

    我想爲尖括號中逗號分隔的一對值編寫解析器。我把它用下面的方法工作: pair p1 p2 = do x1 <- p1 comma x2 <- p2 return (x1, x2) data Foo = Foo (Bar, Bar) foo :: Parser Foo foo = Foo <$> (angles $ pair bar bar) 但

    2熱度

    2回答

    我想讀取一個腳本文件,然後處理並輸出到一個html文件。在我的腳本文件中,每當有一個@title(這是一個標題),我將在我的html輸出中添加標籤[header]這是一個標題。所以我的方法是先讀取腳本文件,將內容寫入字符串,處理字符串,然後將字符串寫入html文件。 在其他識別@title時,我需要在字符串中逐字符讀取字符。當我閱讀'@'時,我需要檢測下一個字符,看看它們是否有問題。 問題:如何遍

    2熱度

    1回答

    我想在haskell中實現js解析器。但我堅持使用自動分號插入。我創建了test project來解決問題,但我無法弄清楚如何解決問題。 在我的測試項目計劃是一個表達式列表(一元或二元): data Program = Program [Expression] data Expression = UnaryExpression Number | PlusExpression

    0熱度

    2回答

    我與Haskell的初學者,所以它可能是很明顯的,我做錯了什麼...... 雖然試圖解析"1:1,2, 2:18, 3:100"到[(1,1), (1,2), (2,18), (3,100)]我被困在一個超前。 要知道一個數字是否是一個經文編號,它應該向前看一個冒號,因爲它是一個章節號碼。 問題在於最後一個函數verseNr,如果沒有冒號後面的話,它應該解析+使用該數字,否則失敗而不消耗任何東西(

    2熱度

    1回答

    解析鬍鬚模板時,Parsec識別註釋時出現問題。 各種小鬍子標籤都以{{開頭,包括塊註釋({{!comment}})。 我已經對我的TokenParser中的{{!和}}設置了評論開始和評論。 每當我向模板添加評論時,Parsec都會抱怨評論意外。 它需要一個mustache變量,因爲這是匹配{{的唯一標記。 Parsec何時刪除評論?我認爲這會發生在源打擊我的解析器之前?

    0熱度

    1回答

    這裏是我認爲不應該引起任何問題的代碼,但由於某種原因呢? program = expr8 <|> seqOfStmt seqOfStmt = do list <- (sepBy1 expr8 whiteSpace) return $ if length list == 1 then head list else Seq list 我得到3個錯誤

    0熱度

    3回答

    我想使用Parsec包在Haskell中編寫解析器。輸入規則的一部分需要解析器匹配規則選項。在規則之外,多於一個規則可能匹配,但至少至少一個規則必須匹配,否則預計分析器會產生錯誤。 讓我舉個例子。假設我們有兩個名爲first和more的Parsec規則。有可能是: 輸入匹配first後跟more; 輸入只匹配first;或者 輸入只匹配more。 在任何情況下,至少有一個first或more必須匹

    0熱度

    1回答

    我在Haskell中寫了一個反對象,我需要一個解析有效的Haskell變量標識符的Parsec組合器。 在quasiquoting庫中是否已經實現了一個,還是我需要編寫自己的? 我希望我並不需要複製/粘貼http://www.haskell.org/haskellwiki/Quasiquotation發現的ident實施。