Pretty cool Wolfgang!
Good Job!
Let me know when you have something to test!
On Thu, Dec 9, 2010 at 4:28 AM, Wolfgang Laun <wolfgang.laun(a)gmail.com>wrote:
*Long lines:* \-escape is working satisfactorily, But I'll look
into the
option of merging lines depending on the first chars in the next line, which
would be much more attractive.
*DSLR analysis*: is a little more lenient; you may have, for instance
"when there is a foo" on a single line, and the trigger keywords
(rule,query, when then, end) may be indented.
*Substitution:* is now done "manually" rather than with
Matcher.replaceAll(). This eliminates some problems with '\' and '$' and
creates the opportunity for new features.
*New features:* I'm experimenting with using key-value pairs saved from
preceding lines to provide a replacement value for a {}-variable that isn't
defined on the current line. Also, a variable reference such as
{variable-name!function-name} is simple to implement; case conversions would
be useful functions.
[when]there is an? {entity}=${entity!lc}: {entity!ucf}()
[then]discard the fact=retract( ${entity!lc} );
But these features depend on "reasonable" {}-variable names.
*Open issue:* {}-variable may contain almost any Unicode character. This
causes much pain in the parser and even more in the expander; and users are
burdened with having to escape this or that character. Is it really a good
or important thing to be able to write a variable name like
><!@%^*|+?,/''"|&().; and/or escape sequences?? If someone would
make a
decisive statement ("has to remain as it is" OR "restrict to the usual
lexical identifier syntax") I'd appreciate this very much.
Best
Wolfgang
_______________________________________________
rules-dev mailing list
rules-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-dev
--
- CTO @
http://www.plugtree.com
- MyJourney @
http://salaboy.wordpress.com
- Co-Founder @
http://www.jbug.com.ar
- Salatino "Salaboy" Mauricio -