29 projects tagged "Software Development"
OMake is a build system and scripting language with a similar style and syntax to GNU make but with many additional features, including support for large projects spanning multiple directories, default configuration files simplifying the standard compilation tasks, fast, reliable, automated, scriptable dependency analysis using MD5 digests, built-in support for defining and running autoconfiguration tests, portability, and built-in functions that provide the most common features of programs like grep, sed, and awk. It also provides active filesystem monitoring that restarts builds automatically when source files are modified. A companion command interpreter that can be used interactively is included.
CIL is a frontend for the C programming language which facilitates program analysis and transformation. CIL will parse and typecheck a program, and compile it into a simplified subset of C. For example, in CIL, all looping constructs are given a single form and expressions have no side effects. This reduces the number of cases which must be considered when manipulating a C program. CIL has been used for a variety of projects, including CCured, a tool which makes C programs memory safe. It supports ANSI C, as well as most of the extensions of the GNU C and Microsoft C compilers. A Perl script acts as a drop-in replacement for either gcc or Microsoft's cl, and allows merging of the source files in your project. Other features include support for control-flow and points-to analyses.
The C Code Analyzer (CCA) is a static analysis tool for detecting potential security problems in C source code. It's fully automatic; no code annotations or the like are required. It features an automatic user input tracer, potential buffer overflow detection, and more. An eclipse frontend plugin is included.
Cameleon is an integrated development environment for Objective Caml and eventually other languages. Its features include a graphical user interface, configuration management based on CVS, easy access to and browsing of documentation, various editors, customizable file types, a plug-in architecture, and a highly customizable interface.
Felix is a programming language with a fully featured purely functional subsystem embedded in a a traditional Algol-like imperative programming system. The system features garbage collection, static typing, parametric polymorphism, overloading, regular expression matching, and a lot more. A scripting harness is used to invoke source files, but fully compiled binary shared libraries are generated, yielding both rapid prototyping and high performance. Seamless binding of C/C++ code makes interfacing existing libraries easy. Control inversion provides language-level cooperative multi-tasking.
CamlTemplate is a library for generating text from templates in Objective Caml. It can be used to generate Web pages, scripts, SQL queries, XML documents, and other sorts of text files. It provides a versatile, easy-to-learn template syntax that supports common scripting-language constructs, while encouraging a separation between presentation logic and application logic. The supported Caml data structures accomodate lists, tables, and trees of items in a straightforward manner. CamlTemplate works well with mod_caml and mod_fastcgi, supports any ASCII-compatible encoding, including UTF-8, and includes optional support for multithreading.
Bake is a small domain-specific programming language for describing how to transform one file into another. It uses the typical topological sort, but has features that make describing this relatively easy. It should feel comfortable to those familiar with Javascript, Python, and make.
GLCaml is an Objective Caml interface for OpenGL versions 1.1, 1.2, 1.3, 1.4, 1.5, 2.0, and 2.1, plus extensions. It is intended as a compact drop-in binding. It is a direct, dynamic binding to OpenGL. An OCaml SDL binding is provided as well, along with texture-map scaling functions, texture mip-map generators, and a bitmapped font library. Extensive documentation and more than 20 examples are provided.