Yüksek Bütünlüklü Derleme – Bir Vaka Çalışması (2) – 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

Operasyonel Somut Anlambilim
İşlemsel anlambilim, bir dili, programı çalıştıran “görünüşte soyut” bir makinenin işleyişi açısından tanımlar ve bu nedenle çoğunlukla imalar ile ilgilidir.Örneğin, bir if yapısının anlamını tanımlayabilir. Program parçasının serasyonel semantiğini öz yinelemeli olarak tanımladığı yerde sıçrama, önceki ifade yanlış olarak değerlendirilirse etiketi aktarır GOTO, koşulsuz bir sıçramadır.
Böyle bir tanım, örneğin, o belirli makine için bir derleyici yazarken yararlıdır.Ancak, açılı parantezlerdeki anlamın gerçekte ne anlama geldiğini tanımlamak için onların operasyonel kontrollerinin konuyla ilgilidir çünkü kendisinin bir hedef makinesi vardır.
Daha sonra tutarlılık sorunu ortaya çıkar, tüm çeşitli anlambilimlerin aynı yüksek seviyeli dili tanımladığından nasıl emin olabilirsiniz?
Sadece tanımı olan başka bir programlama dili ile tanımlanır. Ayrıca her biri için ayrı bir işlemsel anlambilim gereklidir.
Öyleyse, böyle bir tanım bir derleyiciyi tanımlamak için nihayetinde gerekli olsa da, uygun bir başlangıç noktası bir makinebir dilin sonu tanımlaması somuttur.
Denotasyonel Anlambilim
Göstergesel anlambilim, bir dili matematiğe eşleyerek tanımlar Böyle bir matematiksel tanım, sonsuza kadar tanımlanmalı ve daha sonra tanımlanmalıdır.Böylece dil, tanımladığı matematiksel bir model oluşturarak tanımlanır. “Anlam işlevleri” Her bir anlam işlevi, bir tür dil yapısını matematiksel bir değere eşler. Kullanılan matematiksel değerler, uyuşmazlar gibi basit tiplere ve ayrıca durum geçiş işlevleri gibi daha yapılandırılmış tiplere sahip olabilir. Dil yapısı bu matematiksel değeri belirtir – değer, yapının “anlamıdır”. Böyle bir imperatif dil için uygun matematiksel model, durumlar ve durum geçişlerinden biridir.Örneğin, bir if yapının gösterimi, bileşen yapılarının matematiksel anlamları açısından tanımlanır.
Burada ortam program tanımlayıcılarının soyut konumlara eşlenmesi ve durumdur soyut konumlardan matematiksel değerlere bir eşleme D bir ortamda ve durumda program dili komutlarını eşleyen bir işlevdir. Yeni bir durum Bu nedenle program sözdizimini matematiksel değerlerle eşleştirir Tam gösterim sonraki bölümlerde açıklanmıştır. Programların soyut anlamlarını modelleme yaklaşımı – herhangi bir makine uygulamasından bağımsız olarak, bir programın hangi donanım üzerinde çalışırsa çalışsın aynı mantıksal davranışa sahip olması gerekliliğini karşılar. Aynı zamanda, yüksek bütünlüklü bir derleyici belirtmek için başlangıç noktasına doğru soyutlama seviyesindedir. Daha sonraki bölümlerde, iki örnek dilin ifade semantiği, kaynak dil Tosca ve hedef dil Aida belirtilmiştir.
Standart Olmayan Anlambilim
Yukarıda tarif edilen göstergelere dayalı anlambilim, “standart” bir anlambilimdir ve genellikle bir programla ilişkilendirilen standart anlamı tanımlar.Programın çalıştırılması anlamına gelir.Aynı zamanda “dinamik” anlambilim “olarak da adlandırılır. Bir programın yürüttüğü dinamik durum değişiklikleri farklıdır.
Ancak, dilin anlamının diğer “standart olmayan” anlamlar olarak seçilmesi de aynı derecede iyi tanımlanabilecek dil tasarımcısına kalmıştır. Bu şekilde ifade edilen her farklı anlam, bir dil için farklı bir anlambilim sağlar – dinamik anlambilim, bir program yürütüldüğünde çıktı değerlerini belirleyen bir anlama sahip, yalnızca bir uygulanabilir anlambilimdir.
Standart anlambilim, hangi donanım üzerinde çalışırsa çalışsın aynı mantıksal davranış anlamı, her yapıyla ilişkilendirilecek bir değerden ziyade bir tip tanımlar. Bu “tip esemantiği” bir program tipinin kontrol edip etmediğini belirlemek için kullanılabilir.
Standart olmayan diğer anlamlar, bir programdaki diğer iyi biçimlilik koşullarını belirlemek için tanımlanabilir ve kullanılabilir – örneğin – her değişken bir ifadede kullanılmadan önce bir değere başlatılır. Bu tür anlambilimlere “statik anlambilim – çünkü program çalıştırılmadan – örneğin – derleme zamanında, yapılabilecek “statik kontroller” kontrolleri tanımladıkları içindir.
Bu, daha sonraki bölümlerde daha ayrıntılı olarak açıklanmaktadır Özellikle, Tosca için üç statik anlambilim, belirtilmiş bildirmeden öncesinden kullanmak tip e denetimi ve ilk kullanımdan önce kullanmak için belirtilmiştir ve üç statik dama vardır.
Görevin Boyutu
Kaynak ve hedef dilleri belirleme ve doğru bir derleyici türetmenin tamamen resmi yoluna gitmeye karar vermeden önce – görevin uygulanabilir olduğunu bilmemiz gerekir Bir programlama dilini matematiksel olarak belirtme görevi ne kadar büyüktür?
Temelde bir programlama dili olan MetaIV’nin işlevsel alt kümesinde VDM’de “daha doğru bir şekilde” ifade edilen semantiği ifade edilen Mo dula’yı düşünün. sayfalar Ancak, Mo dula’nın geriye dönük olarak belirtildiğini ve tanımının, çeşitli derleyicileri tarafından operasyonel olarak tanımlandığı şekliyle mevcut semantiğe yakın tutulması gerekiyordu. Zor veya farklı bir yaklaşımın daha basit, daha temiz, daha anlaşılır bir spesifikasyona yol açabileceği durumlarda bile dahil edilmek zorundaydı.
Yüksek bütünlüklü uygulamalar için – her türlü yanlış anlama ve hatanın en aza indirilmesi zorunludur Bu nedenle uygulama dilinin tutarlı ve anlaşılır bir anlambilim ile tasarlanması gerekir Bir dil özelliği ise tartışılabilir. Temiz bir şekilde ifade etmek ve anlamak zordur.
Bu nedenle yüksek bütünlük uygulamaları yazmak için kullanılan bir dile dahil edilmemelidir. Tersine şunu unutmayın: belirli bir özelliğin ifade edilmeye hazır olması, onu yüksek bütünlüklü bir dile dahil etmek için yeterli bir sebep değildir. Böyle bir dilin tasarımı sıfırdan başlayabilirse de muhtemelen daha pratiktir. Var olan bir dili alt küme haline getirmek bu ambiyans ve kafa karışıklığı alanlarını ayırmak onları “nihai tanımda” fosilleştirmemektir. Böyle bir dil “muhtemelen sözdizimi açısından Modula’ya benzer boyutta olmasına rağmen” anlamsal olarak çok daha küçük ve daha basittir.
Tosca’nın kendisi gerçek bir yüksek seviyeli dilden daha küçüktür ancak yine de, bir dinamik ve üç statik anlambilim de dahil olmak üzere oldukça önemli bir özelliğe sahiptir.
Hedef dil çok küçük olabilir. Pek çok mikro işlemcinin ayrıntılı komut setlerine sahip olmasına rağmen instructions bu komutların her birinin anlamını belirtmek gerekli değildir. Yüksek seviyeli dili uygulamak için gereken komutların yalnızca alt kümesinin belirtilmesi gerekir. Statik semantiğin tanımlanmasına da gerek yoktur, tüm statik kontroller yüksek seviyeli dilde yapılabilir done ve doğru bir çeviri girişi yeni hatalara neden olmaz. Bu nedenle yalnızca dinamik anlam dikkate alınmalıdır. Katyon daha karmaşık olma eğilimindedir, komut seti atlama komutlarını içerir ve atlamaların anlambilimini belirtmek zordur. Aida tipik bir budanmış komut seti dilidir.
Denotasyonel Anlambilim Görevin Boyutu Kaynak ve hedef dilleri Operasyonel Somut Anlambilim Standart Olmayan Anlambilim Yüksek Bütünlüklü Derleme – Bir Vaka Çalışması (2) - 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