Thread: [Pyparsing] Proposed notational shortcut for setResultsName
Brought to you by:
ptmcg
From: Paul M. <pa...@al...> - 2007-05-24 15:59:11
|
After the posts on c.l.py from Paul Boddie and Steven Bethard, it got me to thinking about how to supply a notational shortcut to make setResultsName'ing easier. I've added this post to the pyparsing wiki Home page Discussion (http://pyparsing.wikispaces.com/message/view/home/606302): ------------ I got to thinking after some postings on comp.lang.python about adding a notational short cut for setResultsName. I really want to encourage people to use named elements in their grammar, but that method name is just long and ugly, and grammar-cluttering. So how about adding a shortcut for setResultsName, using getitem? With this short cut, this code: userdata = Word(alphas).setResultsName("name") + Word(nums+"-").setResultsName("socsecno") could be written as: userdata = Word(alphas)["name"] + Word(nums+"-")["socsecno"] Any comments? Alternatives? ------------ I'm inclined to make this change, but I'd like a little feedback from those who are using pyparsing. I've not gotten any replies yet, so I'm trying the other pyparsing communication channels (short of intruding on c.l.py). If you have any comments, please reply here, or add them to the Wiki discussion. Thanks! -- Paul |
From: Ralph C. <ra...@in...> - 2007-05-24 23:38:55
|
Hi Paul, > So how about adding a shortcut for setResultsName, using getitem? With this > short cut, this code: > > userdata = Word(alphas).setResultsName("name") + > Word(nums+"-").setResultsName("socsecno") > > could be written as: > > userdata = Word(alphas)["name"] + Word(nums+"-")["socsecno"] It just seems odd to use getitem to "set" something, i.e. the results name. What about having "_" as an attribute function instead so it isn't too obtrusive? userdata = Word(alphas)._("name") + Word(nums+"-")._("socsecno") Or userdata = Word(alphas, n = "name") + Word(nums+"-", n = "socsecno") Cheers, Ralph. |