Download as pdf or txt
Download as pdf or txt
You are on page 1of 11

‫دانشگاه صنعتی شاهرود‬

‫دانشکده مهندسی کامپیوتر و فناوری اطلعات‬

‫درس اصول طراحی کامپایلر‬

‫کامپایلر چیست؟‬

‫مدرس‪:‬‬
‫علیرضا تجری‬
‫هر یک از موارد زیر چیست؟‬

‫دانشگاه صنعتی شاهرود‬ ‫اصول طراحی کامپایلر‬ ‫‪ ۲‬از ‪۱۱‬‬


‫هر یک از موارد زیر چیست؟‬

‫دانشگاه صنعتی شاهرود‬ ‫اصول طراحی کامپایلر‬ ‫‪ ۳‬از ‪۱۱‬‬


‫برنامههای کامپیوتری چگونه اجرا میشوند؟‬

‫برنامههای کامپیوتری به فایل اجرایی )‪ (exe‬تبدیل میشوند و‬


‫سپس فایل ‪ exe‬اجرا میشود‪.‬‬

‫مثال؟‬

‫برنامههای کامپیوتری در یک نرمافزار اجرا میشود‪.‬‬


‫مثال؟‬

‫دانشگاه صنعتی شاهرود‬ ‫اصول طراحی کامپایلر‬ ‫‪ ۴‬از ‪۱۱‬‬


‫کامپایلر‬

‫برنامه به زبان مبدا‬

‫برنامه به زبان مقصد )زبان ماشین(‬

‫نحوه اجرا‬

‫دانشگاه صنعتی شاهرود‬ ‫اصول طراحی کامپایلر‬ ‫‪ ۵‬از ‪۱۱‬‬


‫مفسر‬

‫دانشگاه صنعتی شاهرود‬ ‫اصول طراحی کامپایلر‬ ‫‪ ۶‬از ‪۱۱‬‬


‫کامپایلر ‪ /‬مفسر‬

‫‪gcc.exe main.c -o prog.exe‬‬


‫‪prog.exe‬‬

‫‪python main.py‬‬

‫دانشگاه صنعتی شاهرود‬ ‫اصول طراحی کامپایلر‬ ‫‪ ۷‬از ‪۱۱‬‬


‫مقایسه کامپایلر و مفسر‬
‫معمول برنامههایی که کامپایل میشوند خیلی سریعتر از برنامههایی که تفسیر میشوند اجرا‬ ‫‪‬‬

‫میشوند‪.‬‬

‫خروجی کامپایلرها وابسته به سیستمعامل و نوع پردازنده است‪.‬‬ ‫‪‬‬

‫به عنوان مثال برنامهای که برای ویندوز ‪ ۶۴‬بیتی کامپایل شده است‪ ،‬روی ویندوز ‪ ۳۲‬بیتی اجرا نمیشود‪.‬‬ ‫●‬

‫برای اجرای برنامه روی ویندوز ‪ ۳۲‬بیتی‪ ،‬باید دوباره روی ویندوز ‪ ۳۲‬بیتی کامپایل شود‪.‬‬ ‫●‬

‫برای اجرای یک برنامه با استفاده از مفسر‪ ،‬باید آن مفسر را داشت‪ .‬برنامههایی که تفسیر میشوند‪،‬‬ ‫‪‬‬

‫مستقل از سیستمعامل و پردازندهاند‪.‬‬


‫می توان در لینوکس یک برنامه به زبان پایتون نوشت و همان برنامه را در ویندوز اجرا کرد‪.‬‬ ‫●‬

‫به شرطی که در ویندوز‪ ،‬مفسر پایتون موجود باشد‪.‬‬ ‫●‬

‫در این حالت باید کد منبع را هم در اختیار داشت‪.‬‬ ‫●‬

‫دانشگاه صنعتی شاهرود‬ ‫اصول طراحی کامپایلر‬ ‫‪ ۸‬از ‪۱۱‬‬


‫جاوا‬

‫دانشگاه صنعتی شاهرود‬ ‫اصول طراحی کامپایلر‬ ‫‪ ۹‬از ‪۱۱‬‬


‫جاوا‬

‫دانشگاه صنعتی شاهرود‬ ‫اصول طراحی کامپایلر‬ ‫‪ ۱۰‬از ‪۱۱‬‬


‫پروژه درس‬
‫;‪a = 0‬‬ ‫‪3‬‬
‫{))‪while(a < (5 * 2‬‬ ‫‪4‬‬
‫{ )‪if(a % 2 == 0‬‬ ‫‪7‬‬
‫;‪a = a + 3‬‬ ‫‪8‬‬
‫{‪}else‬‬ ‫‪11‬‬
‫;‪a = a + 1‬‬
‫}‬
‫‪print a‬‬
‫}‬

‫دانشگاه صنعتی شاهرود‬ ‫اصول طراحی کامپایلر‬ ‫‪ ۱۱‬از ‪۱۱‬‬

You might also like