Community
Participate
Working Groups
the current serializer's algorithm (backtracking, know as ParseTreeConstructor) has some issues with - speed - memory consumption - providing error messages - customization - maintainability As already discussed internally, the proposal is to replace this algorithm with a better approach, which is: 1.) Derive constraints form the grammar, one constraint for each context+EClass. This is similar as currently done by the ConcreteSyntaxConstraintProvider. The CSCP however, can't handle assigned actions. Since bug 327038, however, it has turned out that this is possible. 2.) Turn the semantic model's EObjects into sequences of tokens - based on the constraints. 3.) Use a state machine to mix-in the missing tokens, such as unassigned keywords.
I'll mark existing bugs that will be fixed with the new serializer as to depend on this bug. This will help to understand the impact.
The new serializer is implemented and does a good Job in Xbase, Xtend2, MWE2 and several other projects already. Time to close this bug.
Yeehaa :)
Closing all bugs that were set to RESOLVED before Neon.0