EJSMOD(1)                        User Commands                       EJSMOD(1)

NAME
       ejsmod - Ejscript Module Generator

SYNOPSIS
       ejsmod  [--cslots]  [--empty]  [--html path] [--listing] [--search ejs-
       Path] [--showBuiltin] [--showDebug] [--version] modules ...

DESCRIPTION
       The ejsmod command is a utility program for Ejscript  module  files  to
       generate  symbolic  assembler listings, slot defintion files for native
       classes and HTML documentation.

LISTINGS
       To generate symbolic assembler listings, compile your source using  the
       ejsc  command  with  the  --debug  switch.  Then invoke ejsmod with the
       --listing switch and supply the required modules. An assembler  listing
       file  with  a ".lst" extension will be generated for each corresponding
       logical module directive.

       The listing files interleave disassembled byte code with  the  relevant
       source  code statements. The listings describe each module and its con-
       stituent functions and initializers. The bindings for all types and the
       constant pool are also listed.

DOCUMENTATION
       To  generate  HTML documentation for your code, first compile using the
       ejsc command with the --doc switch. Then  invoke  ejsmod  and  use  the
       --html  switch with the directory where you want the documentation gen-
       erated.

       The HTML documentation will include  all  modules,  namespaces,  types,
       functions, properties and variable declarations.

BINDING SLOT FILES
       Ejscript supports the creation of native types which are coded in the C
       language. Native types are useful for core system types and for classes
       that  must  run  at  near  binary  speed. To facilitate creating native
       types, ejsmod generates slot binding definition  headers  which  define
       symbolic  offsets  for  declarations.  See the Native class samples for
       further information.

OPTIONS
       --cslots
              Generate slot binding definition headers for the input  modules.

       --empty
              Start  with an empty interpreter without the core language types
              such as Object, Array and Number. This option is used  to  build
              the  foundation  ejs.mod  module  which contains the core system
              types.

       --html dir
              Generate HTML documentation  to  the  specified  directory.  The
              source  files  must  have  been  compiled by ejsc with the --doc
              switch to include the documentation strings in the module files.

       --listing
              Generate symbolic assembler files for each input module.

       --search ejsPath
              Set  the  module search path. The module search path is a set of
              directories that the ejsmod 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 ejsmod 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, ejsmod  will  use  the
              following 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"

              3. Search for a module file named "a.b.c.mod" in the search path

              4. Search for a module file named c.mod in the search path

       --showDebug
              Show debug instructions in the symbolic assembler listings.

       --showBuiltin
              Show built-in properties in HTML documentation, assembler  list-
              ings and slot binding files.

       --version
              Print the ejsmod command version and exit.

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

       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) 2004-2012 Embedthis Software.  Ejscript is a trademark of
       Embedthis Software.

SEE ALSO
       ejsc, ejsgen, ejs, ejsvm

ejsmod                            March 2012                         EJSMOD(1)