119 строки
2.8 KiB
Plaintext
119 строки
2.8 KiB
Plaintext
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.
|