פרק 1: אבני הבניין1.1 תחביר |
התרשים הבא מסכם את כל סוגי הביטויים בשפת פרולוג. הביטויים נחלקים לשתי קבוצות
עקריות: ביטויים פשוטים וביטויים מורכבים. הביטויים הפשוטים
נחלקים אף הם לשתי קבוצות: קבועים ומשתנים. העלים בעץ, המסומנים
בצבע ורוד, הם ארבע אבני הבניין לכתיבת תוכניות בפרולוג.
נציג כעת את ארבעת סוגי הביטויים ביתר פירוט.
|
אטום:
- מחרוזת של תווים שמתחילה באות קטנה וכוללת אותיות גדולות, אותיות קטנות, ספרות, קו תחתון. דוגמאות: harry_potter, harryPotter, harryPotter2.
- כל רצף תווים שמוקף בגרשיים בודדים. דוגמאות: 'Mr Harry Potter',
'harry_potter', ' '.
- רצף של תווים מיוחדים. אטומים אלה לרוב נושאים משמעות מוגדרת. דוגמאות: =@=, -:, ;.
|
מספר:
מספרים שלמים (...1-,0, 1, 2, ...) משמשים רבות ביישומים טיפוסיים בפרולוג. כתיבתם בפרולוג היא פשוט: 0, 2003, 1- וכדומה.
נלמד עליהם בהרחבה בהמשך. מספרים ממשיים, לעומת זאת, אינם משמשים רבות ביישומים טיפוסיים. השפה אמנם תומכת בייצוג "נקודה צפה" של
מספרים ממשייים (כגון 13.9897, השורש הריבועי של 2 וכדומה), אך אנו לא נרחיב אודותם כאן.
|
משתנה:
מחרוזת של תווים שמתחילה באות גדולה או בקו תחתון וכוללת אותיות גדולות, אותיות קטנות, ספרות, קו תחתון. דוגמאות: Harry_potter, H, _harry2.
שימו לב לדמיון התחבירי בין אטומים למשתנים: ניתן להבחין ביניהם רק על סמך התו הראשון.
קו תחתון בודד (_) הוא משתנה מיוחד, וניפגש בו בהמשך.
|
ביטוי מורכב:
ביטויים אלה כשמם כן הם, מורכבים מאטומים, מספרים ומשתנים. הם בנויים ממתאר (functor) שאחריו רצף של מתוארים (arguments) בתוך סוגריים, מופרדים בפסיקים. המתאר חייב להיות אטום. המתוארים יכולים להיות כל ביטוי שהוא.
שימו לב שההגדרה מאפשרת ליצור ביטויים מורכבים שבנויים בעצמם מביטויים מורכבים. במילים אחרות, זו הגדרה רקורסיבית.
|
number(1948).
send(magic_hat, X, gryffindor).
send(magic_hat, Student, house(harry)).
המתאר: send, הוא אטום.
המתוארים: magic_hat, gryffindor הם אטומים, X הוא משתנה. |
דוגמא לבנייה רקורסיבית של ביטוי מורכב.
בדוגמא זו למתאר יש שלושה מתוארים: אטום, משתנה, וביטוי מורכב. |
שימו לב לקוד האינטראקטיבי.
|
חשוב לדעת שהמאפיינים הבסיסיים של ביטוי מורכב הם המתאר שלו ומספר המתוארים שלו. לכן, שני ביטויים מורכבים שיש להם אותו מתאר, אבל מספר מתוארים שונה, נחשבים בפרולוג ביטויים שונים לגמרי. נסמן ביטויים מורכבים כדלקמן: שם המתאר, קו נטוי, ואחריו מספר המתוארים.
הביטויים המורכבים שהצגנו בדוגמא האחרונה יתוארו כך: number/1, send/3.
כעת נראה כיצד משתמשים באבני הבניין התחביריות לבנות תוכניות בפרולוג.
|
|
מבוא |
|
נושאים בסיסיים |
|
נושאים מתקדמים |
|
סיכום |
|
|