Runtime_Component(): The constructor for the Runtime_Component class simply initializes its base class by invoking the Component constructor with the arguments CKT_TIME_NULL and with the identifying string "Runtime". The CKT_TIME_NULL parameter signifies that the runtime component has no delay; its delay is determined by the transport delays of its subcomponents.
void create_input(Wire *wire, const char *name): This member function simply creates a new input port for the runtime component. The wire parameter is a pointer to the wire that feeds the input port and the name parameter is the unique string that identifies the port.
void create_output(Wire *wire, const char *name): This member function, like create_input(), creates a new output port for the runtime component. The wire parameter is a pointer to the wire to which the newly constructed output port sends its signals and the name parameter is the unique string that identifies the port.
void create_internal(Wire *wire): The runtime component may contain internal netlists which are not connected to any of its input or output ports. This constructor will add the specified wire pointer to a linked list which stores all the internal netlists contained within the runtime component.
Connector *find_connector(const char *name): This is a helper function that searches for the specified connector name amongst the input and output ports and the internal netlists of the runtime component. If the search is successful, then a pointer to the corresponding connector is returned. This method is used to determine which wires and ports are to be connected to the ports of the subcomponents of the encompassing runtime component.
int create_subcmp(const char *t, const char *n, List<char *>io): In order to create a subcomponent inside the runtime component, this method must be used. After instantiating the subcomponent, this function connects it to the specified input and output ports and to the internal netlists of the runtime component created earlier. The t parameter indicates what type of subcomponent to create (for example, a NAND gate, XOR gate, and so on). The n parameter gives the name of the component which is passed to the component's constructor. Finally, the io parameter is a list containing the names of the connectors to which the subcomponent is connected.