ANTLR (ANother Tool for Language Recognition) is a language tool that provides a framework for constructing recognizers, compilers, and translators from grammatical descriptions containing C++, Java, or Sather actions. It is similar to the popular compiler generator YACC, however ANTLR is much more powerful and easy to use. ANTLR-produced parsers are not only highly efficient, but are both human-readable and human-debuggable (especially with the interactive ParseView debugging tool). ANTLR can generate parsers, lexers, and tree-parsers in either C++, Java, or Sather. ANTLR is currently written in Java.
The GRASP Project has created an algorithmic-level graphical representation for software called the Control Structure Diagram (CSD). The CSD was created to improve the comprehension efficiency of Ada source code and, as a result, improve software reliability and reduce software costs. Since its creation, the CSD has been expanded and adapted to include other languages. GRASP provides the capability to generate CSD's from Ada 95, C, C++, Java, and VHDL source code in both a reverse and forward engineering mode with a level of flexibility suitable for professional application. GRASP has been integrated with the GNU family of compilers for Ada (GNAT) and C (gcc), and Sun's javac compiler for Java. Use of GRASP is not restricted to these compilers, however. This has resulted in a comprehensive graphically-based development environment for these languages. The user may view, edit, print, and compile source code as CSDs with no discernible addition to storage or computational overhead.
KernelDriver automates your Windows 2000/NT, Windows Me/98/95 and Linux device driver development by providing you with powerful tools for hardware debugging, driver code generation, and driver debugging. KernelDriver supports PCI / USB / ISA and EISA drivers. KernelDriver for Windows and Linux includes the powerful Driver Wizard. Using the Driver Wizard you can graphically debug your hardware by "peeking" and "poking" at it without writing a single line of code. After your hardware is diagnosed, use the Driver Wizard to generate a complete kernel mode device driver which will drive your hardware.
Motor is a text-mode integrated programming environment for Linux. It consists of an editor with syntax highlighting, a project manager, a makefile generator, gcc, ctags, gdb, autoconf/automake and grep front-ends. CVS integration is also provided. It allows one to edit, compile, and debug programs without a need to leave the IDE, automatically check in/out files from a CVS repository and import projects into CVS, and generate distribution packages (tar.gz and RPM). The color schemes are customisable.
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.
The Table Driven Assembler (TDASM) is a portable cross assembler for any kind of assembly language. It should be possible to use it as a compiler to any target microprocessor using a table that defines the compilation process. The development of the project has been terminated. Anyone who would like to continue with development is welcomed, but there is only czech documentation available.
Universal Embedded SQL Compiler (UESQLC) is a compiler that provides a common way for accessing heterogeneous databases. UESQLC is based on Structured Query Language (SQL) as a standard for accessing data. This interface provides maximum interoperability, i.e. a single application can access different SQL Database Management Systems (DBMS) through a common set of embedded SQL code (UESQL). This enables a developer to build and distribute a client/server application without targeting a specific DBMS.