Metasentaktik değişken - Metasyntactic variable

Bir metasentaktik değişken belirli bir kelime veya kelime grubudur. Yer tutucu içinde bilgisayar Bilimi ve özellikle bilgisayar Programlama. Bu kelimeler genellikle şu dilde bulunur: kaynak kodu ve gerçek dünya kullanımından önce değiştirilmesi veya ikame edilmesi amaçlanmıştır. Sözler foo ve bar 330'un üzerinde kullanıldıkları için iyi örneklerdir İnternet Mühendisliği Görev Gücü Yorum Talepleri gibi temel internet teknolojilerini tanımlayan belgeler HTTP (web siteleri), TCP / IP, ve e-posta protokoller.[1][2]

Matematiksel olarak benzetme, bir metasentaktik değişken, bir değişken başka bir deyişle, aynen olduğu gibi cebir harfler sayılar için değişken olarak kullanılır.[1]

Metasentaktik değişkenler, değişkenler, işlevler ve tam kimliği önemsiz olan komutlar gibi varlıkları adlandırmak için kullanılır ve yalnızca programlama öğretmek için yararlı olan bir kavramı göstermeye hizmet eder.

Ortak metasentaktik değişkenler

İngilizce'nin temel dil olması nedeniyle veya ortak dil Çoğu bilgisayar programlama dilinden bu değişkenler, diğer konuşma dili izleyicileri için yazılmış programlarda ve program örneklerinde bile yaygın olarak görülür.

Tipik isimler, belirli bir alt kültüre bağlı olabilir. Programlama dili.

Genel kullanım

Tüm programlama dillerinde yaygın olarak kullanılan meta sözdizimsel değişkenler şunları içerir: foobar, foo, bar, baz, qux, quux, quuz, corge, grault, garply, Waldo, Fred, fiş, xyzzy, ve gürültü; bu kelimelerin birkaçı oyuna atıfta bulunuyor Devasa Mağara Macerası.[1][3] Wibble, yalpalama, dalgalanmak, ve yumru İngiltere'de de kullanılmaktadır.[4]

Tam bir referans bir MIT Basın kitap başlıklı Hacker'ın Sözlüğü.

Japonca

Japonca'da kelimeler hoge (ほ げ)[5] ve piyo (ぴ よ) yaygın olarak kullanılır, diğer yaygın kelimeler ve varyantlar Fuga (ふ が), Hogera (ほ げ ら) ve hogehoge (ほ げ ほ げ).[6][döngüsel referans ] Bunu not et -ra Japonca'da çoğullayıcı bir sondur ve tekrar çoğaltma çoğullaştırma için de kullanılır. Kökeni hoge bir metasentaktik değişken olarak bilinmemekle birlikte, 1980'lerin başlarına ait olduğuna inanılmaktadır.[6]

Fransızca

Fransa'da kelime toto yaygın olarak kullanılır, varyantlarla tata, Titi, tutu ilgili yer tutucular olarak. Yaygın olarak kullanılan bir kaynak toto şaka yapmak için kullanılan stok karakterine bir referanstır Tête à Toto.

Kullanım örnekleri

Etkileşimli bir kabuk oturumunda atanan ve yankılanan bir meta sözdizimsel değişken FOO'nun ekran görüntüsü.

C

Aşağıdaki örnekte işlev adı foo ve değişken adı bar her ikisi de metasentaktik değişkenlerdir. İle başlayan çizgiler // yorumlardır.

// foo adlı işlevint foo(geçersiz){   // Değişken çubuğunu bildirin ve değeri 1 olarak ayarlayın   int bar = 1;   dönüş bar;}

C ++

Örnekleri olan fonksiyon prototipleri argüman geçiyor mekanizmalar:[7]

geçersiz Foo(Meyve bar);geçersiz Foo(Meyve* bar);geçersiz Foo(sabit Meyve& bar);

Gösteren örnek fonksiyon aşırı yükleme C ++ dilinin yetenekleri

geçersiz Foo(int bar);geçersiz Foo(int bar, int baz);geçersiz Foo(int bar, int baz, int qux);

Python

İstenmeyen e, jambon, ve yumurtalar ana metasentaktik değişkenlerdir. Python programlama dili.[8] Bu ünlü komedi skeçine bir referanstır, "İstenmeyen e ", tarafından Monty Python, dilin adı.[9]Aşağıdaki örnekte istenmeyen e, jambon, ve yumurtalar metasentaktik değişkenler ve satırlar ile başlayan # yorumlardır.

# Spam adlı bir işlev tanımlayındef istenmeyen e():    # Değişken jambonu tanımlayın    jambon = "Selam Dünya!"    # Değişken yumurtaları tanımlayın    yumurtalar = 1    dönüş

IETF Yorum Talepleri

İkisi de IETF RFC'ler ve bilgisayar programlama dilleri içinde işleniyor düz metin bağlamdan açık olmayacağından, metasentaktik değişkenleri bir adlandırma kuralıyla ayırt etmeyi gerekli kılar.

İşte resmi bir örnek IETF açıklayan belge e-posta protokoller (itibaren RFC 772 - Atıf RFC 3092 ):

 Herşey iyi; şimdi alıcılar belirlenebilir. S: MRCP TO:   R: 200 OK S: MRCP TO:   R: 553 Burada böyle bir kullanıcı yok S: MRCP TO:   R: 200 OK S: MRCP TO: <@ Y, @ X, fubar @ Z>  R: 200 OK "Raboof" başarısızlığının "Foo", "çubuğu için postaların depolanması üzerinde hiçbir etkisi olmadığını unutmayın "veya" X "ana bilgisayarı aracılığıyla" fubar @ Z "ye yönlendirilecek posta.

(Texinfo dokümantasyonu, metasentaktik değişkenleri belirtmek için @var komutunu kullanın. Metasentaktik değişken, başka bir metin parçasını ifade eden bir şeydir. Örneğin, bir fonksiyonun dokümantasyonunda o fonksiyona aktarılan argümanları açıklamak için bir metasentaktik değişken kullanmalısınız. @Var'ı belirli isimler için kullanmayın. değişkenler programlama dillerinde. Bunlar bir programdan alınan belirli adlardır, dolayısıyla @code onlar için doğrudur. "[10])

Yukarıdaki örnekte yansıtılan bir başka nokta, bir meta değişkeninin, belirli bir şemadaki tüm görünümlerinde aynı örnekle tek tip olarak ikame edilmesidir. Bu zıttır terminal olmayan içindeki semboller resmi gramerler bir üretimin sağındaki sonlandırılmayanlar farklı örneklerle değiştirilebilir.[11]

Örnek Veriler

SQL

Örnekte ACME adını kullanmak yaygındır SQL Veritabanları ve öğretim amacıyla yer tutucu şirket adı olarak. 'ACME Veritabanı' terimi, genellikle, yalnızca eğitim veya test için kullanılan bir eğitim veya yalnızca örnek veri tabanı verileri kümesini ifade etmek için kullanılır. ACME, aynı zamanda, birçok eğitim metninde yaygın bir uygulama olan SQL kullanım örneklerini gösteren dokümantasyonda ve ayrıca Microsoft ve Oracle.[12][13][14]

Ayrıca bakınız

Referanslar

  1. ^ a b c Eastlake 3rd, Donald E .; Manros, Carl-Uno; Raymond, Eric S. "Foo" nun etimolojisi. doi:10.17487 / RFC3092. RFC 3092.
  2. ^ "Belge Erişimi". RFC Düzenleyici.
  3. ^ Laughlin, Stuart (18 Kasım 2016). "Metasentaktik değişken". programlama @ ProgClub (Mail listesi). Alındı 18 Kasım 2016.
  4. ^ sallamak. (tarih yok). Jargon Dosyası 4.4.7. 23 Şubat 2010'dan alındı [1]
  5. ^ "hoge の 意味 ・ 使 い 方 - 英 和 辞典 WEBLIO 辞書". ejje.weblio.jp.
  6. ^ a b メ タ 構 文 変 数 (Japonyada)
  7. ^ Mongan, John; Kindler, Noah; Giguere Eric (2012). Programlama Röportajları Açığa Çıktı: Bir Sonraki İşinizi Açmanın Sırları. John Wiley & Sons. s. 242. ISBN  978-1-118-28720-0.
  8. ^ "Python Eğitimi - Python 3.8.1 belgeleri". docs.python.org.
  9. ^ Genel Python SSS
  10. ^ "Kelimeleri ve İfadeleri İşaretleme". Texinfo 4.0. GNU Dokümantasyon Formatı. Arşivlenen orijinal 2009-11-06 tarihinde. Alındı 2012-11-25.
  11. ^ R.D.Tennent (2002). Yazılımın Belirlenmesi: Uygulamalı Bir Giriş. Cambridge University Press. sayfa 36–37 ve 210. ISBN  978-0-521-00401-5.
  12. ^ Kriegel, Alex (2008). SQL İncil. Indianapolis, Ind: Wiley. ISBN  978-0-470-22906-4. OCLC  402446308.
  13. ^ Ruel, Chris (2014). Aptallar için Oracle 12c (Danca). Hoboken, NJ: John Wiley & Sons. ISBN  978-1-118-74531-1. OCLC  870334544.
  14. ^ https://docs.microsoft.com/en-us/dotnet/architecture/modern-web-apps-azure/work-with-data-in-asp-net-core-apps

Dış bağlantılar