הבדל בין מרכיב ומהדר

הבדל בין מרכיב ומהדר
הבדל בין מרכיב ומהדר

וִידֵאוֹ: הבדל בין מרכיב ומהדר

וִידֵאוֹ: הבדל בין מרכיב ומהדר
וִידֵאוֹ: ולוג ארה"ב 2018 | מה חשבתי על דיסנילנד קליפורניה? 2024, נוֹבֶמבֶּר
Anonim

Assembler vs Compiler

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

מה זה מהדר?

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

מהו אסמבלר?

Assembler היא תוכנה או כלי שמתרגמים את שפת ה-Assembly לקוד מכונה. אז, אסמבלר הוא סוג של מהדר וקוד המקור כתוב בשפת Assembly. Assembly היא שפה קריאה אנושית אך בדרך כלל יש לה קשר אחד לאחד עם קוד המכונה המתאים. לכן אומרים על אסמבלר לבצע תרגום איזומורפי (מיפוי אחד לאחד). מרכיבים מתקדמים מספקים תכונות נוספות התומכות בפיתוח תוכניות ובתהליכי איתור באגים. לדוגמה, סוג ההרכבים הנקרא מאקרו assemblers מספק מתקן מאקרו.

מה ההבדל בין אסמבלר למהדר?

Compiler היא תוכנת מחשב שקוראת תוכנית שנכתבה בשפה אחת ומתרגמת אותה לשפה אחרת, בעוד ש-assembler יכול להיחשב כסוג מיוחד של מהדר שמתרגם רק שפת Assembly לקוד מכונה. מהדרים בדרך כלל מייצרים את קוד ההפעלה של המכונה ישירות משפה ברמה גבוהה, אך מרכיבים מייצרים קוד אובייקט שאולי צריך לקשר אותו באמצעות תוכניות מקשר כדי להפעיל אותו במכונה.מכיוון שלשפת Assembly יש מיפוי אחד לאחד עם קוד מכונה, אסמבלר עשוי לשמש לייצור קוד שפועל ביעילות רבה למקרים שבהם הביצועים חשובים מאוד (לדוגמה למנועי גרפיקה, מערכות משובצות עם משאבי חומרה מוגבלים בהשוואה למחשב אישי כמו מיקרוגלים, מכונות כביסה וכו').

מוּמלָץ: