You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This issue aggregates improvement candidates. It may be something wrong or too tolerate in the old Antlr3 parser. Also it may be to drop features which would improve the maintainability. They will need to be discussed in dev at kie.apache ML.
In the old parser, duration attribute accepts any chunk text and expect validation at the compiler phase. We may define more strict parser syntax for the duration attribute.
The current parser rule {(helper.isPluggableEvaluator(false))}? id=IDENTIFIER { helper.emit($id, DroolsEditorType.KEYWORD); } is the combination of a semantic predicated and a widely matching "IDENTIFIER". It seems to have underlying risk of failure of alternative prediction in antlr4 which doesn't have syntactic predicate. We may reconsider the syntax or the implementation approach.
This issue aggregates improvement candidates. It may be something wrong or too tolerate in the old Antlr3 parser. Also it may be to drop features which would improve the maintainability. They will need to be discussed in dev at kie.apache ML.
In the old parser,
duration
attribute accepts any chunk text and expect validation at the compiler phase. We may define more strict parser syntax for theduration
attribute.Define expected value format where we use
chunk
, so we can reduce ambiguity (e.g. unexpected greediness)Drop Half constraint
name == “Mark” || == “Mario”, age > 10 && < 20
Drop Annotation inside LHS (except @watch)
Drop LanguageLevelOption
||
&&
as alternatives to infix or/and||
and&&
should be allowed as alternatives to infixor
andand
#5936Additional syntax: ‘end’ has to end with a new line (may have trailing white-spaces / comment)
rule R1 when then end rule R2 when then end
)Custom Operator
{(helper.isPluggableEvaluator(false))}? id=IDENTIFIER { helper.emit($id, DroolsEditorType.KEYWORD); }
is the combination of a semantic predicated and a widely matching "IDENTIFIER". It seems to have underlying risk of failure of alternative prediction in antlr4 which doesn't have syntactic predicate. We may reconsider the syntax or the implementation approach.drlIdentifier
tooperator_key
andneg_operator_key
inDRL6Expressions.g4
#5874Below are reviewing and maintainability improvements not by affecting features and backward compatibility.
DRL6Expressions.g4
The text was updated successfully, but these errors were encountered: