Qu'est-ce que les points de suspension (chaîne vide) utilisée dans une grammaire arboricole (PEG)?

StackOverflow https://stackoverflow.com/questions/8828211

  •  27-10-2019
  •  | 
  •  

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?

Était-ce utile?

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).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top