javascript compiler
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 1338
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
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
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
cid-compiler 0.1
cid-compiler is a language tool to easily create C code with object oriented features. more>>
cid-compiler is a language tool to easily create C code with object oriented features. Its compiler generates header (.h) files and implementations (.c) from a specification file (.i).
The generated C code consists of a struct, a opaque pointer to it (in the header file) and rewritten functions. The defined functions will get prefixed with the class name, they will also get a new first argument that is a pointer to the newly defined struct.
Functions that do not have a return value are considered constructors and will not get a new 1st argument but will automatically get a return value of pointer to the struct. The place between @class "name" and @attributes is e. g. for include statements and will make it into the header file.
To ease renaming the class, you can use the define CLASS, which will always be a define to a pointer of the new struct type.
Interface example
@class cstring
#include < stdio.h >
#include < string.h >
@attributes
char *c;
@methods
new(char *n) {
CLASS i = NEWCLASS;
i->c = strdup(n);
return i;
}
int length() {
return strlen(this->c);
}
@end
will yield a cstring.h file:
#ifndef _CSTRING_H_
#define _CSTRING_H_
#include < stdio.h >
#include < string.h >
typedef struct cstring *cstring;
cstring cstring_new(char *n);
int cstring_length(cstring this);
#endif
and a cstring.c file:
#include "cstring.h"
#define CLASS cstring
#define NEWCLASS malloc(sizeof(struct cstring));
#define NEWCLASS_M malloc(sizeof(struct cstring));
#define NEWCLASS_C calloc(1,sizeof(struct cstring));
struct cstring {
char *c;
};
cstring cstring_new(char *n) {
CLASS i = NEWCLASS;
i->c = strdup(n);
return i;
}
int cstring_length(cstring this) {
return strlen(this->c);
}
Issues:
The current compiler (v0.1) will reject quite some valid C code. Also the given error is not very helpful;
<<lessThe generated C code consists of a struct, a opaque pointer to it (in the header file) and rewritten functions. The defined functions will get prefixed with the class name, they will also get a new first argument that is a pointer to the newly defined struct.
Functions that do not have a return value are considered constructors and will not get a new 1st argument but will automatically get a return value of pointer to the struct. The place between @class "name" and @attributes is e. g. for include statements and will make it into the header file.
To ease renaming the class, you can use the define CLASS, which will always be a define to a pointer of the new struct type.
Interface example
@class cstring
#include < stdio.h >
#include < string.h >
@attributes
char *c;
@methods
new(char *n) {
CLASS i = NEWCLASS;
i->c = strdup(n);
return i;
}
int length() {
return strlen(this->c);
}
@end
will yield a cstring.h file:
#ifndef _CSTRING_H_
#define _CSTRING_H_
#include < stdio.h >
#include < string.h >
typedef struct cstring *cstring;
cstring cstring_new(char *n);
int cstring_length(cstring this);
#endif
and a cstring.c file:
#include "cstring.h"
#define CLASS cstring
#define NEWCLASS malloc(sizeof(struct cstring));
#define NEWCLASS_M malloc(sizeof(struct cstring));
#define NEWCLASS_C calloc(1,sizeof(struct cstring));
struct cstring {
char *c;
};
cstring cstring_new(char *n) {
CLASS i = NEWCLASS;
i->c = strdup(n);
return i;
}
int cstring_length(cstring this) {
return strlen(this->c);
}
Issues:
The current compiler (v0.1) will reject quite some valid C code. Also the given error is not very helpful;
Download (0.098MB)
Added: 2006-03-07 License: BSD License Price:
1327 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
JavaScript::App 0.13
JavaScript::App is a Perl framework for building dynamic widgets or full applications in Javascript. more>>
JavaScript::App is a Perl framework for building dynamic widgets or full applications in Javascript.
SYNOPSIS
see the documentation for "js-app" ("man js-app" or "perldoc js-app")
"js-app" is a Javascript Application framework with which you can build rich web applications and widgets embeddable in web pages.
<<lessSYNOPSIS
see the documentation for "js-app" ("man js-app" or "perldoc js-app")
"js-app" is a Javascript Application framework with which you can build rich web applications and widgets embeddable in web pages.
Download (0.041MB)
Added: 2006-09-05 License: Perl Artistic License Price:
1154 downloads
JavaScript::Autocomplete::Backend 0.10
JavaScript::Autocomplete::Backend is a Google Suggest-compatible autocompletion backend. more>>
JavaScript::Autocomplete::Backend is a Google Suggest-compatible autocompletion backend.
SYNOPSYS
package MyAutocompleter;
use base qw(JavaScript::Autocomplete::Backend);
my @NAMES = qw(alice bob charlie);
sub expand {
my ($self, $query) = @_;
# do something to expand the query
my $re = qr/^Q$queryE/i;
my @names = grep /$re/, @NAMES;
(lc $query, @names, [], [""]);
}
MyAutocompleter->run;
This is a base class for implementing an autocompletion server with the same protocol used by Google Suggest ( http://www.google.com/webhp?complete=1&hl=en ). It is basically a CGI script that takes a word to be completed as the "qu" parameter and returns a specially concoted JavaScript statement. For more efficiency it should be possible to turn it into a mod_perl handler; that is left as an exercise for the reader.
The front-end JavaScript code is discussed in http://serversideguy.blogspot.com/2004/12/google-suggest-dissected.html .
This module is used by creating a subclass, which should override the expand method, which takes care of searching for the autocompletion results.
<<lessSYNOPSYS
package MyAutocompleter;
use base qw(JavaScript::Autocomplete::Backend);
my @NAMES = qw(alice bob charlie);
sub expand {
my ($self, $query) = @_;
# do something to expand the query
my $re = qr/^Q$queryE/i;
my @names = grep /$re/, @NAMES;
(lc $query, @names, [], [""]);
}
MyAutocompleter->run;
This is a base class for implementing an autocompletion server with the same protocol used by Google Suggest ( http://www.google.com/webhp?complete=1&hl=en ). It is basically a CGI script that takes a word to be completed as the "qu" parameter and returns a specially concoted JavaScript statement. For more efficiency it should be possible to turn it into a mod_perl handler; that is left as an exercise for the reader.
The front-end JavaScript code is discussed in http://serversideguy.blogspot.com/2004/12/google-suggest-dissected.html .
This module is used by creating a subclass, which should override the expand method, which takes care of searching for the autocompletion results.
Download (0.004MB)
Added: 2006-11-24 License: Perl Artistic License Price:
1068 downloads
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.
<<less4tH 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.
Download (0.18MB)
Added: 2007-05-20 License: LGPL (GNU Lesser General Public License) Price:
889 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
Fork JavaScript 0.1.0
Fork JavaScript project is a general purpose, namespaced JavaScript library with Ajax, Events, DOM manipulation. more>>
Fork JavaScript project is a general purpose, namespaced JavaScript library with Ajax, Events, DOM manipulation. There are a few bonus lines of code specifically for use with Ruby on Rails but Fork can be happily used outside of Rails also.
Main features:
- an aspiration for the highest quality code
- author documentation
- documented limitations (all libs have them but dont report them)
- in-browser unit/integration tests
- tested in a wide set of browsers.
- functions to help create gracefully degrading web pages
- namespaced code
- does not augment JavaScript built-in prototypes
- does not add a layer of sugar on top of JavaScript to make writing JavaScript like writing in another language
- minimizable with jsmin and includes already minimized versions
- MIT License
- plugin for tight integration with Ruby on Rails
Why?
There are many JavaScript libraries out there. Why add another one to the list? To create a quality library with a liberal license.
I like Ruby on Rails. The Rails default Prototype JavaScript library does not suit many development situations and contains code that makes developing for a wide selection of browsers difficult or impossible. Prototype has some great ideas in its mix but the implementation quality has been questioned many times. Prototype has influenced many JavaScript libraries and some of Prototypes best ideas have also influenced the Fork API.
Because Fork is a namespaced library, you may be able to use both Fork and Prototype simultaneously as you transition from one to the other.
I like the Yahoo! UI library. Of the JavaScript libraries Ive used it has the best API. The YUI library has many valuable nuggets of information about browser bugs and workarounds. The approach of YUI suits browser scripting well.
However there are more than a few places in the code where Im left scratching my head and thinking "why did they do that?" Probably that is how every developer looks at another developers code. The YUI API is the starting point for much of the Fork API.
Most libraries seem to develop too quickly. I like the general debian attitude of careful growth because the browser execution environment is wildly varied and deserves a certain degree of conservatism in the JavaScript we send to it.
<<lessMain features:
- an aspiration for the highest quality code
- author documentation
- documented limitations (all libs have them but dont report them)
- in-browser unit/integration tests
- tested in a wide set of browsers.
- functions to help create gracefully degrading web pages
- namespaced code
- does not augment JavaScript built-in prototypes
- does not add a layer of sugar on top of JavaScript to make writing JavaScript like writing in another language
- minimizable with jsmin and includes already minimized versions
- MIT License
- plugin for tight integration with Ruby on Rails
Why?
There are many JavaScript libraries out there. Why add another one to the list? To create a quality library with a liberal license.
I like Ruby on Rails. The Rails default Prototype JavaScript library does not suit many development situations and contains code that makes developing for a wide selection of browsers difficult or impossible. Prototype has some great ideas in its mix but the implementation quality has been questioned many times. Prototype has influenced many JavaScript libraries and some of Prototypes best ideas have also influenced the Fork API.
Because Fork is a namespaced library, you may be able to use both Fork and Prototype simultaneously as you transition from one to the other.
I like the Yahoo! UI library. Of the JavaScript libraries Ive used it has the best API. The YUI library has many valuable nuggets of information about browser bugs and workarounds. The approach of YUI suits browser scripting well.
However there are more than a few places in the code where Im left scratching my head and thinking "why did they do that?" Probably that is how every developer looks at another developers code. The YUI API is the starting point for much of the Fork API.
Most libraries seem to develop too quickly. I like the general debian attitude of careful growth because the browser execution environment is wildly varied and deserves a certain degree of conservatism in the JavaScript we send to it.
Download (MB)
Added: 2007-01-24 License: MIT/X Consortium License Price:
1005 downloads
Javascript Browser Sniffer 0.5.1
JavaScript Browser Sniffer is a browser identifier written in JavaScript (EcmaScript) and released under the LGPL license. more>>
JavaScript Browser Sniffer is a browser identifier written in JavaScript (EcmaScript) and released under the LGPL license. It can tell your browser name, version and operating system you (the visitor) are using (its like phpsniff, but in JavaScript)
Main features:
- Microsoft Internet Explorer (should work with any version)
- Netscape 4.x, 6.x and 7.x
- Mozilla Seamonkey, Galeon, Firebird, Phoenix, Epiphany, K-Meleon, Camino and Chimera (should work with any version)
- Opera (should work with any version)
- Konqueror (should work with any version)
- Nautilus (version number is not available yet)
- Safari (should work with any version)
- Omniweb (should work with any version))
- Links (should work with any version)
- ELinks (should work with any version)
- PowerMarks (should work with any version)
- Crazy Browser (should work with any version)
- MyIE2 (should work with any version)
- Java (should work with any version)
- iCab (should work with any version)
- NetFront (should work with any version)
- Avant Browser (should work with any version)
- MSN Explorer (should work with any version)
- w3m (should work with any version) (please note that w3m only supports JavaScript on the client-side if using w3m-js)
- Netcaptor (should work with any version)
- Dillo (should work with any version) (only server-side)
- Lynx (should work with any version) (only server-side)
<<lessMain features:
- Microsoft Internet Explorer (should work with any version)
- Netscape 4.x, 6.x and 7.x
- Mozilla Seamonkey, Galeon, Firebird, Phoenix, Epiphany, K-Meleon, Camino and Chimera (should work with any version)
- Opera (should work with any version)
- Konqueror (should work with any version)
- Nautilus (version number is not available yet)
- Safari (should work with any version)
- Omniweb (should work with any version))
- Links (should work with any version)
- ELinks (should work with any version)
- PowerMarks (should work with any version)
- Crazy Browser (should work with any version)
- MyIE2 (should work with any version)
- Java (should work with any version)
- iCab (should work with any version)
- NetFront (should work with any version)
- Avant Browser (should work with any version)
- MSN Explorer (should work with any version)
- w3m (should work with any version) (please note that w3m only supports JavaScript on the client-side if using w3m-js)
- Netcaptor (should work with any version)
- Dillo (should work with any version) (only server-side)
- Lynx (should work with any version) (only server-side)
Download (0.020MB)
Added: 2006-10-19 License: GPL (GNU General Public License) Price:
652 downloads
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.
<<lessThe 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.
Download (0.27MB)
Added: 2006-12-25 License: GPL (GNU General Public License) Price:
1044 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 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