Semantic search

Jump to: navigation, search


CMUCL
CMUCL is a free, high performance implementation of the Common Lisp programming language which runs on most major Unix platforms. It mainly conforms to the ANSI Common Lisp standard. CMUCL provides a sophisticated native code compiler; a powerful foreign function interface; an implementation of CLOS, the Common Lisp Object System; which includes multimethods and a metaobject protocol; a source-level debugger and code profiler; and an Emacs-like editor implemented in Common Lisp.
CP: Cerebral Procreation
CP (Cerebral Procreation) is a BF (BrainF***) interpreter and compiler. It is different from other compilers in that instead of trying to understand the BF code, it simply transfers it to Perl code, which it then evaluates using the handy eval() function. It can also translate to C code, for easy compilation into a stand-alone binary.
Ccache
Ccache is a compiler cache. It speeds up recompilation by caching previous compilations and detecting when the same compilation is being done again.
Chicken
CHICKEN is a simple Scheme-to-C compiler supporting the language features as defined in the 'Revised^5 Report on Scheme'. It supports full tail-recursion and first-class continuations. The code it generates is quite portable; compiled files generated by it (including itself) should work with either no or minor changes on other systems. Linking to C modules and C library functions is straightforward, and compiled programs can easily be embedded into existing C code. The package includes many extra libraries.
Cim Heckert gnu.tiny.png
GNU cim offers a class concept, separate compilation with full type checking, interface to external C routines, an application package for process simulation and a coroutine concept. The portability of the GNU Simula Compiler is based on the C programming language. The compiler and the run-time system is written in C, and the compiler produces C code, that is passed to a C compiler for further processing towards machine code.
Clisp Heckert gnu.tiny.png
ANSI Common Lisp is a high-level, general-purpose programming language. GNU CLISP is a Common Lisp implementation by Bruno Haible of Karlsruhe University and Michael Stoll of Munich University, both in Germany. It mostly supports the Lisp described in the ANSI Common Lisp standard. It runs on most GNU and Unix systems (GNU/Linux, GNU/Hurd, FreeBSD, NetBSD, OpenBSD, Solaris, Tru64, HP-UX, BeOS, IRIX, AIX, Mac OS X and others) and on other systems and needs only 4 MB of RAM. The user interface comes in English, German, French, Spanish, Dutch, Russian and Danish, and can be changed during run time. GNU CLISP includes an interpreter, a compiler, a debugger, CLOS, MOP, a foreign language interface, a socket interface, i18n, fast bignums, arbitrary precision floats and more. An X11 interface is available through CLX, Garnet, CLUE/CLIO. GNU CLISP runs Maxima, ACL2 and many other Common Lisp packages.
Cloudgizer
Cloudgizer is a tool for building web applications as Apache modules in C language enhanced with simple markup, with emphasis on performance, small-footprint, and more productive and safer programming in C. It combines the ease of scripting with the power of C, improving the resource utilization for cloud applications. The programmer writes simple markup language mixed with C code, which is then translated entirely into C code and compiled natively as Apache module. The resulting application is fast and takes less memory, as there are no interpreters or virtual machines. Features include easy markups to use MariaDB database, HTML input parameters, cookies, simpler outputting of web pages, files storage and manipulation, encryption, encoding, program execution, web calls, safer and easier string manipulation etc. - the list is too long to place in one sentence. Overall Cloudgizer does a lot of stuff for you that you'd otherwise need to do yourself. A memory garbage collection system and memory overwrite/underwrite detection comes in handy for program stability. The same goes for string and memory handling markups to help write applications that won't crash. Also included is an application packaging system and an automated application installer. This makes rollout of products and release cycle more manageable. Cloudgizer source files have extension .v. Cloudgizer pre-compiler (cld program) will turn your .v files into .c files, ready for compilation as pure C programs. Then, your program will be compiled and linked with Apache web server on RH/Centos systems. It links with Apache as an Apache module in a "prefork" configuration. It does the work of communicating with Apache, and it makes it easier to write high-performance/small-footprint web programs in C. Cloudgizer is not designed to be thread-safe as it works in a "prefork" configuration of Apache. You can also build command-line programs. The same program can serve as both command-line utility and a web program linked with Apache. Cloudgizer works with RedHat/Centos 7 operating system, Apache web server and mariaDB database.
Clozure Common Lisp
Clozure Common Lisp (CCL) also known as OpenMCL, Macintosh Common Lisp (MCL), Macintosh Allegro Common Lisp (MACL), and Coral Common Lisp (CCL), features: • All major platforms • Fully compiled native code • Fast, precise, compacting, generational garbage collection • Native OS threads on all platforms • A complete mature foreign function interface • Full support for SLIME, ASDF, and QuickLisp • A native IDE on OS X with Objective C and Cocoa integration
Comma
The Axiom computer algebra system provides a compiler for the SPAD programming language which is particularly well suited for developing mathematical algorithms. Aldor is a non-free descendant of the SPAD language. The Comma project draws from the past experience of these systems to provide a new implementation and language definition.
Compilercache
'Compilercache' is a wrapperscript around your C and C++ compilers. Each time you compile something, it puts the result into a cache. If you compile the same thing again, the result will be picked from the cache instead of being recompiled. The same applies if you change your compiler options: the old compilation is picked up from the cache, which speeds things up considerably. No Makefiles, no cleaning up dependencies, and no recompilation if you switch compiler options. Additionally, if you download an updated version of a package already on your system and compile it using compilercache, only the changed sources will be recompiled.
Cpphs
'cpphs' is a simplified Haskell re-implementation of cpp, the C pre-processor, in Haskell. The C pre-processor is widely used in Haskell source code, but a true cpp is not often available on some systems, and the common cpp provided by the gcc 3.x series is changing in ways that are incompatible with Haskell's syntax. This includes problems with, for instance, string gaps, and prime characters in identifiers. This project attempts to provide an alternative to cpp that is more compatible with Haskell and can be distributed with compilers.
Dezyne
The Dezyne language has formal semantics expressed in mCRL2 developed at the department of Mathematics and Computer Science of the Eindhoven University of Technology (TUE). Dezyne requires that every model is finite, deterministic and free of deadlocks, livelocks, and contract violations. This achieved by means of the language itself as well as by builtin verification through model checking. This allows the construction of complex systems by assembling independently verified components.
Distcc
'distcc' distributes compilation of C or C++ code across several machines on a network. It should always generate the same results as a local compile, is simple to install and use, and is often significantly faster than a local compile. 'distcc' does not require all machines to share a filesystem, have synchronized clocks, or to have the same libraries or header files installed. Machines can be running different operating systems, as long as they have compatible binary formats or cross-compilers. 'distcc' sends the complete preprocessed source code across the network for each job, so all it requires of the volunteer machines is that they be running the distccd daemon, and that they have an appropriate compiler installed.
Dparser
'DParser' is a scannerless GLR parser generator based on the Tomita algorithm. It is self-hosted and very easy to use. Grammars are written in a natural style of EBNF and regular expressions and support both speculative and final actions.
Eli
Eli is a domain-specific programming environment formed by combining a collection of tools that implement powerful compiler construction strategies. In this environment, you can automatically generate complete language implementations from application-oriented specifications. Implementations can be either interpretive and used to invoke the operations of an existing system, or involve translation into an arbitrary target language. Eli has been used to produce translators, program generators, analysers, and interpreters. The user describes the problems that must besolved, and Eli automatically employs the tools and components needed for particular problem.
Emacs Common Lisp
Emacs Common Lisp is an implementation of Common Lisp, written in Emacs Lisp. The implementation provides a Common Lisp environment, separate from Emacs Lisp, running in Emacs. It does not intend to extend Emacs Lisp with Common Lisp functionality; however, Emacs Lisp functions can call Common Lisp functions and vice versa.
F2c
Fortran 77 compiler based on the original Unix f77 compiler, with the backend replaced by a C code generator.
Flexc++
Flexc++ was designed after `flex'. Flexc++ offers as compared to flex's C++ option a cleaner class-design. Flexc++ generates a scanner class that is ready for use, as well as a member function producing the lexical scanner tokens (lex()). The class can easily be provided with additional members without the need for polymorphic functions. Consequently, classes generated by flexc++ have no virtual members and actually have but one public member: lex(), replacing the old-style flex and flex++ yylex() function. Flexc++ offers many options, among which an option to define classes generated by flexc++ in a separate namespace. This allows developers to define additional symbols, even outside of the class generated by flexc++, without encountering name-collision problems. With flexc++, artificial means to prevent name-collisions, like the yy-conventions used by flex and flex++ are no longer required. Flexc++ generates C++ code. If C code is required, flex should be used. Flexc++'s grammar requirements are highly compatible with flex's requirements, so converting a flex grammar into a flexc++ grammar should be fairly simple. In addition to the flexc++ scanner generator itself and several skeleton files, the package contains an extensive man-page, as well as a full manual rewritten after the original flex manual, and several examples. To create the program from its sources, either descend into the flexc++ directory, or unpack a created archive, cd into its top-level directory and follow the instructions provided in the INSTALL file found there. Alternatively, binary ready-to-install versions of flexc++ are available in verious GNU/Linux distributions, in particular Debian. See, e.g., https://packages.debian.org/search?keywords=flexc%2B%2B&searchon=names&suite=all&section=all Gitlab's web-pages for flexc++ are here: https://fbb-git.gitlab.io/flexcpp/
Free Oberon
Free Oberon is a cross-platform IDE for development in Oberon programming language made in the classical FreePascal-like pseudo-graphic style. Compilation of user-written programs is performed using the Vishap Oberon Compiler and then GCC. The compiled console programs can be run in the built-in terminal emulator.
Freebasic
FreeBASIC is a compiler for the FreeBASIC programming language, a dialect of BASIC which is partially compatible with Microsoft QuickBASIC. It makes use of the GNU binutils and can compile itself.
Freepascal
FreePascal , aka Free Pascal Compiler (FPC), is a 32 and 64 bit bit Pascal compiler with extensions for different processors and operating systems. It tries to stay compatible with the dialects of well known proprietary Pascal-based compilers, so you don't have to learn much to switch to free software and/or systems. The language syntax is semantically compatible with TP 7.0 as well as most versions of Delphi (classes, rtti, exceptions, ansistrings). FPC supports function overloading, operator overloading and other such features. It also comes with several command-line tools to help your programming, including a source formatter, a makefile generator, a C header translator, a unit dependency lister and even TP lex and yacc. FreePascal comes with its own development environment (not for all platforms yet).
Frost
Frost is a compiler wrapper which makes it possible to use functions with virtual arguments and multi methods in C++ programs as if they were a native feature.
G++
g++ is the traditional nickname of GNU C++, a freely redistributable C++ compiler. It is part of gcc, the GNU compiler suite, and is currently part of that distribution.
  • Decommissioned note:
g++ is now fully integrated in GCC
G2q
A very simple Guile-to-OpenQASM 2.0 compiler based on a GNU Guile add-on library that lets you write programs for QASM-based quantum computers and simulators using Scheme.
G77
GNU Fortran compiler.
GDL
The Gnu Data Language (GDL) is a free alternative to the data visualization and analysis tool, called IDL (Interactive Data Language), frequently used by scientists. GDL and its library routines are designed as a tool for numerical data analysis and visualisation. GDL is dynamically typed, vectorized and has object-oriented programming capabilities. The library routines handle numerical calculations, data visualisation, signal/image processing, file input/output (incl. graphical and scientific data formats such as TIFF, PNG, netCDF, HDF etc) and interaction with host OS. Despite its name, GDL is not a GNU package.
GNU SETL
GNU SETL is a modest extension and implementation of SETL, the World's Most Wonderful Programming Language.
Gambas
Gambas is a full-featured object language and development environment built on a BASIC interpreter. It is split between a compiler, an interpreter, an archiver, a scripter, a graphical development environment, and extension components.
Gcc Heckert gnu.tiny.png,
GCC is the GNU Compiler Collection. It provides compiler front-ends for several languages, including C, C++, Objective-C, Fortran, Ada, and Go. It also includes runtime support libraries for these languages. GCC provides many levels of source code error checking traditionally provided by other tools (such as lint), produces debugging information, and can perform many different optimizations to the resulting object code. GCC supports many different architectures and operating systems.
Gcl Heckert gnu.tiny.png
GCL is a Compiler and interpreter for Common Lisp. It compiles to C and then uses the native optimizing C compiler (e.g., GCC), giving great portability. It is highly efficient: a function call is basically the same speed as a C function call, in fact identical to a C function call via a pointer. The program has a source level Lisp debugger (dbl) for interpreted code, letting you step a line at a time, while displaying your position in an Emacs window. It has pioneered conservative Garbage Collection schemes, but also has the stratified garbage collection (SGC) scheme, for only recent allocations, that is based on native page fault handling. There is also a built in interface to Tk widget system. Allows a mixture of tcl and common lisp to be used in a user interface--your choice which you use.
Gfortran
gfortran is a freely redistributable fortran compiler. It is part of GCC, the GNU compiler suite, and is currently part of that distribution.
Ghc
The Glasgow Haskell Compiler is a robust, fully-featured, optimising compiler and interactive environment for Haskell 98, GHC compiles Haskell to either native code or C. It implements numerous experimental language extensions to Haskell 98; for example: concurrency, a foreign language interface, multi-parameter type classes, scoped type variables, existential and universal quantification, unboxed types, exceptions, weak pointers, and so on. GHC comes with a generational garbage collector, and a space and time profiler.
Gnat Heckert gnu.tiny.png
GNAT is an Ada (including Ada 2012) toolset, integrated into the GCC compiler system. Ada is a state-of-the-art programming language designed for large, long-lived applications where safety, security, and reliability are critical. GNAT includes GNAT Studio, a visual IDE, a comprehensive toolsuite including a visual debugger, and a set of libraries and bindings. As of October 2, 2001 the GNAT sources have been added to the main GCC repository where they are now synchronized almost daily with the internal Ada Core Technologies sources. See the GCC page for a full implementation of gcc.
Gnucobol Heckert gnu.tiny.png
GnuCOBOL is a modern COBOL compiler. It implements a substantial portion of the COBOL 85, COBOL 2002, COBOL 2014 and X/Open COBOL standards, as well as many extensions included in other COBOL compilers (IBM COBOL, MicroFocus COBOL, ACUCOBOL-GT and others) GnuCOBOL translates COBOL into C and compiles the translated code using a native C compiler.
Gnustep Heckert gnu.tiny.png
Provides an object oriented application development framework and tool set for use on a wide variety of platforms. It provides a generalized visual interface design and a cohesive user interface. It also uses a common imaging model called Display PostScript (based on PostScript) to do all its drawing, so the program is truly WYSIWYG. GNUstep is written in the Objective-C language, a simple yet powerful object-oriented language based on C that gives you the full power of an object-oriented language with exactly one syntax addition to C and a dozen or so additional keywords.
Gprolog Heckert gnu.tiny.png
Gprolog is a Prolog compiler with constraint solving over finite domains. It accepts a Prolog+ constraint program and produces a native binary. The obtained executable is now stand-alone. This executable can be quite small since GNU Prolog doesn't need to link the code of most unused built-in predicates. Besides the native code compilation, GNU Prolog offers a classical interactive interpreter (top-level). It also conforms to the ISO standard for Prolog. The program also includes an efficient constraint solver over Finite Domains (FD). This opens constraint logic programming to the user, combining its power with the declarativity of logic programming.
Guavac
This is a candidate for deletion: broken links, software not on archive.org, can't find elsewhere, no response to email to developer. Danm (talk) 14:20, 28 October 2017 (EDT) This is a Debian packaging of Effective Edge Technologies Java compiler. Guavac will allow you to write your own Java programs and applets. WARNING: guavac is orphaned upstream. It is recommended to use gcj or jikes instead. As of 2001-08-03 the home page of http://www.cs.berkeley.edu/~engberg/guavac/ was defunct.
Harbour
Harbour is a free software compiler for the xBase superset language often referred to as Clipper (the language that is implemented by the compiler CA-Clipper).
Hobbit
This program is currently part of the SCM Scheme implementation. Hobbit is a small optimizing scheme-to-C compiler written in R4RS Scheme and intended for use together with SCM scheme. It compiles full R4RS (with the exception of mutual tail recursion and hygienic macros) and supports defmacros. Hobbit treats SCM files as a C library and provides integration of compiled procedures and variables with the SCM interpreter as new primitives. It compiles scheme files to C files and does not provide anything else by itself (eg. calling the C compiler, dynamic loading). Hobbit (derived from hobbit5x) is included in SCM since 2007. Hobbit4d has also been ported to an old version of Guile.
Homebrew Decompiler
This is a candidate for deletion: Links broken. Email to maintainer broken. Poppy-one (talk) 16:17, 2 August 2018 (EDT) Homebrew Decompiler is a GPLed tool (written in C++) that takes Java .class files and reverse engineers the JVM bytecodes to generate .java files that attempt to resemble the original source code as much as possible.
Hy
Hy is a Lisp front-end to the Python AST / Bytecode. This allows you to use the Python VM just as Clojure uses the Java VM. Hy is special, since not only can Hy invoke Python, but Python can also interop with Hy in a clean way.
Icarus Verilog
Icarus Verilog is a Verilog simulation and synthesis tool. It operates as a compiler, compiling source code writen in Verilog (IEEE-1364) into some target format. For batch simulation, the compiler can generate an intermediate form called vvp assembly. This intermediate form is executed by the ``vvp command. For synthesis, the compiler generates netlists in the desired format. The compiler proper is intended to parse and elaborate design descriptions written to the IEEE standard IEEE Std 1364-2001. The standard proper was released towards the middle of the year 2001, though in a rather pricey electronic form. This is a fairly large and complex standard, so it will take some time for it to get there, but that's the goal. NOTE: Under the Version information please browse the Installation link to find the proper download link.
ImpLib SDK
ImpLib SDK is intended for authoring custom MS-COFF Import Libraries with advanced features, like cdecl2stdcall thunks, importing by ordinal, removing original thunks and others.
Janet
Janet is a functional and imperative programming language. It runs on Windows, Linux, macOS, BSDs, and should run on other systems with some porting. The entire language (core library, interpreter, compiler, assembler, PEG) is less than 1MB. You can also add Janet scripting to an application by embedding a single C source file and a single header.
Java Brainfuck compiler
This is a candidate for deletion: Links broken. No archive.org entry. Email to maintainer broken. Poppy-one (talk) 13:10, 6 August 2018 (EDT) The Java Brainfuck Compiler is an optimising compiler for the Brainfuck language which produces Java bytecode.
Kawa Heckert gnu.tiny.png
Kawa is both a full-featured Scheme implementation, and a compiler toolkit for implementing other programming languages. It currently compiles the Scheme functional language to Java bytecodes. Included in Kawa is qexo, a partial implementation of XQuery in Java.
LLVM
LLVM is a compiler infrastructure designed for compile-time, link-time, runtime, and "idle-time" optimization of programs from arbitrary programming languages. It currently supports compilation of C and C++ programs, using front-ends derived from gcc 3.4.
Lazarus
Lazarus is a cross-platform IDE for developers of Free Pascal.
Liberty-eiffel Heckert gnu.tiny.png
Liberty Eiffel is a compiler for the Eiffel programming language. It continues the development of SmartEiffel, the GNU Eiffel Compiler. It is a complete, small and fast, Eiffel compiler, including an Eiffel to C compiler, documentation tools, a pretty printer, a debugger and various other tools. It also includes a large library of classes distributed under the terms of the MIT/X Consortium License and a comprehensive set of wrappers/bindings for widespread Free-Software libraries. Eiffel is an advanced object-oriented programming language that emphasizes the design and construction of high-quality and reusable software.
Lush
Lush is an object-oriented Lisp interpreter and compiler with a C interface, a vector, matrix, and tensor engine, a huge numerical library, a GUI toolkit, and bindings to GSL, SDL, OpenGL, V4l, and others. It is an alternative to Matlab, Python, and Scheme, and lets users mix Lisp and C within a single function for a unique combination of flexibility and efficiency. Lush is ideal for researchers in AI, computer vision, audio, image, and video processing, machine learning, statistics, bio-informatics, interactive graphics, and multimedia applications.


Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the page “GNU Free Documentation License”.

The copyright and license notices on this page only apply to the text on this page. Any software or copyright-licenses or other similar notices described in this text has its own copyright notice and license, which can usually be found in the distribution or license text itself.