Özet - Derleyici iç yapıları
- Dart kursu
- Uzman
- Ders 12/47
- 5 dk
pipeline, AST ve Kernel'i birleştirerek bir derleyici özeti yazarsın.
Özet: Derleyici iç yapıları
Bu grupta Dart derleyicisinin iç yapılarını gördük: compilation pipeline kaynak kodu aşamalardan geçirir, AST kodun anlamsal ağacıdır, Kernel platformdan bağımsız ara biçimdir.
Code generation Kernel'ı hedef koda dönüştürür, dartaotruntime ise AOT derlenmiş programları çalıştırır. Bu özette tüm bu kavramları birleştiren bir sınıf yazacaksın.
Uygulama Özet: CompilationStep sınıfı
Bir CompilationStep sınıfı tanımla: final String input; final String output; CompilationStep(this.input, this.output); alan ve kurucu. String describe() => '$input → $output'; metodu. main içinde final s = CompilationStep('AST', 'Kernel'); yarat; print(s.describe()); ile yazdır.
Başlangıç kodu
void main() {
// CompilationStep sınıfını tanımla (input, output; describe)
// bir CompilationStep yarat; describe() yazdır
}Örnek çözüm
class CompilationStep {
final String input;
final String output;
CompilationStep(this.input, this.output);
String describe() => '$input → $output';
}
void main() {
final s = CompilationStep('AST', 'Kernel');
print(s.describe());
}Beklenen çıktı
AST → Kernel
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Compilation pipeline'ın temel aşamalarından biri nedir?
- AST'ye parse etme Doğru cevap
- Yalnızca UI render
- Yalnızca çöp toplama
- Yalnızca paket yükleme
Açıklama: AST'ye parse etme pipeline'ın temel aşamalarındandır.
2 Derleyici parçalarını eşleştir
| Kavram | Anlamı |
|---|---|
Pipeline |
Aşama akışı |
AST |
Anlamsal ağaç |
Kernel |
Ara biçim |
Backend |
Kod üretimi |
3 Backend adı
final backend = '____';
print(backend);
final backend = 'dart2js';
print(backend);
Açıklama: dart2js JavaScript üreten backend'tir.