Main > Free Download Search >

Free ahead of time compiler software for linux

ahead of time compiler

Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 4977
Obfuscated Tiny C Compiler

Obfuscated Tiny C Compiler


Obfuscated Tiny C Compiler (OTCC) is a very small C compiler. more>>
Obfuscated Tiny C Compiler (OTCC) is a very small C compiler I wrote in order to win the International Obfuscated C Code Contest (IOCCC) in 2002.

My goal was to write the smallest C compiler which is able to compile itself. I choose a subset of C which was general enough to write a small C compiler. Then I extended the C subset until I reached the maximum size authorized by the contest: 2048 bytes of C source excluding the ;, {, } and space characters.

I choose to generate i386 code. The original OTCC code could only run on i386 Linux because it relied on endianness and unaligned access. It generated the program in memory and launched it directly. External symbols were resolved with dlsym().

In order to have a portable version of OTCC, I made a variant called OTCCELF. It is only a little larger than OTCC, but it generates directly a dynamically linked i386 ELF executable from a C source without relying on any binutils tools! OTCCELF was tested succesfully on i386 Linux and on Sparc Solaris.

NOTE: My other project TinyCC which is a fully featured ISOC99 C compiler was written by starting from the source code of OTCC !

Compilation:

gcc -O2 otcc.c -o otcc -ldl
gcc -O2 otccelf.c -o otccelf

Self-compilation:

./otccelf otccelf.c otccelf1
<<less
Download (0.004MB)
Added: 2006-03-29 License: GPL (GNU General Public License) Price:
1318 downloads
JavaNativeCompiler 1.1.1

JavaNativeCompiler 1.1.1


JavaNativeCompiler (JNC) is a Java to native compiler. more>>
JavaNativeCompiler (JNC) is a Java to native compiler. The project allows AOT (ahead of time) compilation of your Java applications. With JNC, you can create real standalone native binaries (.exe on Windows) which will no longer depend on a JRE.
This is especially useful when applications have to be deployed to end-users. All vexatious problems of deploying Java applications can be solved by compiling them to native. They will be:
- Easy to deploy
No JRE dependency. Most end-users dont know what they have installed.
No more problems on how to create an executable file out of a JAR or class file.
- Hard to decompile
Java can easily be decompiled. Native compilation will protect your source code.
- Run fast from the start
No more overhead for loading a JRE.
Enhancements:
- This release fixes a couple of problems with AWT/Swing and XML.
- It also once again contains a version for Linux.
- The compiler binary downloads are smaller.
<<less
Download (MB)
Added: 2007-03-05 License: Other/Proprietary License with Source Price:
965 downloads
The Glasgow Haskell Compiler 6.6

The Glasgow Haskell Compiler 6.6


The Glasgow Haskell Compiler is a compiler for Haskell 98. more>>
The Glasgow Haskell Compiler is a state-of-the-art, open source, compiler and interactive environment for the functional language Haskell.
Main features:
- GHC supports the entire Haskell 98 language plus a wide variety of extensions.
- GHC works on several platforms including Windows and most varieties of Unix, and several different processor architectures. There are detailed instructions for porting GHC to a new platform.
- GHC has extensive optimisation capabilities, including inter-module optimisation.
- GHC compiles Haskell code either by using an intermediate C compiler (GCC), or by generating native code on some platforms. The interactive environment compiles Haskell to bytecode, and supports execution of mixed bytecode/compiled programs.
- Profiling is supported, both by time/allocation and various kinds of heap profiling.
- GHC comes with a wide range of libraries.
GHC is heavily dependent on its users and contributors. Please come and join the mailing lists and send us your comments, suggestions, bug reports and contributions!
Enhancements:
- SMP support and impredicative polymorphism were added.
- The libraries were split into core and extra.
- Many more changes were made.
<<less
Download (6.7MB)
Added: 2006-10-15 License: BSD License Price:
1105 downloads
Ragel State Machine Compiler 5.23

Ragel State Machine Compiler 5.23


Ragel State Machine Compiler compiles state machines from regular languages. more>>
Ragel State Machine Compiler compiles finite state machines from regular languages into executable C/C++/Objective-C code. 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.
Ragel can also be thought of as a finite state transducer compiler where output symbols represent blocks of code that get executed instead of written to the output stream.
When you wish to write down a regular language you start with some simple regular language and build a bigger one using the regular language operators union, concatenation, kleene star, intersection and subtraction.
This is precisely the way you describe to Ragel how to compile your finite state machines. Ragel also understands operators that embed actions into machines and operators that control any non-determinism in machines.
Ragel FSMs are closed under all of Ragels regular language, action specification and priority assignment operators. This property allows arbitrary regular languages to be described. Complexity is limited only by available processing resources.
For example, you can make one machine that picks out specially formatted comments in C code, another machine that builds a list all function declarations and a third that identifies string constants then "or" them all together to make a single machine that performs all of these tasks concurrently and independently on one pass of the input.
Main features:
- Describe arbitrary state machines using regular language operators and/or state tables.
- NFA to DFA conversion.
- Hopcrofts state minimization.
- Embed any number of actions into machines at arbitrary places.
- Control non-determinism using priorities on transitions.
- Visualize output with Graphviz.
- Use byte, double byte or word sized alphabets.
- Generate C/C++/Objective-C code with no dependencies.
- Choose from table or control flow driven output.
Enhancements:
- The documentation and the Ruby code generator were improved.
<<less
Download (0.52MB)
Added: 2007-07-25 License: GPL (GNU General Public License) Price:
824 downloads
Portable Object Compiler 0.2.2

Portable Object Compiler 0.2.2


Portable Object Compiler project consists of a set of Objective-C class libraries and a precompiler (translator) that generates more>>
Portable Object Compiler project consists of a set of Objective-C class libraries and a precompiler (translator) that generates plain C code.
Main features:
- Easy to install or to modify.
- Works on many systems with the native cc, debugger, profiler etc. (Unix, Windows, Macintosh, Beos, OpenVMS etc. see Platforms.txt file)
- Option for reference counted memory management (-refcnt). This uses the native malloc(), free() etc. but the compiler generates statements for keeping track of references (Tested on a few platforms, such as IRIX 5.2 with the SGI malloc).
- Built-in possibility of tracing Objective C messages. (OBJCRTMSG)
- Straightforward "C" messenger; "inline cache" messenger. Forwarding C messenger (to support -doesNotUnderstand:).
- All classes get a +initialize message at start-up, rather than each class receives a +initialize before it receives its first message.
- Some support for translating Objective-C to Smalltalk (-st80 option)
- Automatic archiver. Compiler generates code for classes to save and load objects to and from disk (for all instance variables of type "id").
- Option for Garbage Collection (using Boehm gc package). Tested on some UNIXes and WIN32. Option for reference counted memory management (doesnt require Boehm).
- Exception handling scheme (using Objective-C Blocks) that allows to specify a default handler to be executed.
- Supports dynamically loading Objective-C modules on Windows, FreeBSD, HP-UX, Linux, IRIX, Digital Unix etc.
- Has a switch for double indirection for Object identifiers (id as a handle instead of a pointer). (-become: method)
- Supports forwarding messages (-doesNotUnderstand: method)
- Support for Embedded SQL in Objective-C (Informix only for now)
- Great system for experimentation with your own additions/extensions to Objective C !
<<less
Download (0.82MB)
Added: 2007-02-15 License: GPL (GNU General Public License) Price:
985 downloads
Java Brainfuck Compiler 2.0

Java Brainfuck Compiler 2.0


Java Brainfuck Compiler is an optimising Brainfuck to Java bytecode compiler. more>>
The Java Brainfuck Compiler is a compiler for the uniquely powerful Brainfuck language, which produces Java bytecode that will run on any Java Virtual Machine (with no intermediate steps such as going by way of Java code).

<<less
Download (0.010MB)
Added: 2005-04-18 License: GPL (GNU General Public License) Price:
1682 downloads
Scriptol to binary Compiler

Scriptol to binary Compiler


Scriptol to binary Compiler is a C++ native compiler. more>>
Scriptol to binary Compiler is a C++ native compiler.

Installation:

It is better to install Scriptol at root of a disk, for example:
c:scriptolc

Once the archive is extracted into the scriptolc directory, you have just to change to this directory to run the compiler.

To use the compiler at command line from any directory, you have to put the compiler into the path variable.

The setup script installs required file into sub-directories, or into the directory given as argument. Before to use the compiler, you have to read the licence, in the doc
directory: licence.html.

Usage:

Just type:
./solc mysource

Type "solc" only to list the options.

If your program is a multi-file project, the source given as parameter must be the main source file, the compiler will know dependencies from "include" statements and will build what is needed.

Exemples:

Type from the main scriptol directory:
./solc -bre demosfibo

Configuring:

By editing the solc.ini file, you may change the second pass compiler (you may have to rebuild the libsol library for this compiler), change the options of the compiler or add header files to include.

To add header files, just add "header=someheader.hpp" lines into the config file.

A xxx.cfg file may be written for each project main source beeing xxx, and if present, it overloads the solc.ini file.
<<less
Added: 2005-12-02 License: Freeware Price:
1423 downloads
Scriptol to Php Compiler

Scriptol to Php Compiler


Scriptol to Php Compiler is a scriptol program that may be interpreted by the Php interpreter. more>>
Scriptol to Php Compiler is a scriptol program that may be interpreted by the Php interpreter and it may be also compiled either to C++ or directly as an executable.

The Php interpreter is required by solp (download it at www.php.net or get it on the Scriptol CD).

Installation:

It is better to install Scriptol at root of a disk, for example:
/home/user/scriptolp

Once the archive is extracted into the scriptolp directory, you have just to go to this directory from the console to run the compiler.

To use the compiler at command line from any directory, you have to put the compilers into the path, in the usr directory for exemple, or any directory assigned to the path variable (see .bashrc or equivalent). You may also add the scriptol directory to list of paths. Before to use the compiler, you have to read the licence, in the doc directory: licence.html.

Usage:

Type the source of your program in a text editor and save it as mysource.sol or any other name with the sol extension.

Then just type:

./solp mysource

To know the compilers options, type solp without argument, at command line.

Examples:

Type from the main scriptol directory:
./solp demos/helloyou
<<less
Download (0.29MB)
Added: 2005-12-02 License: Freeware Price:
1421 downloads
4tH compiler 3.5b

4tH compiler 3.5b


4tH is a Forth compiler with a little difference. more>>
4tH is a Forth compiler with a little difference. Instead of the standard Forth engine it features a conventional compiler.
4tH is a very small compiler that can create bytecode, C-embeddable bytecode, standalone executables, but also works fine as a scripting language. It supports over 85% of the ANS Forth CORE wordset and features conditional compilation, pipes, files, assertions, forward declarations, recursion, include files, etc.
It comes with an RPN calculator, line editor, compiler, decompiler, C-source generators, and a virtual machine.
Enhancements:
- More CORE words and most of the DOUBLE wordset are supported.
- Output buffers can be flushed.
- An experimental multitasking environment was added.
<<less
Download (0.18MB)
Added: 2007-05-20 License: LGPL (GNU Lesser General Public License) Price:
889 downloads
Blatte::Compiler 0.9.4

Blatte::Compiler 0.9.4


Blatte::Compiler is a Perl module to compile a Blatte document into Perl. more>>
Blatte::Compiler is a Perl module to compile a Blatte document into Perl.

SYNOPSIS

use Blatte::Compiler;

&Blatte::Compiler::compile($file_handle, &callback);

&Blatte::Compiler::compile_sparse($file_handle, &callback);

sub callback {
my($val, $src) = @_;

if (defined($src)) {
...Blatte expression...
} else {
...plain text...
}
}

This is a convenient interface for parsing a file full of Blatte code. A file handle and a callback are passed to compile() or compile_sparse() (see below for the difference between the two). The callback is then invoked for each top-level item parsed from the input.

The compile() function treats its entire input as a sequence of Blatte expressions, including plain text at the top level, which is divided up into Blatte "words," each of which is one Blatte expression. The callback is called once for each expression, with two arguments: the Perl string resulting from parsing the Blatte expression; and the Blatte source string itself.

The compile_sparse() function works the same way, except that plain text at the top-level of the input is not divided into words. Only Blatte expressions beginning with a Blatte metacharacter are parsed as described above. All text in between such expressions is passed as a single string to the callback, with no second argument.

<<less
Download (0.031MB)
Added: 2007-04-20 License: Perl Artistic License Price:
917 downloads
GMP compiler 1.0.0

GMP compiler 1.0.0


GMP compiler tool simplifies the use of GMP, the GNU multiple precision library. more>>
GMP compiler tool simplifies the use of GMP, the GNU multiple precision library. It scans a C source file for specially marked GMPS arithmetic expressions and replaces them with plain C.
The abbreviation gmpc stands for GMP compiler, or alternatively GMPS-to-C compiler. GMPS arithmetic expressions are straightforward infix expressions which transparently support the special types mpq_t, mpz_t and mpf_t as defined by GMP. GMPS means, rather unimaginatively, `GMP script.
No dependencies are added to the resulting C source, so there is no need to include additional header files or link with special libraries other than GMP.
Invoking gmpc
To translate a .gmpc file to C source, at least the input and output files must be given. The most concise invocation would look like this:
gmpc -o foo.c foo.gmpc
This will translate foo.gmpc into foo.c.
It is highly recommended to enable all warnings with the -Wall switch:
gmpc -Wall -o foo.gmpc foo.c
Other switches can be used to change the default behaviour of gmpc. They are listed in the following sections.
Enhancements:
- Added support for C-like compound assignments, increment and decrement operators.
- Fixed an assignment precedence bug.
- Temporary variables and constants are grouped together to make generated code more readable.
- Added Doxygen comments and configuration file.
<<less
Download (0.27MB)
Added: 2006-12-25 License: GPL (GNU General Public License) Price:
1044 downloads
Tiny C Compiler 0.9.23

Tiny C Compiler 0.9.23


Tiny C compiles so fast that even for big projects Makefiles may not be necessary. more>>
Tiny C compiles so fast that even for big projects Makefiles may not be necessary.
TinyCC (aka TCC) is a small but hyper fast C compiler. Unlike other C compilers, it is meant to be self-relying: you do not need an external assembler or linker because TCC does that for you.
TCC not only supports ANSI C, but also most of the new ISO C99 standard and many GNUC extensions including inline assembly.
TCC can also be used to make C scripts, i.e. pieces of C source that you run as a Perl or Python script. Compilation is so fast that your script will be as fast as if it was an executable. TCC can also automatically generate memory and bound checks while allowing all C pointers operations. TCC can do these checks even if non patched libraries are used.
With libtcc, you can use TCC as a backend for dynamic code generation
TCC mainly supports the i386 target on Linux and Windows. There are alpha ports for the ARM (arm-tcc) and the TMS320C67xx targets (c67-tcc).
Main features:
- SMALL! You can compile and execute C code everywhere, for example on rescue disks (about 100KB for x86 TCC executable, including C preprocessor, C compiler, assembler and linker).
- FAST! tcc generates optimized x86 code. No byte code overhead. Compile, assemble and link several times faster than GCC.
- UNLIMITED! Any C dynamic library can be used directly. TCC is heading torward full ISOC99 compliance. TCC can of course compile itself.
- SAFE! tcc includes an optional memory and bound checker. Bound checked code can be mixed freely with standard code.
- Compile and execute C source directly. No linking or assembly necessary. Full C preprocessor and GNU-like assembler included.
- C script supported : just add #!/usr/local/bin/tcc -run at the first line of your C source, and execute it directly from the command line.
- With libtcc, you can use TCC as a backend for dynamic code generation.
Enhancements:
- initial PE executable format for windows version (grischka)
- #pragma pack support (grischka)
- #include_next support (Bernhard Fischer)
- ignore -pipe option
- added -f[no-]leading-underscore
- preprocessor function macro parsing fix (grischka)
<<less
Download (0.41MB)
Added: 2005-11-21 License: LGPL (GNU Lesser General Public License) Price:
1449 downloads
ObjectBox o:XML Compiler 1.1.7

ObjectBox o:XML Compiler 1.1.7


ObjectBox o:XML Compiler is an o:XML compiler and interpretor. more>>
ObjectBox is a free, opensource o:XML compiler and interpretor written entirely in Java. ObjectBox o:XML Compiler implements The o:XML Programming Language specification, and provides a complete compilation and runtime environment.
Main features:
- Java extensions - o:XML procedure that converts any Java class/object to an o:XML type for seamless language integration, making existing Java classes instantly available for instantiation and subtyping as any other o:XML type.
- Java Servlet support for deployment in J2EE environments.
- Caching of compiled programs allowing threadsafe concurrent execution.
- Commandline executable that passes arguments to o:XML program.
- Java Ant task for powerful content generation and integration in XML publishing systems.
Before compilation the program file is parsed and validated for well-formedness. The result of compiling a program is an object hierarchy of actions, that will produce the program result as a sequential output to either a DOM tree, output stream or a SAX content handler.
In order to obtain a complete and fully valid XML document, the program must terminate successfully. However all o:XML programs dont necessarily terminate - see the Fibonacci Series for an example of a program that generates an infinite, unbroken XML stream.
A compiled o:XML program contains all parsed o:Path expressions and XML-generating objects. It is thread-safe and can execute concurrently in different runtime environments, producing output to different result handlers. The program in its compiled form is independent of the XML file it was generated from as well as the physical form of its output.
Version restrictions:
- Access Specifiers (public/private/protected) not fully implemented
- Context Node probably not always correct
Enhancements:
- Integration with the Spring 2.0 framework.
- Allows for the creation of o:XML beans in Spring 2.0.
- Full integration with support for XML schema configuration, and the ability to mix and match beans: o:XML, Java, JRuby, Groovy, Beanshell, etc.
<<less
Download (0.88MB)
Added: 2007-03-26 License: GPL (GNU General Public License) Price:
949 downloads
The Amsterdam Compiler Kit 6.0 pre3

The Amsterdam Compiler Kit 6.0 pre3


The Amsterdam Compiler Kit is a fast, lightweight and retargetable compiler suite and toolchain. more>>
The Amsterdam Compiler Kit or in short just ACK, is a fast, lightweight and retargetable compiler suite and toolchain written by Andrew Tanenbaum and Ceriel Jacobs, and was Minix native toolchain. The ACK was originally closed-source software (that allowed binaries to be distributed for Minix as a special case), but in April 2003 it was released under a BSD open source license.
The ACK achieves maximum portability by using an intermediate byte-code language called EM. Each language front-end produces EM object files, which are then processed through a number of generic optimisers before being translated by a back-end into native machine code.
Unlike gccs intermediate language, EM is a real programming language and could be implemented in hardware; a number of the language front-ends have libraries implemented in EM assembly. EM is a relatively high-level stack-based machine, and one of the tools supplied with ACK is an interpreter capable of executing EM binaries directly, with a high degree of safety checking. See the em document referenced below for more information.
ACK comes with a generic linker and librarian capable of manipulating files in the ACKs own a.out-based format; it will work on files containing EM code as well as native machine code. (You can not, however, link EM code to native machine code without translating the EM binary first.)
Installation:
To install the ACK, you need to download the source package and compile it.
Version 5.6 compiles cleanly on Linux, but it has had little testing so far. The installation instructions are complex but straightforward provided you follow the instructions. Please read the README; it provides a detailed walk-through of the compilation process, telling you what to type at each stage.
Enhancements:
- Support has been added for generating CP/M binaries using the 8080 code generator.
- The various optimisers have been beaten into shape, and its now possible to use them on all platforms; a basic peephole optimiser has been set up for the 8080.
- The floating point system has been confirmed working on the pc86 and linux386 platforms.
- ANSI compatibility has been improved, binary sizes have been reduced, and there are many bugfixes everywhere.
<<less
Download (1.1MB)
Added: 2007-05-01 License: BSD License Price:
908 downloads
Intel C++ Compiler 10.0

Intel C++ Compiler 10.0


Intel C++ Compiler application is a full fledged C/C++ compiler and debugger suite. more>>
Intel C++ Compiler application is a full fledged C/C++ compiler and debugger suite. Its aim is to provide outstanding performance for all Intel 32-bit and 64-bit processors, while not requiring the need for porting applications from other compilers.

It provides optimization technology, threaded application support, and features to take advantage of Hyper-Threading technology. It is substantially source and object code compatible with GNU C, providing fullest compatibility with GCC and G++ 3.x/4.x both in terms of code and of API. It is thereby also easy to integrate with existing development environments.

<<less
Download (MB)
Added: 2007-06-28 License: Free for non-commercial use Price:
1400 downloads
Secleted [ 0 ] software to compare
  • Page: 1 of 5
  • 1
  • 2
  • 3
  • 4
  • 5