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

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

Elektroemre

Selamlar arkadaşlar,

emre adında dil uydurup MCU için compiler yazmak istesem nereden başlamalıyım?
Daha sonrada ücretsiz bir ide yi kullanıp paket çözüm yapmak istiyorum.

t2

Daha önce compiler yazan arkadaşlar seve seve yardımcı olacaktir

berat23

aslında fuzuli ama eğlenceli bir iş.kendi asm dilini kullandığından eşref adalıdan başlayabilirsiniz.

Elektroemre

Teşekkürler,
Not aldım ancak, bahsettiğim MCU'nun asm sini yalayıp yuttuğumu farzediyorum.
Ayrıca fuzuli iş değil, yazıp satacağım.

yamak

Tanıdığım birisi böyle bişey yapmıştı. Ama çok gelişmiş değildi. Sadece MCU nun assembly kodlarını türkçeye çevirmek gibi bişey yapmıştı. Eğer gelişmiş bişey yapmak istiyosanız programlayacağınız işlemcinin bellek yapsını iyi öğrenip ona göre bellek organizasyonu yapmanız gerekiyo.Ben de FPGA da kendi tasarladığım işlemci için kendi dilimi oluşturmak istiyorum en büyük sorunlardan biri bu.Mesela bi değişken tanımladın bu değişken belleğin hangi adresinde tutulacak. Ya da hangi durumlarda stack kullanılacak bu tip.Biz C ile kod yazarken bu tip şeyleri düşünmüyoruz.Bunları derleyici bizim için yapıyo. Bu sorunları hallettiğiniz zaman geri kalanı daha basit gibi duruyo.Tabi eğer optimizasyon yaptırmayacaksanız.Eğer gelişmiş bir derleyicideki gibi optimizasyonları yaptırmaya kalkarsanız bunlar başlı başına büyük sorun.Ev arkadaşım bilgisayar mühendisliğinde okuyo bitirme ödevi için java dilini kullanarak c derleyicisi yapıyo. Ama java için hazırlanmış fonksiyonlar var onlar sayesinde syntax kontrolü ile hiç uğraşmıyo sadece optimizasyon algoritmaları kendi yazacak.Eğer kendi diliniz için değil de c dili için derleyici yazacaksanız böyle fonksiyonları kullanabilirsiniz.

yamak

Bi de merak ettim böyle birşeyi ne amaçla satın alacaklar.Yani C dili gayet yeterli. Birisinin ödevi falan mı? :)

Elektroemre

C derleyicisi zilyon tane var, zilyon tanede farklı yüksek seviyeli diller ve derleyicileri.
İnsanlar (özelliklede işin low-level'ına bulaşmadan iş yapmak isteyenler),
neden c ve asm dışında yüksek seviyeli bir dil i kullanıp derleyicisinin satın alıyorlarsa benimkinide onun için alacaklar :)

sakkan

bence önce kendi dilinizin kurallarını sağlam bir şekilde ortaya koymanız lazım. dediğiniz gibi bir de mcu nun asm sini yalayıp yutmak lazım. sonrası programlama yeteneğinize kalıyor. dilinizde ne kadar çok durumu, olasılığı değerlendirip asm ye ordan da makine diline çevirirseniz o kadar kapsamlı bir derleyici olur diye düşünüyorum.

controller

Hesabım OG tarafından haksız bir şekilde pasif yapılmıştır.

serdararikan

bir compiler yazmak yerine blok halinde veya ladder mantığıyla proramlama üzerine bir derleyici yazarsan hedefine ulaşabilirsin bence.böylece aynı PLC de olduğu gibi kullanıcı olayın low-level ine bulaşamadan kontrol işlemleri gerçekleştrilebilir.

CoşkuN

Bu başlıkta kimsenin "oo derleyici mi yazacaksın, boşver, bırak bu işleri, adamlar yazmış zaten, git kullan" felan dememesine çok sevindim.

GNU Derleyicisi açık kaynak kodlu olduğundan ona da bakmak faydalı olabilir.

bilal0052

benim aklıma bişe takıldı diyelim derleyiciyi yazdık bunun için asm ve programlama bilgisi zaten mecbur gerekiyor. yazdığımız derleyici çok güzel bir şekilde hex çıktısı da alıyor fakat bu hex kodlarını mikroişlemciye nasıl aktaracaz. bi tanede seri port veya usb den hex kodunu alıp çipe atacağımız devreyide kurduk peki ya bu devre hex kodlarını çipe nasıl yazacak .örneğin benim bildiğim pic programlanırken 2 tane pinden hex aktarılıyo biri clk diğeri dataydı galiba bu aktarma işlemi nasıl oluyor bunu merak ettim    :)

sakkan

hocam bence nasıl yaparsanız yapın işi önce basit ele alın. daha sonra işi bilimsel yönde inceleyin. detayda gömülüp kalmayın. sonuç elde ederseniz bu sizi motive de eder.

Burak B

#13
Alıntı yapılan: bilal0052 - 05 Nisan 2012, 14:43:44
benim aklıma bişe takıldı diyelim derleyiciyi yazdık bunun için asm ve programlama bilgisi zaten mecbur gerekiyor. yazdığımız derleyici çok güzel bir şekilde hex çıktısı da alıyor fakat bu hex kodlarını mikroişlemciye nasıl aktaracaz. bi tanede seri port veya usb den hex kodunu alıp çipe atacağımız devreyide kurduk peki ya bu devre hex kodlarını çipe nasıl yazacak .örneğin benim bildiğim pic programlanırken 2 tane pinden hex aktarılıyo biri clk diğeri dataydı galiba bu aktarma işlemi nasıl oluyor bunu merak ettim    :)

Konuyu saptırma bence. Bu başka bir başlığın konusu.

@elektroemre sana önündeki uzun yolda kolaylık dilerim. @gerbay gerekli bilgileri vermiş zaten. Geriye oturup bolca zaman harcamak kalıyor. Ek olarak bu konuda çalışmaları olmuş bir arkadaşın sitesinin linkini veriyorum.

FireX Dili


"... a healthy dose of paranoia leads to better systems." Jack Ganssle

fractal

kendi compilerimizi yapmanın avantajını tam olarak anlamadım.piyasa cok düzgün çalışan compiler varken ve bu uğraşı zamanını bu hazır compiler ları kullanarak süper projeler yapmak varken neden amerikayı tekrardan keşfetmek için harçıyalım.ama olay şöyle ise bilemiyorum basic,fotran,delphi,c gibi bir çok programala dili var coğu birbirine benziyor bunlardan farklı cığır açıçak bir dil henüz yok sanırım.senin yapacağın compilerde insalara farklı alternatifler suanabilecekmi? amacın nedir?
Restantum cogniscutur Quantum deligutur