2016-04-26 08:29:55 +00:00
|
|
|
Dart Kernel
|
2016-04-26 08:39:15 +00:00
|
|
|
===========
|
2018-10-09 11:09:27 +00:00
|
|
|
**Dart Kernel** is a small high-level language derived from Dart. It is
|
|
|
|
designed for use as an intermediate format for whole-program analysis and
|
|
|
|
transformations, and to be consumed by codegen and execution backends.
|
2016-04-26 08:39:15 +00:00
|
|
|
|
2018-10-09 11:09:27 +00:00
|
|
|
The kernel language has an in-memory representation in Dart and can be
|
|
|
|
serialized as binary or text.
|
2016-04-26 08:39:15 +00:00
|
|
|
|
2018-10-09 11:09:27 +00:00
|
|
|
Both the kernel language and its implementations are unstable and are under
|
|
|
|
development.
|
2016-04-26 08:39:15 +00:00
|
|
|
|
|
|
|
This package contains the Dart part of the implementation and contains:
|
|
|
|
- A transformable IR for the kernel language
|
|
|
|
- Serialization of kernel code
|
|
|
|
|
2017-05-03 21:34:53 +00:00
|
|
|
_Note:_ The APIs in this package are in an early state; developers should be
|
2018-05-14 18:07:02 +00:00
|
|
|
careful about depending on this package. In particular, there is no semver
|
|
|
|
contract for release versions of this package. Please depend directly
|
|
|
|
on individual versions.
|
2017-05-03 21:34:53 +00:00
|
|
|
|
2016-04-26 08:39:15 +00:00
|
|
|
See [ast.dart](lib/ast.dart) for the in-memory IR, or [binary.md](binary.md) for
|
|
|
|
a description of the binary format. For now, the textual format is very ad-hoc
|
|
|
|
and cannot be parsed back in.
|