ההבדל בין אסמבלר לקומפיילר

Anonim

אסמבלר לעומת מהדר

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

-> ->

מהו קומפיילר?

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

-> ->

מהו אסמבלר?

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

-> ->

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

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