PL/I – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
←‏תחביר: הרחבה
שורה 70:
*בלוקים נפתחים במילה BEGIN ומסתיימים במילה END.
*האופרטור '=' משמש הן לפעולת השמה והן לפעולת השוואה, בתלות בהקשר שבו הוא נמצא.
בניגוד לגרסאות פרוטרן המוקדמות, PL/I לא מאפשרת הגדרה של מזהים (עבור משתנים ופרוצדורות) הכוללים רווחים.
 
===מילות מפתח===
מילות המפתח של השפה אינן [[מילים שמורות]], וניתן להשתמש בהם גם כמזהים. הקוד הבא, לדוגמה, חוקי (אם כי אינו מקובל):
שורה 76:
IF IF = THEN THEN THEN = ELSE ELSE ELSE = IF;
</div>
בשורה זו נבדק האם ערכו של המשתנה IF זהה לערכו של המשתנה THEN. אם כן, מושם במשתנה THEN ערכו של המשתנה ELSE; אחרת מושם במשתנה ELSE ערכו של המשתנה IF. ניתן להבחין בכך שהמלים IF, THEN ו-ELSE משמשות גם כמילות מפתח בשפה, וגם כשמות של משתנים. המשמעות של כל מופע של מילה ספציפית נקבעת לפי ההקשר. תכונה זאת פוגעת במידת הקריאות של הקוד (ולכן מקשה על תחזוקת קוד קיים), אך מקלה על כתיבת תכניות - המתכנת איננו מוגבל בבחירת השמות עבור משתנים על ידי אוסף מילות המפתח בשפה.
 
==דוגמת קוד==