Nigel, Thank you very much for putting that together.
I was wondering if there might be a more general technique for optionals. The truth of the matter is that this is just a small piece of the grammar. There are several more elements, and some of those will also be optional. I was trying to avoid a combinatorial explosion to deal with every case. It sounds as if you were thinking the same, but hit some of the snags I ran into. You gave me some new ideas I hadn't thought of. That's always good. I very much appreciate that you looked into my question. From: [email protected] [mailto:[email protected]] On Behalf Of Nigel Thorne Sent: Friday, March 07, 2014 10:42 PM To: [email protected] Subject: Re: [ruby.parslet] transformation on parser with optional fields see https://gist.github.com/NigelThorne/9425445#file-example-rb Have two rules, one for the default version and one for the 'with offset' version. I thought you could transform to add a default value, then have other rules just match it... but that didn't work for me. Cheers Nigel --- "Man, I'm going to have so many chickens when this lot hatch!" On Sat, Mar 8, 2014 at 4:25 AM, Foster, Ron <[email protected]<mailto:[email protected]>> wrote: Hi. Am having some trouble composing a transform on a grammar that has an optional field. A simple example: I'm looking for a formatting code: e.g. " d ", But it could include an optional offset specification: " [16] d " If that optional field is there, I need to grab the number between the brackets. Ot herwise, I can assume it to be zero. I can parse both forms ok, But haven't figured out how to build a transform to handle both the presence or absence of the optional digits in brackets. Any suggestions would be greatly appreciated. Thanks.
