PL/I – הבדלי גרסאות
תוכן שנמחק תוכן שנוסף
אין תקציר עריכה |
מ הסבר בדף השיחה |
||
שורה 51:
*[[מצביע]] כ[[טיפוס נתונים]].
* ניהול זיכרון דינמי: [[משתנה (תכנות)|משתנים]] חולקו לארבע קטגוריות מבחינת ניהול הזיכרון:
** AUTOMATIC:
** STATIC: משתנה המתקיים במשך כל זמן פעולתה של התכנית
** CONTROLLED: משתנה שהתכנית קובעת מתי ייווצר ומתי יפנה את הזיכרון - משתנה כזה [[הקצאת זיכרון דינמית|מוקצה באופן דינמי]] על גבי זיכרון הערימה. שפת PL/I איננה כוללת מנגנון [[איסוף זבל]].
** BASED: משתנה המבוסס על הזיכרון שהוקצה למשתנה אחר. בעזרת קטגוריה זאת המתכנת יכול להגדיר מנגנון הקצאת זיכרון דינמי משלו, התפור לצורכי התכנית
יכולות נוספות:
שורה 69:
*בלוקים נפתחים במילה BEGIN ומסתיימים במילה END.
*האופרטור '=' משמש הן לפעולת השמה והן לפעולת השוואה, בתלות בהקשר שבו הוא נמצא.
===מילות מפתח===
מילות המפתח של השפה אינן [[מילים שמורות]], וניתן להשתמש בהם גם כמזהים. הקוד הבא, לדוגמה, חוקי (אם כי אינו מקובל):
שורה 75 ⟵ 76:
IF IF = THEN THEN THEN = ELSE ELSE ELSE = IF;
</div>
בשורה זו נבדק האם ערכו של המשתנה IF זהה לערכו של המשתנה THEN. אם כן, מושם במשתנה THEN ערכו של המשתנה ELSE; אחרת מושם במשתנה ELSE ערכו של המשתנה IF. ניתן להבחין בכך שהמלים IF, THEN ו-ELSE משמשות גם כמילות מפתח בשפה, וגם כשמות של משתנים. המשמעות של כל מופע של מילה ספציפית נקבעת לפי ההקשר. תכונה
==דוגמת קוד==
|