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 |