On 3/19/06, Dion Gillard <[EMAIL PROTECTED]> wrote: > Just a short note on jexl and where my thoughts are about a road map, i.e. > to open up any discussion. > > We've got a lot of work done under the 1.0.1 banner, which realistically is > more like a 1.1 release, in that it's not a simple bug fix version. > <snip/>
+1, in fact I'm quite sure this needs to be a 1.1 so I went ahead and sketched a quick release plan here: http://wiki.apache.org/jakarta-commons/JEXL/1.1ReleasePlan > The plan to get 1.0.1/1.1 ready is to implement the rest of the remaining > missing grammar items (foreach statement and bitwise operators), and > introduce a Jexl Script/ScriptFactory for loading and executing scripts. > <snap/> Yup, thanks for much of the work on this. I had earlier expressed interest in the Jexl Script, I have interesting downstream uses for it in SCXML. > Once 1.0.1/1.1 is done, I'd like to revisit the current implementation of > Jexl, and use the visitor pattern, that javacc generates for us, to > implement the features of Jexl, instead of altering the grammar generated > classes. That would be Jexl 2.x. > > Using vistors instead of altering the grammar code, should allow us to more > easily extend Jexl, changing variable lookup and resolution etc. > > The main thrust is to separate the Expression/Script execution from the > grammar. > > Thoughts/ideas? > <snip/> For longer term, I also have this [1] in mind to eliminate a sub-optimal usage pattern that is currently used with JexlContext's to support the scoping rules that play into variable definitions within an SCXML document. I suspect these usecases are quite generic, and will be useful outside SCXML as well. -Rahul [1] http://marc.theaimsgroup.com/?l=jakarta-commons-dev&m=113684230613262&w=2 > -- > http://www.multitask.com.au/people/dion/ > Chuck Norris sleeps with a night light. Not because Chuck Norris is afraid > of the dark, but because the dark is afraid of Chuck Norris > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
