«compiler-construction» etiketlenmiş sorular

Derleyici yapısı etiketi derleyicilerin programlanmasıyla veya derleyicilerin ayrıntılı iç işleyişi ile ilgili sorulara uygulanmalıdır. * Belirli derleyicileri * veya derleme hataları kullanma * ile ilgili sorular için KULLANMAYIN.

6
Başka bir programlama diline çevirmeyi kolaylaştırmak için koda ne tür kalıplar uygulayabilirim? [kapalı]
Kapalı . Bu soruya daha çok odaklanılması gerekiyor . Şu anda cevapları kabul etmiyor. Bu soruyu geliştirmek mi istiyorsunuz? Soruyu, yalnızca bu gönderiyi düzenleyerek tek bir soruna odaklanacak şekilde güncelleyin . 5 yıl önce kapalı . Bu soruyu geliştirin Kodu bir programlama dilinden diğerine çevirmeyi amaçlayan bir yan proje yapmak …

11
Java sınıfı dosyalarının oluşturulması belirleyici midir?
Kullanırken aynı JDK (yani aynı javacçalıştırılabilir), oluşturulan sınıf dosyaları her zaman aynıdır? İşletim sistemine veya donanıma bağlı olarak bir fark olabilir mi? JDK sürümü dışında, farklılıklara neden olan başka faktörler olabilir mi? Farklılıkları önlemek için herhangi bir derleyici seçeneği var mı? Muhtemelen teoride bir fark mı var yoksa Oracle'lar javacaynı …

5
tür çıkarımı uygulama
Burada statik ve dinamik yazım hakkında bazı ilginç tartışmalar görüyorum. Genelde, derleme türü denetimi, daha iyi belgelenmiş kod vb. Nedeniyle statik yazmayı tercih ederim. Ancak, örneğin Java'nın yaptığı gibi yapılırsa kodu karıştıracaklarını kabul ediyorum. Bu yüzden, kendime ait işlevsel bir stil dili oluşturmaya başlamak üzereyim ve yazı çıkarımı uygulamak istediğim …


8
Bir JVM programlama dili oluşturmaya nasıl yaklaşılır?
Döngüleri, işlevler içindeki işlev bildirimlerini, özyinelemeli çağrıları vb. Destekleyen dinamik tipte bir programlama dili için C'de (Lex & Bison kullanarak) bir derleyici oluşturdum. Ayrıca derleyici tarafından oluşturulan ara kodu çalıştıran bir sanal makine de yarattım. Kendi ara kodum yerine Java bayt koduna derlemeyi düşünüyordum. Bir JVM dili oluşturmayla ilgili sorunun …

4
Derleme ve Aktarma
Farkı ararken şu tanımlarla karşılaştım: Derleme , bir dilde yazılmış kaynak kodunu alıp diğerine dönüştürmek için kullanılan genel terimdir. Transpiling , bir dilde yazılmış kaynak kodunu alıp benzer bir soyutlama seviyesine sahip başka bir dile dönüştürmek için kullanılan belirli bir terimdir. Soyutlamanın ne olduğunu anlıyorum. Fakat yukarıdaki tanımda "benzer soyutlama …

6
GCC ve Clang ayrıştırıcıları gerçekten el yazısı mı?
GCC ve LLVM-Clang kullandığınız görülüyor el yazısı özyinelemeli kökenli ayrıştırıcıları ve değil üretilen Bison-Flex tabanlı, aşağıdan yukarıya ayrıştırma makinesi. Buradaki biri lütfen durumun bu olduğunu onaylayabilir mi? Ve eğer öyleyse, ana akım derleyici çerçeveleri neden el yazısı ayrıştırıcıları kullanıyor? Güncelleme : bu konuyla ilgili ilginç blog burada

7
İşlevsel bir dilde bir derleyici yazmak neden daha kolay? [kapalı]
Kapalı . Bu soru fikir temelli . Şu anda cevapları kabul etmiyor. Bu soruyu geliştirmek mi istiyorsunuz? Bu gönderiyi düzenleyerek gerçeklerle ve alıntılarla yanıtlanabilmesi için soruyu güncelleyin . 2 yıl önce kapalı . Bu soruyu geliştirin Bu soruyu çok uzun süredir düşünüyordum, ancak yanıtı Google'da ve Stackoverflow'da benzer bir soru …

6
Derleyiciler, diğer döngü türlerine göre do-while döngüleri için daha iyi kod üretir mi?
Zlib sıkıştırma kitaplığında (diğerlerinin yanı sıra Chromium projesinde kullanılan) bir yorum vardır; bu, C'deki bir do-while döngüsünün çoğu derleyicide "daha iyi" kod oluşturduğunu ima eder. İşte göründüğü kod pasajı. do { } while (*(ushf*)(scan+=2) == *(ushf*)(match+=2) && *(ushf*)(scan+=2) == *(ushf*)(match+=2) && *(ushf*)(scan+=2) == *(ushf*)(match+=2) && *(ushf*)(scan+=2) == *(ushf*)(match+=2) && scan …

7
Linux çekirdeği kendini nasıl derleyebilir?
Makineme bir Linux sistemi kurduğumda Linux çekirdeğinin derleme sürecini tam olarak anlamıyorum. İşte kafamı karıştıran bazı şeyler: Çekirdek C ile yazılmıştır, ancak bir derleyici kurulmadan çekirdek nasıl derlendi? Çekirdek derlenmeden önce makineme C derleyicisi kuruluysa, derleyici kurulmadan derleyicinin kendisi nasıl derlenebilir? Birkaç gün kafam çok karıştı, cevabın için teşekkürler.




8
GDB neden satırlar arasında tahmin edilemeyecek şekilde atlar ve değişkenleri "<optimize edilmiş değer>" olarak yazdırır?
Herhangi biri gdb'nin bu davranışını açıklayabilir mi? 900 memset(&amp;new_ckpt_info,'\0',sizeof(CKPT_INFO)); (gdb) **903 prev_offset = cp_node-&gt;offset;** (gdb) **905 m_CPND_CKPTINFO_READ(ckpt_info,(char *)cb-&gt;shm_addr.ckpt_addr+sizeof(CKPT_** HDR),i_offset); (gdb) **903 prev_offset = cp_node-&gt;offset;** (gdb) **905 m_CPND_CKPTINFO_READ(ckpt_info,(char *)cb-&gt;shm_addr.ckpt_addr+sizeof(CKPT_ HDR),i_offset);** (gdb) **908 bitmap_offset = client_hdl/32;** (gdb) **910 bitmap_value = cpnd_client_bitmap_set(client_hdl%32);** (gdb) **908 bitmap_offset = client_hdl/32;** (gdb) **910 bitmap_value = cpnd_client_bitmap_set(client_hdl%32);** (gdb) …

2
Toplam türleri - Haskell'de neden `` show (Int | Double) '' (show Int) | (Çift göster) `
Bunlar neden eşdeğer değil? show $ if someCondition then someInt else some double ve if someCondition then show someInt else show someDouble if ... elseİlk örnekteki parçayı kendi başına bir ifadeye ayırırsanız , türünü anonim bir toplam türüyle, türünü, Int | DoubleTypeScript'te kolayca yapabileceğiniz bir şey gibi temsil edemeyeceğinizi anlıyorum …
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.