Rajat Sharma
Rajat Sharma

Reputation: 67

How to handle a long sequential composition in Scala Parser Combinators?

How can I process a sequential composition such as

(String, String) ~ (String, String) ~ (String, String) ~ (String, String) ~ (String, String) ~ (String, String) ~ (String, String) ~ (String, String) ~ (String, String) ~ (String, String) ~ (String, String) ~ (String, String) ~ (String, String) ~ (String, String) ~ (String, String)?

Normally I would handle it as

def member: Parser[(String, Any)] =
stringLiteral~":"~value ˆˆ
{ case name~":"~value => (name, value) }

How to handle a long sequential composition?

My goal is to create a Map of all (String, String) pairs.

If I try to do it similar way then it would look as

 ^^ {
 case (str1, str2) ~ (str3, str4) ~ (str5, str6).... => {
    // Add all (k,v) into a Map[String, String]
 }
}

Upvotes: 0

Views: 66

Answers (0)

Related Questions