הנתח המילוני צריך לסרוק ולזהות רק קבוצה סופית של מחרוזת/אסימון/לקסמה חוקיים השייכים לשפה שביד. הוא מחפש את התבנית המוגדרת על ידי חוקי השפה. לביטויים רגולריים יש את היכולת לבטא שפות סופיות על ידי הגדרת תבנית עבור מחרוזות סופיות של סמלים.
למה אנחנו צריכים מנתח מילוני?
The Role of the Lexical Analyzer
השלב הראשון של מהדר. ניתוח לקסיקלי: תהליך של לקיחת מחרוזת קלט של תווים (כגון קוד המקור של תוכנית מחשב) והפקת רצף של סמלים הנקראים אסימונים לקסיקליים, או סתם אסימונים, אשר עשויים להיות מטופלים ביתר קלות על ידי מנתח.
מה תפקידו של המנתח המילוני במהדר?
עם קבלת פקודת get-next-tohen מהנתח, המנתח המילוני קורא תווי קלט עד שהוא יכול לזהות את האסימון הבא. האסימונים משפיעים על החלטות ניתוח, … התכונות משפיעות על תרגום האסימונים.
מה מייצר מנתח מילוני?
הנתח המילוני (נוצר אוטומטית על ידי כלי כמו לקס, או בעבודת יד) קורא בזרם של תווים, מזהה את הלקסים בזרם, ומסווג אותם לאסימונים. זה נקרא אסימון. אם ה-lexer ימצא אסימון לא חוקי, הוא ידווח על שגיאה.
מה הצורך ב-Lexical Analyzer ו-Syntax Analyzer בשלב שונה?
מנתח מילוני הוא תואם דפוסים. ניתוח תחביר כולל יצירת עץ לזיהוי עיוותים בתחביר של התוכנית. לעתים קרובות נעשה שימוש בגישות פחות מורכבות לניתוח מילוני. ניתוח תחביר דורש גישה הרבה יותר מורכבת.