This seems to be the same error as reported in ticket 207. I made a new ticket since that one is reported solved. I’ve tested with the latest unstable release of Spoofax (0.5.2.92) cleanly installed on a clean install of Eclipse 3.6 for JAVA (windows x32), using a fresh workspace. Created a new project named DADSL, copied the SDF file you’ll find attached later on into the SDF file of the project and pressed “Build project”.

We’re assuming at this point that something is amiss with the SDF, but in Eclipse no errors are reported whatsoever and crashing out on me can hardly be considered a good way of telling me I’ve made a small error.

    [java] [ make_permissive | info ] Number of productions to analyze: 137
    [java] [ make_permissive | info ] Number of productions generated:  33
    [java] [ make_permissive | error ] No pp entry found for: (2,["annotated"])
    [java] [ make_permissive | error ] Cannot rewrite to box: 
    [java]         annotated(fun(unquoted("cons")),default([fun(quoted("\"Scope\""))]))
    [java] [ make_permissive | error ] Cannot rewrite to box: 
    [java]         term(annotated(fun(unquoted("cons")),default([fun(quoted("\"Scope\""))])))
    [java] [ make_permissive | error ] No pp entry found for: (2,["annotated"])
    [java] [ make_permissive | error ] Cannot rewrite to box: 
    [java]         annotated(fun(unquoted("cons")),default([fun(quoted("\"Scope\""))]))
    [java] [ make_permissive | error ] Cannot rewrite to box: 
    [java]         term(annotated(fun(unquoted("cons")),default([fun(quoted("\"Scope\""))])))
    [java] [ make_permissive | error ] No pp entry found for: (1,[[]])
    [java] [ make_permissive | error ] Cannot rewrite to box: 
    [java]         [term(annotated(fun(unquoted("cons")),default([fun(quoted("\"Scope\""))])))]
    [java] [ make_permissive | error ] Cannot rewrite to box: 
    [java]         attrs([term(annotated(fun(unquoted("cons")),default([fun(quoted("\"Scope\""))])))])

[Skipped a bit where the traces become ridiculously long, see later attachment for full log]

    [java] make_permissive: rewriting failed, trace:
    [java] 	main_make_permissive_0_0
    [java] 	xtc_io_wrap_2_0
    [java] 	option_wrap_2_0
    [java] 	option_wrap_5_0
    [java] 	xtc_io_1_0
    [java] 	xtc_temp_files_1_0
    [java] 	restore_always_2_0
    [java] 	pp_commented_sdf_string_0_0
    [java] 	pp_commented_sdf_box_0_0
    [java] 	ast2box_0_1
    [java] 	ast2abox_0_1
    [java] 	trm2abox_0_1
Submitted by Thomas Schaap on 10 August 2010 at 17:05
DADSL.sdf10 August 2010 at 17:07
errorlog.txt10 August 2010 at 17:07

On 10 August 2010 at 18:10 Thomas Schaap commented:

Done some testing. The following is a minimal SDF that will trigger the error:

%% Grammar for the DADSL language
module DADSL

imports Common

exports

  context-free start-symbols
    Start

  context-free syntax
    "X" -> Start {cons("bla")}
    ID "." -> ScopeQualification {cons{"Scope"}}

Here the error should already be obvious (I use ‘should’ with care: I didn’t see it :D). The constructor for the ScopeQualification line is defined as {cons{“Scope”}}; it should of course read {cons(“Scope”)}.


On 10 August 2010 at 19:44 Lennart Kats commented:

Interesting bug :) It appears that the SDF pretty printer can’t handle the {"Scope"} annotation on the cons() term used as the production attribute (now reported as StrategoXT/835). There also seems to be a regression in the SDF editor, which should tell you to add a proper {cons("X")} attribute to productions like this one.


On 11 August 2010 at 12:40 Lennart Kats closed this issue.

On 11 August 2010 at 12:40 Lennart Kats commented:

Fixed in r21158 ( scheduled to be included in 0.5.3 included in 0.5.2).

Log in to post comments