Sunifdef is a command line tool for eliminating superfluous preprocessor clutter from C and C++ source files. It is a more powerful successor to the FreeBSD 'unifdef' tool. Sunifdef is most useful to developers of constantly evolving products with large code bases, where preprocessor conditionals are used to configure the feature sets, APIs or implementations of different releases. In these environments, the code base steadily accumulates #ifdef-pollution as transient configuration options become obselete. Sunifdef can largely automate the recurrent task of purging redundant #if logic from the code.
The MetaC programming language is a 100% backward compatible extension to the C language that adds reflections and the ability to analyze and modify C source code at compile time. It has been specially designed to search for arbitrary code structures and instantiate new source code. Typical applications for MetaC based meta-programs are development tasks concerning embedded and real-time software. Examples are API abstraction and retargeting to a new API (ever been locked to a vendor-specific API?), application specific debugging and profiling on an embedded target, and WCET measurements.
"jscpp" is an ANSI C preprocessor and language parser that can analyze and instrument C code. Currently, its most prominent application is to add tracing to existing C programs simply by recompiling and linking it with the "jscc" compiler frontend. The standard tracing shows when a function is entered or left along with the parameters passed or return values. It is also possible to trace each source line and watch read/write access to simple variables. Tracing is achieved by instrumenting the source code before calling the system compiler. The program is modular and can be easily extended to other kinds of source code modifications.
Easy Generator Generator (EGG) is a development tool for fast and easy realization of XML to plain-text tranformations. It is similar to XSLT, Velocity, or JSP but emphasises source code generation in a model-driven generative developmen process. It comes with an iterative development process for creating templates that lets you build transformations quickly and easily.
Ccide reads C, C++, BASIC, or bash source code containing embedded decision tables from stdin, expands the tables, copies the remaining statements, and forms a compilable C or C++ source module, executable bash script, or interpretable BASIC program. Erratic side effects are avoided by evaluating all condition expressions at exactly the same time, and by performing all evaluations and actions in the original sequence.
Stunnix CXX-Obfus is a code obfuscator for C and C++ source code. It converts source code into highly a mangled form, making it extremely difficult for competitors or customers to study, analyze, reuse, and re-work, while fully retaining functionality of the original code. It has many options to control all aspects of code hiding, and has full support for all syntax constructs. It is designed for multi-file projects with mixed C and C++ source and arbitrary heavy use of the C preprocessor. It includes advanced tools to exclude API symbols from mangling.
PXSL ("pixel") is a convenient shorthand for writing markup-heavy XML documents. It provides XML authors and programmers with a simple, concise syntax that they can use to create XML documents. For more advanced users, it offers customizable shortcuts and sophisticated refactoring tools like functional macros that can markedly reduce the size and complexity of markup-dense XML documents.
PHPCoder is a Web-based frontend to the Turck MMCache encoding functions, which are similar to the Zend Encoder product. PHPCoder enables you to encode your PHP scripts and applications into non-reversible bytecode, thus preventing users of your programs from viewing or altering the source code while having full functionality. Another excellent use for PHPCoder is to encode your applications PHP configuration files, that way someone viewing your source code does not see your databae login and password information. It also allows you to set restrictions on the encoded scripts, you can lock a script to a particular server IP address, server host name, visitor IP, or even place a time limit on the script so it will expire after a configurable amount of time. You specify Text, HTML, or PHP code that should be prepended and appended to each file before it is encoded, allowing you to easily and securely implement your own licensing scheme.