Compiler yazmak istiyorum! Nereden başlamalıyım?

Başlatan Elektroemre, 05 Nisan 2012, 00:05:19

frederic


OG

Alıntı yapılan: Klein - 11 Kasım 2012, 23:53:09
İtiraf edeyim! Başlığı ilk gördüğümde, bir süre hobi olarak uğraşıp; sonra bırakacağını düşünmüştüm. Azmin elinden bir şey kurtulmazmış. Tebrik ederim.
Aynen.

Bundan sonrası için de yeniden taze bir gayret.
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

kralsam

Tebrikler hocam. :) Gerçekten güzel bir çalışmaya başlamış ve devam ettirmişsin. Başarılarının devamını dilerim.

rree

Vakit olsa bende yazmak isterdim.Başarılar dilerim.

Murat Mert

Hocam ardunio tarzı bir yazılım mı olacak?
mert07

Elektroemre

İyi dilekleriniz için teşekkür ederim arkadaşlar.

@mert07 hocam, şuan herhangi bir compiler (ccs xc8 vs) gibi, pek bir farkı yok, kendine özgü syntax'i olan bir dil.
Elimdeki somut yapıları gösterip desteğini almayı umduğum bir kaç arkadaşım var, o aşamadan sonra nasıl bir şey çıkar ortaya emin değilim.
Güzel bir şey olur inşallah  :)

Murat Mert

Alıntı yapılan: Elektroemre - 12 Kasım 2012, 12:54:55
İyi dilekleriniz için teşekkür ederim arkadaşlar.

@mert07 hocam, şuan herhangi bir compiler (ccs xc8 vs) gibi, pek bir farkı yok, kendine özgü syntax'i olan bir dil.
Elimdeki somut yapıları gösterip desteğini almayı umduğum bir kaç arkadaşım var, o aşamadan sonra nasıl bir şey çıkar ortaya emin değilim.
Güzel bir şey olur inşallah  :)

İnşaallah kardeşim hadi bakalım Allah kolaylık versin. Türk işi bir ıde miz olsun. :)
mert07


universitelim54

kardesımızı helal olsun buraya kadar gelmek her babayıgıdın harcı degıl

F493

Selam,
    Yıllar önce c ve sistem Programcıları Derneğinde böyle bir çalışma Kaan Aslan tarafından başlatılmıştı. Bir ekip kurulmuştu.  Bence kaan aslan ile görüşmeniz size katkı ve rota anlamında fayda sağlar.  Kendisi Turkiyede suan sayılı kişilerden birisidir ve eğitmen olmasıda iletişimi kolaylaştırır.  Ortaya çok  daha pro birşey çıkması  adına bu kanalı deneyin derim.

Esen kalın.

ByTEK



serdararikan

güzel olmuş elinize sağlık.bence bu şekilde havada kalmamalı.bunu mikrodenetleyici ile birleştirip endüstriyel ortamda kullanılabilecek bir cihaz haline getirebilirisiniz.şöyle düşünün türkçe komutlarla programlanbilen bir kontrol kartı.

Elektroemre

#43
4 yıla yakın olmuş  :)

O dönemde tam anlamı ile işe bodoslama dalıp sıfırdan bir şeyler yazmaya çalışmıştım. Bir çok şey öğrenip çokta keyif almıştım.

Şuanki bakış açımla bir kaç söylecek olursak;
Bu işe ciddi anlamda girişilecek ise önce mevcut metodolojiler incelenmeli.
Sonuçta programlama dillerinin icadından beri temel kurallar oturmuş, standart toollar oluşmuş.
"Compiler compiler" denilen toollar  (derleyici yazmanızı kolaylaştıran derleyiciler) sizi bir çok yükten kurtarıyor. Yacc, bison vb. popüler olanları.

Ben kişisel olarak Coco/R sevdim. http://www.ssw.uni-linz.ac.at/Coco/
Bu tool'a oluşturmak istediğiniz dilin kurallarını içeren bir dosya veriyorsunuz (tabi ekstra detayları var) ve sizin için Lexer ve Parser kısmını otomatik oluşturuyor. Örnekleri arasında "taste" isminde uydurulmuş basit bir dil örneği var. Örnekte kaynak kodları AST (abstract syntax tree) ye dönüştürülüyor.

Bu aşamadan sonra optimizasyon sıkıntı değilse, birden fazla hedef mimariniz yok ise, tek model bir MCU için, basit komutları olan bir dili ayrıştırıp AST'den direkt hedef mimari asm kodlarını üreten basit bir derleyici yazmak en fazla 1 haftanızı alır. Fakat profesyonel bir şey isterseniz iş karmaşıklaşıyor, katman sayısı artmak zorunda ve bu iş aylar sürebilir. Optimizasyon, birden fazla hedef mimari desteklenmesi ve kullanıcının işini kolaylaştıracak dahili kütüphaneler hazırlama, binlerce bug ile baş etme vb ise işi ayrı bir boyuta taşıyor. Pazarlama ve müşteri desteği ise daha da başka bir boyutu.

universitelim54

Emre bey konuyu yakından takip ediyorum.
Lakin sizin kadar profesyonel değilim kullandıgınız bazı kelimeleri anlayamadım mesela Lexer ve Parser gibi.
Ben atmelin bir işlemcisini 89c51 için hex üretmek istoyurm bunu bu dediğinizle yapma şansımız varmı yoksa... C dilini asm yemi çeviriyor sadece