Program dönüşümü - Program transformation

Bir program, bir dönüşüm , bir alan bir işlemdir , bilgisayar programı ve bir programı oluşturur. Çoğu durumda, dönüştürülmüş programın özgün ile semantik olarak eşdeğer olması, belirli bir biçimsel semantiğe göre olması gerekir ve daha az durumda dönüşümler, orijinalden öngörülebilir şekillerde anlamsal olarak farklılık gösteren programlarla sonuçlanır.

Dönüşümler manuel olarak gerçekleştirilebilirken , gerekli dönüşümlerin spesifikasyonlarını uygulayan bir program dönüşüm sistemi kullanmak genellikle daha pratiktir . Program dönüşümleri , program metnini temsil eden derleyici veri yapılarını (örneğin soyut sözdizimi ağaçları ) değiştiren otomatik prosedürler olarak belirtilebilir veya parametreli kaynak kodu parçalarını temsil eden modeller veya şablonlar kullanılarak daha uygun şekilde belirtilebilir.

Kaynak kodu dönüştürme sistemleri için pratik bir gereklilik , bir programlama dilinde yazılmış programları etkin bir şekilde işleyebilmeleridir . Bu genellikle, kaynak kodu ayrıştırma , kod yapılarının dahili program temsilleri oluşturma, program sembollerinin anlamı, yararlı statik analizler ve dönüştürülmüş program temsillerinden geçerli kaynak kodunun yeniden oluşturulması dahil olmak üzere ilgili programlama dili için tam bir ön uç entegrasyonunu gerektirir. . Geleneksel diller ( Java , C ++ , PHP vb.) İçin yeterli ön uçlar oluşturma ve entegre etme sorunu , bu tür dillerin karmaşıklığından dolayı program dönüştürme sisteminin kendisinin oluşturulmasıyla aynı zorlukta olabilir. Geniş çapta yararlı olması için, bir dönüşüm sistemi birçok hedef programlama dilini idare edebilmeli ve bu tür ön uçları belirlemek için bazı araçlar sağlamalıdır.

Anlamsal eşdeğerliğin genelleştirilmesi, program iyileştirme kavramıdır : bir program, orijinal programın sona erdiği tüm başlangıç ​​durumlarında sona ererse bir diğerinin iyileştirilmesidir ve bu tür her durum için olası bir son durumda sona erdirilmesi garanti edilir. orijinal program. Başka bir deyişle, bir programın iyileştirilmesi , orijinal programdan daha tanımlı ve daha belirleyicidir . İki program birbirinin iyileştirilmişse, o zaman programlar eşdeğerdir.

Ayrıca bakınız

Referanslar

Dış bağlantılar