currNet.addAttribute(attribute);
if(attribute.getPhysicalName().equals("_MACRO")){
ModuleInstance mi = design.getModuleInstance(attribute.getValue());
currNet.setModuleInstance(mi);
mi.addNet(currNet);
Module module = mi.getModule();
currNet.setModuleTemplate(module);
currNet.setModuleTemplateNet(module.getNet(currNet.getName().replaceFirst(mi.getName() + "/", "")));
}
}
else if(currModule != null) currModule.addAttribute(attribute);
else design.addAttribute(attribute);
}
break;
case XDL_STATEMENT:
if(token.equals(INST)|| token.equals(INSTANCE)){
currInstance = new Instance();
state = ParserState.INSTANCE_NAME;
}
else if(token.equals(NET)){
currNet = new Net();
state = ParserState.NET_NAME;
}
else if(token.equals(MODULE)){
currModule = new Module();
modPinMap = new HashMap<String, Pin>();
portNames = new ArrayList<String>();
portInstanceNames = new ArrayList<String>();
portPinNames = new ArrayList<String>();
state = ParserState.MODULE_NAME;