The latest Spoofax built generates incorrect runtime libraries.

    [java] [ Main | error ] *** ("analysis-single-default",3,1) calls non-existing ("analysis-partition",0,2)
    [java]         ("analysis-partition",0,2)
    [java] [ Main | error ] *** ("analysis-single-default",3,1) calls non-existing ("analyze-one",0,3)
    [java]         ("analyze-one",0,3)
    [java] [ Main | error ] *** ("analysis-multiple-default",4,2) calls non-existing ("analyze-multiple",2,2)
    [java]         ("analyze-multiple",2,2)
    [java] [ Main | error ] *** ("analysis-multiple-default",4,2) calls non-existing ("measure-time",2,1)
    [java]         ("measure-time",2,1)
    [java] [ Main | error ] *** ("analysis-message-update-partition",0,0) calls non-existing ("analyze-get-messages",0,0)
    [java]         []

The following code will let the project build, but analysis will fail.

rules
	
	analysis-partition(|a,b):  z -> z where "nottrue" := z
	analyze-one(|a,b,c):       z -> z where "nottrue" := z
	analyze-multiple(a,b|c,d): z -> z where "nottrue" := z
	measure-time(a,b|c):       z -> z where "nottrue" := z
	analyze-get-messages:      z -> z where "nottrue" := z

signature constructors
	
	DebugResult : Term * Term * Term * Term * Term               -> DebugResult
	Result      : Term * Term * Term * Term * Term * Term * Term -> Result

These rules and signatures have been removed in https://github.com/metaborg/runtime-libraries/commit/ac5b73deb1d4c124d492b7932b6cf04b263e3379

Looks like the generator is broken.

Submitted by Daco Harkes on 10 June 2014 at 17:08

On 10 June 2014 at 17:12 Daco Harkes tagged @gohla

On 10 June 2014 at 17:57 Peter Mosses commented:

I’m getting the above issue after updating to the current version of the unstable release (s41649). In which file should I insert the suggested code so that my project will continue to build?

Could you also make it possible to obtain and install a previous (working:) version of the unstable release from the update site? Then it wouldn’t be so annoying when one updates to a new version of the unstable release, and discovers that it is broken. The same goes for the nightly build, a fortiori…


On 10 June 2014 at 18:02 Peter Mosses commented:

PS I tried reverting to a previous installation configuration in Eclipse, but it couldn’t find the required items.


On 10 June 2014 at 19:33 Daco Harkes commented:

Try adding the files that were deleted in that specific commit.


On 10 June 2014 at 20:22 Gabriël Konat commented:

Does deleting the lib/runtime directory fix the issue?


On 10 June 2014 at 20:38 Daco Harkes commented:

It does fix the issue, but of course we are using the deprecated analysis interface.

What should the following code be changed to?

editor-analyze = analysis-default-editor

analysis-single-default-interface = 
  analysis-single-default(desugar-all, id, pp-message-top|<language>)
analysis-multiple-default-interface = 
  analysis-multiple-default(parse-file <+ !(), desugar-all, id, pp-message-top|<language>, <project-path>)

editor-save = analysis-save-default(|<language>)

On 11 June 2014 at 11:07 Daco Harkes commented:

Changing the imports to include lib/runtime/analysis/legacy will let the project built.

But all analysis fails, no references get resolved to their definitions.

Test case report:

Fails to resolve: reference "in"{Use(Result(21))} on line 21 does not resolve to definition 
"in"{Def(
  URI(Language("Relations"),
  [
    ID(NablNsRole,"in",Unique("/Users/admin/relations/relations-tests/names/roles.spt/0")),
    ID(NablNsEntityType,"Edge",Unique("/Users/admin/relations/relations-tests/names/roles.spt/0”)),
    ID(NablNsModule,"test",Unique("/Users/admin/relations/relations-tests/names/roles.spt/0"))
  ]))
 }
 on line 24

On 11 June 2014 at 11:17 Daco Harkes commented:

(Also show-analysed-syntax shows no analysis. Edit: nevermind, show-analysed-syntax seems to work now, but references do not resolve.)


On 11 June 2014 at 12:50 Daco Harkes commented:

Failing to resolve references is an NaBL issue: https://yellowgrass.org/issue/NaBL/108 closing this one.


On 11 June 2014 at 12:50 Daco Harkes closed this issue.

On 11 June 2014 at 16:39 Gabriël Konat commented:

I made sure that the old definitions in runtime/analysis/defaults.str will be cleared out now, which should prevent errors with existing projects.


On 14 June 2014 at 00:15 Eelco Visser commented:

Peter: we now have a record of nightly builds:

Vlad: it would be nice to order the entries in reverse chronological order


On 16 June 2014 at 10:18 Vlad Vergu commented:

Thank you for the suggestion, the entries are now sorted newest build first.


On 16 June 2014 at 10:32 Eelco Visser commented:

Why are there two builds with the same number?:

11863957	2014-06-13 16:07:33.0	spoofax-imp-s41663	spoofax-imp-s41663
11861452	2014-06-13 15:19:03.0	spoofax-imp-s41663	spoofax-imp-s41663

On 16 June 2014 at 10:46 Vlad Vergu commented:

The build was restarted manually or reevaluated due to changing dependencies. The Spoofax version identifier (s41…) is derived from the versions of the repositories that take part in the build. External build-time dependencies (such as JDK version, etc.) are not part of the Spoofax version identifier.

Log in to post comments