如何在Scala中解析为类型
我正试图用Scala编写一个解析器,逐步建立一个具体的类型层次结构。我从以下几点开始:如何在Scala中解析为类型,scala,parser-combinators,Scala,Parser Combinators,我正试图用Scala编写一个解析器,逐步建立一个具体的类型层次结构。我从以下几点开始: private def word = regex(new Regex("[a-zA-Z][a-zA-Z0-9-]*")) private def quicktoken: Parser[Quicktoken] = "/" ~> word <~ "/" <~ (space?) ^^ { new Quicktoken(_) } 我本以为我可以写 private def matchToke
private def word = regex(new Regex("[a-zA-Z][a-zA-Z0-9-]*"))
private def quicktoken: Parser[Quicktoken] = "/" ~> word <~ "/" <~ (space?) ^^ { new Quicktoken(_) }
我本以为我可以写
private def matchTokenPartContent: Parser[MatchTokenPart] = word<~equals~quicktoken ^^ { case word~quicktoken => new MatchTokenPart(word, quicktoken)}
private def matchTokenPartContent:Parser[MatchTokenPart]=word new MatchTokenPart(word,quicktoken)}
但它不起作用。它表示word是Option[String]类型,quicktoken是String类型。我遗漏了什么?另一个优先问题:
a
private def matchTokenPartContent: Parser[MatchTokenPart] = word<~equals~quicktoken ^^ { case word~quicktoken => new MatchTokenPart(word, quicktoken)}