| OLD | NEW |
| 1 Leg is an experimental add-on to the Frog compiler that aims to | 1 Dart2JS is the Dart-to-JavaScript compiler for Dart. This compiler |
| 2 explore areas of long-term interest: | 2 will provide high-quality translation from Dart to JavaScript. |
| 3 | 3 |
| 4 Some areas that will explored in this project are: |
| 5 |
| 4 * high-performance extensible scanner and parser | 6 * high-performance extensible scanner and parser |
| 5 * concrete type inferencing | 7 * concrete type inferencing |
| 6 * fancy language tool support | 8 * fancy language tool support |
| 7 * programming environment integration | 9 * programming environment integration |
| 8 * SSA-based intermediate representation | 10 * SSA-based intermediate representation |
| 9 * adaptive compilation on the client | 11 * adaptive compilation on the client |
| 10 * ... | |
| 11 | 12 |
| 12 Some of the things listed above are very experimental of nature and | |
| 13 may prove themselves infeasible or unnecesary, so we want to work on | |
| 14 them in a way that guarantees we will not disrupt the work being done | |
| 15 to make Frog a fantastic compiler for Dart in its default setup. | |
| 16 | |
| 17 To keep things simple and allow quick experimentation, Leg will only | |
| 18 support a subset of Dart and fall back on using the default Frog | |
| 19 compiler for the remaining parts of the language. We expect Leg to be | |
| 20 a complete and correct implementation of the supported subset | |
| 21 throughout the implementation and experimentation so you should always | |
| 22 be able to try Leg on any Dart project. | |
| 23 | |
| 24 The plan is to share code between the default Frog compiler and Leg | |
| 25 where it makes sense and to learn from both code bases along the way. | |
| OLD | NEW |