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' >
