Qu'est-ce que les points de suspension (chaîne vide) utilisée dans une grammaire arboricole (PEG)?
Question
Le site arboricole donne l'explication suivante que je ne comprends pas
Ellipsis Une chaîne vide correspond à une position et ne consomme pas d'entrée. Il est utile lorsque vous souhaitez traiter un seul symbole dans le cadre d'une séquence, par exemple lorsqu'une règle alternative sera traitée en utilisant le code partagé.
Règle alts (Foo bar / baz '') { valeur def elements.map {| e | e.text_value} fin } fin
est utile pour traiter un symbole comme une partie de la séquence? Quelqu'un peut-il donner un exemple significatif de cela?
La solution
Je ne suis pas familier avec arboricole. Dans l'exemple, il semblerait que ( foo bar / baz '' )
serait soit produit ['foo', 'bar']
ou ['baz', '']
.
Si vous supprimez les points de suspension, vous obtiendrez soit ['foo', 'bar']
ou juste 'baz'
(pas de séquence / liste / tableau).