J'apprends à écrire un simple analyseur-analyseur. J'écris les règles de bas en haut et j'écris des tests unitaires pour vérifier au fur et à mesure. Cependant, je suis bloqué à l'aide de repsep() avec des espaces comme séparateur.scala: parser help
object MyParser extends RegexParsers {
lazy val listVal:Parser[List[String]]=elem('{')<~repsep("""\d+""".r,"""\s+""".r)~>elem('}')
}
La règle a été simplifiée pour illustrer le problème. Quand je l'analyseur avec nourrirai "{1 2 3}", il se plaint toujours qu'il ne correspond pas à:
[1.4] échec: `} 'attendu mais 2 trouvé
I' Je me demande quelle est la bonne façon d'écrire une règle comme je l'ai décrit?
Merci
en changeant 'repsep (" "" \ d + "" ".r ...)' en 'rep (" "" \ d + "" ". R)'? – svrist