İfade (bilgisayar bilimi) - Expression (computer science)

İçinde bilgisayar Bilimi, bir ifade bir sözdizimsel bir varlık Programlama dili değerini belirlemek için değerlendirilebilir.[1] Bir veya daha fazlasının birleşimidir sabitler, değişkenler, fonksiyonlar, ve operatörler programlama dilinin yorumladığı (kendi özelliğine göre öncelik kuralları ve bağlantı ) ve üretmek için hesaplar ("dönmek", bir durum bilgili çevre) başka bir değer. Bu süreç için matematiksel ifadeler denir değerlendirme.

Basit ayarlarda, sonuç değeri genellikle çeşitli ilkel tipler sayısal gibi, dizi, Boole, karmaşık veri türü veya diğer türler.

İfade genellikle şununla karşılaştırılır: Beyan - değeri olmayan sözdizimsel bir varlık (bir talimat.)

Örnekler

Örneğin, 2 + 3 hem aritmetik hem de programlama ifadesidir ve 5. Değişken, bellekteki bir değeri ifade ettiği için bir ifadedir. y + 6 aynı zamanda bir ifadedir. Bir örnek ilişkisel ifade dır-dir 4 ≠ 4, değerlendiren yanlış.[2][3]

Sonuç türü olarak geçersiz

İçinde C ve çoğu C'den türetilmiş dil, bir işlev çağrısı ile bir geçersiz dönüş türü, void türünde geçerli bir ifadedir.[4]Void türündeki değerler kullanılamaz, bu nedenle böyle bir ifadenin değeri her zaman atılır.

Yan etkiler ve eliminasyon

Birçok programlama dilinde bir işlev ve dolayısıyla bir işlevi içeren bir ifade, yan etkiler. Yan etkilere sahip bir ifade normalde şu özelliklere sahip değildir: referans şeffaflık. Birçok dilde (örneğin, C ++), ifadeler noktalı virgülle (;) ifadeyi bir ifadeye dönüştürmek için Beyan. Bu, uygulamadan ifadeyi yalnızca yan etkileri açısından değerlendirmesini ve yan etkilere neden olan bir ifade ifadesinin bir parçası olmadığı sürece ifadenin sonucunu (örneğin "x + 1;") göz ardı etmesini ister (ör. "Y = x + 1; "veya" func1 (func2 ()); ").

Uyarılar

Resmi bir yan etki kavramının, çalışan programın soyut durumunda bir değişiklik olduğuna dikkat edin.

Diğer bir yan etki sınıfı, verilerin önbellek hafızalarına yüklenmesi gibi hesaplama sisteminin somut durumunda yapılan değişikliklerdir. Çoğunlukla "yan etkisiz" olarak tanımlanan diller, genel olarak yine de, örneğin şu ülkelerde yararlanılabilecek somut yan etkilere sahip olacaktır. yan kanal saldırıları.

Dahası, bir ifadeyi değerlendiren geçen süre (başka hiçbir belirgin yan etkisi olmasa bile) bazen bir sistemin doğru çalışması için gereklidir, çünkü zaman içindeki davranış değerlendirme ortamının dışından sistemin diğer bölümleri tarafından kolayca görülebilir. etkileşimde bulunur ve hatta birincil icra ederken olduğu gibi etki karşılaştırma testi.

Soyut yan etkisi olmayan bir ifadenin özel programlama dili spesifikasyonuna yasal olarak elenmek ifadenin değerlendirildiği işleme ortamının yürütme yolundan.

Ayrıca bakınız

Referanslar

  1. ^ Mitchell, J.. (2002). Programlama Dillerinde Kavramlar. Cambridge: Cambridge University Press, 3.4.1 İfadeler ve İfadeler, s. 26
  2. ^ Javascript ifadeleri, Mozilla 6 Temmuz 2009'da erişildi
  3. ^ C'de programlama Arşivlendi 2015-01-09 at Wayback Makinesi 6 Temmuz 2009'da erişildi
  4. ^ ISO / IEC 9899: 1999 Bölüm 6.3.2.2, 31 Ağustos 2009'da erişildi

Dış bağlantılar