strc compilation error
Strc gives the following error messages:
[ strc | critical ] *** to-model: don't know how to model this: Rules(Conc(Conc(Conc([114,111,114,45,97,99,116,105,111,110],[SDefNoArgs("eq-type-of-action",LChoice(CallNoArgs(SVar("eq-type-of-this-call-local")),CallNoArgs(SVar("eq-type-of-this-call-global"))))]),[RDefNoArgs("eq-type-of-this-call-local",Rule(As(Var("c"),NoAnnoList(Op("ThisCall",[Var("f"),Var(ListVar("e2*"))]))),Var("t"),Seq(Assign(Var("parents"),RootApp(CallNoArgs(SVar("get-this-call-parent-multiple")))),Assign(Var("t"),App(Call(SVar("fetch-elem"),[BA(CallNoArgs(SVar("check-signature")),NoAnnoList(Tuple([RootApp(Id),Var("f"),Var(ListVar("e2*"))])))]),Var("parents"))))))]),[RDefNoArgs("eq-type-of-this-call-global",Rule(As(Var("c"),NoAnnoList(Op("ThisCall",[Var("f"),Var(ListVar("e2*"))]))),Var("t"),Assign(Var("t"),App(CallNoArgs(SVar("check-signature")),NoAnnoList(Tuple([NoAnnoList(Op("None",[])),Var("f"),Var(ListVar("e2*"))]))))))])) make[1]: *** [webdsl-generator.ctree] Error 1
Modifying some (seemingly unrelated) str file solved the problem.
Submitted by Nathan Bruning on 13 October 2010 at 16:41
Attachments
Issue Log
Two things that are odd about that term: the
[114,111,114,45,97,99,116,105,111,110]
, a list of characters that seems to spell “ror-action”, and theConc(
terms are list concatenation constructors. What kind of file did you try this with? And which version ofstrc
?
Yes, very odd. The string “ror-action” would be part of a strategy name “constraint-error-action”.
strc 1.8, revision 21134.
As said, after changing some included file (adding a newline) the problem went away.
Probably related, using strj this time: STRJ 0.17.92pre0 based on STRC 1.8r21134
strj -i compiler.str -o nwljava -I .. -m main-nwl-compiler -la stratego-sglr -la stratego-gpp -la stratego-aterm [ strj | critical ] *** to-model: don't know how to model this: appl(prod([cf(sort("Id")),cf(opt(layout)),lit(":"),cf(opt(layout)),cf(sort("Rule"))],cf(sort("RuleDef")),attrs([term(cons("RDefNoArgs"))])),prefer(aprod(710),[regular(aprod(269),[60]),regular(aprod(346),[]),regular(aprod(671),[regular(aprod(763),[regular(aprod(886),[regular(aprod(887),[112,regular(aprod(557),[regular(aprod(563),[regular(aprod(563),[regular(aprod(563),[regular(aprod(563),[regular(aprod(563),[regular(aprod(563),[regular(aprod(563),[regular(aprod(563),[regular(aprod(563),[regular(aprod(563),[regular(aprod(563),[regular(aprod(563),[regular(aprod(563),[regular(aprod(563),[regular(aprod(563),[regular(aprod(563),[regular(aprod(565),[97]),regular(aprod(565),[116])]),regular(aprod(565),[104])]),regular(aprod(565),[45])]),regular(aprod(565),[116])]),regular(aprod(565),[111])]),regular(aprod(565),[45])]),regular(aprod(565),[99])]),regular(aprod(565),[97])]),regular(aprod(565),[99])]),regular(aprod(565),[104])]),regular(aprod(565),[101])]),regular(aprod(565),[45])]),regular(aprod(565),[112])]),regular(aprod(565),[97])]),regular(aprod(565),[116])]),regular(aprod(565),[104])])])])])])]),regular(aprod(346),[]),regular(aprod(310),[62]),regular(aprod(345),[regular(aprod(899),[regular(aprod(897),[regular(aprod(913),[32])])])]),regular(aprod(712),[regular(aprod(790),[regular(aprod(845),[regular(aprod(846),[regular(aprod(340),[34]),regular(aprod(536),[regular(aprod(542),[regular(aprod(542),[regular(aprod(542),[regular(aprod(542),[regular(aprod(542),[regular(aprod(542),[regular(aprod(542),[regular(aprod(542),[regular(aprod(542),[regular(aprod(542),[regular(aprod(542),[regular(aprod(542),[regular(aprod(542),[regular(aprod(542),[regular(aprod(542),[regular(aprod(542),[regular(aprod(544),[regular(aprod(844),[36])]),regular(aprod(544),[regular(aprod(844),[100])])]),regular(aprod(544),[regular(aprod(844),[101])])]),regular(aprod(544),[regular(aprod(844),[112])])]),regular(aprod(544),[regular(aprod(844),[101])])]),regular(aprod(544),[regular(aprod(844),[110])])]),regular(aprod(544),[regular(aprod(844),[100])])]),regular(aprod(544),[regular(aprod(844),[101])])]),regular(aprod(544),[regular(aprod(844),[110])])]),regular(aprod(544),[regular(aprod(844),[99])])]),regular(aprod(544),[regular(aprod(844),[105])])]),regular(aprod(544),[regular(aprod(844),[101])])]),regular(aprod(544),[regular(aprod(844),[115])])]),regular(aprod(544),[regular(aprod(844),[46])])]),regular(aprod(544),[regular(aprod(844),[110])])]),regular(aprod(544),[regular(aprod(844),[119])])]),regular(aprod(544),[regular(aprod(844),[108])])])]),regular(aprod(340),[34])])])])])]))
The file that introduced the problem is attached.
That’s even more odd. The term is now a parse tree, not an imploded syntax tree. Running
asfix-yield
gives the following input string for it:<Z??vwp-33333333333333335a5t5h5-5t5o5-5c5a5c5h5e5-5p5a5t5hZ6>Y??? ?MNT" L$ Ld Le Lp Le Ln Ld Le Ln Lc Li Le Ls L. Ln Lw LlT"
Weird much? All this is starting to look like some kind of memory corruption issue. What does the Java version of the compiler do?
Do you also have the file for the original problem with the ‘ror-action’?
Log in to post comments