Semantic search

Jump to: navigation, search


MANOOL
MLKit
This is a candidate for deletion: Links broken. No archive.org entry. Email to maintainer broken. Poppy-one (talk) 08:37, 1 September 2018 (EDT) The MLKit is a full-blown compiler for the programming language Standard ML. The MLKit implements most of the Basis Library and has support for ML Basis Files. The compiler runs on the Linux platform and targets the x86 architecture. The MLKit includes a graphical region profiler, which helps gain detailed control over memory reuse. The example graph to the right shows a region profile (region sizes as a function of time) of two hundred generations of the `Game of Life'. Programmers who are interested in real-time programming can exploit the possibility of disabling reference-tracing garbage collection. In this case, there will be no interruptions of unbounded duration at runtime.
MLton
MLton is a whole-program optimizing Standard ML compiler that supports the full SML 97 language. Features include a complete basis library (except for use) matching the 2002 specs, untagged native integers and reals, unboxed native arrays, fast C FFI, multiple garbage collection strategies (copying, mark contact, generational), source-level profiling of both time and allocation, and a fast IntInf based on GNUmp. It also includes libraries for continuations, finalization, heap save and restore, interval timers, random numbers, resource limits, resource usage, signal handlers, system logging, threads, weak pointers.
Matiec
This project has the goal of producing an open source compiler for the programming languages defined in the IEC 61131-3 standard. These programming languages are mostly used in the industrial automation domain, to program PLCs (Programmable Logic Controllers). This standard defines 5 programming languages: - IL : Instructtion List A textual programming language, somewhat similar to assembly. - ST : Structured Text A textual programming language, somewhat similar to Pascal. - FBD: Function Block Diagram A graphical programming language, somewhat similar to an electrical circuit diagram based on small scale integration ICs (Integrated Circuits) (counters, AND/OR/XOR/... logic gates, timers, ...). - LD : Ladder Diagram A graphical programming language, somewhat similar to an electrical circuit diagram based on relays (used for basic cabled logic controllers). - SFC: Sequential Function Chart A graphical programming language, that defines a state machine, based largely on Grafcet. (may also be expressed in textual format). Of the above 5 languages, the standard defines textual representations for IL, ST and SFC. It is these 3 languages that we target, and we currently support all three, as long as they are expressed in the textual format as defined in the standard. Currently the matiec project generates two compilers (more correctly, code translaters, but we like to call them compilers :-O ): iec2c, and iec2iec Both compilers accept the same input: a text file with ST, IL and/or SFC code. The iec2c compiler generates ANSI C code which is equivalent to the IEC 61131-3 code expressed in the input file. The iec2iec compiler generates IEC61131-3 code which is equivalent to the IEC 61131-3 code expressed in the input file. This last compiler should generate and output file which should be almost identical to the input file (some formating may change, as well as the case of letters, etc.). This 'compiler' is mostly used by the matiec project contributors to help debug the lexical and syntax portions of the compilers.
Mit-scheme Heckert gnu.tiny.png
Mit-scheme is an implementation of the Scheme programming language, providing an interpreter, compiler, source-code debugger, integrated Emacs-like editor, and a large runtime library. MIT/GNU Scheme is best suited to programming large applications with a rapid development cycle.
Modula-2
This is a candidate for deletion: Links to software on homepage are broken, can't find elsewhere, not on archive.org, my email to maintainer was returned to sender. Danm (talk) 16:49, 1 November 2017 (EDT) The Modula-2 System includes a compiler (for SPARCv8 under Solaris 2.x), extensive libraries, and some tools including a makefile generator. The compiler and the library predate the Modula-2 ISO standard. A Modula-2 compiler generating native code for m68k is available as well.
Mold
mold is a faster drop-in replacement for existing Unix linkers. It is several times faster than the LLVM lld linker, the second-fastest open-source linker which I originally created a few years ago. mold is designed to increase developer productivity by reducing build time, especially in rapid debug-edit-rebuild cycles.
Mono
Mono is a free implementation of the various ECMA and .NET framework technologies for Posix, MacOS X, and Windows. The project includes a compiler, a class library, and a CLI runtime engine.
Mozart
A framework for developing user-extensible compilers and development tools. In its current state, it contains a Java to Java extensible compiler called Moka, considered in "beta" phase, and a compiler for a language called LX, in "pre-alpha" stage. It was designed with large and sophiticated software projects in mind. Mozart uses the idea of "concept programming," which makes development tools extensible, so that they understand the concepts of your application. You can describe the concepts to the development tools, and they become entities that you can manipulate the same way as built-in entities. Multiple development tools, including small and "custom" ones, can exchange program-related information in a unified format, either through persistent storage (files) or directly in memory.
Namecheck
Namecheck is a tool for static checking of symbol names using configurable rules for C and C++ code. It is currently a gcc plugin.
Nhc98
nhc98 is a small, easy to install, standards-compliant compiler for Haskell 98, the lazy functional programming language. It is very portable, and aims to produce small executables that run in small amounts of memory. It produces medium-fast code, and compilation is itself quite fast. It also comes with extensive tool support for automatic compilation, foreign language interfacing, heap and time profiling, tracing, and debugging. (Some of its advanced kinds of heap profiles are not found in any other Haskell compiler.) It supports the new common primitive FFI (Foreign Function Interface), and includes the most advanced space-profiling facilities of all Haskell implementations. Most importantly, it allows graphical debugging of programs using both Hat and HOOD. nhc98 is available for all 32-bit Unix-like platforms. Although it is itself written in standard Haskell 98, it can be quickly and easily be bootstrapped from C sources, so you do not need another Haskell compiler to get started.
Nice
Nice is an object-oriented programming language based on Java. It incorporates many advanced features from functional programming and academic research. This results in more expressivity, modularity and safety.
Nim
Nim was created to be a language as fast as C, as expressive as Python, and as extensible as Lisp. Nim is statically typed. It supports compile-time metaprogramming features such as syntactic macros and term rewriting macros. Term rewriting macros enable library implementations of common data structures, such as bignums and matrices, to be implemented efficiently, as if they were built-in language facilities. Iterators are supported and can be used as first class entities, as can functions, allowing for the use of functional programming methods. Object-oriented programming is supported by inheritance and multiple dispatch. Functions can be generic, they can be overloaded, and generics are further enhanced by Nim's support for type classes. Operator overloading is also supported. Nim includes tunable automatic garbage collection based on deferred reference counting with cycle detection, which can also be turned off altogether.

Features

  • Intuitive and clean syntax (inspired by Python)
  • JavaScript compilation
  • Small core with a rich prospect for extensibility
  • Decentralised package management with Nimble, the Nim package manager
  • Helpful tracebacks (inspired by Python)
OfficeFloor
OfficeFloor provides true inversion of control for building simple static to complex real-time Web applications that are "build once, run anywhere" - even with cloud computing. It allows you to wire together a working prototype in minutes, extend the prototype to a working Web site in hours, and deploy and run anywhere. The code is self documenting to make support easier. It aims to be "The Java Web Answer" for rapid application development for Web applications.
Ol
Otus Lisp (Ol in short) is a purely functional dialect of Lisp. It implements an extended subset of R5RS Scheme including, but not limited to, some of the SRFIs. It's tiny(42kb), embeddable and crossplatform; can run in own sandbox; provides a portable, highlevel way for calling the code written in another languages. You can use Otus Lisp on GNU/Linux, Windows, Unix, Android and lot of any other operation systems with various (x86, x86_64, mips, arm, aarch64, ppc, etc.) architectures.
Packrom
Tool to convert programs compiled in .hex object files to the .uze format for the Uzebox game console or for use in an emulator of the Uzebox game console. The .uze files are then used by the Uzebox bootloader to load and execute the .uze programs.
Pascal Heckert gnu.tiny.png
GNU Pascal is the Pascal language compiler of Project GNU. It is a 32/64 bit compiler that is linked against the GCC backend and will be integrated in to GCC in the long run. It runs on all operating systems compatible with GCC, and can act as a native or a cross compiler between those systems. It implements ISO Pascal, Borland Pascal 7.0, and parts of other Pascal standards or de-facto standards.
Psyco
'Psyco' helps execute Python code at speeds approaching that of fully compiled languages by using a technique called "specialization". This extension module for the unmodified interpreter accelerates user programs with little or no change in their sources. An increase in speed of 2 to 10 times is common.
PyjsioCompile
Simple compiler for jsio scripts, apps, and packages.
Python
Python is an high-level programming and scripting language. Some of its key distinguishing features include: clear, readable syntax; strong introspection capabilities; intuitive object orientation; natural expression of procedural code; full modularity, supporting hierarchical packages; exception-based error handling; and very high-level dynamic data types.
QBE
QBE aims to be a pure C embeddable backend that provides 70% of the performance of advanced compilers in 10% of the code. It features great compatibility with C code, IEEE floating points support, SSA-based intermediate language, copy elimination, sparse conditional constant propagation, dead instructions elimination, registerization of small stack slots, split spiller and register allocator thanks to SSA form, smart spilling heuristic based on loop analysis, linear register allocator with hinting, x64 addressing mode recognization, uniform and simple IL syntax, and fast compilation.
QDot 8086
QDot 8086 is a mid-level programming language targeting the original IBM-PC architecture written as a set of macros for NASM — the Netwide Assembler. The idea behind it is to make it easy to write small, fast, correct and maintainable code in a language almost as expressive as C but without giving up all control Assembly language grants to programmers. It features support to functions of an arbitrary number of parameters and multiple return values, global and function-local variables, loop and conditional flow-control constructs, evaluation of arbitrarily complex stack-based expressions, symbol importing and primitive debugging. In order to accomplish this, NASM’s powerful preprocessing and assembling capabilities are used to achieve a machinery that very closely resembles a compiler. QDot has also a companion standard library that is fully BIOS-based, thus OS-independent, which provides array processing, keyboard, video, disk and speaker I/O, timing, low-level debugging, math functions, user interface procedures and last but not least a versatile metamorphic boot-loader, that makes it simple to build a binary that is simultaneously a valid DOS executable and a bootable image — a property known as run-within-OS-or-bootstrap-itself-without-OS. There are already a couple of programs implemented in QDot as a proof of concept: Terminal Matrix 8086 and DeciMatrix 8086. QDot currently supports only the tiny memory model (.COM binaries — whose code, data and stack fit all within 64kb segment boundaries).
Qexo Heckert gnu.tiny.png
Qexo (Query Expressions for XML Objects aka Kawa-XQuery) is an implementation of W3C's draft XML query language XQuery. XQuery is a high-level expression language whose values are sequences of nodes (as in DOM) and simple values. It includes syntax for embedding XML or HTML results, and a 'for' statement comparable to SQL's 'select'. This implementation uses the Kawa tools to compile XQuery programs to Java bytecodes that can run on any JVM. XQuery programs can run as servlets, as standalone applications, or from the command-line.
Ragel State Machine Compiler
Ragel compiles executable finite state machines from regular languages. Ragel targets C, C++ and ASM. Ragel state machines can not only recognize byte sequences as regular expression machines do, but can also execute code at arbitrary points in the recognition of a regular language. Code embedding is done using inline operators that do not disrupt the regular language syntax.
SNACC
Given an ASN.1 source file SNACC can produce C routines for BER encoding, decoding, printing, and freeing; C++ routines for BER encoding, decoding, and printing; and a type table that can be used with generic C routines for BER encoding, decoding, printing, and freeing. SNACC produces reasonably efficient C or C++ routines and data structures values of the given ASN.1 data structures, as well as printing routines for the decoded values. For C only, the program generates hierarchical freeing routines (but for efficiency reasons this is not recommended). The SNACC compiler and the generated code will compile under both ANSI and non-ANSI C compilers.
SableCC
'SableCC' is an object-oriented framework that generates compilers and interpreters in Java. It is based on two design decisions. First, the framework uses object-oriented techniques to automatically build a strictly typed abstract syntax tree. Second, the framework generates tree-walker classes using an extended version of the visitor design pattern which enables the implementation of actions on the nodes of the abstract syntax tree using inheritance. This means a shorter development cycle for constructing compilers.
Sather Heckert gnu.tiny.png
Sather is an object-oriented programming language similar to Eiffel. It is designed to be simple, efficient, safe, and non-proprietary. It features garbage collection, statically-checked strong typing, multiple inheritance, parameterized classes and more. This package consists of a compiler, a class library, the language specification and programming manual, and a browser for displaying sources and directed graphs of class inheritance.
Sbt
sbt is a build tool for Scala, Java, and more.
Scons-chicken
This is a candidate for deletion: Links broken. No links to page. Maintainer response to email is "I'm not personally maintaining it anymore, so, I doubt it is maintained."Poppy-one (talk) 17:40, 28 July 2018 (EDT) Scons-chicken adds support for SCons to compile Chicken based projects. It aims to be as simple as possible and as automatic as possible supporting all possible features of Chicken, like making and using extensions, generating the .setup files, etc.
Sdcc
"Small Device C Compiler" is a retargetable, optimizing ANSI C compiler. The current version targets the Intel 8051 and recently the Zilog Z80 based MCUs., but can be retargeted for other 8 bit MCUs or PICs. SDCC uses ASXXXX and ASLINK, a retargettable assembler and linker. SDCC has extensive MCU specific language extensions, which lets it effectively use the underlying hardware. The front end (parser) will be enhanced as targeted to handle language extensions for other MCUs. In addition to the MCU Specific optimizations, SDCC does a host of standard optimizations like global sub expression elimination, loop optimizations (loop invariant, strength reduction of induction variables and loop reversing), constant folding and propagation, copy propagation, dead code elimination and jump tables for 'switch' statements.
Shake(build tool)
Shake is a Haskell library for writing build systems - designed as a replacement for make. See "Development.Shake" for an introduction, including an example. Further examples are included in the Cabal tarball, under the Examples directory. The homepage contains links to a user manual, an academic paper and further information: <http://www.shakebuild.com/> To use Shake the user writes a Haskell program that imports "Development.Shake", defines some build rules, and calls the 'Development.Shake.shakeArgs' function. Thanks to do notation and infix operators, a simple Shake build system is not too dissimilar from a simple Makefile. However, as build systems get more complex, Shake is able to take advantage of the excellent abstraction facilities offered by Haskell and easily support much larger projects. The Shake library provides all the standard features available in other build systems, including automatic parallelism and minimal rebuilds. Shake also provides more accurate dependency tracking, including seamless support for generated files, and dependencies on system information (e.g. compiler version).
Smarteiffel
SmartEiffel is a research and free software project that provides the Eiffel community with a mature and free compiler, an extensive and entirely object-oriented class library and a set of Eiffel-specific tools needed for a complete development environment, as an Eiffel-level symbolic debugger or a documentation tool.
Snescom
snescom is a suite of assembler and linker tools for the 65816 processor, which is used in the SNES. It can produce xa65-compatible relocatable object files, IPS format patches, raw binary images, and ROM images in SMC format.
State Machine Compiler
'SMC' takes a state machine stored in an .sm file and generates the state pattern classes in C++, Java, or [incr Tcl]. No more hand-maintained transition matrices or widely scattered switch statements. The state diagram is now in one place, coded directly from the picture to the SMC language and easily maintained. Dealing with unexpected events is a must for a robust application. By combining virtual methods with the state pattern, SMC lets you define "Default" transitions - transitions which allow your objects to handle unexpected events, recover and continue providing service.
Steel Bank Common Lisp
Steel Bank Common Lisp is a development environment for Common Lisp. It supports almost all of the ANSI standard: garbage collection, lexical closures, powerful macros, strong dynamic typing, incremental compilation, and the Common Lisp object system (multimethods and all). It also includes some extensions, such as an interface to call out to C. These are all available through an integrated native compiler, plus the usual Lispy integrated interpreter and high level debugging support.
Superopt Heckert gnu.tiny.png
GNU superoptimizer is a function sequence generator that uses exhaustive generate-and-test approach to find the shortest instruction sequence for a given function. You must tell the superoptimizer which function and which CPU you want to get code for. It cannot generate very long sequences unless you have a very fast computer.
TCLP
TCLP is a type checker for Prolog dialects. Its goal is to statically trap programming errors like illegal arguments used in a call for a predicate or illegally built data structures with respect to a given typing for function symbols or predicates. TCLP is also capable of type inference for user predicates. It supports ISO-Prolog, GNU-Prolog, and SICStus Prolog.
Tiny C Compiler
TCC (Tiny C Compiler) is small, fast, unlimited, and safe. You can compile and execute C code everywhere (e.g., on rescue disks). It generates optimized x86 code, and can compile, assemble, and link several times faster than 'gcc -O0'. Any C dynamic library can be used directly. It includes an optional memory and bounds checker, and bounds-checked code can be mixed freely with standard code. C script is also supported--just add '#!/usr/bin/tcc' at the first line of your C source, and execute it directly from the command line.
Tiny COBOL
Tiny COBOL is a COBOL compiler designed to implement the COBOL 85 standard. It also conforms to some of the COBOL-2002 standard. This package, actively developed in the 2000 years by members of the free software community, is no longer maintained.
Tvmet
This Tiny Vector and Matrix template library uses Meta Templates and Expression Templates (ET) to evaluate results at compile time, thus making it fast for low-end systems. The code produced is similar to hand-coded code, but its quality still depends on the compiler and its version. The dimensions for vectors and matrices are static and bounded at compile time using template arguments.
Umple
Umple technology for adding UML constructs to programming languages, or representing models textually; includes a code generator, Eclipse plugins, and the UmpleOnline web app
Uz80as
uz80as is an assembler for the Zilog Z80 and several other microprocessors. It accepts source files with the same syntax accepted by the Telemark Cross Assembler (TASM), with only minor differences. Currently, uz80as can assemble for these microprocessors: - Z80 family - Zilog Z80 - Hitachi HD64180 - Sharp LR35902 (Nintendo Gameboy CPU) - 6500 family - MOS Technology 6502 - California Micro Devices G65SC02 - Rockwell R6501, R65C02, R65C29 - Western Design Center W65C02S - Datapoint 2200 (versions I & II) - Intel 4004, 4040, 8008, 8021, 8022, 8041, 8048, 8051, 8080, 8085 - Motorola 6800, 6801, 68HC11
Vely
Vely is a free open source framework for rapid building of server-side applications. Its goal is maximum performance and simplicity. Vely is well-suited for both web development and command-line applications. It works by generating C code from statements embedded in C code. Run Hello World in minutes.
VirtualBox
Virtual Machine Software creation entity
White dune
With 'white_dune' you can create/change 3D objects and animate them (in a easy way if you choose the -4kids GUI). The result can be shown in any webgl enabled web browser or converted to the Renderman Image Bytestream format or povray format for movie creation. 'white_dune' is a graphical editor, a simple NURBS/Superformula/Subdivision 3D modeller, and a animation tool for the VRML97(Virtual Reality Modelling Language)/X3D, which is the ISO standard for displaying 3D data over the web via browser plugins (or webgl via X3DOM or X_ITE javascript) . It supports animation, realtime interaction and multimedia (image, movie, sound). Dune reads VRML97/X3D files, displays, and let the user change scenegraphs/fields. 'white_dune' can also translate a VRML97/X3D file to C or C++. The resulting file can be rendered with OpenGL. Under GNU/Linux white_dune is a immersive VRML editor. It has support for stereoscopic view via "quadbuffer" capable stereo visuals and support for various 3D input devices supported by the X11 XInput or Linux joystick interface.
Z80-ASM
'Z80-ASM' contains a compiler for the Z80 assembling language and a monitor including an interactive debugger. The compiler is a two-pass one, which knows all documented Z80 instructions. It has labels, comments and can even evaluate constant arithmetic expressions. The debugger is interactive; it shows content of all registers, memory, stack, program. You can trace programs step by step, modify registers and contents of memory, and load and save parts of memory.
Zcl
zcl is a hand-rolled Java binding for OpenCL 2.1. It maps closely to the OpenCL api whilst maintaining "Javaness" - type safety, object orientation, and garbage collection.


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.