}
}
/** Parse the file into an AlloyInstance if possible. */
private StaticInstanceReader(XMLNode root) throws Err {
XMLNode inst = null;
for(XMLNode sub: root) if (sub.is("instance")) { inst=sub; break; }
if (inst==null) throw new ErrorSyntax("The XML file must contain an <instance> element.");
boolean isMeta = "yes".equals(inst.getAttribute("metamodel"));
A4Solution sol = A4SolutionReader.read(new ArrayList<Sig>(), root);
for (Sig s:sol.getAllReachableSigs()) if (s instanceof PrimSig && ((PrimSig)s).parent==Sig.UNIV) toplevels.add((PrimSig)s);
if (!isMeta) {
sig2type.put(Sig.UNIV, AlloyType.UNIV);
sig2type.put(Sig.SIGINT, AlloyType.INT);