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.