Hmm, weirdly that seemed to be caused not by the parse rules themselves, 
but by the as(:label)s I added to them. Adding an _additional_ 
.as(:label) in a certain place somehow solved this, I can't explain it. 
I could give you my entire complicated parser, but I don't expect anyone 
else to try and understand it.

On 3/14/2011 7:23 PM, Jonathan Rochkind wrote:
> Okay, yeah, I'm trying to do complicated things. But without getting
> into my entire list of parse rules and asking you to do my work for me,
> have you ever seen an exception like this before?  When I try a certain
> variation of my parse rules, on certain input, I get this exception from
> parslet, which I was not expecting (just including the first part of the
> stack trace):
>
> ArgumentError: wrong number of arguments (1 for 0)
>           from
> /usr/lib64/ruby/gems/1.8/gems/parslet-1.2.0/lib/parslet/atoms/base.rb:184:in
> `flatten'
>           from
> /usr/lib64/ruby/gems/1.8/gems/parslet-1.2.0/lib/parslet/atoms/base.rb:184:in
> `flatten_repetition'
>           from
> /usr/lib64/ruby/gems/1.8/gems/parslet-1.2.0/lib/parslet/atoms/base.rb:115:in
> `flatten'
>           from
> /usr/lib64/ruby/gems/1.8/gems/parslet-1.2.0/lib/parslet/atoms/base.rb:107:in
> `flatten'
>           from
> /usr/lib64/ruby/gems/1.8/gems/parslet-1.2.0/lib/parslet/atoms/base.rb:106:in
> `map'
>           from
> /usr/lib64/ruby/gems/1.8/gems/parslet-1.2.0/lib/parslet/atoms/base.rb:106:in
> `flatten'
>           from
> /usr/lib64/ruby/gems/1.8/gems/parslet-1.2.0/lib/parslet/atoms/named.rb:34:in
> `produce_return_value'
>

Reply via email to