האוניברסיטה הפתוחה

תיאורי הקורסים

20364 קומפילציה

20364 קומפילציה‏

4 נקודות זכות ברמה מתקדמת ללא אפשרות לכתיבת עבודה סמינריונית

שיוך: מדעים / מדעי המחשב

שיוך נוסף: הנדסה / הנדסת תוכנה

תנאי קבלה: עמידה בדרישות האנגלית ובדרישות ההדרכה הביבליוגרפית בספרייה. ידע קודם דרוש: הקורסים אוטומטים ושפות פורמליות, מעבדה בתכנות מערכות.

פיתוח הקורס: פרופ' יהודית גל-עזר, בני פרידמן; יהודית גוגנהיימר (‏עריכת מדריך הלמידה‎)‏

יועץ: פרופ' עמירם יהודאי

מטרת הקורס

הקורס נועד להציג עקרונות של תיכון קומפיילרים (‏מהדרים‎)‏ וטכניקות למימושם. מושם דגש על פתרון בעיות כלליות שמציב תיכון של מתרגמי שפות, ללא תלות בשפת מקור או במכונת יעד ספציפיות.

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

ספר הקורס

A.V. Aho, M.S. Lam, R. Sethi & J.D. Ullman, Compilers: Principles, Techniques, and Tools, 2nd ed. (‏Addison Wesley, 2006‎)‏

הסטודנטים ילמדו פרקים מתוך ספר הקורס באנגלית בעזרת מדריך למידה בעברית.

פרקי הלימוד

(‏לא כל הפרקים יילמדו במלואם‎)‏

פרק 1

מבוא

פרק 2

מתרגם מונחה תחביר פשוט

פרק 3

מנתח לקסיקלי

פרק 4

מנתח תחבירי

פרק 5

תרגום מונחה תחביר

פרק 6

יצירת קוד ביניים

פרק 7

סביבת זמן הריצה

פרק 8

יצירת קוד

פרק 9

אופטימיזציה שאינה תלוית מכונה

תרגול

בקורס נדרש תרגול במחשב. פרטים על שיטת התרגול יופיעו בחוברת הקורס.