NWCC adalah compiler C kecil untuk sistem Unix yang saya tulis di freetime saya, untuk bersenang-senang dan untuk membuktikan kepada diri sendiri bahwa saya bisa. Saya memulai proyek pada bulan Agustus 2003, tapi karena saya punya pekerjaan dan kehidupan dan beberapa proyek kode hobi lain, aku butuh waktu sampai musim gugur tahun 2005 untuk membuatnya bekerja dengan berbagai konstruksi dari bahasa C.
Jadi apa yang baru tidak NWCC membawa ke meja? Yang paling penting, kode baru: Saya menulis semuanya dari awal - termasuk lexer, parser dan backend.
Kode NWCC ditulis dalam C.
Rilis ini tidak dimaksudkan untuk digunakan serius, tapi setidaknya NWCC cukup kuat untuk mengkompilasi sendiri (hasil yang dapat mengkompilasi NWCC juga) dan dengan demikian harus mampu menangani setidaknya beberapa program kecil. Masih ada beberapa hal yang hilang / rusak, tetapi hal-hal yang meningkatkan hampir setiap hari (saya upload perubahan saya ke SF setiap kali saya menambahkan / memperbaiki sesuatu yang menarik.)
Dibutuhkan banyak pekerjaan untuk mendapatkan bahkan subset dari bahasa C untuk mengkompilasi, sehingga fakta bahwa ada sesuatu yang hilang atau melakukan kesalahan dalam NWCC tidak berarti bahwa saya tidak peduli bahwa area tertentu dari bahasa C atau desain compiler ; Ini hanya berarti bahwa saya tidak sempat untuk melakukannya dengan benar, atau memang sama sekali, namun
Fitur :.
- Ada beberapa fitur bahasa C yang hilang; Terutama dukungan untuk floating point, bitfields dan beberapa hal lainnya. Banyak hal-hal lain yang rusak (mungkin ada bug di hampir semua fitur bahasa diimplementasikan oleh NWCC)
- Belum ada fitur pengembang listrik digunakan untuk compiler utama didirikan akan mempertimbangkan menarik, namun (selain, mungkin, fitur perlindungan stack.) Maaf. Tidak ada yang luar biasa kompilasi bodoh; Tidak ada dukungan untuk menciptakan shared library, tidak ada dukungan untuk debugging atau profiling, tidak apa-apa
- Saat ini hanya backend untuk prosesor 80x86 (yang menghasilkan kode untuk NASM Netwide Assembler dan bekerja pada Linux, FreeBSD dan OpenBSD)
- Sama sekali tidak ada optimasi, yang berarti kode yang dihasilkan sangat lambat dibandingkan dengan output dari compiler didirikan. Aku akan bekerja pada ini segera, tetapi Anda harus memahami bahwa kekhawatiran utama saya saat ini adalah kode kebenaran dan portabilitas daripada kecepatan (itu cukup sulit untuk membuat pekerjaan kode lambat!)
Apa yang baru dalam rilis ini:
- Rilis ini memperbaiki beberapa (benar-benar tidak terlalu banyak!) umum dan PIC-spesifik bug yang ditemui saat kompilasi Tcl dan mksh.
Apa yang baru di versi 0.7.8:
- Versi ini menambahkan dukungan untuk Mac OS X pada x86 dan AMD64, dan NetBSD pada sistem x86. Berbagai bug platform-independen juga telah diperbaiki.
Apa yang baru di versi 0.7.7:
- Versi ini menambahkan dukungan untuk Linux / PPC64 dan perbaikan banyak bug-PPC tertentu.
Komentar tidak ditemukan