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