Hi, The current DRL parser is Antlr3 based and contains lots of hard-coded logic in generated java codes, so it's hard to maintain.
for example) https://github.com/apache/incubator-kie-drools/blame/main/drools-drl/drools-drl-parser/src/main/java/org/drools/drl/parser/lang/DRL6Parser.java The proposal is to develop a new DRL parser based on Antlr4, which has Visior and Listener support, so the parser would have cleaner separation between parser syntax and Java code. 1. This doesn't target v10.0 release. Fixing all issues keeping backward compatibility is a large effort. I don't expect that we can complete it within a month. Even if we can do it more quickly, I don't want to disrupt the v10.0 release, so the incorporation would be post v10.0. 2. The goal of this change is just for code maintainability (e.g. easy to extend DRL syntax in the future). This is an implementation detail, so should not impact users. 3. Regarding stability, this is something to be discussed further, but personally I guess we will keep both old and new parsers until we are confident that the new parser has matured. During the time, we would have the complexity, but users can switch back to the old parser when there is an issue with a new parser. 4. As a bonus, `antlr4-c3` would help to develop DRL code completion for LSP (Language Server Protocol), but it's not a direct scope of this proposal. Feel free to share your thoughts. Thanks! Toshiya
