Semantik kodlama - Semantics encoding

Bir semantik kodlama arasında bir çevirisidir resmi dilleri . Programcılar için, kodlama en tanıdık formu makine kodu veya bayt koduna bir programlama dili derlemesidir. Belge biçimleri arasında dönüştürme ayrıca kodlama şekilleridir. Derlenmesi Tex veya Latex doküman PostScript'e da yaygın kodlama işlemleri karşılaşılmaktadır. Gibi bazı üst düzey önişlemcilerinin OCaml 'ın Camlp4 da başka bir programlama dili kodlamasını içerir.

Bir varsa Biçimsel olarak, B diline bir dil A'nın bir kodlama B'ye A'nın tüm terimlerin bir eşleme olan tatmin edici bir B içine bir kodlama, B kabul edilir en az güçlü (ya da en azından ifade ) A gibi

Özellikleri

Böyle nedenle B. aynı elemana bir tüm unsurları haritalama olarak önemsiz kodlamalar izin ve çeviri üzerine bir gayri kavramı, dillerin ifadeliliğini belirlenmesine yardımcı olmak için yeterli değildir, bir "yeterince iyi" kodlama tanımını belirlenmesi gerekir . Bu kavram uygulamaya göre değişir.

Genel olarak, bir kodlama özellikleri bir dizi korumak için beklenir.

bileşimlerin Koruma

sağlamlık 
Her n-li operatör için A, bir n-li operatör vardır B şekildedir
tamlık 
Her n-li operatör için A, bir n-li operatör vardır B şekildedir

(Not: yazar, farkında tamlığının bu kriter asla kullanılmaz kadarıyla.)

bu bileşenler "kırma" ilginç bir özelliği olmayan ayrı ayrı ya da birlikte incelenebilir garanti olarak bileşimlerin korunması ölçüde yararlıdır. tamlık de-derleme olasılığını garanti ederken Özellikle, derlemeler halinde, bu sağlamlık, bileşenlerin ayrı derleme geçmeden olasılığını garanti eder.

indirimleri korunması

Bu tipik olarak dil A ve dil B hem de azalmanın bir kavramı varlığını kabul, bir programlama dili halinde indirgeme modelleyen bir programın çalışmasını ilişkisidir.

Biz yazma azalmanın tek adımda ve azaltma adımların herhangi bir sayı için.

sağlamlık 
Her terimler için eğer dil A'nın, ardından .
tamlık 
Her dönem için dil A ve her açıdan dil B'nin, eğer sonra bazı vardır böyle .

Bu koruma hem diller aynı şekilde davranır olduğunu garanti eder. Sağlamlık hiçbir davranış kodlama tarafından eklenen olduğu tamlık garanti ederken tüm olası davranışları korunmuş olduğunu garanti eder. Özel olarak, bir programlama dili, sağlamlık ve birlikte bütünlüğü derleme durumunda derlenmiş program programlama dilinin, üst düzey anlam buna göre hareket anlamına gelir.

fesih Koruma

Bu aynı zamanda dil A ve dil B. hem azalmanın bir kavramı varlığını varsayar

sağlamlık 
Herhangi bir dönem için , tüm indirimlerin eğer yakınsama, daha sonra tüm indirimlerin yakınsama.
tamlık 
Herhangi bir dönem için , tüm indirimlerin eğer yakınsama, daha sonra tüm indirimlerin yakınsama.

Bir programlama dilinin derleme durumunda, sağlamlık derleme böyle sonsuz döngüler veya sonsuz recursions olmayan sonlandırma tanıtmak olmadığını garanti eder. B dili çalışma ya da A dilinde yazılmış bir program test etmek kullanıldığında tamlık özelliği, muhtemelen kod önemli parçaları ekstraksiyonuyla faydalıdır: Bu çalışma, ya da test sonra da A'da sona program B sonlanan olduğu ortaya çıkarsa,

gözlemlerin Koruma

Bu programlama dillerinde hem dil A ve dil B'deki gözlem bir kavramı varlığını varsayar, tipik gözlenebilirler saf hesaplama muhalefet tarafından giriş ve çıkışların sonuçları vardır. Gibi bir açıklama dilinde HTML , tipik bir gözlemlenebilir sayfa oluşturma sonucudur.

sağlamlık 
Her gözlenebilir için A şartları hakkında, gözlenebilir bir vardır B herhangi bir dönem için bu tür terimlerin gözlemlenebilen , gözlemlenebilir sahiptir .
tamlık 
Her gözlenebilir için A şartları hakkında, gözlenebilir bir vardır B açısından herhangi bir süre için böyle ile gözlemlenebilen , gözlemlenebilir sahiptir .

simülasyonların Koruma

Bu hepsi aynı (gözlemlenebilir) görevleri ve muhtemelen bazı diğerleri gerçekleştirebilir eğer bir program başka simüle bir programlama dillerinde her iki dil A simülasyon ve dil B. kavramına varlığını varsayar. Simülasyonlar derleme optimizasyonları açıklamak için tipik olarak kullanılır.

sağlamlık 
Her dönem için , eğer simüle sonra simüle .
tamlık 
Her dönem için , eğer simüle sonra simüle .

Simülasyonların Koruma bunun gerektirdiği gözlemlerin korunması, çok daha güçlü bir özelliktir. Buna karşılık, bu muhafaza bir özelliği daha zayıftır e başvurulabilir . Tamlık test veya özellikleri için de çok kullanılır iken önceki durumlarda olduğu gibi, sağlamlık, derleme için önemlidir.

eşdeğerlik Koruma

Bu, her iki dil A ve dil Tipik olarak B ile denklik kavramına varlığını kabul bu yapısal veri eşitliği veya yapısal uyumlu ya da yapısal denklik gibi sözdizimsel farklı ama anlamsal olarak programları, bir kavram bir kavramı olabilir.

sağlamlık 
iki terim ise ve A olan karşılığı, o ve B'de eşdeğerdir
tamlık 
iki terim halinde ve B eşittir, o ve A. eşdeğerdir

dağılımın Koruma

Bu dil, A ve dil B. Tipik olarak yazılmış dağıtılan programların derlenmesi için hem bir dağıtım kavramına varlığını varsayar Akut , JoCaml veya E, bu birkaç bilgisayar veya CPU arasındaki süreç ve verilerin dağılımını ifade eder.

sağlamlık 
bir terim eğer iki maddenin bileşimi daha sonra , iki maddeden oluşan bir bileşim olmalıdır .
tamlık 
bir terim eğer iki maddenin bileşimi daha sonra , iki maddeden oluşan bir bileşim olması gerekir , öyle ki ve .

Ayrıca bakınız

Dış bağlantılar