rhino javascript compiler
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 1346
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
<<lessThe 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
Download (0.29MB)
Added: 2005-12-02 License: Freeware Price:
1421 downloads
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 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.
<<lessInstallation:
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.
Added: 2005-12-02 License: Freeware Price:
1423 downloads
JavaScript::Minifier 0.01
JavaScript::Minifier is a Perl translation of jsmin.c. more>>
JavaScript::Minifier is a Perl translation of jsmin.c.
SYNOPSIS
use JavaScript::Minifier;
my $obj = new JavaScript::Minifier;
$obj->minify(*STDIN, *STDOUT);
use JavaScript::Minifier qw(jsmin);
jsmin(*STDIN, *STDOUT);
This work is a translation from C to Perl of jsmin.c published by Douglas Crockford. Permission is hereby granted to use the Perl version under the same conditions as the jsmin.c on which it is based.
Refer to the JSMin website for further information: http://javascript.crockford.com/jsmin.html
Speed is a bit slower than the python version and the python and perl versions are quite a bit slower than the c version(of course).
Here are test results processing a 71K javascript file. This is one of the largest we have -- most are considerably smaller.
| wall clock seconds(approximate)
---------------------------------------
Perl: | 1.4
Python: | 1.0
C: | 0.03
Tests performed on a Intel(R) Pentium(R) 4 CPU 1.80GHz under no load.
<<lessSYNOPSIS
use JavaScript::Minifier;
my $obj = new JavaScript::Minifier;
$obj->minify(*STDIN, *STDOUT);
use JavaScript::Minifier qw(jsmin);
jsmin(*STDIN, *STDOUT);
This work is a translation from C to Perl of jsmin.c published by Douglas Crockford. Permission is hereby granted to use the Perl version under the same conditions as the jsmin.c on which it is based.
Refer to the JSMin website for further information: http://javascript.crockford.com/jsmin.html
Speed is a bit slower than the python version and the python and perl versions are quite a bit slower than the c version(of course).
Here are test results processing a 71K javascript file. This is one of the largest we have -- most are considerably smaller.
| wall clock seconds(approximate)
---------------------------------------
Perl: | 1.4
Python: | 1.0
C: | 0.03
Tests performed on a Intel(R) Pentium(R) 4 CPU 1.80GHz under no load.
Download (0.004MB)
Added: 2007-02-12 License: Perl Artistic License Price:
988 downloads
Extend For JavaScript 1.1
Extend For JavaScript allows you to use traditional single-class inheritance in your JavaScript applications. more>>
Extend For JavaScript allows you to use traditional single-class inheritance in your JavaScript applications. Extend For JavaScript also gives you many advanced features such as runtime class modification, introspection, and change.
It is simple, and does not depend on any other library. It works well with Prototype, jQuery, or MochiKit.
Main features:
- Can be used as a drop-in replacement to the current Prototype Class.create function
- Flexible and reliable super-like functionality
- Rich class-meta information, such as the list of methods defined in class, and for each other method, a link to the class which declared it, and links to all subclasses.
- Dynamic reparenting, which allows to change an existing class parent class.
- Dynamic class change, when you want an object to change its class on the fly.
<<lessIt is simple, and does not depend on any other library. It works well with Prototype, jQuery, or MochiKit.
Main features:
- Can be used as a drop-in replacement to the current Prototype Class.create function
- Flexible and reliable super-like functionality
- Rich class-meta information, such as the list of methods defined in class, and for each other method, a link to the class which declared it, and links to all subclasses.
- Dynamic reparenting, which allows to change an existing class parent class.
- Dynamic class change, when you want an object to change its class on the fly.
Download (0.006MB)
Added: 2006-11-21 License: BSD License Price:
1070 downloads
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)
<<lessTinyCC (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)
Download (0.41MB)
Added: 2005-11-21 License: LGPL (GNU Lesser General Public License) Price:
1449 downloads
Free Pascal Compiler 2.1.4
Free Pascal Compiler is a 32/64-bit Pascal Compiler for AmigaOS, DOS, Linux, *BSD, OS/2, MacOS(X) and Win32. more>>
Free Pascal (aka FPK Pascal) is a 32 or 64 bit (from 1.9.6) pascal compiler. Free Pascal Compiler is available for different processors Intel x86, Amd64/x86 64 (from 1.9.6), PowerPC (from 1.9.2), Sparc (from 1.9.6) and Motorola 680x0 (1.0.x only).
The following operating systems are supported Linux, FreeBSD, NetBSD, MacOSX/Darwin, MacOS classic, DOS, Win32, OS/2, BeOS, SunOS (Solaris), QNX and Classic Amiga.
Main features:
- Very clean language Pascal is a very nice language, your programs will be more readable and maintainable than for example in C, and lets even forget about C++. And you dont need to give up the power, the Pascal language is as powerful as you want it.
- No Makefiles Unlike most programming languages, Pascal does not need Makefiles. You can save huge amounts of time, the compiler just figures out itself which files need to be recompiled.
- Pascal compilers are Fast with a big F and Free Pascal is no exception. Yes, you no longer need to grow roots while compiling your programs, just hit the compile key and its done, even for large programs.
- Each unit has its own identifiers In Pascal you never need to worry about polluting the namespace, like in C where an identifier needs to be unique accross the entire program. No, in Pascal each unit gets its own namespace and thats very relaxed.
- Integrated development environment Free Pascal comes with an IDE which work on several platforms, in which you can write, compile and debug your programs. You will save huge amounts of time using the IDE, the best programming friend you have.
- Great integration with assembler Do you think pascal is for wimps who need to learn programming? WRONG! Its excellent for high tech programming and for the supreme nerds among you we have the integrated assemblers. You can easily mix assembler code and Pascal code, in the language you wish? Prefer Intel styled assembler? No problem, if its needed Free Pascal will convert it to ATT for you. Do you want to convert your program into a source file for Nasm? No problem, and all ATT assembler in your source files is automatically converted.
- Object oriented programming And if you do the serious programming, you are of course very interested in object oriented programming. Use the Turbo Pascal and Object Pascal ways of OOP according to your taste. The FCL and Free Vision and provide you with the powerful object libraries you need. For your database needs we support PostgreSQL, MySQL, Interbase and ODBC.
- Smartlinking Free Pascals smart linker leaves out any variable or code that you do not use. That makes small programs small with a big S, while they are still statically linked, avoiding DLL hell!
- Distribution independence (Linux) As a result of this, software compiled by the Linux version of Free Pascal runs on any Linux distribution, making it much, much, easier to make your software support multiple Linux distributions.
- Available for a lot of platforms on several architectures Free Pascal is available for more platforms than most other Pascal compilers and allows easy cross-compiling, just change the target in the IDE and compile! And there is work going on for even more platforms and processors.
- Compatible Have existing code? Free Pascal is more compatible with it than any other Pascal compiler. We are almost completely compatible with Turbo Pascal and quite well compatible with Delphi source code. If you have code in another language, like C or assembler, just use favorite compiler for it and call it from Free Pascal.
Version restrictions:
- For the intel 80x86 version at least a 386 processor is required, but a 486 is recommended. For the motorola 680x0 version, a 68020 or later processor is recommended. In all cases, a minimum of 8 Megabytes of RAM is recommended, but the compiler is reported to work with 4 Megabytes of RAM.
<<lessThe following operating systems are supported Linux, FreeBSD, NetBSD, MacOSX/Darwin, MacOS classic, DOS, Win32, OS/2, BeOS, SunOS (Solaris), QNX and Classic Amiga.
Main features:
- Very clean language Pascal is a very nice language, your programs will be more readable and maintainable than for example in C, and lets even forget about C++. And you dont need to give up the power, the Pascal language is as powerful as you want it.
- No Makefiles Unlike most programming languages, Pascal does not need Makefiles. You can save huge amounts of time, the compiler just figures out itself which files need to be recompiled.
- Pascal compilers are Fast with a big F and Free Pascal is no exception. Yes, you no longer need to grow roots while compiling your programs, just hit the compile key and its done, even for large programs.
- Each unit has its own identifiers In Pascal you never need to worry about polluting the namespace, like in C where an identifier needs to be unique accross the entire program. No, in Pascal each unit gets its own namespace and thats very relaxed.
- Integrated development environment Free Pascal comes with an IDE which work on several platforms, in which you can write, compile and debug your programs. You will save huge amounts of time using the IDE, the best programming friend you have.
- Great integration with assembler Do you think pascal is for wimps who need to learn programming? WRONG! Its excellent for high tech programming and for the supreme nerds among you we have the integrated assemblers. You can easily mix assembler code and Pascal code, in the language you wish? Prefer Intel styled assembler? No problem, if its needed Free Pascal will convert it to ATT for you. Do you want to convert your program into a source file for Nasm? No problem, and all ATT assembler in your source files is automatically converted.
- Object oriented programming And if you do the serious programming, you are of course very interested in object oriented programming. Use the Turbo Pascal and Object Pascal ways of OOP according to your taste. The FCL and Free Vision and provide you with the powerful object libraries you need. For your database needs we support PostgreSQL, MySQL, Interbase and ODBC.
- Smartlinking Free Pascals smart linker leaves out any variable or code that you do not use. That makes small programs small with a big S, while they are still statically linked, avoiding DLL hell!
- Distribution independence (Linux) As a result of this, software compiled by the Linux version of Free Pascal runs on any Linux distribution, making it much, much, easier to make your software support multiple Linux distributions.
- Available for a lot of platforms on several architectures Free Pascal is available for more platforms than most other Pascal compilers and allows easy cross-compiling, just change the target in the IDE and compile! And there is work going on for even more platforms and processors.
- Compatible Have existing code? Free Pascal is more compatible with it than any other Pascal compiler. We are almost completely compatible with Turbo Pascal and quite well compatible with Delphi source code. If you have code in another language, like C or assembler, just use favorite compiler for it and call it from Free Pascal.
Version restrictions:
- For the intel 80x86 version at least a 386 processor is required, but a 486 is recommended. For the motorola 680x0 version, a 68020 or later processor is recommended. In all cases, a minimum of 8 Megabytes of RAM is recommended, but the compiler is reported to work with 4 Megabytes of RAM.
Download (23.2MB)
Added: 2007-05-20 License: GPL (GNU General Public License) Price:
916 downloads
ff javascript library 1.11
ff javascript library is a minimal library meant to develop real-life Javascript-enabled Web sites. more>>
ff javascript library is a minimal library meant to develop real-life Javascript-enabled Web sites. ff javascript library offers a cross-brower API for all common browsers.
That is, all w3 standards compatible browsers (Mozilla/Firefox, Opera, Safari/Konqueror, etc.) on one side and Internet Explorer on the other side. At less than 7kb for the compressed Javascript version and even less than 3kb for the gzipped version, it offers quick loading even for dialup users.
Main features:
- Crossbrowser AJAX, Event and DOM functions offering the same API for w3 DOM compatible browsers and Internet Explorer.
- DOM helper functions and a DOM builder allowing to easily create complex DOM trees.
- Firebug support / emulation. If the library is executed on firefox with firebug installed it uses firebugs logging and error reporting functions -- otherwise it sets up a firebug emulation. This emulation by default does nothing and logs to a debug DIV when the URL parameter "ffdebug=1" is passed to the document.
- ScriptDoc comments enabling Code Assist functionality in Aptana
Enhancements:
- The DOM Builder supports the tabindex attribute.
- The ff.extend function was added.
- The DOM Builder ignores null arguments now.
<<lessThat is, all w3 standards compatible browsers (Mozilla/Firefox, Opera, Safari/Konqueror, etc.) on one side and Internet Explorer on the other side. At less than 7kb for the compressed Javascript version and even less than 3kb for the gzipped version, it offers quick loading even for dialup users.
Main features:
- Crossbrowser AJAX, Event and DOM functions offering the same API for w3 DOM compatible browsers and Internet Explorer.
- DOM helper functions and a DOM builder allowing to easily create complex DOM trees.
- Firebug support / emulation. If the library is executed on firefox with firebug installed it uses firebugs logging and error reporting functions -- otherwise it sets up a firebug emulation. This emulation by default does nothing and logs to a debug DIV when the URL parameter "ffdebug=1" is passed to the document.
- ScriptDoc comments enabling Code Assist functionality in Aptana
Enhancements:
- The DOM Builder supports the tabindex attribute.
- The ff.extend function was added.
- The DOM Builder ignores null arguments now.
Download (0.017MB)
Added: 2007-03-25 License: BSD License Price:
944 downloads
Epoch DHTML JavaScript Calendar 2.0.1
Epoch JavaScript Calendar and DatePicker runs on all major browsers and features a fast user interface. more>>
Epoch JavaScript Calendar and DatePicker runs on all major browsers and features a fast user interface, multiple date selection, flat or popup modes, CSS styling, automatic date formatting, full object-oriented design, and more. Epoch DHTML JavaScript Calendar is available in over a dozen major international languages.
Main features:
- Fast loading and initialization
- Intuitive, customizable interface
- Compatible with all Modern Browsers - see compatibility chart below.
- Can display as a Flat or Popup (DatePicker) calendar
- Automatic Date Formatting - US, European, or create your own!
- Multiple-Date selection - by clicking on calendar cells or the day & week headings.
<<lessMain features:
- Fast loading and initialization
- Intuitive, customizable interface
- Compatible with all Modern Browsers - see compatibility chart below.
- Can display as a Flat or Popup (DatePicker) calendar
- Automatic Date Formatting - US, European, or create your own!
- Multiple-Date selection - by clicking on calendar cells or the day & week headings.
Download (0.029MB)
Added: 2006-09-18 License: LGPL (GNU Lesser General Public License) Price:
1207 downloads
WMS Javascript Library 0.02
WMS Javascript Library is an object-oriented JavaScript library for creating dynamic Web-based maps. more>>
WMS Javascript Library is an object-oriented JavaScript library for creating dynamic Web-based maps from otherwise static WMS (Web Map Service) images by adding pan/zoom functionality with Google Maps-like draggability.
Custom clickable overlays can be added to create a useful GIS.
WMS Javascript Librarys wmsmap.js purpose is to facilitate the creation of dynamics maps using freely available WMS servers. For example to create the dynamic equivalent of the image above, include the javascript files, define the Layer object, create a new map object, and associate it with an html DIV element.
// define layer object
var myLayer = {
URL: http://wms.jpl.nasa.gov/wms.cgi?,
LAYERS: [BMNG],
FORMAT: image/jpeg,
BBOX: [0,0,180,90]
};
// create new map object with layer
var myMap = new WMap(map_div,[myLayer]);
Enhancements:
- This release fixes IE bugs and improves the documentation and example layout.
<<lessCustom clickable overlays can be added to create a useful GIS.
WMS Javascript Librarys wmsmap.js purpose is to facilitate the creation of dynamics maps using freely available WMS servers. For example to create the dynamic equivalent of the image above, include the javascript files, define the Layer object, create a new map object, and associate it with an html DIV element.
// define layer object
var myLayer = {
URL: http://wms.jpl.nasa.gov/wms.cgi?,
LAYERS: [BMNG],
FORMAT: image/jpeg,
BBOX: [0,0,180,90]
};
// create new map object with layer
var myMap = new WMap(map_div,[myLayer]);
Enhancements:
- This release fixes IE bugs and improves the documentation and example layout.
Download (0.38MB)
Added: 2006-01-07 License: AFPL (Aladdin Free Public License) Price:
1392 downloads
PHP/Javascript Jigsaw puzzle 0.1
PHP/Javascript Jigsaw puzzle automatically creates jigsaw puzzles from a folder of images. more>>
PHP/Javascript Jigsaw puzzle automatically creates jigsaw puzzles from a folder of images.
Enhancements:
- javascript libary
<<lessEnhancements:
- javascript libary
Download (0.011MB)
Added: 2006-03-13 License: GPL (GNU General Public License) Price:
778 downloads
Generic JavaScript validator 1.0
Generic JavaScript validator is a simple but powerful cross-browser JavaScript that combines DOM and regulars expressions. more>>
Generic JavaScript validator is a simple but powerful cross-browser JavaScript that combines DOM and regulars expressions for the client-side validation of forms.
It can validate any number of form on HTML documents. Generic JavaScript validator also supports user defined JavaScript functions.
Include .js file
Inside < head > section of the html with the form inside you insert these lines
< script language="JavaScript" type="text/javascript" src="validate.js" >< /script >
<<lessIt can validate any number of form on HTML documents. Generic JavaScript validator also supports user defined JavaScript functions.
Include .js file
Inside < head > section of the html with the form inside you insert these lines
< script language="JavaScript" type="text/javascript" src="validate.js" >< /script >
Download (0.012MB)
Added: 2006-09-14 License: GPL (GNU General Public License) Price:
663 downloads
Javascript::Menu 2.02
Javascript::Menu is a NumberedTree that generates HTML and Javascript code for a menu. more>>
Javascript::Menu is a NumberedTree that generates HTML and Javascript code for
a menu.
SYNOPSIS
use Javascript::Menu;
# Give it something to do (example changes the menus caption):
my $action = sub {
my $self = shift;
my ($level, $unique) = @_;
my $value = $self->getValue;
return "getElementById(caption_$unique).innerHTML=$value";
};
# Build the tree:
my $menu = Javascript::Menu->convert(tree => $otherTree, action => $action);
my $menu = Javascript::Menu->readDB(source_name => $table, source => $dbh,
action => $action);
my $menu = Javascript::Menu->new(value => Please select a parrot,
action => $action);
my $blue = $menu->append(value => Norwegian Blue);
$blue->append(value => Pushing up the daisies);
$menu->append(value => A Snail);
# Or maybe you just want a navigational menu?
my $menu = Javascript::Menu->new(value => Please select a prime minister);
$menu->append(value => Ariel Sharon,
URL => www.corruption.org/ariel_sharon.htm);
$menu->append(value => Benjamin Netanyahu,
URL => www.corruption.org/bibi.htm);
$menu->append(value => Shaul Mofaz, URL => www.martial_law.org);
# Print it out as a right-to-left menu:
my $css = $menu->buildCSS($menu->reasonableCSS);
print $cgi->start_html(-script => $menu->baseJS(rtl),
-style => $css); #CSS plays an important role.
print $tree->getHTML;
Javascript::Menu is an object that helps in creating the HTML, Javascript, and some of the CSS required for a table-based menu. There are a few other modules that deal with menus, But as I browsed through them, I found that none of them exactly fitted my needs. So I designed this module, with the following goals in mind:
Flexibility
The main feature of this module is the ability to supply all nodes or any specific node with a subroutine that is activated in time of the code generation to help decide what the item will do when it is clicked. This allows customisation far beyond associating a link with every item. Multy-level selection menus become very easy to do (and this is, in fact, what I needed when I started writing this).
I18n
Working with i18n (internationalization) can be a big headache. Working with Hebrew (or Arabic) forces you not only to change your charachters, but also to change your direction of writing. I incorporated into this module the ability to produce right-to-left menus and tested it using a legacy ASCII-based encoding (iso-8859-8).
Object Hierarchy
I designed the module to work with two other modules of mine, Tree::Numbered and Tree::Numbered::DB, which simplify the task of building the menu and allow for construction of a menu from database information.
The current version adds support for highlighting the item thats hovered over. Youll find that having made some preliminary steps, like tweaking the CSS to look the way you like it to, the rest is fairly easy.
<<lessa menu.
SYNOPSIS
use Javascript::Menu;
# Give it something to do (example changes the menus caption):
my $action = sub {
my $self = shift;
my ($level, $unique) = @_;
my $value = $self->getValue;
return "getElementById(caption_$unique).innerHTML=$value";
};
# Build the tree:
my $menu = Javascript::Menu->convert(tree => $otherTree, action => $action);
my $menu = Javascript::Menu->readDB(source_name => $table, source => $dbh,
action => $action);
my $menu = Javascript::Menu->new(value => Please select a parrot,
action => $action);
my $blue = $menu->append(value => Norwegian Blue);
$blue->append(value => Pushing up the daisies);
$menu->append(value => A Snail);
# Or maybe you just want a navigational menu?
my $menu = Javascript::Menu->new(value => Please select a prime minister);
$menu->append(value => Ariel Sharon,
URL => www.corruption.org/ariel_sharon.htm);
$menu->append(value => Benjamin Netanyahu,
URL => www.corruption.org/bibi.htm);
$menu->append(value => Shaul Mofaz, URL => www.martial_law.org);
# Print it out as a right-to-left menu:
my $css = $menu->buildCSS($menu->reasonableCSS);
print $cgi->start_html(-script => $menu->baseJS(rtl),
-style => $css); #CSS plays an important role.
print $tree->getHTML;
Javascript::Menu is an object that helps in creating the HTML, Javascript, and some of the CSS required for a table-based menu. There are a few other modules that deal with menus, But as I browsed through them, I found that none of them exactly fitted my needs. So I designed this module, with the following goals in mind:
Flexibility
The main feature of this module is the ability to supply all nodes or any specific node with a subroutine that is activated in time of the code generation to help decide what the item will do when it is clicked. This allows customisation far beyond associating a link with every item. Multy-level selection menus become very easy to do (and this is, in fact, what I needed when I started writing this).
I18n
Working with i18n (internationalization) can be a big headache. Working with Hebrew (or Arabic) forces you not only to change your charachters, but also to change your direction of writing. I incorporated into this module the ability to produce right-to-left menus and tested it using a legacy ASCII-based encoding (iso-8859-8).
Object Hierarchy
I designed the module to work with two other modules of mine, Tree::Numbered and Tree::Numbered::DB, which simplify the task of building the menu and allow for construction of a menu from database information.
The current version adds support for highlighting the item thats hovered over. Youll find that having made some preliminary steps, like tweaking the CSS to look the way you like it to, the rest is fairly easy.
Download (0.025MB)
Added: 2006-06-12 License: Perl Artistic License Price:
1235 downloads
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
<<lessMy 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
Download (0.004MB)
Added: 2006-03-29 License: GPL (GNU General Public License) Price:
1318 downloads
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.
<<lessThis 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.
Download (0.030MB)
Added: 2005-04-15 License: Freeware Price:
1657 downloads
Secleted [ 0 ] software to compare
Copyright Notice:
Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future software development. The above rhino javascript compiler search only lists software in full, demo and trial versions for free download. Download links are directly from our mirror sites or publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed