Küçük-C - Small-C

Küçük-C
Geliştirici(ler) Ron Cain, James E. Hendrix
İlk sürüm 1980 ; 41 yıl önce ( 1980 )
Yazılmış C programlama dili
Tür Derleyici
Lisans Telif hakkı var ama paylaşılabilir

Small-C , hem C programlama dilinin bir alt kümesidir, kaynak sınırlı mikrobilgisayarlar ve gömülü sistemler için uygundur , hem de bu alt kümenin bir uygulamasıdır. Başlangıçta 1970'lerin sonlarında ve 1980'lerin başlarında mevcut olan mikrobilgisayar sistemleri için erken bir derleyici olarak değerli olan uygulama, öğretim amaçları için yeterince basit bir örnek olarak da faydalı olmuştur.

Ron Cain tarafından Intel 8080 için Small-C'de yazılmış orijinal derleyici, Dr. Dobb's Journal of Computer Calisthenics & Orthodontia dergisinin Mayıs 1980 sayısında yayınlandı . James E. Hendrix orijinal derleyiciyi geliştirdi ve genişletti ve The Small-C Handbook'u yazdı . Ron bootstrapped Small-C SRI Uluslararası PDP 11 /45 Unix Küçük C geliştirme için John Bass tarafından sağlanan bir hesapla sistemde. Sağlanan kaynak kodu , yönetim izniyle kamu malı olarak yayınlandı . Küçük-C, daha büyük bilgisayarlar için GCC'nin önemine benzer bir şekilde küçük bilgisayarlar için önemliydi . Tıpkı Unix benzerleri gibi, derleyici daha sonra uygun bir montajcı tarafından makine koduna çevrilmesi gereken bir montajcı kodu üretir .

Small-C, yeniden hedeflenebilir bir derleyicidir . Small-C'yi taşıma, yalnızca arka uç kod oluşturucunun ve kitaplıktan işletim sistemi arabirim çağrılarına hedef işlemci için yeniden yazılmasını gerektirir.

Dil alt kümesi

"1980 Mayıs'ında Dr. Dobb's Journal, Ron Cain'in C dilinin bir alt kümesi için küçük bir derleyici sunduğu "8080'ler için Küçük Bir C Derleyicisi" başlıklı bir makale yayınladı. Derleyicinin küçük boyutunun yanı sıra en ilginç özelliği şuydu: yazıldığı dil - derlediği dil. Kendi kendini derleyiciydi! (Bu bugün yaygın olmasına rağmen, o zamanlar oldukça yeni bir fikirdi.) Derleyicisi basit, tek geçişli bir algoritma ile üretti. 8080 işlemci için montaj dili. Küçük olduğu için sınırlamaları vardı. Yalnızca karakterleri, tam sayıları ve her iki türden tek boyutlu dizileri tanıyordu. Tek döngü kontrol cihazı while ifadesiydi. Boole işleçleri yoktu, bu nedenle bunun yerine bitsel mantıksal operatörler & (AND) ve | (OR) kullanıldı, ancak bu sınırlamalara rağmen, özellikle montaj diline kıyasla çok yetenekli ve kullanımı zevkli bir dildi.

İyileştirmelere duyulan ihtiyacı fark eden Ron, beni ikinci bir versiyon üretmeye teşvik etti ve Aralık 1982'de Dr. Dobb's Journal'da da çıktı. Yeni derleyici, Small C'yi (1) kod optimizasyonu, (2) veri başlatma, (3) koşullu derleme, (4) harici depolama sınıfı, (5) for, do/while, switch ve goto deyimleri, ( 6) kombinasyon atama operatörleri, (7) Boole operatörleri, (8) birinin tümleyen operatörü, (9) yerel değişkenleri bloke etme ve (10) çeşitli diğer özellikler. Daha sonra 1984'te Ernest Payne ve ben derleyici için CP/M uyumlu bir çalışma zamanı kitaplığı geliştirdik ve yayınladık. 80'den fazla işlevden oluşuyordu ve UNIX C Standart G/Ç Kitaplığındakilerin çoğunu, yani CP/M ortamıyla ilgili olanları içeriyordu. Bu sürüm 2.1 ve The Small C Handbook'un konusu oldu. "

Ayrıca bakınız

  • BDS C (1979) – Z80 ve 8080 sistemleri için C derleyicisi
  • MISOSYS C (1985) - TRS-80 için C derleyicisi (Z80 CPU)
  • Tiny C (2002), az disk alanına sahip yavaş x86 ve ARM bilgisayarlar için C derleyicisi

Küçük-C varyantları

  • Z88DK – Z80 tabanlı mikro bilgisayarlar için Cross Small-C uygulaması
  • cc65 – 6502 bilgisayarlar için Cross Small-C uygulaması
  • Deep Blue CAtari 8-bit ailesi için Native Small-C
  • AJTravis – BBC Micro için Yerel Small-C

Referanslar

Notlar

  • Ron Cain, "8080'ler için Küçük Bir C Derleyicisi", Dr. Dobb's Journal , Nisan–Mayıs 1980, s. 5–19
  • James E. Hendrix, Küçük-C El Kitabı , Reston 1984, ISBN  0-8359-7012-4
  • James E. Hendrix, Küçük Bir C Derleyicisi: Dil, Kullanım, Teori ve Tasarım , M & T Books 1988, ISBN  0-934375-88-7
  • James E. Hendrix, Küçük C Derleyicisi , M & T Books 1990, ISBN  1-55851-124-5

Dış bağlantılar