Using a undefined constructor in the context-free priorities section and saving the sdf3 file will fail to create the sdf file that belongs with it. This in turn will prevent you from building the project properly.

No warning/error is issued to the user.

Note: if an outdated corresponding sdf file already existed, this means that the user is kept wondering why updates to the code do not have any noticable effect, making debugging very difficult.

Submitted by Arjen on 28 September 2013 at 19:51

On 2 October 2013 at 11:31 Gabriël Konat commented:

Some more causes of the same behavior:

  • The production where the sort and constructor is defined must be a template. SDF2 style productions, or SDF3 style productions with SDF2 right hand side do not work.
  • The template must be in the same file. Importing a template for context-free priorities does not work.

On 2 October 2013 at 11:31 Gabriël Konat tagged sdf

On 2 October 2013 at 11:31 Gabriël Konat tagged lab

On 3 October 2013 at 20:06 Gabriël Konat tagged major

On 5 March 2014 at 15:02 Daco Harkes commented:

Same issue here.

Stack trace in call-onsave, but build continues:

    [java] rewriting failed, trace:
    [java] 	editor_save_0_0
    [java] 	editor_save_0_0
    [java] 	generate_all_0_0
    [java] 	generate_sdf_concrete_0_0
    [java] 	generate_sdf_0_2
    [java] 	template_sections_to_sdf_0_0
    [java] 	alltd_1_0
    [java] 	desugar_sdf_redux_tmpl_0_0
    [java] 	map_1_0
    [java] 	SortCons_to_prod_tmpl_0_0
    [java] 	report_with_failure_0_1
    [java] 	report_failure_0_2
    [java] 	SRTS_EXT_fatal_err_0_2

Log in to post comments