Ejsc Man Page


SYNOPSIS

       ejsc
           --bind
           --debug
           --doc
           --noout
           --optimize level
           --out filename
           --parse
           --require 'module ...'
           --search ejsPath
           --standard
           --strict
           --version
           --warn level
           files...


DESCRIPTION

       The  ejsc command compiles Ejscript programs to produce Ejscript module
       files containing byte code.  The module files may then be run  via  the
       ejs shell command.

       The  ejsc  command  is  both  a compiler and link editor. Inputs can be
       either Ejscript source files or Ejscript modules that  have  come  from
       previous  invocations  of the ejsc command. Outputs will be one or more
       Ejscript module files that contain declarations and byte code.

       An output module file will be created for each Ejscript  module  direc-
       tive encountered during compilation. A module file will also be created
       for any global variables or functions declared outside a module  direc-
       tive. These global declarations will go into the default module that is
       specially reserved for global declarations.  Each module file  will  be
       named according to the module directive name, but with a .mod extension
       appended.


LINKING

       If ejsc is invoked with the --out switch, all  input  scripts,  modules
       and  any other dependent modules are merged together into a single out-
       put module. The modules retain their logical naming, but are emitted in
       a  single  output module file. When that module file is loaded, all the
       contained modules will be available to the program.  This  creates  not
       only  a  convenient  way  to  package an entire application as a single
       file, it also permits many optimizations by merging the entire applica-
       tion and its dependent modules into a single module.


BINDING

       The  ejsc compiler will attempt to early-bind all possible variable and
       function references. Binding means resolving references to the underly-
       ing  storage  for  properties and functions. Doing this at compile time
       usually results in much faster execution at run-time.

       When using the --out switch, the compiler  can  early-bind  all  global
       --bind Bind  global  variable  declarations  into slot references. This
              results in faster more compact code. However,  only  one  module
              can have its global variables bound.

       --debug
              Generate  symbolic  debug  instructions.  This  permits symbolic
              debugging of Ejscript programs and enables exception stack back-
              traces to include line number information.

       --doc  Include  documentation  strings from input scripts in the output
              modules. The ejsmod command can then generate HTML documentation
              using these doc strings. The format of the doc strings resembles
              that of Javadoc.

       --merge
              Merge all input files and modules together into a single  output
              module. This option acts like a link-editor combining all inputs
              together. Useful if you want to distribute your application as a
              single module file.

       --optimize level
              Set  the code optimization level. Level values must be between 0
              (least) and 9 (most). Default is 9.

       --parse
              Just parse the source scripts. Don't verify, execute or generate
              output. Useful to check the script syntax only.

       --require 'module ...'
              List of modules to preload before compiling input files.

       --search ejsPath
              Set  the  module search path. The module search path is a set of
              directories that the ejsc command will  use  when  locating  and
              loading Ejscript modules.  The search path will always have some
              system directories appended to  the  end.  These  include  paths
              specified  via  the  EJSPATH environment variable and key system
              directories such as the Ejscript system module directory and the
              directory containing the ejsc command.

              The  search  path  value is similar in format to the system PATH
              variable format.  On windows, path segments are separated by ";"
              and on Linux, Unix, FreeBSD and MAC, the path segments are sepa-
              rated by ":" delimiters.

              Given a module named "a.b.c" in a script, ejsc will use the fol-
              lowing search strategy to locate the module:

              1. Search for a module file named "a.b.c.mod"

              2. Search for a module file named "a/b/c.mod"

       --version
              Print the ejsc command version and exit.

       --warn level
              Set the compiler warning verbosity level. Level values  must  be
              between 0 (least verbose) and 9 (most). Default is 0.


BACKGROUND

       Ejscript  is  an enhanced implementation of the JavaScript language for
       use in embedded applications such as web servers, embedded  and  mobile
       devices.  It is especially suited for Server-Side JavaScript web appli-
       cations.

       Ejscript is a dynamic, interpreted, object-oriented scripting  language
       that supports classes, objects, exceptions, statements, expressions and
       a powerful suite of data types.


REPORTING BUGS

       Report bugs to dev@embedthis.com.


COPYRIGHT

       Copyright (C) Embedthis Software. Ejscript is a trademark of  Embedthis
       Software.


SEE ALSO

       ejs, ejsmod



ejsc                              March 2014                             EC(1)

Man(1) output converted with man2html

© Embedthis Software. All rights reserved.