Yüksek Bütünlüklü Derleme – Bir Vaka Çalışması (3) – Derleme Örneği – Adım Adım Derleme Tezi – Bilimsel Derleme Nasıl Yapılır? – Bilimsel Derleme Yaptırma – Bilimsel Derleme Yaptırma Ücretleri

Anlambilimden Derleyiciye
Derleyicinin işi, her yüksek seviyeli yapıyı çevirmektir. Programın açı olarak parçalandığı yer derleyiciyi, her kaynak dil yapısı için bir hedef dil şablonu biçiminde bir kaynak işlemsel anlambilimden açık bir soru ortaya çıkar. Bunların doğru hedef dil şablonları olduğuna dair herhangi bir güven nasıl olabilir? Örneğin, ‘yukarıdaki if ifadesi ile onun derlenmiş çevirisinin aynı anlama sahip olduğuna nasıl güvenilebilir’?
Bu soruyu cevaplamak mümkün. Parantezlerle karşılaştırılacak anlamsal anlamlar göz önünde bulundurulduğunda, hedef dile benzer şekilde ‘özyinelemeli olarak’ çevrilir, aynı olarak gösterilen karşılık gelen yüksek anlamının tanımlanmasından oluşur bkz. Bölüm şablonlar her şablonun anlamını hesaplamaya ve kaynak dil yapısının anlamı ile aynı olduğunu göstermeye indirgenmiştir. Bu yaklaşımın, süreç profesyoneli için bir yapılandırma mekanizması sağladığına dikkat edin. Argümanlar, kaynak dil üzerinden yapısal tümevarım kullanılarak, yapı temel alınarak geliştirilir. Dil, tüm yapılar onları destekleyen uygun bir argümana sahip oluncaya kadar bu daha sonra argümanı hedef dili destekleyerek tamamlar, dilinde şablonun anlamını hesaplamak mümkündür.
Bu, parçayı seviyelendirebilir ve bir bütün olarak derleyici spesifikasyonu olabilir. Daha küçük bağımsız alt ispat sayısından bölme ve fethetme stratejisi söz konusu olur. Bu yapı, toplam kanıt oluşturur.
Böylece tam profesyonel, tek bir monolitik yaklaşıma göre çok daha izlenebilir ve daha anlaşılır. Yapı ne zaman bozulmazsa
büyük bir kanıttır.
Yürütülebilir Belirtim Dili – Prolog
Derleyici şablonlarının doğruluğu hakkında akıl yürütmek için uygun olan geleneksel matematiksel gösterim dahil olmak üzere, ifade semantiğini yazmak için çeşitli gösterimler mevcuttur.
Belirtisel anlambilimsel ifade çalıştırılabilir bir dile çevrilirse, o zaman çalıştırıldığında belirtilen dil için bir yorumlayıcı sağlanır. Bu yorumlayıcı, istenirse, matematiksel ifade tanımı olarak kullanılabilir. Uygun ve gayriresmi bir dil olup olmadığını kontrol etmek için bir doğrulama gerekir. Bir gösterime bağlı olarak derleyicinin kendi içinde potansiyel olarak şeffaf bir şekilde doğru olduğunu ortaya çıkarmak için bunu bir dile çevirmek, açık değildir, bazı soyut gösterimlerde de anlambilim kullanılabilir.
Bununla birlikte, böyle bir dilin tarzı tercümandan çok uzak olduğu için, sonuçta ortaya çıkan uygulamanın stili çok karmaşıktır. Böylesine karmaşık bir haritalama süreci, belirli bir yorumlayıcıyı üretmez. Dahası ilgili için gerekli olan anlambilimdir. Daha iyi bir yaklaşım, tanımsal semantiği çok daha yüksek bir tanımsal duruma (belirtimden eşlemeden) çevirmektir.
Hata eğilimli ve onun ve operasyonel seviye programlama dili, stil veya spesifikasyonla yakından eşleşen bir dil olabilir. Bu, tercümanın şeffaf bir şekilde doğru bir şekilde uygulanmasını sağlamak için anlambilimin açık ve soyut bir şekilde yazılmasını sağlayarak çeviri adımının karmaşıklığını büyük ölçüde azaltır.İşlevsel bir dil veya mantık dili doğal bir seçim gibi görünür.
Önsöz kullanılır bir cümle vardır. Ayrıca doğru olduğu görülmelidir. Prolog, iyi desteklenen ve geniş bir kullanıcı topluluğuna sahip olgun bir dildir. Kanıtlanmamış bir Prolog sisteminin kullanımı, bununla birlikte, kanıtlanmamış bir işletim sistemi ve kanıtlanmamış donanım kullanımı gibi, geliştirme sürecinde zayıf bir bağlantıdır. Çeşitli hata kaynakları, sonraki bölümlerde daha ayrıntılı olarak tartışılmıştır. Burada anlatılan, süreçteki şu anda en zayıf halkalardan birinin nasıl güçlendirileceğidir.
Prolog’un iki semantiği vardır, cümle ve hedeflerin yazıldığı sıradan bağımsız olan ve bir programın anlamını ortaya çıkarmak için kullanılan basit bir bildirimsel anlambilim ve bunları tanımlayan daha karmaşık bir işlemsel semantiği vardır. Bir yürütme sırası ve bir program çalıştırıldığında ne olacağını söyler.
Bu iki anlambilimin bir programa aynı anlamı vermesi anlaşılabilirlik için önemlidir. Sözde “yeşil” kesikler bu özelliği korur. Öte yandan kesmeler “iki anlamın farklı olmasına neden olur. Operasyonel olan ‘muhtemelen’ istenen anlamdır ‘, ancak daha basit bildirimsel okuma artık bu anlamın ne olduğunu belirlemek için kullanılamaz.Programı anlamak için gerekli hale gelir’ örneğin hedeflerin hangi sırada olduğunu bilmek değerlendirilir.
Yüksek bütünlüğe sahip bir derleyicinin Prolog formunun, çalıştırılabilir derleyiciyi sağlayan işlemsel okuma ile aynı bildirimsel okumaya sahip olması önemlidir. Bu nedenle Prolog disiplinli bir şekilde yazılmalıdır. kırmızı kesiklerden ve diğer numaralardan kaçınmak gerekirse uygulama hızından ödün vermek de gerekir.
Daha Fazla Okuma
- Derleyicinin doğruluğu konusundaki ilk çalışmalar, ”McCarthy ve Painter Milner ve Weyhrauch Morris Cohn Polak” içerir. Dilin anlambiliminin bir tanımından otomatik olarak bir derleyici üretmeye yönelik çalışma, ”Mosses Paulson Paulson Wand” içerir. “Lee ve Tofte Esprit” destekli ProCoS Provably Correct Systems projesi, Hoare ’de açıklanan doğru derleme için cebirsel bir yaklaşımı incelemiştir.
- Programlama dillerinin aksiyomatik stiline dair birçok ufuk açıcı kağıt, “Hoare ve Jones” da bulunabilir. Tanımsal “işlemsel ve aksiyomatik anlambilim” bağlantısını tanımlar.
- Anlamsal semantiğe giriş için örneğin ”Gordon Allison ve Schmidt” ’e bakabilirsiniz. Çeşitli statik anlamsal analizler ”Cousot and Cousot Bramson ’da” açıklanmıştır ve “Bergeretti ve Carre Allison” , anlamsal semantiğin çevrilmesine örnekler verir. “ Bir yorumlayıcı sağlamak için Pascal’a yapılan çağrılar ” Stepney ve Lord” , onu doğrulamak için bir ifadeyi yürütmenin bir örneğini tanımlar.
- “Mo dula’nın” biçimsel ifadesi, “Andrews ve diğerleri” de bulunabilir. “Karar”, yüksek bütünlüklü dillerdeki özellikleri dahil etme kriterlerini tartışır.
- Doğal dilin, basit bir problemi bile kesin ve açık bir şekilde belirtmek için tamamen uygun olmadığına hala ikna olmayanlar, okumalıdır. Bu, İngilizce’yi speküle etmek için tekrarlanan başarısız girişimlerin eğlenceli bir anlatımıdır. görünüşte önemsiz bir sorunu ve biçimciliğin nasıl yardımcı olabileceğini belirtir.
Daha Fazla Okuma Derleyici şablonlarının doğruluğu Derleyicinin işi İngilizce'yi speküle etmek Programlama dillerinin aksiyomatik Yüksek Bütünlüklü Derleme – Bir vaka çalışması (3) - Derleme Örneği – Adım Adım Derleme Tezi – Bilimsel Derleme Nasıl Yapılır? - Bilimsel Derleme Yaptırma – Bilimsel Derleme Yaptırma Ücretleri
Son yorumlar