The Mozilla
Organization
At A Glance
Feedback
Get Involved
Newsgroups
License Terms
Newsbot
Developer Docs
Roadmap
Projects
Ports
Module Owners
Hacking
Get the Source
Build It
Testing
Download
Bugzilla
Bug Writing
Tools
View Source
Tree Status
New Checkins
Submit A Bug
FAQ
Search

JavaScript Compiler

The JavaScript compiler translates JavaScript source into Java class files. The resulting Java class files can then be loaded and executed at another time, providing a convenient method for transfering JavaScript, and for avoiding translation cost.
 

Invoking the Compiler

java org.mozilla.javascript.tools.jsc.Main [options] file1.js [file2.js...]

where options are:

-extends java-class-name

Specifies that a java class extending the Java class java-class-name should be generated from the incoming JavaScript source file. Each global function in the source file is made a method of the generated class, overriding any methods in the base class by the same name.
-implements java-intf-name
Specifies that a java class implementing the Java interface java-intf-name should be generated from the incoming JavaScript source file. Each global function in the source file is made a method of the generated class, implementing any methods in the interface by the same name.
-debug
-g
    Specifies that debug information should be generated. May not be combined with optimization at an optLevel greater than zero.
-nosource
    Does not save the source in the class file. Functions and scripts compiled this way cannot be decompiled. This option can be used to avoid distributing source or simply to save space in the resulting class file.
-o outputFile
    Writes the class file to the given file (which should end in .class). The string outputFile must be a writable filename.
-opt optLevel
-O optLevel
    Optimizes at level optLevel, which must be an integer between -1 and 9. See Optimization for more details. If optLevel is greater than zero, -debug may not be specified.
-package packageName
    Specifies the package to generate the class into. The string packageName must be composed of valid identifier characters optionally separated by periods.
-version versionNumber
    Specifies the language version to compile with. The string versionNumber must be one of 100, 110, 120, 130, or 140. See JavaScript Language Versions for more information on language versions.

Examples

$ cat test.js
java.lang.System.out.println("hi, mom!");
$ java org.mozilla.javascript.tools.jsc.Main test.js
$ ls *.class
test.class
$ java test
hi, mom!

$ java org.mozilla.javascript.tools.jsc.Main -extends java.applet.Applet \
    -implements java.lang.Runnable NervousText.js
 



back to top
Copyright © 1998-2000 The Mozilla Organization.
Last modified February 15, 2000.