gecko-dev/js2
..
semantics
src
tests
tools
AUTHORS
COPYING
ChangeLog
INSTALL
Makefile.am
NEWS
README
TODO
aclocal.m4
common.mk
config.h.in
configure
configure.in
install-sh
missing
mkinstalldirs

README

Build instructions for Epimetheus
10/12/2002


Building JS2 on WINNT:
---------------------------------------------------------------------------------------------
[/d/JS_2] cvs -z3 co mozilla/js2
          cvs -z3 co mozilla/js/src/fdlibm

Compiling in Visual C++:

Workspace:    D:\JS_2\mozilla\js2\src\winbuild\Epimetheus\Epimetheus.dsw

Project Files:   D:\JS_2\mozilla\js2\src\winbuild\Epimetheus.dsp  <---------- active project
                 D:\JS_2\mozilla\js2\src\winbuild\fdlibm.dsp


RUNNING EPIMETHEUS AFTER YOU'VE BUILT IT:
>cd  (path to)\mozilla\js2\src\winbuild\Epimetheus\Debug      <-- assuming you built the debug target (the default)
>Epimetheus
Welcome to Epimetheus.
ep> (use ^z to exit)


Building JS2 on LINUX:
---------------------------------------------------------------------------------------------
[/d/JS_2] cvs -z3 co mozilla/js2
          cvs -z3 co mozilla/js/src/fdlibm

[/d/JS_2] cd mozilla/js/src/fdlibm

[/d/JS_2/mozilla/js/src/fdlibm] make -f Makefile.ref    <-- builds libfdm.a

[/d/JS_2/mozilla/js/src/fdlibm] cd mozilla/js2

[/d/JS_2/mozilla/js2] automake    <--- FIRST TIME ONLY
[/d/JS_2/mozilla/js2] autoconf    <--- FIRST TIME ONLY
[/d/JS_2/mozilla/js2] ./configure --enable-debug    <--- FIRST TIME ONLY
[/d/JS_2/mozilla/js2] make


RUNNING THE JS2 SHELL AFTER YOU'VE BUILT IT:
cd   (path to)/mozilla/js2/src
[ (path to)/mozilla/js2/src] ./epimetheus



---------------------------------------------------------------------------------------------


Files:

js2metadata.[cpp|h]
    - Walks parse tree, applies semantics analysis, emit byte code.

bytecodecontainer.[cpp|h]
    - Utility class for handling bytecode stream.

exception.[cpp|h]
    - exception objec

formatter.cpp formatter.h
    - "Formatter" class, iostream like wrapper around stdio.

hash.cpp hash.h
    - a hash

js2engine.[cpp|h]
    - interpreter loop & runtime support routines

js2array.[cpp|h]
js2date.[cpp|h]
js2math.[cpp|h]
js2string.[cpp|h]
js2regexp.[cpp|h]
    - implementations of ECMAScript built-ins

lexer.cpp lexer.h
    - main lexer.

mem.cpp mem.h
    - zone, arena, and pool classes for memory management.

numerics.cpp numerics.h
    - numbers and stuff.

parser.cpp parser.h
    - main parser source.
        tables in parser.h:
        enum ExprNode::Kind; types of expressions
        enum StmtNode::Kind; types of statements

prmjtime.[cpp|h]
    - [Mac only?] OS interface routines for jsdate

reader.cpp reader.h
    - "Reader" class, feeds source to the parser/lexer.

regexpwrapper.cpp
    - cpp front to regexp engine in regexp/regexp.[ch]

stlcfg.h
    - stupid stl tricks

strings.[cpp|h]
    - unicode string support

systemtypes.h
    - basic typedefs.

token.cpp token.h
    - token class.

utilities.cpp utilities.h
    - random things.

world.cpp world.h
    - the whole world.