Makale Özeti

Bu yazıda kod üretim modellerinden Code Munger ve Inline Code Expander Modellerine değinilmiştir.

Makale

Code Munger Modeli :

Kaynak kodlarına programcı tarafından yazılan açıklama alanlarının (Comment) içeriğine dayalı olarak dosya üretimine dayanan modeldir. Bu modelin kullanımına örnek olarak Sun System’s tarafından geliştirilen JavaDoc programı verilebilir. JavaDoc Java kodlarına yazılmış açıklama alanlarına göre yardım dosyası oluşturan bir HTML kod üreticisidir.

 

 

Inline Code Expander Modeli :

            Mevcut bir dilde yazılmış olan kaynak kodu hedef dile uygun hazırlanmış şablona göre işleyip sonuçlandıran kod üretim modelidir. Bu model daha çok C dili içinde gömülü SQL (ing embed SQL) uygulamalarına imkân vermek amacıyla kulanılmıştır.

 

Örnek :

 

Gömülü SQL (SQLC) Dili

int main(int argc, char *argv[])

{

            <SQL select * from users>

            return 0;

}

 

 

Şeklinde yazılmış bir gömülü SQL kodunu Inline Code Expander Modeli ile yazılmış bir kod üreticiden geçirildiğinde SQLC kodu aşağıda görüleceği gibi saf  C koduna çevrilmektedir.

 

 

C Dili

#include “db.h”

int main(int argc, char *argv[])

{

            DBHandle *db_handle = db_connect();

            DBQueryData *db_data = db_db_query(db_handle, “select * from users”);

            for(int record= 0; record< db_data->length;record++)

            {

                        //Programcı için açıklama alanı

            }

            return 0;

}

 

Örneğin şeması :

 

 

 

 

            Böylece bir programcıya veritabanı ile yapacağı işlemleri veya birkaç satırda yapabilme olanağı tanınmış olmaktatır. Bu modelin en büyük dez-âvantajı kaynak kodda SQLC kodları yer aldığından bu kodun derlenebilmesi için kod üreticiden geçmesi gereğidir. Ki kod üretiminden geçse de oluşturulan kod farklı bir dosya olduğundan gelişim sürecinde kaynakla çıktı arasında uyumun kaybolmasıdır.

 

Model Üretim Süreç Şeması :

 

Code Generation Network

International Symposium on Code Generation and Optimization (CGO)