Използвам комбинатора за анализатор на scala за извличане на идентификатори ("a" и "ACCOUNT_ID") във входния низ. Когато използвам ~>, той игнорира всички предишни части на низа вместо непосредствения предшестващ низ. Може ли някой да ми помогне с извличането на 2 идентификатора от входния низ с помощта на Scala Parser Combinators? Оценявам помощта ти
class QParser extends JavaTokenParsers with RegexParsers {
def join: Parser [Any] = opt(ident) ~ (opt("(")) ~ ident ~ "." ~> ident <~ opt(",") <~ ident <~ opt(")")
}
object QueryParser extends QParser {
def main(args: Array[String]){
println(parseAll(join,"convert(a.ACCOUNT_ID, string)"))
}
}