Main > Free Download Search >

Free interpreters software for linux

interpreters

Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 344
WhileInterpreter 4.2

WhileInterpreter 4.2


WhileInterpreter is an interpreter for the WHILE programming language used for learning purpose. more>>
WhileInterpreter is an interpreter for the WHILE programming language used for learning purpose.

WhileInterpreter has few constructs and easy semantics.

Command line interpreters allow users to issue various commands in a very efficient (and often terse) way. This requires the user to know the names of the commands and their parameters, and the syntax of the language that is interpreted. From the 1960s onwards, user interaction with computers was primarily by means of command line interfaces.

In the 1970s, researchers began to develop graphical user interfaces (GUIs)to provide an alternative user interface for computers, whereby commands were represented by pictorial operations, rather than as textual descriptions. Since they are easier to learn than command line interfaces, they have become the most common way of interacting with a computer.

However, command line interpreters remain widely used in conjunction with GUIs. For some complex tasks, the latter are less effective because of the large number of menus and dialog boxes presented and because of the innate difficulty of representing the underlying task graphically.
<<less
Download (0.021MB)
Added: 2006-03-16 License: Free For Educational Use Price:
1317 downloads
Piet::Interpreter 0.03

Piet::Interpreter 0.03


Piet::Interpreter is a Perl interpreter for the Piet programming language. more>>
Piet::Interpreter is a Perl interpreter for the Piet programming language.

SYNOPSIS

use Piet::Interpreter;

my $p = Piet::Interpreter->new(image => my_code.gif);

$p->run;

Piet is a programming language in which programs look like abstract paintings. The language is named after Piet Mondrian, who pioneered the field of geometric abstract art. The language is fully described at http://www.physics.usyd.edu.au/~mar/esoteric/piet.html. A Piet program is an image file, usually a gif, which uses a set of 20 colors and the transitions between blocks of those colors to define a series of instructions and program flow. See the above URL for more details. (Note: some sample programs there may not work, as they were constructed before a working interpreter was available.)

Since Piet is a visual language, an image parsing mechanism is required. This module uses Image::Magick, so it would be to your advantage to download, install, and test that module and its related stuff before trying to use this one.

<<less
Download (0.017MB)
Added: 2006-08-29 License: Perl Artistic License Price:
1164 downloads
The Jim Interpreter 0.51

The Jim Interpreter 0.51


The Jim Interpreter is a small footprint implementation of the Tcl programming language. more>>
Jim is an opensource small footprint implementation of the Tcl programming language. It implements a large subset of Tcl and adds new features like references with garbage collection, closures, built-in Object Oriented Programming system, Functional Programming commands, First class arrays. All this with a binary size of 70kb (that can be reduced further excluding some command).
Jim is currently a work in progress, but most of the core language is already implemented and it is possible to use it to run many unmodified Tcl programs, so if you want to start to evaluate it, or want to look at our internal design and virtual machine, go to the download section.
Jims goal is to provide a powerful language implemented in roughly 10k lines of code that is presented as a single C file and an header file, in order to allow developers to put Jim inside their applications, as scripting language, configuration file syntax, without to depend on external libraries or other big systems.
We belive scripting is a very interesting feature for many applications, but developers are often not encouraged to link the application to a big external system. Jim try to address this problem providing a very simple to understand and small footprint implementation of a language that is ideal for scripting, and at the same time is powerful and able to scale.
Another field where Jim may help is the one of Embedded Systems. Jim is written in ANSI-C, is very little both in binary size and memory requirements, and the Tcl language is just ideal for this tasks (For example, CISCO routers are using Tcl).
Main features:
- Support for important features that will be availabe in Tcl8.5, like dict and {expand}.
- Arrays in Jim arent collection of variables like in Tcl, but a first class type. Array access syntax is in Jim syntax sugar to set and get dictionaries elements.
- A compact design. Jim is currently less than 10k lines of code. It does a heavy use of dual ported objects, in Jim even the VM pseudo-bytecode is a specialized Jim_Obj type.
- lambda with garbage collection, and a reference system to build linked data structures.
- closures, Jims procedures can have persistent procedure-specific variables (called statics). Statics initialization value can be caputred form the procedure creation context, so it is very similar to lexical scoping to use. This is how The Paul Grahams accumulator procedure looks like in Jim:
proc accumulator n {
lambda increment n {
set n [+ $n $increment]
}
}
- Math operations as commands (together with expr support).
- Ability to load extensions at runtime via a STUB system. Even programs using Jim that are linked statically are able to load extensions.
- 70Kbyte binary size!.
<<less
Download (0.15MB)
Added: 2005-04-14 License: The Apache License 2.0 Price:
1654 downloads
Java RAM Interpreter 1.0

Java RAM Interpreter 1.0


Java RAM Interpreter is a Random Access Machine simulator. more>> <<less
Download (0.027MB)
Added: 2005-04-14 License: GPL (GNU General Public License) Price:
1655 downloads
Regina Rexx Interpreter 3.3

Regina Rexx Interpreter 3.3


Regina Rexx Interpreter is a portable implementation of the ANSI Standard for Rexx. more>>
Regina is a Rexx interpreter that has been ported to most Unix platforms (Linux, FreeBSD, Solaris, AIX, HP-UX, etc.) and also to OS/2, eCS, DOS, Win9x/Me/NT/2k/XP, Amiga, AROS, QNX4.x, QNX6.x BeOS, MacOS X, EPOC32, AtheOS, OpenVMS, SkyOS and OpenEdition.
Rexx is a programming language that was designed to be easy to use for inexperienced programmers yet powerful enough for experienced users. It is also a language ideally suited as a macro language for other applications.
I am not the author of Regina, but have assumed responsibilities for future maintenance with the full support of the author, Anders Christensen.
There are two major goals for Regina:
- become 100% compliant with the ANSI Standard.
- be available on as many platforms as possible
With the release of Regina 3.1, the first goal has been achieved. Regina now implements all ANSI features, as far as I know. Until an ANSI test suite is available, then youll have to take my word for it.
Enhancements:
- Integration of Florians Generic Call Interface (GCI) into Regina.
- Supported platforms to date are Windows, OS/2 and Linux.
- Fixed bug with TRACE F and its "conversion" into "N" on a subsequent call to TRACE BIF.
- Addition of Polish native language support courtesy of Bartosz Kozlowski.
- PARSE LOWER and PARSE CASELESS added.
- Major changes to EXIT handling
- Regina determines internal and external queues by the fact that external queues MUST have a @ in the name. Therefore any time a queue name is used; in RXQUEUE or ADDRESS...WITH, then if the queue name has a @ then Regina treats this as an external queue, and requires the RXSTACK server to be running.
- New BIF POOLID. Allows the current variable pool number to be obtained (effectively the level of called subroutines).
- VALUE BIF allows environment to be a number corresponding to a variable pool number. Therefore unEXPOSEd variables in any subroutine can be accessed.
- API functions Rexx*Dll() now implemented.
- Locale support for BIFs like TRANSLATE now supported, and can be overridden from command line. (-l switch)
- Algorithm for determining where a Rexx program is (either from command line, or a CALL statement called. Apart from a change in the precedence of directories an environment variable REGINA_SUFFIXES is used to supplement the file extensions that Regina uses to append to the passed file name. More details can be found in the Regina documentation.
- Regina OPTIONS can now be specified as an environment variable, which will set the
- default values for OPTIONS. The OPTIONS instruction can still be used and will override the defaults.
- A new OPTION has been added; CALLS_AS_FUNCS to allow programs that use the non-ANSI format of "CALL label(arg1,arg2)". Although this is implemented as an OPTION, it can only be set via the REGINA_OPTIONS environment variable!
- Another new OPTION; QUEUES_301 to duplicate the behaviour of Regina queues; both
- internal and external.
- Some memory leak fixes with INTERPRET and some "handle leaks" under Windows fixed.
- Initial support for SkyOS
- Fixed some old bugs: (documented in BUGS file) 19991216-29512, 20000319-63722, 36
<<less
Download (0.61MB)
Added: 2005-04-15 License: LGPL (GNU Lesser General Public License) Price:
1660 downloads
Simple Forth Interpreter 1.0

Simple Forth Interpreter 1.0


Simple Forth Interpreter is a Java implementation of a subset of the ANS Forth language. more>>
Welcome to the SFI website. The Simple Forth Interpreter (SFI in short) is a Java implementation of a little subset of the ANS Forth language.
The goal of SFI is to develop a small interpreter to be embedded in any application and provide scripting functionality with low resources.
SFI follows the ANS Forth standard where reasonably possible, provides a simple way by inheritance to customize and integrate the interpreter in any existing application and a simple interface to play with the Forth code.
Why Forth? The interpreter its pretty simple and small, its an easy to learn language and the extend with user defined words fits quite well the idea of a language for scripting purposes.
Enhancements:
- Bug fix into TOK_NWORD parsing strings and comments.
<<less
Download (0.024MB)
Added: 2005-04-15 License: MIT/X Consortium License Price:
1659 downloads
PHP/JavaScript interpreter 0.01011

PHP/JavaScript interpreter 0.01011


PHP/JavaScript interpreter is a PHP JavaScript script interpreter for server-side use. more>>
This scripting language interpreter is implemented in PHP and allows to execute user-supplied JavaScript-lookalike code server-side, without compromising security because everything runs safely in a sandbox.

This is of course much slower than a real interpreter, but is useful for integration into CMS/Wiki engines to have users extend a sites dynamic functions.

It can be connected to the hosting interpreter (PHP) by allowing access to certain (interface) functions and even PHP variables.
<<less
Download (0.030MB)
Added: 2005-04-15 License: Freeware Price:
1657 downloads
Simple Machine Language interpreter

Simple Machine Language interpreter


Simple Machine Language interpreter is a simple machine language interpreter. more>>
SML is a "toy" machine language intended to teach basic processor concepts. This website contains an explanation and definition of SML, as well as an interpreter and example SML programs. GPLd source code for the interpreter is available, as well as binaries for Windows and Linux.

A machine language defines a set of instructions that a CPU can execute to perform operations. In other words, a machine language defines what you can do with your computer. Modern processors have very complex instruction sets; however, the simple language described here can give you an understanding of what is happening "under the hood" with your computer.

Machine language is the actual data that is directly run by the processor. Writing a program in machine language can therefore be advantageous if you need to save space or highly optimize your code. However, machine language is also not portable and can be difficult to understand and maintain.

Therefore, almost all code is now written in a higher level language, such as C, C++, Java, or scripting languages such as shell or perl. These languages all have their advantages and disadvantages as well, such as varying levels of portability, maintainability, scalability, and execution speed.

One level higher than machine language is assembly language. Assembly language is basically readable machine language. Instead of writing out the code bit-by-bit, you write out the code as a sequence of human readable instructions, which are then compiled almost directly into machine language.

Assembly language is almost always used instead of machine language when such a direct level of control is needed. For example, some games implement part of their code in assembly in order to maximize execution speed. Assembly can be "inlined" into some higher level languages, like C. This means that the assembly is defined as a callable procedure from within the C code.
<<less
Download (0.22MB)
Added: 2005-04-14 License: GPL (GNU General Public License) Price:
1668 downloads
Kits JavaScript Brainf*ck Interpreter 0.01

Kits JavaScript Brainf*ck Interpreter 0.01


Kits JavaScript Brainf*ck Interpreter is a rather fast interpreter for the Brainf*ck esoteric programming language. more>>
Kits JavaScript Brainf*ck Interpreter is a rather fast interpreter for the Brainf*ck esoteric programming language.
<<less
Download (0.005MB)
Added: 2007-08-13 License: GPL (GNU General Public License) Price:
807 downloads
Kanaputs 1.4

Kanaputs 1.4


Kanaputs is a Java interpreter. more>>
Kanaputs is an interpreter for Java. With Kanaputs you can use Java as an interpreted language: no more compilation, each instruction is executed when you write it.

It is a small programmation language to make script files above Java.

If you know Java and you dont want to learn a new script language like PERL, KSH, CSH, but you need powerful scripting features like TCL/TK then Kanaputs fits your needs. Moreover, Kanaputs is made to be integrated to your Java code, so each time you need something complex to do, you can make the algorithm in Java and call it from Kanaputs.
<<less
Download (6.8MB)
Added: 2005-04-15 License: LGPL (GNU Lesser General Public License) Price:
1654 downloads
stephanie 3.0

stephanie 3.0


stephanie is a program for hardening OpenBSD for multiuser environments. more>>
stephanie is a program for hardening OpenBSD for multiuser environments.

Mmmmm, OpenBSD. Functional, secure, free. With an emphasis on security and integrated cryptography, it carries an excellent reputation for plain old "you-just-cant-hack-this-ness". Not perfect, but nothing is, at least theyre not wearing suits and lying to you.

There are a few roles where i believe OpenBSD fits perfectly. One of these is in multiuser environments, where you have large numbers of possibly malicious users with local access. Here the OpenBSD teams commitment to auditing and fixing code provides a level trust in the environment which is hard to find elsewhere. Also, their efforts to provide integrated cryptography means setting up secure access is easy. So, lets take advantage of the freely available source and tailor it to our specific needs.

Details:

In Phrack 54, route|Mike Schiffman wrote a series of patches for OpenBSD 2.4 for Trusted Path Execution (TPE). Stephanie brings a modified version of these up to speed for OpenBSD 2.8 - 3.0, along with some additional features. A trusted path is one where the parent directory is owned by root and is neither group or other writeable. The TPE works off an internal list of trusted user ids. If a given user tries to execute a file not in a trusted path, and their user id is not in the kernels trusted list, they are denied execution privileges. In real terms, this means they cant download, compile and run krad-sploit.c.

In addition to the TPE, a series of privacy patches came along too. Originally supplied as patches for the individual utilities, these are now implemented through kvm(3), and honour trusted users (ie, trusted users are allowed to see all system information). As a practical example, this means that untrusted users will only be able to see information about processes they own, and the stat tools (netstat, iostat, vmstat, etc) will generally be broken for them. It has been pointed out that by going through trying to kill every possible process id you can find other users processes, but you cant really gain any information on them, so this is not really a great concern.

The original TPE patches had one known way of bypassing the execution restrictions, which was using shell redirection to allow arbitrary interpreted language scripts to be run (perl, sh, etc). This has been fixed up, but could possibly be a big pain in the ass, so please pay attention. When an interpreter is invoked, like most things, it creates a new process group with a job count of one. When a series of commands are connected via the | character on the command line, all the commands belong to the same process group and the job count represents the number of commands eg ps -ax | grep something | awk {print $1} has a job count of three, and the ps, grep and awk processes all belong to the same process group.

The one exception to this is when a user logs in, where we find their shell has its job count set to zero. So how can we use this to prevent shell redirection for a given set of programs? We need to be able to distinguish between ordinary commands and interpreters. At the moment this is done by setting the immutable flag on them. So, in kern_exec(), if we find an untrusted user executing something with the immutable flag set and a job count greater than zero, we flag the process as being potentially dodgy. Then in other system calls we disallow read()ing from fd 0 (stdin) and things like dup2(0, n) if the process has been flagged.

There are two main disadvantages to this. First is the system will need to be brought down to single user mode if the interpreter needs to be patched, and secondly, people will have a hard time suing to an untrusted user. Of course, when a user has shell, they can still type any commands that could otherwise be placed in a shell script, but at the least, this will raise the bar a bit.

Finally, Stephanie brings restricted symbolic links, ala the openwall patches for linux. As time permits, im still working on adding additional features, and will add bits of the openwall stuff i like. The basic goal is to add an extra layer of security without being a monumental pain in the ass to legitimate users, so some things wont be there. I havent added the additional hard link restrictions of the openwall patch, but will do something about this later as time permits.

Installing:

Step by step instructions are presented in the install guide which comes with the source. Read it all first, but its reasonably straight forward. It would be a good idea to read the original article (local copy) if you havent already.

Its distributed under the original two clause BSD license, mess with it all you want, but dont get cranky at me if it breaks something.

You can also read the tpe_adm(8) man page online.
<<less
Download (0.014MB)
Added: 2006-03-10 License: GPL (GNU General Public License) Price:
1326 downloads
FreeSCI 0.3.5

FreeSCI 0.3.5


FreeSCI is an attempt to re-implement the Sierra Creative Interpreter (SCI). more>>
FreeSCI is an attempt to re-implement the Sierra Creative Interpreter (SCI). Sierra Creative Interpreter was used in many of Sierra On-Lines games from 1988 to 1995.
Enhancements:
- GP32 port and WinCE port (Walter van Niftrik and Ismail Khatib, respectively)
- A game selection screen (by Hugues Valois)
- Per-resource shading, to allow manual fine-tuning of SCI game graphics
- Background image drawing optimisations
- Many, many bugfixes (and maybe a couple of new bugs to spice things up).
<<less
Download (0.71MB)
Added: 2006-02-14 License: GPL (GNU General Public License) Price:
1351 downloads
lafontaine 0.3R3

lafontaine 0.3R3


lafontaine project is a graphical logo interpreter. more>>
lafontaine project is a graphical logo interpreter.
It was made for educational use.
Main features:
- the interface is easy to apprehend,
- there is a specific Logo language version for each country,
- Lafontaine is highly portable (by using the gtk library)
<<less
Download (0.22MB)
Added: 2006-10-27 License: GPL (GNU General Public License) Price:
1093 downloads
The Complex Language 0.1

The Complex Language 0.1


The Complex Language project is an object oriented programming language intended for scripting or rapid apps prototyping. more>>
The Complex Language project is an object oriented programming language intended for scripting or rapid prototyping of applications.
The design goals were to have very few simple but powerful concepts and to be easy to use and easy to learn. The project provides a working interpreter along with a complete specification of the language.
Enhancements:
- This is the first release of the specification and the corresponding interpreter.
- The corresponding library is very poor, and there are probably still bugs in the interpreter.
<<less
Download (0.13MB)
Added: 2007-07-02 License: GPL (GNU General Public License) Price:
844 downloads
Tclperl 3.1

Tclperl 3.1


Tclperl allows the execution of Perl code from within a TCL interpreter using one or several embedded Perl interpreters. more>>
Tclperl project allows the execution of Perl code from within a TCL interpreter using one or several embedded Perl interpreters.

This package allows the execution of Perl code from a Tcl interpreter, as in:

package require tclperl
set interpreter [perl::interp new]
$interpreter eval {print "Hello Worldn"}
perl::interp delete $interpreter

You can actually create several Perl interpreters this way, if the tclperl package was linked against a Perl library compiled with -DMULTIPLICITY, otherwise only 1 Perl interpreter can exist at a time.

Starting with version 3.1, you can also access and use the parent Tcl interpreter from a Perl interpreter (and even from Perl threads):

package require tclperl
set interpreter [perl::interp new]
puts [$interpreter eval {
$Tcl::parent->eval(clock format [clock seconds]);
}]
perl::interp delete $interpreter

This package works on UNIX machines (Redhat Linux rpms available at
http://jfontain.free.fr/) and Windows (thanks to David Gravereaux, DLL also available).
<<less
Added: 2006-01-13 License: LGPL (GNU Lesser General Public License) Price:
779 downloads
Secleted [ 0 ] software to compare
  • Page: 1 of 5
  • 1
  • 2
  • 3
  • 4
  • 5