DXR is a code search and navigation tool aimed at making sense of large projects. It supports full-text and regex searches as well as structural queries.

Untracked file

Line Code
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.