मेटासिंटैक्टिक वैरिएबल

From Vigyanwiki

मेटासिंटैक्टिक वैरिएबल एक विशिष्ट शब्द या शब्दों का समूह है जिसे कंप्यूटर विज्ञान और विशेष रूप से कंप्यूटर प्रोग्रामिंग में प्लेसहोल्डर के रूप में मान्यता प्राप्त है। ये शब्द साधारणतया स्रोत कोड में पाए जाते हैं और इन्हें वास्तविक दुनिया में उपयोग से पहले संशोधित या प्रतिस्थापित करने का इरादा होता है। उदाहरण के लिए, फू और बार का उपयोग टिप्पणियों, प्रलेखनों (डाक्यूमेंट्स) के लिए 330 से अधिक इंटरनेट इंजीनियरिंग टास्क फोर्स अनुरोधों में किया जाता है जो HTTP (वेब), टीसीपी/आईपी और ईमेल प्रोटोकॉल जैसी मूलभूत इंटरनेट प्रौद्योगिकियों को परिभाषित करते हैं।[1][2]

गणितीय सादृश्य (मैथमेटिकल अनलोगी) द्वारा, मेटासिंटैक्टिक वैरिएबल एक ऐसा शब्द है जो अन्य शब्दों के लिए एक वैरिएबल है, जैसे बीजगणित में अक्षरों को संख्याओं के लिए वैरिएबल के रूप में उपयोग किया जाता है।[1]

मेटासिंटैक्टिक वेरिएबल्स का उपयोग वेरिएबल्स, फ़ंक्शंस और कमांड जैसी संस्थाओं को नाम देने के लिए किया जाता है जिनकी सटीक पहचान महत्वहीन है और केवल एक अवधारणा को प्रदर्शित करने के लिए काम करती है, जो प्रोग्रामिंग सिखाने के लिए उपयोगी है।

सामान्य मेटासिंटैक्टिक वैरिएबल

अंग्रेजी अधिकांश कंप्यूटर प्रोग्रामिंग लैंग्वेज की मूल लैंग्वेज या सामान्य लैंग्वेज होने के कारण, ये वैरिएबल साधारणतया अन्य बोली जाने वाली लैंग्वेज के दर्शकों के लिए लिखे गए कार्यक्रमों और कार्यक्रमों के उदाहरणों में भी देखे जाते हैं।

हालाँकि विशिष्ट नाम उस उपसंस्कृति पर निर्भर हो सकते हैं जो किसी दी गई प्रोग्रामिंग लैंग्वेज के आसपास विकसित हुई है।

सामान्य उपयोग

साधारणतया सभी प्रोग्रामिंग लैंग्वेज में उपयोग किए जाने वाले मेटासिंटैक्टिक वेरिएबल्स में foobar, foo, bar, baz, qux, quux, corge, grault, garply, waldo, fred, plugh, xyzzy, and thud शामिल हैं; इनमें से कई शब्द गेम कोलोसल केव एडवेंवैरिएबल के संदर्भ हैं[1][3]

एक संपूर्ण संदर्भ द हैकर्स डिक्शनरी नामक एमआईटी प्रेस की पुस्तक में पाया जा सकता है।

जापानी

जापानी में, शब्द hoge (होग)[4] और फूगा (ふが) साधारणतया उपयोग किए जाते हैं, अन्य साधारण शब्दों और रूपों के साथ पियो (ぴよ), hogera (हुगेरा), और hogehoge (होगेहोग)।[5] उद्गम hoge एक मेटासिंटैक्टिक वैरिएबल के रूप में ज्ञात नहीं है, लेकिन ऐसा माना जाता है कि यह 1980 के दशक की प्रारंभ में हुआ था।[5]

उपयोग के उदाहरण

इंटरएक्टिव शेल सत्र में मेटासिंटैक्टिक वेरिएबल FOO का एक स्क्रीनशॉट असाइन किया गया और प्रतिध्वनित किया गया।

सी (C)

निम्नलिखित उदाहरण में फ़ंक्शन का नाम foo और वैरिएबल नाम bar दोनों मेटासिंटैक्टिक वैरिएबल हैं। से प्रारंभ होने वाली पंक्तियाँ // टिप्पणियाँ हैं।

// The function named foo
int foo(void)
{
   // Declare the variable bar and set the value to 1
   int bar = 1;

   return bar;
}

C++

विभिन्न पैरामीटर (कंप्यूटर प्रोग्रामिंग) के उदाहरणों के साथ फंक्शन प्रोटोटाइप आर्गमेंट पासिंग मैकेनिज्म है:[6]

void Foo(Fruit bar);
void Foo(Fruit* bar);
void Foo(const Fruit& bar);

उदाहरण सी ++ लैंग्वेज की फ़ंक्शन ओवरलोडिंग क्षमताओं को दिखा रहा है

void Foo(int bar);
void Foo(int bar, int baz);
void Foo(int bar, int baz, int qux);

पायथन (Python)

स्पैम, हैम और अंडे पायथन प्रोग्रामिंग लैंग्वेज में उपयोग किए जाने वाले प्रमुख मेटासिंटैक्टिक वैरिएबल हैं।[7] यह लैंग्वेज के उपनाम मोंटी पाइथॉन के प्रसिद्ध कॉमेडी स्केच, "स्पैम" का संदर्भ है।[8] निम्नलिखित उदाहरण में spam, ham, और eggs मेटासिंटैक्टिक वैरिएबल और से प्रारंभ होने वाली रेखाएँ हैं # टिप्पणियाँ हैं।

# Define a function named spam
def spam():

    # Define the variable ham
    ham = "Hello World!"

    # Define the variable eggs
    eggs = 1

    return

आईईटीएफ टिप्पणियों के लिए अनुरोध

आईईटीएफ आरएफसी और कंप्यूटर प्रोग्रामिंग लैंग्वेज दोनों को सादे पाठ में प्रस्तुत किया गया है, जिससे नामकरण परंपरा द्वारा मेटासिंटैक्टिक वैरिएबल को अलग करना आवश्यक हो जाता है, क्योंकि यह संदर्भ से स्पष्ट नहीं होगा।

ईमेल प्रोटोकॉल की व्याख्या करने वाले आधिकारिक IETF प्रलेखन से एक उदाहरण यहां दिया गया है (RFC 772 से - RFC 3092 में उद्धृत):

 All is well; now the recipients can be specified.

     S: MRCP TO:<Foo@Y> <CRLF>
     R: 200 OK

     S: MRCP TO:<Raboof@Y> <CRLF>
     R: 553  No such user here

     S: MRCP TO:<bar@Y> <CRLF>
     R: 200 OK

     S: MRCP TO:<@Y,@X,fubar@Z> <CRLF>
     R: 200 OK

  Note that the failure of "Raboof" has no effect on the storage of
  mail for "Foo", "bar" or the mail to be forwarded to "fubar@Z"
  through host "X".

(टेक्सइन्फो (Texinfo) के लिए प्रलेखन कुछ टेक्सइन्फो फ़ाइल में प्रलेखित की जा रही प्रोग्रामिंग लैंग्वेज में उपयोग किए जाने वाले मेटावेरिएबल्स और मात्र वेरिएबल्स के बीच अंतर पर जोर देता है: "मेटासिंटैक्टिक वेरिएबल्स को इंगित करने के लिए @var कमांड का उपयोग करें। मेटासिंटैक्टिक वेरिएबल कुछ ऐसा है जो टेक्स्ट के दूसरे टुकड़े के लिए खड़ा है। उदाहरण के लिए, आपको किसी फ़ंक्शन के प्रलेखनीकरण में उस फ़ंक्शन में दिए गए तर्कों का वर्णन करने के लिए एक मेटासिंटैक्टिक वैरिएबल का उपयोग करना चाहिए। प्रोग्रामिंग लैंग्वेज में विशेष वैरिएबल के नामों के लिए @var का उपयोग न करें। ये एक प्रोग्राम से विशिष्ट नाम हैं, इसलिए @code उनके लिए सही है.[9]

उपरोक्त उदाहरण में परिलक्षित एक और बिंदु यह परंपरा है कि एक मेटावेरिएबल को किसी दिए गए स्कीमा में उसके सभी स्वरूपों में एक ही उदाहरण के साथ समान रूप से प्रतिस्थापित किया जाना है। यह औपचारिक व्याकरणों में गैर-टर्मिनल प्रतीकों के विपरीत है जहां किसी उत्पादन के दाईं ओर के गैर-टर्मिनलों को विभिन्न उदाहरणों द्वारा प्रतिस्थापित किया जा सकता है[10]







उदाहरण डेटा

एसक्यूएल (SQL)

उदाहरण के तौर पर SQL डेटाबेस में और शिक्षण के उद्देश्य से प्लेसहोल्डर कंपनी के नाम के रूप में ACME नाम का उपयोग करना साधारण बात है। 'एसीएमई डेटाबेस' शब्द का उपयोग साधारणतया प्रशिक्षण या परीक्षण के लिए उपयोग किए जाने वाले डेटाबेस डेटा के प्रशिक्षण या उदाहरण-केवल सेट के लिए किया जाता है। एसीएमई का उपयोग साधारणतया प्रलेखनीकरण में भी किया जाता है जो एसक्यूएल उपयोग के उदाहरण दिखाता है, जो कई शैक्षिक ग्रंथों के साथ-साथ माइक्रोसॉफ्ट और ओरेकल जैसी कंपनियों के तकनीकी प्रलेखनीकरण में एक साधारण अभ्यास है।[11][12][13]

यह भी देखें

संदर्भ

  1. 1.0 1.1 1.2 Eastlake 3rd, Donald E.; Manros, Carl-Uno; Raymond, Eric S. "फू" की व्युत्पत्ति. doi:10.17487/RFC3092. RFC 3092.
  2. "दस्तावेज़ पुनर्प्राप्ति". RFC Editor.
  3. Laughlin, Stuart (November 18, 2016). "मेटासिंटैक्टिक चर". programming@ProgClub (Mailing list). Archived from the original on December 2, 2022. Retrieved November 18, 2016.
  4. "hogeの意味・使い方 - 英和辞典 Weblio 辞書". ejje.weblio.jp.
  5. 5.0 5.1 メタ構文変数 (in Japanese)
  6. Mongan, John; Kindler, Noah; Giguere, Eric (2012). Programming Interviews Exposed: Secrets to Landing Your Next Job. John Wiley & Sons. p. 242. ISBN 978-1-118-28720-0.
  7. "The Python Tutorial — Python 3.8.1 documentation". docs.python.org.
  8. "General Python FAQ — Python 3.9.7 documentation". docs.python.org. Python Software Foundation. 2021-09-04. Why is it called Python?. Archived from the original on 2021-08-26. Retrieved 2021-09-05.
  9. "शब्दों और वाक्यांशों को चिह्नित करना". Texinfo 4.0. The GNU Documentation Format. Archived from the original on 2009-11-06. Retrieved 2012-11-25.
  10. R. D. Tennent (2002). Specifying Software: A Hands-On Introduction. Cambridge University Press. pp. 36–37 and 210. ISBN 978-0-521-00401-5.
  11. Kriegel, Alex (2008). एसक्यूएल बाइबिल. Indianapolis, Ind: Wiley. ISBN 978-0-470-22906-4. OCLC 402446308.
  12. Ruel, Chris (2014). Oracle 12c for dummies (in dansk). Hoboken, NJ: John Wiley & Sons. ISBN 978-1-118-74531-1. OCLC 870334544.
  13. "ASP.NET कोर ऐप्स में डेटा के साथ काम करें". docs.microsoft.com.


बाहरी संबंध