| OLD | NEW |
| 1 Dart Kernel | 1 Dart Kernel |
| 2 =========== | 2 =========== |
| 3 **Dart Kernel** is a small high-level language derived from Dart. | 3 **Dart Kernel** is a small high-level language derived from Dart. |
| 4 It is designed for use as an intermediate format for whole-program analysis | 4 It is designed for use as an intermediate format for whole-program analysis |
| 5 and transformations, and as a frontend for codegen and execution backends. | 5 and transformations, and as a frontend for codegen and execution backends. |
| 6 | 6 |
| 7 The kernel language has in-memory representations in Dart and C++, and | 7 The kernel language has in-memory representations in Dart and C++, and |
| 8 can be serialized as binary or text. | 8 can be serialized as binary or text. |
| 9 | 9 |
| 10 Both the kernel language and its implementations are unstable and are under deve
lopment. | 10 Both the kernel language and its implementations are unstable and are under deve
lopment. |
| 11 | 11 |
| 12 This package contains the Dart part of the implementation and contains: | 12 This package contains the Dart part of the implementation and contains: |
| 13 - A transformable IR for the kernel language | 13 - A transformable IR for the kernel language |
| 14 - A frontend based on the analyzer | 14 - A frontend based on the analyzer |
| 15 - Serialization of kernel code | 15 - Serialization of kernel code |
| 16 | 16 |
| 17 Getting Kernel | 17 Getting Kernel |
| 18 ------------ | 18 ------------ |
| 19 | 19 |
| 20 Checkout the repository and run pub get: | 20 Checkout the repository and run pub get: |
| 21 ```bash | 21 ```bash |
| 22 git clone https://github.com/dart-lang/kernel | 22 git clone https://github.com/dart-lang/kernel |
| 23 cd kernel | 23 cd kernel |
| 24 pub get | 24 pub get |
| 25 ``` | 25 ``` |
| 26 | 26 |
| 27 Command-Line Tool | 27 Command-Line Tool |
| 28 ----------------- | 28 ----------------- |
| 29 | 29 |
| 30 Run `bin/dartk.dart` from the command-line to convert between .dart files | 30 Run `tool/dartk.dart` from the command-line to convert between .dart files |
| 31 and the serialized binary and textual formats. | 31 and the serialized binary and textual formats. |
| 32 | 32 |
| 33 `dartk` expects the `.dill` extension for files in the binary format. | 33 `dartk` expects the `.dill` extension for files in the binary format. |
| 34 The textual format has no preferred extension right now. | 34 The textual format has no preferred extension right now. |
| 35 | 35 |
| 36 Example commands: | 36 Example commands: |
| 37 ```bash | 37 ```bash |
| 38 dartk foo.dart # print text IR for foo.dart | 38 dartk foo.dart # print text IR for foo.dart |
| 39 dartk foo.dart -ofoo.dill # write binary IR for foo.dart to foo.dill | 39 dartk foo.dart -ofoo.dill # write binary IR for foo.dart to foo.dill |
| 40 dartk foo.dill # print text IR for binary file foo.dill | 40 dartk foo.dill # print text IR for binary file foo.dill |
| (...skipping 17 matching lines...) Expand all Loading... |
| 58 ```bash | 58 ```bash |
| 59 tool/regenerate_dill_files.dart --sdk <path to SDK checkout> | 59 tool/regenerate_dill_files.dart --sdk <path to SDK checkout> |
| 60 pub run test | 60 pub run test |
| 61 ``` | 61 ``` |
| 62 | 62 |
| 63 | 63 |
| 64 Linking | 64 Linking |
| 65 ------------------------- | 65 ------------------------- |
| 66 Linking from binary files is not yet implemented. In order to compile a whole | 66 Linking from binary files is not yet implemented. In order to compile a whole |
| 67 program, currently everything must be compiled from source at once. | 67 program, currently everything must be compiled from source at once. |
| OLD | NEW |