forked from mozilla/gecko-dev
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathREADME
118 lines (78 loc) · 2.76 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
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.