3. Hafta
Giriş Bu hafta, değişkenlerin tutulması olayını çözdüm. Artık değişkenleri bir hash table da tutuyorum. Değişkenlerin genel tipinde de ilerledim. Dili Türkçe programlama dili yapmaya karar verdim. Gramer üzerine bir kaç denemem oldu. Her an karar vermem gereken tasarım sorunlarının ortaya çıkacağını fark ettim. Değişken Tipi Genel değişken tipi, bir union ve bir type dan oluşan bir struct. Bu versiyon 1. Daha kullanıcı tanımlı veri tiplerini , yada herhangi bir fonksiyonu içinde tutamıyor. struct value_t{ int type; union{ char* sval; double dval; int ival; } } Yukarıdaki yapıdaki en güzel kısım oradaki union. Union C'de özel bir yapı. İçerisindeki en büyük veri tipi kadar yer kaplıyor. Yani yukarıdaki union 8 byte yer kaplayacak. Aynı verileri olan bir struct 20 byte(alignment hariç) yer kaplayacaktı. Ve bu unionlardan ,doğal olarak, bir seferde sadece bir veri okunabiliyor. int type objenin tipini tutacak. Tipi de şöyle tanımladım şimdilik; en...