[rules-dev] Drools syntax diagrams - redrawn
Mark Proctor
mproctor at codehaus.org
Wed Sep 22 11:03:28 EDT 2010
On 22/09/2010 14:40, Wolfgang Laun wrote:
> Service:
> http://www-cgi.uni-regensburg.de/~brf09510/syntax.html
> <http://www-cgi.uni-regensburg.de/%7Ebrf09510/syntax.html>
>
> The grammar syntax is the same as used in DRL.g but stripped of all
> the antsy additions, and simplified.
>
> @Mark: I'm well aware of the limitations of a 1:1 translation of a
> parser's grammar into diagrams. I have reduced the splits into
> separate rules in DRL.g considerably. But what do you want to hide
> from the users? The syntax is the syntax, and there's no sweet-talking
> around it after you have reduced all the noise from technical splits.
>
> One thing that might help would be deprecating things like infix or/and.
yes agreed. Simplifying the grammar, reducing ambigiiouty or multiple
ways of doing the same thing, will make any resulting grammar both
easier ot maintain and grok.
Edson, Davide and I have already discuss this. Both are working on a new
parser and are trying to address these issues. So things that are doing are:
Single binding on 'or'
$binding : ( Pattern() || Pattern() )
We are thinking of only allowing 'or' between patterns and not allowing
users to mix and match 'or' and '||'. Inside of patterns '||' is the
only connective allowed and will remain so.
We will also probably make a choice and only allow infix 'or' and 'and',
at the moment users can chose infix or prefix. Personally I find prefix
quite attractive as it works sort of like a "choice":
(or Person( ... )
Person( ... )
Person( ...) )
But I think most peopel are more comfortable with infix:
(Person( ... ) or
Person( ... ) or
Person( ...) )
return value, eval, literal constraint, variable constraint are going.
These are left overs of a Clips based grammar. So instead we'll have a
generic "expr" class that follow more common modern ASTs for expression
engines, like say MVEL.
Davide has also requested that we make $ prefix mandatory for LHS
bindings as that is deterministic and again makes the grammar cleaner. I
personally like it being optional and it's still open to debate. But I
recognise the need to have better maintained grammar, that is more
consistent and regular with easy to main documentation.
Mark
>
> Some rules can be omitted if they coincide with Java's own rules; just
> add an explanation.
>
> -W
>
>
> On 22 September 2010 14:56, Anstis, Michael (M.) <manstis1 at ford.com
> <mailto:manstis1 at ford.com>> wrote:
>
> What was the service and was it the ANTLR grammar you uploaded to
> generate the images?
>
> Thanks,
>
> Mike
>
> -----Original Message-----
> From: rules-dev-bounces at lists.jboss.org
> <mailto:rules-dev-bounces at lists.jboss.org>
> [mailto:rules-dev-bounces at lists.jboss.org
> <mailto:rules-dev-bounces at lists.jboss.org>] On Behalf Of Wolfgang Laun
> Sent: 22 September 2010 13:38
> To: Rules Dev List
> Subject: [rules-dev] Drools syntax diagrams - redrawn
>
> I've found this online service and stuffed the Drools grammar into it.
>
> You may see the results while they are still there:
> http://www-cgi.uni-regensburg.de/~brf09510/syntax.tmp/x45371x0x0x.ebnf.h
> tml
> <http://www-cgi.uni-regensburg.de/%7Ebrf09510/syntax.tmp/x45371x0x0x.ebnf.h%0Atml>
> <http://www-cgi.uni-regensburg.de/%7Ebrf09510/syntax.tmp/x45371x0x0x.ebn
> f.html
> <http://www-cgi.uni-regensburg.de/%7Ebrf09510/syntax.tmp/x45371x0x0x.ebn%0Af.html>>
>
> -W
>
>
>
> _______________________________________________
> rules-dev mailing list
> rules-dev at lists.jboss.org <mailto:rules-dev at lists.jboss.org>
> https://lists.jboss.org/mailman/listinfo/rules-dev
>
>
>
> _______________________________________________
> rules-dev mailing list
> rules-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-dev/attachments/20100922/26187662/attachment.html
More information about the rules-dev
mailing list