Pertanyaan yang diberi tag «compilers»

Pertanyaan tentang program yang membaca kode dalam satu bahasa (bahasa sumber) dan menerjemahkannya ke dalam program yang setara dalam bahasa lain (bahasa target).

4
Mengapa rekursi buruk?
Dalam desain kompiler, mengapa rekursi kiri dihilangkan dalam tata bahasa? Saya membaca bahwa itu karena dapat menyebabkan rekursi yang tak terbatas, tetapi apakah itu tidak benar untuk tata bahasa rekursif yang tepat juga?



2
Mengapa penugasan statis-tunggal lebih disukai daripada gaya kelanjutan kelanjutan dalam banyak kompiler yang digunakan industri?
Menurut halaman Wikipedia tentang static-single assignment (SSA) , SSA digunakan oleh proyek-proyek besar dan terkenal seperti LLVM, GCC, MSVC, Mono, Dalvik, SpiderMonkey, dan V8 sedangkan halaman tentang proyek menggunakan gaya kelanjutan-lewat (CPS) agak kurang dibandingkan. Saya berpendapat bahwa CPS lebih disukai oleh kompiler dan interpreter yang menerapkan bahasa fungsional utama …

1
Mengapa memisahkan lexing dan parsing?
Dimungkinkan untuk menguraikan dokumen menggunakan pass tunggal dari mesin negara. Apa manfaatnya memiliki dua lintasan, yaitu. memiliki lexer untuk mengonversi teks menjadi token, dan memiliki pengurai untuk menguji aturan produksi pada token itu? Mengapa tidak memiliki satu pass yang menerapkan aturan produksi langsung ke teks?

1
Ketikkan inferensi dengan jenis produk
Saya sedang mengerjakan kompiler untuk bahasa concatenative dan ingin menambahkan dukungan jenis inferensi. Saya mengerti Hindley-Milner, tetapi saya telah mempelajari teori jenis ketika saya pergi, jadi saya tidak yakin bagaimana mengadaptasinya. Apakah sistem berikut ini masuk akal dan dapat disimpulkan? Istilah adalah literal, komposisi istilah, kutipan istilah, atau primitif. e::=x∣∣ee∣∣[e]∣∣…e::=x|ee|[e]|… …








3
Bagaimana tata bahasa LL (1) ini?
Ini pertanyaan dari Buku Naga. Ini adalah tata bahasanya: S→AaAb∣BbBaS→AaAb∣BbBaS \to AaAb \mid BbBa A→εA→εA \to \varepsilon B→εB→εB \to \varepsilon Pertanyaannya adalah bagaimana menunjukkan bahwa itu LL (1) tetapi tidak SLR (1). Untuk membuktikan bahwa itu adalah LL (1), saya mencoba membangun tabel parsingnya, tetapi saya mendapatkan beberapa produksi dalam …

1
Pendekatan "CPS" telah sangat merugikan kinerja di SML / NJ; alasan yang diinginkan
Dalam komentar untuk Belajar F #: Buku apa yang menggunakan bahasa pemrograman lain yang dapat diterjemahkan ke F # untuk mempelajari konsep fungsional? Makarius menyatakan: Perhatikan bahwa pendekatan "CPS" telah sangat merugikan kinerja di SML / NJ. Model evaluasi fisiknya melanggar terlalu banyak asumsi yang dibangun ke dalam perangkat keras. …

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.