JAL 2.6. Rumuzlar (Alias)

JAL - Rumuzlar

Rumuzlar (takma adlar) birden çok tanımlayıcının (değişkenler, adlandırılmış sabitler, alt programlar) aynı nesneye başvuru yapabilmesine izin verirler. Bir rumuz aşağıdaki biçimde tanımlanır:

1ALIAS rumuz_tanimlayici IS gercek_tanimlayici

Çoğu zaman bir değişken ya da sabite birden çok ad ile başvuru yapılabilmesi yararlıdır. Kod yazarken bazı başvurular için rumuzların kullanılması kodlamayı yapan kişi açısından daha akılda kalıcı olur. Buna rastlayabileceğimiz en sık örneklerden biri; giriş - çıkış uçlarının pin_a1, pin_c3 gibi tanımlayıcılar yerine, anımsanması daha kolay olan LED, motor, LCD_E gibi fiziksel bağlantıyı temsil edebilecek rumuzlarla tanımlanmasıdır. Eğer C dili ile deneyimleriniz varsa JAL'daki ALIAS rumuz tanımlayıcı işlevsel olarak C'deki #define önişlemci (preprocessor) tanımlayıcısına benzer yapıdadır.

Bunun gerçek yararının anlaşılması için şu örneğe dikkatinizi veriniz: Herhangi bir PIC denetleyicisi için JAL ile bir proje yapıp bitirdiğinizi varsayalım. Bu projenizde pin_a1 ucuna bağlı kırmızı bir LEDi kontrol ediyorsunuz bu yüzden;

1ALIAS kirmizi_led IS pin_a1

şeklinde rumuz kullandınız ve kaynak kod içinde bu rumuzu kabaca on beş yerde kullandığınızı varsayın. Sonradan bu projenizi bacak yapısı farklı bir PIC denetleyicisi ile kullanmaya karar verdiniz ve yenisinde kırmızı LEDinizi pin_c3 ucuna bağlamanız gerekti. İşte kolaylık burada, tek yapmanız gereken başka hiçbir yerde değişiklik yapmadan rumuz tanımını;

1ALIAS kirmizi_led IS pin_c3

biçiminde değiştirmek. Rumuz özelliği sayesinde kaynak kodda on beş yerde değişiklik yapmadan yalnızca rumuz tanımlamasını güncelleyerek önceki projenizi farklı bir aygıt üzerinde çalıştırabilirsiniz. Eğer rumuz kullanmamış olsaydınız kaynak kodunun on beş yerinde tek tek pin_a1 kullandığınız yerleri pin_c3 olarak değiştirmek zorunda kalacaktınız.

Verilen örnekten anlaşılabileceği üzere rumuzlar kaynak kodun taşınabilirliğini artırarak yapacağınız projenin farklı aygıtlarda kullanımı açısından esneklik sağlamaktadır.

comments powered by Disqus