Saya seorang mahasiswa ilmu komputer. Saya ingin membuat bahasa pemrograman saya sendiri (Bahasa dasar dengan beberapa instruksi).
Saya tahu bagaimana melakukan analisa sintaksis, saya sudah melakukannya di Perl. Dalam sebuah artikel, saya membaca sesuatu tentang kompiler, kompiler dilakukan dengan sendirinya.
Misalnya kompiler C ditulis dalam C. Bagaimana mungkin? Saya dapat membuat bahasa saya sendiri tetapi saya tidak tahu bagaimana saya bisa menjalankannya? Ada ide?
Ini benar-benar pertanyaan yang bagus dan saya bisa menulis proyek blog.
programming-languages
compilers
BaptistL
sumber
sumber
Jawaban:
Caranya adalah bootstrap . Anda pertama kali menulis kompiler untuk bahasa Anda (atau bagian dari itu) dalam beberapa bahasa lain. Kemudian Anda menulis kompiler untuk bahasa Anda (atau sebagian besar dari yang sudah bisa Anda tangani) dalam bahasa Anda. Anda menggunakan kompilator sebelumnya untuk mengkompilasi kompilator baru, dan kemudian kompilator baru dapat mengkompilasi sendiri.
sumber
Kompiler yang dapat mengkompilasi sumbernya sendiri disebut kompilator self-hosting . Kompiler awal ditulis dalam bahasa lain. Sebagai contoh, kompiler C pertama mungkin ditulis dalam assembler. Seluruh trik dalam menggunakan kompiler tingkat bawah yang sebelumnya disebut bootstrap.
sumber