کامپایلر: تفاوت میان نسخهها
محتوای حذفشده محتوای افزودهشده
Yamaha5Bot (بحث | مشارکتها) جز ←top: تمیزکاری با ویرایشگر خودکار فارسی |
جز ابزار پیوندساز: افزودن پیوند عبارت باقاعده به متن |
||
خط ۷۸:
# '''خط نوسازی'''. زبانهایی که اجازه تعیین فضای اختیاری برای شناسهها را میدهند قبل از عمل تجزیه نیاز به فاز اضافی دارند که کد ورودی را به صورت متعارفی برای تجزیه گر آماده کند. Algol, Coral66, Atlas Autocode وImp نمونههایی از این زبانه هستند که به خط نوسازی (Line Reconstruction) نیازمند است.
# '''پیش پردازش'''. برخی زبانها همچون C احتیاج به فاز پیش پردازش برای جایگزینی شروط کامپایل و [[ماکرو]]ها دارند. در زبان C فاز پیش پردازش شامل مرحله [[تحلیل لغوی]] میشود.
# '''تحلیل لغوی''' کد متنی مبدأ را به اجزای کوچکی که [[نشانه]](token) نامیده میشود میشکند. هر نشانه واحد سادهای از زبان است مثل [[کلمات کلیدی]] و نام نمادها. نحو نشانهها نوعاً یک [[زبان باقاعده]] است، بنابراین یک [[ماشین حالت متناهی]] که برپایه یک [[عبارت باقاعده]] بنا میشود میتواند جهت شناخت آن استفاده شود.
# '''تحلیل نحوی''' شامل تجزیه کردن نشانههای مرتب جهت شناخت ساختار نحوی زبان میباشد.
# '''تحلیل معنایی''' فازی است که معنای برنامه را جهت رعایت قوانین زبان بررسی میکند. یک مثال برای این فاز کنترل نوع است.
|