Links:
Acovea Analysis of Compiler Optimizations via an Evolutionary Algorithm: implements a genetic algorithm to find the "best" options for compiling programs with the GCC C and C++ compilers. AePro a dependency maintenance tool for progres4gl. It is intended to be used in conjuction with aegis (aegis.sourceforge.net), a source code configuration tool. It (re)compiles progres4GL programs whose sourcecode has changed Apache Compile Kit tries to automagically compile your Apache with PHP for you Apache Toolbox provides a means to easily compile Apache with SSL, PHP (v4 or v3), MySQL, ZendOptimizer, mod_auth_nds, mod_dynvhost, WebDAV etc auto-recompile Auto-recompile is a small emacs add-on which allows you to fix compilation errors faster. It does this by continously compiling the program you are working on while you are fixing problems. It eliminates the need to explicitly start a compilation for every fix you make and manages your compilations and error-lists in the background so that all you have to do is go from error to error and fix them until the program compiles. AutoMap a tool designed to simplify the creation of MPI data-types Autotools Bootstrapper scans a package's Makefile.am and configure.in (or .ac) and creates a customized bourne shell script which can create the configure script with a single command BDiff a small utility to do what diff/patch pair does with text files. It handles binary files too bison a parser generator in the style of yacc Boomerang an attempt to develop a real decompiler for native executables through the open source community. A decompiler takes as input an executable file, and attempts to create a high level, compilable, possibly even maintainable source file that does the same thing BtYacc a modified version of yacc that supports automatic backtracking C Cod an experimental project that allows for a C source file to be "Compiled on Demand" prior to being executed. The source files are compiled and executed on the fly C-Breeze an infrastructure for building C compilers. It is written in C++, and consists of a set of classes for representing a C program as an abstract syntax tree (AST) cachecc1 a gcc cache. It can be compared with the well known ccache. It uses a LD_PRELOADed shared object to catch invocations to cc1, cc1plus and as, transparently supports all build methods and can cache gcc bootstraps ccache a compiler cache. It acts as a caching pre-processor to C/C++ compilers, using the -E compiler switch and a hash to detect when a compilation can be satisfied from cache. This often results in a 5 to 10 times speedup in common compilations ccontrol The ccontrol program takes over the roles of the compiler and linker, and reads a configuration file to decide what to do before invoking them. This is particularly useful for centralized control over commands and options, such as enabling distcc and ccache. Clang Clang is a compiler front end for the C, C++, and Objective-C programming languages. It uses the Low Level Virtual Machine (LLVM) as its back end. The combination of clang and LLVM provides the majority of a toolchain, allowing the replacement of the whole GCC stack. Read more Cocktail a compiler toolkit that supports all phases of compiler construction in providing generators for scanners, parsers, abstract syntax trees, attribute evaluators, traversers of syntax tree and back ends CompBenchmarks CompBenchmarks is a benchmarking environment for compilers. It provides a package for downloading, compiling, and evaluating some well-known C/C++ benchmarks and applications. Results are given in easily parseable plain text files that can be sent to the CompBenchmarks Web site. CParser to create a recursive descent parser for C99. The output from the parser should be a parse tree CScout CScout is a source code analyzer and refactoring browser for collections of C programs. It can process workspaces of multiple projects (we define a project as a collection of C source files that are linked together) mapping the complexity introduced by the C preprocessor back into the original C source code files. CxxTester which should free the programmer from writing unnecessary testframes for debugging and testing of C++ code Devel Live CD Devel Live CD includes a minimal toolchain from Fedora that makes it possible to compile the Linux kernel and other software. This CD has been created to compile programs for 4MLinux. Distributed Multi-User Compilation System DMUCS is a system that extends distcc to allow multiple users to do remote C/C++ compiles on a shared compilation farm. It monitors the load averages of the machines in the compilation farm so that the fastest machines will be assigned compilation tasks at all times. ebnf2yacc a tool to help write yacc parsers/compilers. It takes as input a grammar written in bnf (ebnf support is planned) and outputs a c++ abstract syntax tree that supports the visitor pattern, along with a yacc parser that builds the tree elfrc elfrc is a program which can turn arbitrary files into ELF object files which can then be linked into your program directly and accessed via simple, user-defined symbol names. Eli provides modern compiler construction facilities to users with a wide range of sophistication. It offers complete solutions for commonly-encountered language implementation subtasks and contains libraries of reusable specifications, making possible the production of high-quality implementations from simple problem descriptions EPP Interpreter a tool which supports the authoring and execution of EPP scripts using any BSF supported scripting language Flagpoll Flagpoll is a tool for developers to use meta-data files for storing information on what is needed to compile their software. Think of it as the rpm of software development. It provides developers with total control over which packages, versions, architectures, et cetera that they want to use meta-data from. Instead of specifying other packages' cflags and ldflag manually, you can call `flagpoll mylib --cflags --ldflags` and it will retrieve the flags for its package as well as its dependencies. Flex Flex is a fast lexical analyser generator. It is a tool for generating programs that perform pattern-matching on text. There are many applications for Flex, including writing compilers in conjunction with GNU Bison. GENTLE a modern toolkit for compiler writers and implementors of domain specific languages GetOpts GetOpts is a simple to use command line parser for C/C++/ObjC. gocache GNU Object Cache: a clone of ccache, with the goal of supporting other compilers than GCC and adding additional features Grammatica a C# and Java parser generator (compiler compiler). It improves upon simlar tools (like yacc and ANTLR) by creating well-commented and readable source code, by having automatic error recovery and detailed error messages, and by support for testing and debugging grammars without generating source code Icecream Icecream was created by SUSE based on distcc. Like distcc, Icecream takes compile jobs from a (KDE) build and distributes it among remote machines allowing a parallel build. Icecream/icecc Icecream is based on ideas and code from distcc. Like distcc, it takes compilation jobs from your (KDE) build and distributes it to remote machines, allowing a parallel build on several machines. Unlike distcc, Icecream uses a central server that schedules the compilation jobs to the fastest free server dynamically. Kconfigure a KDE program to compile the sources without the xterm or console Lemon a LALR(1) parser generator. It takes a context free grammar and converts it into a subroutine that will parse a file using that grammar. Lemon is similar to the much more famous programs LLnextgen LLnextgen is a (partial) reimplementation of the LLgen Extended-LL(1) parser generator that is part of the Amsterdam Compiler Kit (ACK). It takes an EBNF-like description of the grammar with associated semantic actions in C as input, and generates C code. The generated code is strict ANSI C, so it should compile with all current C compilers. Mini-libc Builder contains a series of Perl scripts and other tools that can be used to rebuild libc.so, the major piece of glibc, such that it contains only the objects needed to support a selected set of applications NanoXML a very small (5KB!) XML parser for Java Open64 Compiler Tools Open64 is a suite of optimizing compiler development tools for Intel Itanium(TM) systems running Linux. The Open64 project is the continuation of the SGI Pro64(TM) compiler suite which was released under the GNU General Public License (GPL). The Open64 compiler suite currently includes compilers for C, C++, and Fortran90/95 compilers for the IA-64 Linux ABI and API standards. Read more OpenZz an interpreted dynamic parser which is well suited to rapid development of parsing solutions, starting from rapid language prototyping to full fledged compilers PCYACC (commercial) a complete Language Development Environment that generates C, C++, Java, Delphi, and VBS source code from input Language Description Grammars for building Assemblers, Compilers, Interpreters, Browsers, Page Description Languages, Language Translators, Syntax Directed Editors, Language Validators, Natural Language Processors, Expert System Shells, and Query languages PRECCX A PREttier Compiler-Compiler is an infinite-lookahead compiler-compiler for context dependent grammars. PyPaSax uses the python parser to generate Sax2 events, and thus enable to visualize the python document as a XML tree R2cl R2cl is a minimal, proof of concept translator from the R or S language into Common Lisp. An increase in speed of over 1000 times can then be achieved using the free CMU Common Lisp native code compiler on the resulting code, making it comparable to FORTRAN, Ada or C. Rapier RDF Parser The RDF parser for Redland (RDF Parser for Redland - RaPieR) and is designed to integrate with it closely. re2c a tool for writing fast and flexible lexers that is in the order of 2-3 times faster than a flex based scanner, and its input model is much more flexible relocalizable flex REFLEX (relocalizable flex) is an updated variation of flex 2.5.4 with support for relocalizable scanners. Unlike flex, it supports non-POSIX locales.
Next 50