Download Shareware and Freeware Software for Windows, Linux, Macintosh, PDA

line Home  |  About Us  |  Link To Us  |  FAQ  |  Contact

Serving Software Downloads in 976 Categories, Downloaded 29.612.777 Times

Voodoo Compiler 0.6.2

Company: Robbert Haarman
Date Added: October 14, 2013  |  Visits: 199

Voodoo Compiler

Report Broken Link
Printer Friendly Version


Product Homepage
Download (16 downloads)



Voodoo Compiler is an implementation of the Voodoo programming language. The Voodoo programming language is a low-level programming language, abstracting over the platform's instruction set and calling conventions, but otherwise leaving the programmer free to do anything at all.<br /><br />Voodoo Compiler is written in Ruby and generates code for i386-compatible, AMD64, and MIPS CPUs. Support for additional target CPUs is planned for the future.<br /><br />Usage<br /><br />There are two main ways to use the Voodoo compiler: by running the voodooc program, or by using the Ruby API.<br /><br />The voodooc program compiles a Voodoo source files. Its usage is described in the voodooc.1 manpage, included in the distribution. The following is an example of how voodooc can be used to create an executable hello from a source file hello.voo:<br /><br />$ voodooc hello.voo<br />$ cc hello.o -o hello<br />$ ./hello<br />Hello, world!<br /><br />An implementation of hello.voo can be found in the directory test of the distribution.<br /><br />The second way to use the Voodoo compiler is by using it from a Ruby program. This can be used, for example, to generate code for the target platform without having to create a .voo file. The following is an example which creates an object file called fact.o, containing a definition of a function fact which computes factorials:<br /><br />require 'voodoo'<br /><br />generator = Voodoo::CodeGenerator.get_generator :architecture => :i386,<br /> :format => :elf<br /><br />generator.export :fact<br />generator.add_function_label :fact<br />generator.add_function [:n],<br /> [:ifle, [:n, 1],<br /> # then<br /> [[:return, 1]],<br /> # else<br /> [[:let, :x, :sub, :n, 1],<br /> [:set, :x, :call, :fact, :x],<br /> [:return, :mul, :n, :x]]]<br /><br />File.open('fact.o', 'w') { |outfile| generator.write outfile }<br /><br />The Voodoo compiler API that is a available to Ruby programs is described in the API documentation.

Requirements: No special requirements
Platforms: *nix, Linux
Keyword: Called Creates Facto Generate Object Platform
Users rating: 0/10

License: Freeware Size: 40.96 KB
USER REVIEWS
More Reviews or Write Review


VOODOO COMPILER RELATED
Programming  -  Pasmo 0.6.0.20070113.0
Pasmo project is a Z80 cross assembler, written in standard C++ that compiles easily in multiple platforms. Actually can generate object code in the following formats: raw binary, Intel HEX, PRL for CP/M Plus RSX, Plus3Dos (Spectrum +3 disk), TAP,...
122.88 KB  
Development Editors  -  WMI Delphi Code Creator 1.1.2.170
The WMI Delphi Code Creator tool, allows you to generate Object Pascal and C++ code to access the WMI (Windows Management Instrumentation) classes, events and methods. This freeware tool is inspired by the WMI Code Creator. Features Can...
2.17 MB  
Programming  -  CsoundQt rc
CsoundQt, formerly called QuteCsound, is a cross platform editor and front-end for Csound with real-time graphical control, syntax highlighting, interactive help and automatic launching of Csound from a shell or the API. It can open files created...
8.96 MB  
Development Tools  -  Fisher Science Digital Manometer Serial Driver 1.0
FisherManometer creates a MATLAB object that getspressure measurements from a Fisher Science digital manometer (Fisher Science Education Traceable Manometer/Pressure/Vacuum Gauges, Catalog number: S98189)through a serial interface. Sample usages:...
10 KB  
Network & Internet  -  IdentFavIcon 0.3.4
IdentFavIcon is based on the idea of Don Park called identicon to generate visually pleasing and easily recognizable icons from identifiers, such as IP addresses. This extension replaces the default favicon for web pages without one with a...
20.48 KB  
Libraries  -  AI::Menu 0.01
AI::Menu is a Perl object that generates Tree::Nary objects from directed graphs or a description of the function set. The algorithm is not very efficient (approximately O(F^6), F being the number of functions). It is also not quite as...
6.14 KB  
Libraries  -  Object::Trampoline 1.25
Object::Trampoline is a Perl module for delay object construction, and optionally using the class module, until a method is actually dispatched, simplifies runtime definition of handler classes. SYNOPSIS # adding "use_class" will perform an...
9.22 KB  
Modules  -  Endorse 6.x-1.0-beta1
This module creates a content type called Endorsement (machine name: endorse) and a view for displaying such endorsements and sorting them. It also provides a stand alone form that can be made accessible to anonymous users without giving them...
10 KB  
Utilities  -  JS Print Setup 0.8.2h
The JS Print Setup extension creates a global object called 'jsPrintSetup', which implements methods to get/set print Page Setup options. This is useful for developers which want to control page setup options from their javascript...
10.24 KB  
Libraries  -  Object::Realize::Later 0.16
Object::Realize::Later is a Perl module with delayed creation of objects. SYNOPSIS package MyLazyObject; use Object::Realize::Later becomes => MyRealObject, realize => load; The Object::Realize::Later class helps with implementing...
10.24 KB  
NEW DOWNLOADS IN LINUX SOFTWARE, PROGRAMMING
Linux Software  -  Polling Autodialer Software 3.4
ICTBroadcast Auto Dialer software has a survey campaign for telephone surveys and polls. This auto dialer software automatically dials a list of numbers and asks them a set of questions that they can respond to, by using their telephone keypad....
488 B  
Linux Software  -  Total Video Converter Mac Free 3.5.5
Total Video Converter Mac Free developed by EffectMatrix Ltd is the official legal version of Total Video Converter which was a globally recognized brand since 2006. Total Video Converter Mac Free is a free but powerful all-in-one video...
17.7 MB  
Linux Software  -  Skeith mod_log_sql Analyzer 2.10beta2
Skeith is a php based front end for analyzing logs for Apache using mod_log_sql.
47.5 KB  
Linux Software  -  SLAX 6.0+
Slax is a modern, portable, small and fast Linux operating system with a modular approach and outstanding design. Despite its small size, Slax provides a wide collection of pre-installed software for daily use, including a well organized graphical...
190 KB  
Linux Software  -  GTK+ 2.5
GTK+, which stands for the GIMP Toolkit, is a library for creating graphical user interfaces for the X Window System. It is designed to be small, efficient, and flexible. GTK+ is written in C with a very object-oriented approach. Language bindings...
60 MB  
Programming  -  FLEX-db Digital Asset Manager 3.0.9
FLEX-db - an enterprise Digital Asset Manager (DAM). It ingests and links metadata with files, creates thumbnails, and processes files using business rules. FLEX-db has a JSP client, Java app server for file input and output and an EJB metadata...
21.57 MB  
Programming  -  Libicom 0.9.0
The libicom library is a character based dynamicly linked library for Linux. It is used to remotely control the Icom IC-R8500 wide band receiver via an RS232 link. All call and return parameters to the control functions are character string based....
20.48 KB  
Programming  -  dotdesktop 0.3
Dotdesktop library provides ability to parse desktop entry file and access the information in a convenient way. Desktop entry file format is defined by freedesktop.org, it is used to describe information about an application such as the name and...
327.68 KB  
Programming  -  Cedalion for Linux 0.2.6
Cedalion is a programming language that allows its users to add new abstractions and define (and use) internal DSLs. Its innovation is in the fact that it uses projectional editing to allow the new abstractions to have no syntactic limitations.
471.04 KB  
Programming  -  libyasl 0.2
Libyasl is a C++ class library to easily realize TCP/UDP/Multicast clientsand servers in IPv4 and IPv6 environments under GNU/Linux systems.
143.36 KB