11 Eylül 2006 Pazartesi

Inline Code Expander Modeli Hakkında

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)


1int main(int argc, char *argv[])
2{
3 <SQL select * from users>
4 return 0;
5}

6

Ş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.

Çıktı: C Dili


1#include “db.h”
2int main(int argc, char *argv[])
3{
4 DBHandle *db_handle = db_connect();
5 DBQueryData *db_data = db_db_query(db_handle, “select * from users”);
6 for(int record= 0; record< db_data->length;record++)
7 {
8 //Programcı için açıklama alanı
9 }

10 return 0;
11}


Ö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ı :