jcoglan / canopy

A parser compiler for Java, JavaScript, Python, Ruby
http://canopy.jcoglan.com
Mozilla Public License 2.0
420 stars 55 forks source link

Parsing spaces in a string with Choices #57

Open luzhengyang opened 2 years ago

luzhengyang commented 2 years ago

Hi, I love your work and I have question about parse a string which has spaces using Choices. For example, I have create a grammar

grammar Weather
      root  <-  'the weather is' ('good' / 'nice')

This will not correctly parse the sentence "the weather is good" because there is a space between "the weather is" and "good". I have to add a space after the weather is in the grammar in order to parse the sentence.

grammar Weather
      root  <-  'the weather is ' ('good' / 'nice')

I'm wondering if there is a better way of doing this.

jcoglan commented 2 years ago

No, that's exactly how you're supposed to do this. Spaced aren't special, they need including in rules just as you would any other kind of character.