【发布时间】:2015-08-25 04:50:39
【问题描述】:
我正在尝试使用Scala Combinator-Parsing 来解析和算术运算,其中至少一个变量是字符串。我是 scala 的初学者,我喜欢它的这个功能!
例如我想解析:
(数字 + 2) * 4
它有一个很好的解析数字(带括号的浮点数和整数)的例子,例如:
class Arith extends JavaTokenParsers {
def expr: Parser[Any] = term~rep("+"~term | "-"~term)
def term: Parser[Any] = factor~rep("*"~factor | "/"~factor)
def factor: Parser[Any] = floatingPointNumber | "("~expr~")"
}
这个是字符串:
object MyParsers extends RegexParsers {
val ident: Parser[String] = """[a-zA-Z_]\w*""".r
}
如何更改第一部分以解析数字旁边的字符串?
【问题讨论】:
标签: scala parsing arithmetic-expressions