Scala 解析器组合器:如何解析“if(x)”如果 x 可以包含“)”
我正在尝试让它工作: def emptyCond: Parser[Cond] = ("if" ~ "(") ~> regularStr Cond("",Nil,Nil) } 其中 regularStr 被定义为接受许多内容,包括…
scala 中递归解析器的高级控制
val uninterestingthings = ".".r val parser = "(?ui)(regexvalue)".r | (uninterestingthings~>parser) 此递归解析器将尝试解析“(?ui)(regexvalue)…
scala StdLexical 中的词法换行符?
我正在尝试 lex(然后解析)类似 C 的语言。在 C 中,有一些预处理器指令,其中换行符很重要,然后是实际代码,其中换行符只是空格。 实现此目的的一…
Scala:如何组合来自不同对象的解析器组合器
给定一系列实现解析器组合器的对象,我如何组合解析器?由于 Parsers.Parser 是一个内部类,在 Scala 中 内部类绑定到 外部对象,故事变得稍微复杂一…
出了什么问题:“值解析器不是 scala.util.parsing.combinator 包的成员”?
我收到了上述奇怪的错误消息,我不明白“值解析器不是包 scala.util.parsing.combinator 的成员”。 我正在尝试通过逐步编写 C 解析器来学习解析器组…
Scala 解析器组合器与 Haskell 的 Parsec 相比如何?
Closed. This question needs to be more focused. It is not currently accepting answers. 想要改进这个问题吗?通过编辑这篇文章来更新问题,使其…
解析器组合器没有终止 - 如何记录发生了什么?
我正在尝试解析器组合器,并且经常遇到看似无限递归的情况。这是我遇到的第一个问题: import util.parsing.combinator.Parsers import util.parsing.…
Scala 解析器标记分隔符问题
我正在尝试为下面的命令定义语法。 object ParserWorkshop { def main(args: Array[String]) = { ChoiceParser("todo link todo to database") Choice…
访问 Scala 解析器正则表达式匹配数据
我想知道是否可以从下面的语法中的匹配正则表达式生成MatchData。 object DateParser extends JavaTokenParsers { .... val dateLiteral = """(\d{4}[…
Scalas/Haskells 解析器组合器足够了吗?
我想知道 Scala/Haskells 解析器组合器是否足以解析编程语言。 更具体地说是MiniJava 语言。 我目前正在阅读编译器构造,jflex 和 java cup 工作起来…
EBNF 到 Scala 解析器组合器
我有以下要解析的 EBNF: PostfixExp -> PrimaryExp ( "[" Exp "]" | . id "(" ExpList ")" | . length )* 这就是我得到的: def postfixExp: Parser[…