Free Compilers and Interpreters
PL/I, COMAL, Ruby, Rexx, Eiffel, Lua, etc
Free Compilers and Interpreters for Miscellaneous Programming Languages
This page lists free compilers and interpreters for the following programming languages. If you can't find a particular language in this list, check up the miscellaneous category. Numerous compilers, interpreters from different computer programming languages are dumped there.
If you are looking for a printed book for a particular programming language, you might want to search Amazon.com.
- Free Ada Compilers
- Free Algol Compilers, Interpreters, Translators
- Free APL Compilers and Interpreters
- Free Assemblers and Linkers
- Free BASIC Compilers and Interpreters
- Free C/C++ Compilers
- Free C# Compilers and Interpreters
- Free COBOL Compilers
- Free Common Lisp Compilers and Interpreters
- Free D Compilers and Interpreters
- Free Educational Programming Languages - Teach Kids Programming
- Free Forth Compilers
- Free Fortran Compilers
- Free Java Compilers
- Free Logo Compilers and Interpreters
- Free Modula-2 Compilers
- Free Modula-3 Compilers
- Free Perl Compilers, Interpreters, Binaries and Implementations
- Free PHP Compilers: native code, .NET and Java bytecode compilers
- Free Pascal and Delphi Compilers
- Free Prolog Compilers
- Free Python Compilers, Interpreters and Implementations
- Free Smalltalk Compilers and Interpreters
- Free Standard ML Compilers
- Miscellaneous Free Compilers and Interpreters
If you still can't find it, try the main Free Compilers and Interpreters index. There may be a separate page for it that I forgot to list here.
Free Smalltalk Implementations
The free Smalltalk implementations have been moved to their own page, since there were just too many to cram into this miscellaneous page. Please see the Free Smalltalk Compilers and Interpreters instead.
Free PL/I (or PL/1) Compilers
- Digital Research PL/I for PC-DOS
This is a MSDOS PL/I compiler that compiles a subset of the PL/I language (G subset). It comes with a linker and samples. It is apparently free if you use it for non-commercial purposes. (Update: the site originally linked to here appears to have disappeared, and I can't find an official replacement. I suppose you can always search for it, but there's no guarantee that the sites you find are legitimate. I prefer to list only official sites.)
Free Eiffel Compilers
- Liberty Eiffel
Liberty Eiffel is the GNU Eiffel Compiler. It was originally derived from SmartEiffel. The compiler is primarily distributed in source form, although you may be able to get binaries for it from their "apt" repository if you use Debian or Ubuntu Linux.
- SmartEiffel
SmartEiffel (formerly SmallEiffel) can compile to C or Java bytecode. For those not familiar with Eiffel, it is an object-oriented programming language. This implementation supports Linux, GNU HURD, BSD, HP-UX, IRIX, XENIX, Solaris, DOS, OS/2, Windows NT/95, Macintosh, NeXT, Amiga, VMS, BeOS and possibly other Unices.
Miscellaneous free compilers and interpreters
- Rust Programming Language
Rust is a language syntactically similar to C++ but is designed to be memory-safe and thread-safe. It does not have a runtime garbage collector, but manages its memory and resources using a resource acquisition is initialization (RAII) convention with optional reference counting. Platforms supported include Windows, macOS, Linux, FreeBSD, OpenBSD, Android, iOS, and Redox (which is written in Rust).
- The Go Programming Language
The Go programming language, created by Robert Griesemer, Rob Pike, and Ken Thompson, is a language designed to be suitable for modern systems programming and fast compilation and linking. It incorporates built-in support for concurrent programming (with processes that can communicate with each other) and garbage collection. It is type safe and memory safe (you can't do pointer arithmetic like in C/C++, although you can use pointers). Compilers for the language, at the time of this writing, are available only for Linux and Mac OS X. Note that due to a name collision with an earlier programming language called Go!, the language may change its name in the future. Another thing to note (before you rush to write your critical systems with it) is that the language appears to be still under development.
- The R Project for Statistical Computing
R is a language and environment for statistical computing and graphics. It is similar to the S language and environment, and some of the code written for S can run unaltered for R (although not all - there are differences). R supports "a wide variety of statistical (linear and nonlinear modelling, classical statistical tests, time-series analysis, classification, clustering, ...) and graphical techniques, and is highly extensible." It allows you to easily produce publication-quality plots that include mathematical formulae and symbols. The software is available in source code under the GNU General Public License (GPL), and can be compiled and run under Linux, Windows, MacOS, FreeBSD, etc.
- OpenComal - Comal Interpreter
OpenComal is a free interpreter for the Comal programming language. Comal is supposed to be a crossover between the BASIC programming language and Pascal. Platforms supported include Windows, MSDOS, and Unix-type systems (such as Linux). The interpreter is licensed under the GNU General Public License (GPL).
- XPL0
XPL0 is a block structured programming language that supports recursion, integers, double-precision floating-point (with or without a math coprocessor), generalized I/O for the console, printers, files and serial ports, unlimited-dimensional arrays, complex data structures using pointers, procedure and function nesting (up to 8 levels), built-in graphics and transcendental routines, peek, poke, port I/O, etc. According to its creator, the language is similar to Pascal although less restrictive, less cryptic than C and more powerful than BASIC. It can generate interpreted as well as native code. The compiler runs under DOS. To use the native and optimizing compilers, you will need an assembler. You can get many free assemblers from the Free Assemblers, Linkers and Object Module Librarians page.
- The Harbour Project
Harbour is a free compiler that handles the Clipper superset of the xBase language (the language that originated with dBase). It can compile and run on Windows, MS-DOS, OS/2 and Linux. It is currently under development.
- REBOL
REBOL, or the Relative Expression-Based Object Language, is an interpreted language for distributed Internet applications that runs on a variety of devices. The core interpreter is free for all uses, while the version that supports graphics is free only for non-commercial use. REBOL runs on Windows XP/CE/NT/2K/9x, Linux, FreeBSD, OpenBSD, Mac OS and OS X, Solaris Sparc, BeOS, NetBSD, HP-UX, AIX, etc.
- Lua Programming Language
Lua is an interpreted procedural language with "data description constructs based on associative arrays and extensible semantics". It has dynamic typing, automatic garbage collection, etc. It is free, open source, and supports Windows, Windows CE, Linux, OS/2, BEOS, etc.
- Erlang
Erlang is a general purpose programming language with built-in support for writing concurrent programs. It is suitable for distributed, reliable, soft real-time concurrent systems like servers for Internet applications (eg, web servers, mail servers), telecommunications systems, database applications that require soft realtime behaviour, etc. Erlang is released free with source code, libraries of code, and documentation. Those serious about learning Erlang can also find books on Erlang on Amazon like ERLANG Programming and Programming Erlang: Software for a Concurrent World.
- Regina Rexx Interpreter
Regina is a Rexx interpreter. The developers intend to make it 100% compliant with the ANSI Rexx standard. It has been ported to OS/2, MSDOS, Windows 95, Windows 98, Windows NT, Amiga, QNX, BeOS, OpenVMS, etc.
- Ruby Programming Language
This is an interpreted scripting language designed for "quick and easy object-oriented programming." It has facilities to process text files and do system management tasks. Its syntax was partially inspired by Eiffel and Ada. Supported operating systems include Windows, Unix, DOS, Mac, BeOS, OS/2 etc. It even does OS independent threading.
- Euphoria
From their website, Euphoria is "a simple, flexible, and easy-to-learn programming language" that allows you to develop programs for DOS, Windows and Linux. It provides things like subscript checking, uninitialized variable checking and other runtime checks. It has apparently even been used to develop 32 bit games for DOS.
- Icon
To quote from the FAQ, "Icon is a very high level general-purpose programming language with extensive features for processing strings (text) and data structures." It runs on MSDOS, Unix, Windows 3.1, Windows 95, Windows NT, Macintosh, VAX/VMS, Amiga, and the Acorn Archimedes. Older versions are available for the Atari ST, IBM CMS and MVS and OS/2. There is also a Java implementation called JCON that generates Java classes which can be executed in a Java virtual machine.
- JAL
JAL, or Just Another Language, is a high level language for Microchip PIC 16x84 (16c68 and 16f84) and Scenix SX (SX18 and SX28) microcontrollers. It is Pascal like, and its libraries are released under the GNU LGPL licence. Versions are available for Linux, Windows and Mac OS X.
- R
R (a.k.a. GNU S) is a language and environment for statistical computing and graphics. R's implementation of the S language "provides a wide variety of statistical and graphical techniques (linear and non-linear modelling, statistical tests, time series analysis, classification, clustering...)". It is a true computer language and it has support for control flow, facility for adding new functions, and the ability to call C or Fortran code.
- Racket
Racket is a descendant of the Scheme programming language. It has support for R6RS (the Revised 6 Report on the Algorithmic Language Scheme) as well as R5RS (not by default). Features include a Just-In-Time (JIT) compiler, support for pre-emptive threads (all platforms), generative structures (record data types), built-in exceptions, compilation units, object oriented system, regular expression matching, simple TCP communication, portable filesystem access, platform specific process control (including AppleEvent support), etc.
- Mercury
A logic/functional programming language that "combines the clarity and expressiveness of declarative programming with advanced static analysis and error detection features." The compiler generates C code.
- FBSL: Free Basic Scripting Language
[Update: this site seems to be gone.] This is a simple scripting language for Windows systems. You can create script files that run in GUI or console mode for use with this interpreter.
Related Pages
- How to Start / Create Your Own Website: The Beginner's A-Z Guide
- Free Grammars for Programming Languages
- Free Compiler Construction Tools - create your own compiler/language
- Free 68k and PowerPC Macintosh Emulators
- How to Register Your Own Domain Name (for your software)
- Which Web Host Do You Recommend? (FAQ)
- How to Create Image Rollovers (Mouse-overs) in JavaScript
Newest Pages
- How to Convert Your Website from XHTML 1.0 to HTML5 the Quick and Easy Way
- How to Set the Height of a DIV Relative to a Browser Window (CSS)
- Free EPUB Readers (Ebook Viewing Software)
- How to Generate the Free Let's Encrypt SSL Certificate on Your Own (Windows) Computer
- How to Insert Meta Tags into a Web Page with BlueGriffon
- How to Play a Song (or Some Other Audio Clip) from a List on a Website
- Two Ways to View a Binary File on Windows Without Installing Anything
- How to Draw a Horizontal Line on a Web Page with Expression Web
- How to Create a Website Free of Charge
- Why Can't I Make Up Any Domain I Want? Is There a Way to Do Away with a Registrar Altogether?
How to Link to This Page
It will appear on your page as:
Free Compilers and Interpreters for Miscellaneous Programming Languages