-
I'm wondering about the rather strict version range dependencies on antrl 3.x: Probably there is a good reason for that strictness. There are many newer versions: All of these require a BND recipe because they are not available as OSGi bundles. So to migrate away from EBR, I would expect to provide the 3.5.3 version, but that doesn't look to be compatible with the ranges I see... The antrl4 support is available as OSGi bundles: But the package names and bundle names are different, so I guess there are no plans to ever use that? |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments
-
The Xtext parser uses internal state of the Antlr parser to drive content assist proposals. Even tiny changes to the way that state is being maintained or tiny changes in the code generation templates that Antlr uses, might cause severe regressions. That's why the dependency is pinned to the seemingly old version 3.2.0. Antlr 4 uses a complete different parsing mechanism which does essentially drop the idea of static ambiguity analysis. That's something we didn't want to loose. Performance experiments based on rather complex grammars did also show some regressions compared to Antlr 3. So a migration from 3 to 4 wasn't a trivial exercise and there was no clear benefit from doing so. |
Beta Was this translation helpful? Give feedback.
-
I made a special case to pin this older version: But I won't do that for any other version in the future. |
Beta Was this translation helpful? Give feedback.
The Xtext parser uses internal state of the Antlr parser to drive content assist proposals. Even tiny changes to the way that state is being maintained or tiny changes in the code generation templates that Antlr uses, might cause severe regressions. That's why the dependency is pinned to the seemingly old version 3.2.0.
Antlr 4 uses a complete different parsing mechanism which does essentially drop the idea of static ambiguity analysis. That's something we didn't want to loose. Performance experiments based on rather complex grammars did also show some regressions compared to Antlr 3. So a migration from 3 to 4 wasn't a trivial exercise and there was no clear benefit from doing so.