SWIG is a software development tool that connects programs written in C and C++ with a variety of high-level programming languages. SWIG is primarily used with common scripting languages such as Perl, PHP, Python, Tcl/Tk, and Ruby, however the list of supported languages also includes non-scripting languages such as C#, Common Lisp (CLISP, Allegro CL, UFFI), Java, Modula-3, OCAML, Octave, and R. Also several interpreted and compiled Scheme implementations (Guile, MzScheme, Chicken) are supported. SWIG is most commonly used to create high-level interpreted or compiled programming environments, user interfaces, and as a tool for testing and prototyping C/C++ software. SWIG can also export its parse tree in the form of XML and Lisp s-expressions.
MIB Smithy SDK is a dynamic extension to Tcl/Tk (8.4+) that allows development of custom scripts for controlling SNMP agents, manipulating SMI definitions, doing conversions, and more. It is based on the core of Muonics' MIB Smithy, and the SDK supports SMIv1 and SMIv2, as well as SNMPv1/v2c/v3 with HMAC-SHA-96 and HMAC-MD5-96 authentication and DES/CBC and AES128/CFB privacy. It also provides complete read-write access to all elements of SMI/MIB Module definitions, unlike similar extensions that provide only read access to a limited subset. The SDK allows multiple discrete SMI databases and SNMP sessions, and provides all of the built-in validation and error recovery capabilites of the full product, without the visual MIB development environment.
SMC takes a state machine stored in an .sm file and generates the state pattern classes in fourteen programming languages. Its features include default transitions, transition arguments, transition guards, push/pop transitions, and Entry/Exit actions. It requires Java SE 1.6 or better.