[furcas-discussion] Where are things?

Stephan Erb stephan at dev.static-void.de
Thu Jul 14 02:51:05 CEST 2011


Hey,

On Sun, 2011-07-10 at 11:36 +0200, Stephan Erb wrote:
> No problem for the tests :-). Actually, these are not just some random
> tests, but my materialized hope to present a working FURCAS/PCM Editor
> during the upcoming final semester presentation (taking place in 2
> weeks, but I have to create the screencasts a few days earlier).
> 
> Given our progress during the last weeks, it does not seem likely that
> we can finish the bugs on time.


I am running out of time, so here is a patch with some workarounds that
'fix' 5 testcases. The patch is only fixing symptoms, because some of
these TB merging, grammar generation concepts and invariants seem to be
over my head.

A short explanation of the changes:
      * Property inits (silently?) fail in OperatorTemplates with
        right-associative (unary) operators . SetOCLRef uses
        input.LT(-1) in order to find the token belonging to the current
        template. The way right-associative operator templates are
        mapped to ANTLR grammars, SetOCLRef ends up being called before
        the operator is consumed and will therefore retrieve the wrong
        token. Thus, any code relying on DelayedReference.token might do
        something random.
      * I don't trust that EcoreHelper.isAlive is doing the right thing
        in all cases. We cannot differentiate between newly created
        TBs / model elements that have not yet been assigned to a
        resource and the ones we have deleted explicitly. I commented
        most isAlive calls because those seem to be more or less
        optional and were only required to prevent crashes in MOIN. 
      * The TextBlocks merging in reuseTextBlockInternal is sometimes
        working on invalid data: It performs a recursive descend and
        folds empty TextBlocks at the end of each recursion level.
        However, within sub-Blocks it sometimes needs to traverse the
        current TB hierarchy up again and then fails because it hits the
        empty but not-yet-deleted TextBlocks that are subject to
        modification on a higher recursion level. I've implemented a
        crude hack in getOriginalVersion to prevent some obvious
        crashes.


I will report back from the FZI if these workarounds are of any value
for the real-world usecase.

Best,
Stephan



-------------- next part --------------
A non-text attachment was scrubbed...
Name: workarounds.patch
Type: text/x-patch
Size: 18253 bytes
Desc: not available
URL: <http://lists.furcas.org/pipermail/furcas-discussion/attachments/20110714/e2459708/attachment.bin>


More information about the Furcas-discussion mailing list