Merge remote-tracking branch 'redux/master' into sh4-pool
[tamarin-stm.git] / esc / README
blob596dd8fedd0f5a34681a60101d53ff37fdd0a0ba
1 This directory contains code for an ES4 compiler written in ES4.  The
2 compiler generates code for Tamarin (.abc format).
5 STATE OF THE SYSTEM
7 The code is pretty much in pre-alpha state.  ESC supports all of ES3
8 (modulo some known bugs) and quite a bit of proposed ES4, with more
9 features being added continually.  It can rebuild itself, has OK
10 performance, and generates OK code.
12 At this time (April 2008) the main focus is on extending ESC to track
13 the ES4 spec as that spec is being developed.
16 PRELIMINARIES
18 You need to compile tamarin-central (a Release_Debugger build is best)
19 and install the resulting executable as esc/bin/shell.exe.
22 RUNNING
24 A set of last known good .abc files is provided in the ./bin directory
25 so you can run the compiler out of the box.  
27 There is a command-line compiler:
29   cd build
30   ./esc.sh <filename>.es    // produces <filename>.es.abc
32 There is a read-eval-print loop:
34   cd build
35   ./main.sh
37 Due to Tamarin artifacts that have yet to be fixed the global object
38 has peculiarities that will trip you up.  Global variables created by
39 assigning to undefined names are not visible to later expressions
40 entered at the repl, for example.
42 There are various decompilation and debugging tools that need to be
43 documented here.
47 BUILDING
49 There is a makefile that builds the compiler.
51   cd build
52   make
54 (or "make all", "make clean", and so on -- UTSL).
57 BUGS
59 Known bugs are logged in the Tamarin/ESC component in Bugzilla.
62 QUESTIONING
64 Please do.
66     #tamarin on irc.mozilla.org
67     tamarin-devel@mozilla.org
69 Send personal attacks and compliments to
71     lhansen@adobe.com
72     jodyer@adobe.com