Learning-Compiler
Design Compiler for New Language.
Sebuah software dengan skala yang besar dan kompleks akan mudah difahami dan diimplementasikan jika kita cermat dalam membangun fondasi untuk setiap 'Abstraction' dan 'Interface' didalamnya. Begitu juga dengan desain sebuah compiler kita perlu membaginya menjadi sebuah tahapan, setiap tahapan mempunyai module tersendiri.
Membagi-bagi tahapan menjadi beberapa bagian membuat kita bisa menggunakan setiap komponen dalam tahapanya untuk digunakan kembali. Sebagai contoh jika compiler yang kita buat ingin memproduksi bahasa mesin untuk target mesin yang berbeda-beda (arsitektur processor i386, AVR, ARM) kita tinggal mengubah Frame Layout.
Jika kita ingin mengubah bahasa pemograman yang kita buat maka kita tinggal mengubah module pada tahap Translate. Jika ingin mengubah paradigma pemograman yang akan kita buat cukup mengubah module Abstract Syntax Interface.
3 Tahap fundamental agar generalisasi desain kompiler baik itu secara fitur dan karakteristiknya bisa disesuaikan sesuai dengan kebutuhan, ditengah perkembangan teknologi processor yang sangat cepat.
2016 The Edensor.