On 31 May 2013, at 07:43, Wolfgang Laun <[email protected]> wrote:
> On 31/05/2013, Mark Proctor <[email protected]> wrote: >> >> On 30 May 2013, at 23:36, "Stadin, Benjamin" >> <[email protected]> wrote: >> >>> I'd be willing to get involved, but since you mention clp to drl only, >>> will it also be possibly to convert drl to clp? >> yes. There is already a "DrlDumper" that takes a Rule and dumps it to a >> string, using a bunch of recursive mvel templates. You can copy/paste this >> and have it dump to CLP instead. >> https://github.com/droolsjbpm/drools/blob/master/drools-compiler/src/main/java/org/drools/compiler/lang/DrlDumper.java >> https://github.com/droolsjbpm/drools/blob/master/drools-compiler/src/main/resources/org/drools/compiler/lang/drl.mvel >> >> if you change the drl.mvel to a clp.mvel and change the text it outputs, you >> have yourself a CLP<->DRL translator. The caveat ofcourse is you must keep >> to the common base level of features between the two systems. > > The first if is hiding an enormous amount of work. The template > drl.mvel appears to take arbitrarily long snippets of Java (or MVEL) > code and simply copy it into the result text: function bodies, eval > expressions, accumulate init, action and result code, and all of the > RHS. I'm not saying it can't be done, but it sure will keep you busy > for quite some time. > > Translating Java expressions to CLP can't be done based on abstract > syntax. Consider, for instance, > stdout.println( a + b ); > To be able to translate this to > printout( t (+ a b) ) > you'd have to make sure that stdout is indeed the same as router t and > that a and b are numeric quantities - otherwise str-cat would be > required. > > Copy/paste with a whole lot of magic ;-) yeah the LHS isn't so had, if they stick to simple patterns, the RHS is a whole different kettle of fish :) You can load the RHS into an antlr based java.g grammar, and try and translate it - but it wouldn't be fun. So probably best first to stick to clp->drl, which is more straight forward. Besides, once you are on DRL, why would you want to go back to CLP :) Mark > > Wolfgang > _______________________________________________ > rules-users mailing list > [email protected] > https://lists.jboss.org/mailman/listinfo/rules-users _______________________________________________ rules-users mailing list [email protected] https://lists.jboss.org/mailman/listinfo/rules-users
