24 Eylül 2006 Pazar

Mixed Code Generator Modeli Hakkında

Inline Code Expander Modeli’nin dez-âvantajlarını kapatmak için geliştirilen kod üretim modelidir. Bu modelde gömülü SQL uygulamaları açıklama satırları olarak girilir. Böylece programcının kodu direk derlemesi mümkün olmakdadır. Ayrıca oluşturulan kaynak kod, üreticinden geçen kodun kendisi olduğundan herhangi bir uyum sorunu da yaşanmamaktadır.

Örnek : Gömülü SQL (CSQL) Dili



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





Örnek : C Dili



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

11 //SQL END
12 return 0;
13}



Örnek Model Şeması :


Model Üretim Süreç Şeması :


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