// a rule that has a string as LHS and multiple strings as RHS, // plus an optional list of variables (usually a ciSet) srecord Rule_StringToStrings(S in, LS out, Set vars) { *(S *in) {} *(S *in, LS *out) {} toString { ret "Rule_StringToStrings: " + in + " :=\n" + (vars == null ? "" : indentx("vars " + curly(joinWithComma(vars))) + "\n") + indentx(pnlToString("out ", out)); } }