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 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.
Disclaimer
The information provided on this page comes without any warranty whatsoever. Use it at your own risk. Just because a program, book, document or service is listed here or has a good review does not mean that I endorse or approve of the program or of any of its contents. All the other standard disclaimers also apply.
Free Logo Implementations
Please go to the Free Logo Compilers and Interpreters page for the free Logo implementations previously listed 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.
Miscellaneous free compilers and interpreters
- 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
To quote from the FAQ, "Erlang is a general-purpose programming language and runtime environment", with "built-in support for concurrency, distribution and fault tolerance." 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.
- FBSL: Free Basic Scripting Language
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.
- 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.
- POW! Programmers Open Workbench
This integrated software development environment for Windows allows you to generate native Windows applications using Oberon-2, and it includes an Oberon-2 compiler. The IDE also supports Java and C/C++. The Oberon-2 compiler is a full implementation of the language and comes with the Oberon-2 library OPAL which allows you to create Windows programs without having to directly access Windows API.
- 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.
- SmartEiffel: The GNU Eiffel Compiler
SmartEiffel (formerly SmallEiffel) is the GNU Eiffel compiler, which 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. You can get more information on Eiffel from the Eiffel FAQ.
- MZScheme
MzScheme is an implementation of the Scheme programming language. Supported platforms include Windows 95, 98, NT, MacOS, Unix, and BeOS. The website notes that it is R4RS compliant and nearly R5RS compliant and provides 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. You can compile your source code to either intermediate byte code or C source (which can be used to generate a native code binary or executable).
- 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.
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
- Frequently Recommended Programming Books
- 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
Can't Find What You're Looking For?
Newest Pages
- How to Make the Meta Tags for Your Website into an Editable Region in a Dreamweaver Template
- Free / Open Source Non-SQL Database Servers and Engines
- How to Create Bulleted Lists (Unordered Lists) for Your Web Page with KompoZer
- Free Royalty Free Music and Sounds
- How to Point Multiple Domain Names to One Website: And How to Avoid Search Engine Problems When Doing So
- Free Programmer's Fonts
- The Decline and Fall of Internet Explorer 6: Implications for Webmasters
- How to Point a Domain Name to Your Website (Or What to Do After Buying Your Domain Name)
- Should You Choose a Linux or a Windows Web Hosting Package? Is There Such a Thing as a Mac Web Host?
- What Does It Mean to Park a Domain Name? Domain Name Parking Explained
- How to Add a CAPTCHA Test to Your Feedback Form Script: Reducing Spam in Your Contact Form
Popular Pages
- How to Create/Start Your Own Website: The Beginner's A-Z Guide
- How to Register Your Own Domain Name - how to get your own domain name
- How to Create a Website with Dreamweaver CS4 (Dreamweaver Tutorial)
- How to Create a Bootable Windows XP Setup CD/DVD on a Preinstalled Windows System
- Free Partitioning Software - Copy, Create, Move, Resize, Convert, Undelete Partitions
- Free Data Recovery, File and Partition Recovery, Undelete and Unformat Software
- How to Create an Emergency Windows Rescue CD
- Free DVD Authoring and Creation Software
- Free CD and DVD Burners and Copying Software
- Free Hard Disk Backup and Restore, Hard Disk Image and Cloning Utilities
How to Link to This Page
It will appear on your page as:
Free Compilers and Interpreters for Miscellaneous Programming Languages
