The Spice Library. It takes a circuit description and builds a simulator from it.