משתנה מטא-תחבירי

מתוך ויקיפדיה, האנציקלופדיה החופשית
יש לשכתב ערך זה. ייתכן שהערך מכיל טעויות, או שהניסוח וצורת הכתיבה שלו אינם מתאימים.
אתם מוזמנים לסייע ולתקן את הבעיות, אך אנא אל תורידו את ההודעה כל עוד לא תוקן הדף. ייתכן שתמצאו פירוט בדף השיחה.
יש לשכתב ערך זה. ייתכן שהערך מכיל טעויות, או שהניסוח וצורת הכתיבה שלו אינם מתאימים.
אתם מוזמנים לסייע ולתקן את הבעיות, אך אנא אל תורידו את ההודעה כל עוד לא תוקן הדף. ייתכן שתמצאו פירוט בדף השיחה.

בתכנות, משתנה מֶטא־תחבירי (metasyntactic variable) הוא שם הניתן לדבר כלשהו שדנים בו, או לקבוצה של דברים, אשר מובן וידוע למתכנתים וחובבי מחשבים. המילה foo היא הדוגמה הקנונית לכך. השימוש במשתנים מטא־תחביריים בא לעזר גם בכך שהם משחררים את המהנדס מלהמציא שמות לוגיים למשתנים בנושא שבו הם דנים.

משתנים מטא־תחביריים נקראים כך כיוון ש:

  1. הם משתנים במטא־שפה אשר משתמשים בה כדי לדבר על תוכניות (ראו גם פסבדו־קוד);
  2. הם משתנים אשר ערכיהם הם לעיתים קרובות משתנים בעצמם (למשל בשימוש כמו "הערך של f הוא הסכום של foo ו־bar").

אולם, ההנחה הסבירה והמקובלת לסיבה האמיתית לקביעת המושג הוא שזה פשוט נשמע טוב: המושג הוא חלק מז'רגון המחשבים.

דוגמאות[עריכת קוד מקור | עריכה]

Foo ו־Bar[עריכת קוד מקור | עריכה]

ערך מורחב – Foobar

Foo הוא המשתנה מטא־תחבירי הראשון שבו נוהגים להשתמש. לעיתים רבות הוא משולב עם bar כדי ליצור foobar. דבר זה מרמז אולי ש־foo נובע ממונח סלנג של מלחמת העולם השנייה בשם fubar, שהוא ראשי התיבות ל"מקולקל/דפוק מעבר לכל אפשרות לזיהוי", אם כי אתר תיק הז'רגון טוען בצורה משכנעת שfoo קדם לfubar. למילה Foo היה גם שימוש כמילת הבלים בקומיקס הסוריאליסטי "Smokey Stover" שהיה פופולרי בשנות ה-40 וה-50. ראו גם לוחם פו לאטימולוגיה נוספת של המילה, וכמו כן גם RFC 3092 [1].

Bar הוא מן סוג של כינוי, שימוש נפוץ בו הוא ייצוג של מושג לא מוגדר, ערך, תהליך, פונקציה, אירוע, יעד, ולעיתים רחוקות ככינוי לאדם.

Baz[עריכת קוד מקור | עריכה]

Quux[עריכת קוד מקור | עריכה]

Quux הוא המשתנה מטא־תחבירי הרביעי, אשר השימוש בו נפוץ לאחר baz. אולם, לאחרונה הפך Qux נפוץ יותר בשימוש כמשתנה רביעי, כאשר Quux הופך להיות החמישי. הסיבה לכך כנראה היא שלאחר Quux באים בדרך כלל Quuux ,Quuuux וכו', ולכן Qux מתאים לתבנית זו באופן מושלם.

xyzzy[עריכת קוד מקור | עריכה]

xyzzy היא מילת קסם ממשחק המחשב הרפתקאת המערה הכבירה, וככזה יש לו שימוש נפוץ כמשתנה מטא־תחבירי, במיוחד בידי האסכולה הישנה של ההאקרים.

Spam & Eggs[עריכת קוד מקור | עריכה]

Spam ו־Eggs הם משתנים מטא־תחביריים קנוניים אשר להם שימוש בשפת התכנות פייתון. זוהי התייחסות למערכון מפורסם של מונטי פייתון, אשר על שמם השפה נקראת.

Fred & Barney[עריכת קוד מקור | עריכה]

על שמם של הדמויות מהסדרה המצוירת "משפחת קדמוני".

Ned Baker ו- Meg O'Brien[עריכת קוד מקור | עריכה]

נד בייקר הוא שם בדוי (ולא דמות בדויה) או כינוי, המשמש במקום שבו יסופק שם אמיתי בזמן מאוחר יותר. יש לו שימוש נרחב בפיתוח של תוכניות מחשב אשר צריכות לטפל בשמות של אנשים אמיתיים לאחר שהפיתוח שלהם יסתיים. שמות נפוצים נוספים אשר יש להם שימוש דומה הם שמות עם פיסוק (למשל Meg O'Brien) כדי לבחון את יכולת התוכנה לטפל בפיסוק כזה.

Null Exit[עריכת קוד מקור | עריכה]

ושם המכיל טרמינולוגיה של תכנות או מסד נתונים כדי לבדוק ששימוש במונחים בהקשר זה לא ישפיעו על פעולת התוכניות..[2]

דוגמאות אחרות[עריכת קוד מקור | עריכה]

thud, corge, grault, garply, waldo, plugh.

שפות אחרות[עריכת קוד מקור | עריכה]

לפעמים לשפות אחרות יש משתנים מטא־תחביריים משל עצמם, למשל Aap, Noot, Mies מהשפה ההולנדית, pippo, pluto, paperino מאיטלקית, toto, tata, titi מצרפתית, וכן הלאה.

ראו גם[עריכת קוד מקור | עריכה]

קישורים חיצוניים[עריכת קוד מקור | עריכה]

הערות שוליים[עריכת קוד מקור | עריכה]

  1. ^ C. Manros, D. Eastlake 3rd, E. Raymond, Etymology of "Foo", tools.ietf.org (באנגלית)
  2. ^ קומיקס בנושא השפעת שמות אנשים על פעולת תוכנות מחשב, אתר xkcd (באנגלית)