Cedar
padSubNodes: RoseTypes.UnnamedConsNE ← NEW[RoseTypes.NodeExpressionRep.unnamedCons ← [unnamedCons [elts: NIL]]];
dataOutSubNodes: RoseTypes.UnnamedConsNE ← NEW[RoseTypes.NodeExpressionRep.unnamedCons ← [unnamedCons [elts: NIL]]];
FOR ip:
CARDINAL
DECREASING
IN [0..count)
DO
padSubNodes.elts ← CONS[NEW[ NodeExpressionRep.primary ← [primary[ node: to.class.NodeInstance[erInstance: to.instance, name: IO.PutFR["Pad%g", IO.int[ip]], type: NumTypes.boolType], selector: [whole [ ]]]]], padSubNodes.elts];
dataOutSubNodes.elts ← CONS[NEW[ NodeExpressionRep.primary ← [primary[ node: to.class.NodeInstance[erInstance: to.instance, name: IO.PutFR["DataOut%g", IO.int[ip]], type: NumTypes.boolType], selector: [whole [ ]]]]], dataOutSubNodes.elts];
[] ← to.class.CellInstance[erInstance: to.instance, instanceName: IO.PutFR["InputPad%g", IO.int[ip]], typeName: "InputPad", interfaceNodes: IO.PutFR["Pad:Pad%g, DataOut:DataOut%g", IO.int[ip], IO.int[ip]]];
ENDLOOP;
to.class.Equivalence[erInstance: to.instance, a: NEW[NodeExpressionRep.primary ← [primary [node: RoseCreate.LookupNode[from: thisCell, path: LIST["Pad"]], selector: [whole [ ]]]]], b: padSubNodes];
to.class.Equivalence[erInstance: to.instance, a: NEW[NodeExpressionRep.primary ← [primary [node: RoseCreate.LookupNode[from: thisCell, path: LIST["DataOut"]], selector: [whole [ ]]]]], b: dataOutSubNodes]