STR-330: Annotation on annotated terms using concrete syntax
in the Octave compiler I use concrete syntax which can be exploded (WithAnno in meta-explode) to some term with annotations.
if I use … !|[ f(a*) ]| {UNIVERSAL} … where |[ … ]| can be a StrategoTerm, it does not compile, as only a StrategoPreTerm can have an annotation. If I set that the quotation |[ … ]| can be a StrategoPreTerm than I get lots of format-check errors, mostly of this form:
error: cannot type NoAnnoList(NoAnnoList(Op(“SCALAR”,[NoAnnoList(Op(“BOOL”,[]))])))
inferred types of subterms:
typed NoAnnoList(Op(“SCALAR”,[NoAnnoList(Op(“BOOL”,[]))])) as TermThis is because we should not have annotations on a StrategoPreTerm I guess, so probably meta-explode has to be adapted or we should allow some kind of flattening on these ‘meta-explode generated’ annotations.
Submitted on 5 July 2005 at 12:18
Issue Log
Log in to post comments