fastparse

    1熱度

    1回答

    我如何描述與類型別名這個遞歸語法: type FieldValue = Seq[String] :+: String :+: Int :+: Long :+: CNil type FieldLeaf = FieldValue :+: SubField :+: CNil type SubField = Seq[Field] type Field = (String, FieldLeaf)

    0熱度

    1回答

    我有以下fastparse解析器名爲「變量」: val alphabet = 'A' to 'z' val variable: Parser[String] = P(CharsWhileIn(alphabet).!) 我想爲這個解析器像「結束」的特定詞失敗, 同時還返回一個解析器[串]。

    0熱度

    1回答

    我剛剛從fastparse 0.3.7更新爲0.4.1。 Parsed.Failure的附加內容中不再有列號值。我對源代碼進行了仔細研究,看起來功能已被刪除,儘管它仍在文檔中。現在有沒有其他的方式來獲取列信息?

    0熱度

    1回答

    我試圖使用FastParse library創建一個解析器一種非常原始的模板系統是這樣的: 你好,你的名字是{{名}},今天是{ {日期}}。 到目前爲止,我有: scala> import fastparse.all._ import fastparse.all._ scala> val FieldStart = "{{" FieldStart: String = {{ scala>

    0熱度

    1回答

    我感到困惑的是爲什麼下面的代碼使用scala fastparse 0.4.3不能進行類型檢查。 val White = WhitespaceApi.Wrapper{ import fastparse.all._ NoTrace(CharIn(" \t\n").rep) } import fastparse.noApi._ import White._ case cla

    2熱度

    1回答

    我正在嘗試使用FastParse API實現以下語法。 expr可以僅含有富,酒吧,巴茲子表達式 expr必須至少含有一個子表達的Foo /酒吧/酒吧。它不能爲空 Foo/Bar/Baz可以以任何順序出現在Expr中。 富/酒吧/巴茲不能重複,所以你可以使用他們只有一次 因此,一個有效的表達式是Expr(Baz(10),Foo(10),Bar(10))和無效的表達Expr()或Expr(Bar(1