svoid tok_compactModules(LS tok) { S latestID = #1031187; // cm means "latest version of compact module" jreplace(tok, "cm *", "cmodule2 $2", (_tok, nIdx) -> { S t = _tok.get(nIdx+3); ret eqOneOf(t, ">", "{") || isIdentifier(t); }); for (S kw : ll("cprint", "cprint2")) { jreplace(tok, kw + " {", kw + " " + stefansOS_defaultModuleClassName() + " {"); jreplace(tok, kw + " {", "cmodule2 $2 > DynPrintLog {"); } if (jreplace_multi(tok, ll("cmodule", "compact module"), "module")) { print("compact modules"); includeInMainLoaded(tok, "!include once " + latestID + "\n"); } if (jreplace_multi(tok, ll("cmodule2 ", "cmodule2 >", "cmodule2 {"), "module $2")) includeInMainLoaded(tok, "!include once " + latestID + "\n"); }