This problem occurs in revision 17196 of https://svn.cs.uu.nl:12443/repos/StrategoXT/dryad-compiler/trunk/tests/:
Module test-main imports test-emit-statements, test-emit-operators, etc. These testing modules in turn import test-main.

STRC seems to see the strategies in test-main multiple times. In run-time this can mean that a failing strategy will run multiple times (not a good thing with side effects). Even compile-time errors are duplicated in this module:
[ strc | error ] *** (“main-test-main”,0,0) calls non-existing (“illegal”,0,0)
[]
[ strc | error ] *** (“main-test-main”,0,0) calls non-existing (“illegal”,0,0)
[]

I noticed the same problem yesterday in the main dryad-compiler application, after adding a new circular import, so I think the root of the problem lies there. Unfortunately I haven’t been able to reproduce this in a small example application, so there may be other factors involved…

Submitted on 29 June 2007 at 14:06

Log in to post comments