| OLD | NEW | 
|   1 Frog is a dart compiler implemented in dart.  It is currently focused on |   1 Frog is a dart compiler implemented in dart.  It is currently focused on | 
|   2 compiling dart code to efficient and readable javascript code.  However, it |   2 compiling dart code to efficient and readable javascript code.  However, it | 
|   3 is ultimately intended to be the basis for future code analysis tools and |   3 is ultimately intended to be the basis for future code analysis tools and | 
|   4 development environments when these can be built in dart as well.  Two |   4 development environments when these can be built in dart as well.  Two | 
|   5 very early examples of this kind of use are in the samples directory: |   5 very early examples of this kind of use are in the samples directory: | 
|   6   * doc.dart - minimal documentation generator |   6   * doc.dart - minimal documentation generator | 
|   7   * ifrog.dart - minimal command-line REPL for dart |   7   * ifrog.dart - minimal command-line REPL for dart | 
|   8  |   8  | 
|   9  |   9  | 
|  10  |  10  | 
|  11 To use frog: |  11 To use frog: | 
|  12  |  12  | 
|  13 1) Frog is now included in the checkout of the public repo of the bleeding_edge |  13 1) Frog is now included in the checkout of the public repo of the bleeding_edge | 
|  14    branch. The code will be located under dart/frog. |  14    branch. The code will be located under dart/frog. | 
|  15  |  15  | 
|  16 2) Make sure you have 'node' in your path. |  16 2) From the dart/frog directory, run the presubmit script to check your | 
|  17    See http://nodejs.org/ and https://github.com/joyent/node/wiki/Installation |  | 
|  18    for how to install.  Notes: |  | 
|  19     - If using "git clone", use local disk rather than an NFS working dir, |  | 
|  20       as NFS will disallow "sudo make install". |  | 
|  21     - v0.6 is currently popular. |  | 
|  22    # TODO(jimhug): Move this dependency to third_party. |  | 
|  23  |  | 
|  24 3) From the dart/frog directory, run the presubmit script to check your |  | 
|  25    installation is all working. |  17    installation is all working. | 
|  26      frog$ ./presubmit.py |  18      frog$ ./presubmit.py | 
|  27  |  19  | 
|  28  |  20  | 
|  29 BEFORE YOU SUBMIT |  21 BEFORE YOU SUBMIT | 
|  30  |  22  | 
|  31 Before you submit, you should: |  23 Before you submit, you should: | 
|  32  |  24  | 
|  33 1) Run the html tests: |  25 1) Run the html tests: | 
|  34  |  26  | 
|  35   $ ./frog.py --html -- tests/htmltest.dart |  27   $ ./frog.py --html -- tests/htmltest.dart | 
|  36   $ ./frog.py --html -- tests/canvastest.dart |  28   $ ./frog.py --html -- tests/canvastest.dart | 
|  37  |  29  | 
|  38    These will open a browser -- verify in the console that no errors |  30    These will open a browser -- verify in the console that no errors | 
|  39    happened. |  31    happened. | 
|  40  |  32  | 
|  41 2) Run the presubmit script: |  33 2) Run the presubmit script: | 
|  42  |  34  | 
|  43   $ ./presubmit.py |  35   $ ./presubmit.py | 
|  44  |  36  | 
|  45 3) Make sure to include any changes to frogsh in your commit. |  | 
|  46  |  | 
|  47 Note: |  37 Note: | 
|  48  |  38  | 
|  49 If you make any changes to files under tests, you are expected to ensure that |  39 If you make any changes to files under tests, you are expected to ensure that | 
|  50 you don't break any of the other configurations.  If you only change the status 
    of tests for frog or frogsh, you should be okay.  However, if you |  40 you don't break any of the other configurations.  If you only change the status 
    of tests for frog, you should be okay.  However, if you | 
|  51 modify any of the tests themselves, please run the tests with both vm and |  41 modify any of the tests themselves, please run the tests with both vm and | 
|  52 dartc configurations before checking in. |  42 dartc configurations before checking in. | 
|  53  |  43  | 
|  54  |  44  | 
|  55 Details: |  45 Details: | 
|  56  |  46  | 
|  57 You can use build.py and test.py (that are run by the presubmit script): |  47 You can use build.py and test.py (that are run by the presubmit script): | 
|  58  |  48  | 
|  59   $ ../tools/build.py --mode=release,debug |  49   $ ../tools/build.py --mode=release,debug | 
|  60   $ ../tools/test.py --report -t 5 -p color --mode=release --component=frog,frog
    sh language corelib leg |  50   $ ../tools/test.py --report -t 5 -p color --mode=release --component=frog lang
    uage corelib leg | 
|  61  |  51  | 
|  62 The 'frog' component is frog running on the VM.  The 'frogsh' |  52 The 'frog' component is frog running on the VM. | 
|  63 component is from running selfhosted on node.js. |  | 
|  64  |  | 
|  65 To build the self-hosted compiler called frogsh (for frog self-hosted), run: |  | 
|  66  |  | 
|  67   $ ./frog.py --out=frogsh --compile-only --enable_type_checks frog.dart |  | 
|  68  |  | 
|  69 You can also build and check the self-hosted compiler from itself by running: |  | 
|  70   $ ./frogsh --out=frogsh frog.dart tests/hello.dart |  | 
|  71 This should print 'hello world'. |  | 
|  72  |  | 
|  73 To just run the self-hosted compiler, you can pass it a single dart file: |  | 
|  74  |  | 
|  75   $ ./frogsh tests/hello.dart |  | 
|  76 This should also print 'hello world' - without rebuilding frogsh itself. |  | 
| OLD | NEW |