1. نمرات نهایی درس pdf icon small
  2. برنامه‌ی زمان‌بندی ارائه‌ی پروژه‌ها (منظور از شنبه و یک‌شنبه به ترتیب تاریخ‌های ۶ و ۷ مرداد می‌باشد)
  3. نمرات امتحان پایان‌ترم pdf icon small
  4. سؤالات امتحان پایان‌ترم pdf icon small
  5. تمرین‌های مرتبط با امتحان پایان‌ترم به همراه پاسخ‌نامه pdf icon small
  6. نمرات امتحان میان‌ترم pdf icon small
  7. پروژه ۳: pdf icon small موعد تحویل:  سه‌شنبه، ۲۵ اردیبهشت. نحوه‌ی تحویل پروژه: تحویل از طریق ای-میل (تا ۱۵ دقیقه پیش از کلاس درس) و ارائه‌ی حضوری با کامپیوتر شخصی. زمان ارائه حضوری، پس از کلاس درس می‌باشد.
  8. سؤالات امتحان میان‌ترم اول: pdf icon small
  9. تمرین‌هایی مرتبط با مباحث امتحان میان‌ترم pdf icon small
  10. ماتون،  یک بازی اندروئیدی جالب برای یادگیری عبارات منظم و اتوماتون. گسترش‌دهندگان: آریا صادقی - آتنا محمدی
  11. پروژه ۲: pdf icon small موعد تحویل: در فایل pdf آمده. نحوه‌ی تحویل پروژه: تحویل از طریق ای-میل (تا یک ساعت پیش از کلاس درس) و ارائه‌ی حضوری با کامپیوتر شخصی. زمان ارائه متعاقباً اعلام می‌شود.
  12. کانال تلگرام برای کلاس حل تمرین
  13. پیوند دیگری برای این درس
  14. پیوند مربوط به اسلایدها و نمونه‌سؤالات امتحانی و ... از درس کامپایلر دانشگاه Stanford. آInstructor: Prof. Alex Aiken
  15. پروژه ۱: pdf icon small موعد تحویل: یکشنبه، ۶ اسفند، پیش از کلاس درس. نحوه‌ی تحویل پروژه: متعاقباً اعلام می‌شود.
  16. راهنمای نصب کامپایلر COOL و راهنمای چند برنامه‌ی مرتبط دیگر(FLex, JLex, Bison , ...) pdf icon small
  17. راهنمای زبان برنامه‌نویسی COOL
  18. تدریس‌یاران درس: آقای بنیامین دلشاد و آقای محمد محزون
  19. کلاس‌ حل تمرین: دوشنبه‌ها ساعت ۱۲-۱۳ محل کلاس تمرین: ۲۰۴
  20. Cool Programming Language
  21. کتابِ اصلی  درس: https://www.amazon.com/Compilers-Principles-Techniques-Tools-2nd/dp/0321486811
  22. آزمون‌ میان‌ترم:(۱) یکشنبه ۲۰ اسفند (۲) یکشنبه ۹ اردیبهشت
  23. نحوه‌ی محاسبه‌ی نمره: ۷ نمره میان‌ترم + ۸ نمره پایان‌ترم + ۲ نمره تمرین + ۳ نمره پروژه
  24. برای آگاهی از اخبار درس، ای-میل خود را در سمت چپ همین صفحه وارد کنید.
  25. این‌جا صفحه‌ی اختصاصی درس کامپایلراست که در نیم‌‌سال دوم سال تحصیلی ۱۳۹۶-۹۷ در دانشکده‌ی ریاضی، آمار و ع.ک. دانشگاه تهران ارائه می‌شود.


  1. فرمول محاسبه‌ی نمره‌ی نهایی: ۹ نمره پروژه + ۹ نمره امتحان فاینال + ۲ نمره تمرین.
  2. نمرات پروژه‌ها: pdf icon small 
  3. نمرات امتحان پایان‌ترم: pdf icon small  بازبینی برگه‌های امتحان: هنگام مراجعه برای تحویل پروژه. (شماره‌ی ردیف خود را از لیست نمرات به خاطر داشته باشید)
  4. سؤالات امتحان پایانی درس به همراه پاسخ ‌نامه‌ی کوتاه: pdf icon small
  5. توجه مهم: موعد تحویل پروژه‌ی نهایی درس، تاریخ دوشنبه ۲۴ تیر  ساعت ۱۴  سه‌شنبه ۲۵ تیر ساعت ۱۶ در کلاس ۱۰۹ می‌باشد. پیش از این موعد لازم است پروژه‌ ای-میل شود.  این تاریخ قابل تغییر/تمدید نیست.
  6. پروژه ۵ (پروژه‌ی نهایی کامپایلر): pdf icon small
  7. پروژه ۴: pdf icon small
  8. پروژه ۳: pdf icon small
  9. پروژه ۲: pdf icon small
  10. پروژه ۱: pdf icon small موعد تحویل: سه‌شنبه، ۷ اسفند، پیش از کلاس درس از طریق ارسال ای-میل. نحوه‌ی تحویل پروژه: با همراه داشتن لپ‌تاپ  در کلاس درس حضور داشته باشید.
    توجه مهم: فرمت ایمیلتان به این صورت باشد:
    • عنوان ای-میل= Compiler Project 1
    • متن ای-میل= شماره‌ی دانشجویی و نام و نام خانوادگی شما
    • فایل ضمیمه شده باید یک فایل فشرده شده (zip یا rar gz یا tar.gz یا 7zip) باشد که نام آن، نام و نام خانوادگی شما باشد.
  11.  پیوند دیگری برای این درس
  12. پیوند مربوط به اسلایدها و نمونه‌سؤالات امتحانی و ... از درس کامپایلر دانشگاه Stanford. آInstructor: Prof. Alex Aiken
  13. راهنمای نصب کامپایلر COOL و راهنمای چند برنامه‌ی مرتبط دیگر(FLex, JLex, Bison , ...) pdf icon small
  14. راهنمای زبان برنامه‌نویسی COOL
  15. تدریس‌یاران درس: خانم پریسا صفریزدی  و خانم اسما فرجی دیزجی
  16. کلاس‌ حل تمرین: یکشنبه‌ها ساعت ۱۳-۱۴
  17. Cool Programming Language
  18. کتابِ اصلی  درس: https://www.amazon.com/Compilers-Principles-Techniques-Tools-2nd/dp/0321486811
  19. نحوه‌ی محاسبه‌ی نمره:  ۱۰ نمره پایان‌ترم + ۱۰ نمره پروژه  و تمرین
  20. برای آگاهی از اخبار درس، ای-میل خود را در سمت چپ همین صفحه وارد کنید.
  21. این‌جا صفحه‌ی اختصاصی درس کامپایلراست که در نیم‌‌سال دوم سال تحصیلی ۱۳۹۷-۹۸ در دانشکده‌ی ریاضی، آمار و ع.ک. دانشگاه تهران ارائه می‌شود.


  1. تحویل فاز آخر پروژه و ارزیابی مختصر شفاهی طبق این جدول زمانی و در تاریخ دوشنبه ۲۷ مرداد انجام خواهد شد. دستورالعمل تحویل پروژه‌ها در بند ۳۰ آمده.
  2. در صورتی که تمایل به ارزیابیِ مفصلِ شفاهی و آنلاین (اسکایپی) دارید، تا سه‌شنبه ۱۰ تیر، نام، نام خانوادگی و شماره‌ی دانشجویی خود را (علاوه بر نوشته‌ای که بیان می‌کند گزینه‌ی انتخابیتان برای ارزیابی، آنلاین و شفاهی خواهد بود)  برایم ارسال کنید (تلگرام، واتس‌اپ یا ای‌میل). توجه: ارزیابی مفصل شفاهی در روز امتحان (۱۸ تیر) خواهد بود و جدول زمان‌بندی آن از همین طریق اعلان خواهد شد.
  3. توزین نمرات فازهای مختلف پروژه‌ی درس:
    • برنامه‌ی کول: ۱
    • لکسر: ۴
    • پارسر: ۶
    • سمنتیک: ۸
    • کُدجنریشن: ۱۲
  4. نحوه‌ی ارزیابی و محاسبه‌ی نمره‌ی نهایی به این صورت است: نمره‌ی نهایی= پروژه (۱۰نمره) + ارزیابیِ مختصر شفاهی و آنلاین (۲نمره) + ارزیابیِ دل‌خواه (۸نمره). در این فرمول ارزیابیِ دل‌خواه به انتخاب دانشجو، به یکی از روش‌هایی که در پی می‌آید محاسبه خواهد شد: (الف) آزمون مفصل (حدود یک‌ساعته) شفاهی و آنلاین، (ب) «معدل دانشجو در سامانه‌ی آموزش به‌علاوه‌ی ۳» ضرب‌در ۴دَهُم. توجه۱:  ارزیابی مختصر شفاهی، هم‌زمان با ارائه‌ی فاز آخر پروژه خواهد بود که جدول زمانیِ آن به زودی اعلام خواهد شد. توجه۲: ارزیابی مفصل شفاهی در تاریخ ۱۸ تیر  به عمل خواهد آمد و در صورتی که دانشجو این نحوه را برای ارزیابی برگزیند، امکان تغییر آن پس از ارزیابی شفاهی وجود نخواهد داشت.
  5. نمرات فاز چهارم پروژه‌ی درس به همراه نمرات آزمون شفاهی: pdf icon small
  6. دستورالعمل تحویل پروژه به صورت آنلاین: (یکشنبه ۱۸ خرداد)
    ۱- در زمان تعیین شده در جدول زمانی pdf icon small، با زدن روی این پیوند، به گروه اسکایپی بپیوندید.
    ۲- حتما با لپ‌تاپی که روی آن امکان انجام پروژه هست این کار را انجام داده و علاوه بر روشن گذاشتن میکروفون و وب‌کم، اسکرین لپ‌تاپتان را هم با من به اشتراک بگذارید. پیشنهاد میکنم پیش از تحویل پروژه، حتما همه‌ی این موارد را به صورت آزمایشی با یکی از دوستانتان امتحان کنید.
    ۳- پس از اتمام پرسش‌ها، گروه اسکایپی را تَرک کنید.
    ۴- پیش و پس از بازه‌ی زمانی مربوط به خودتان در گروه اسکایپی نباشید.فقط زمان تحویل پروژه.
    ۵- در ابتدای گزارش پروژه، نام، نام خانوادگی، شماره‌ی دانشجوییتان و نحوه‌ی مورد نظرتان برای ارزیابی (تستی یا شفاهی) را در همان گروه اسکایپی، بدون هیچ گونه متن اضافه‌تری تایپ و ارسال کنید.
    ۶- در صورتی که فردا سؤالی از من دارید، می‌توانید از طریق واتس‌اَپ به شماره‌ی ۰۹۰۳۱۸۹۸۴۶۹ در میان بگذارید. فردا تلگرام برای من در دسترس نیست.
    برای همه‌ی شما آرزوی موفقیت دارم.
  7. فاز پنجم پروژه‌ی درس: pdf icon small موعد تحویل: سه‌شنیه ۲۱ مرداد تا ساعت ۲۳:۵۹ از طریق ارسال ای-میل به آدرس This email address is being protected from spambots. You need JavaScript enabled to view it..
  8. آموزش مَجازی، یکشنبه و سه‌شنبه ۲۸ و ۳۰ اردیبهشت ۱۳۹۹: مشاهده‌ی xx-13 (از پوشه‌ی W7) از کلاس‌های آموزشیِ کورسِ Stanford. مباحث: Operational Semantics.
  9. آموزش مَجازی، یکشنبه و سه‌شنبه ۲۱ و ۲۳ اردیبهشت ۱۳۹۹: مشاهده‌ی xx-12 (از پوشه‌ی W7) از کلاس‌های آموزشیِ کورسِ Stanford. مباحث: Code Generation.
  10. آموزش مَجازی،  یکشنبه و سه‌شنبه ۱۴  و ۱۶ اردیبهشت ۱۳۹۹: مشاهده‌ی xx-11 (از پوشه‌ی W6) از کلاس‌های آموزشیِ کورسِ Stanford. مباحث: Run time Organization.
  11. فاز چهارم پروژه‌ی درس: pdf icon small  موعد تحویل: سه‌شنیه ۲۱اردیبهشت تا ساعت ۲۳:۵۹ از طریق  ارسال ای-میل به آدرس  This email address is being protected from spambots. You need JavaScript enabled to view it..
  12. آموزش مَجازی،  یکشنبه و سه‌شنبه ۷  و ۹ اردیبهشت ۱۳۹۹: مشاهده‌ی xx-10 (از پوشه‌ی W6) از کلاس‌های آموزشیِ کورسِ Stanford. مباحث: Semantical Analysis  II.
  13. آموزش مَجازی،  یکشنبه و سه‌شنبه ۳۱ فروردین و ۲ اردیبهشت ۱۳۹۹: مشاهده‌ی xx-09 (از پوشه‌ی W5) از کلاس‌های آموزشیِ کورسِ Stanford. مباحث: Semantical Analysis  I.
  14. آموزش مَجازی، یکشنبه و سه‌شنبه، ۲۴ و ۲۶ فروردین ۱۳۹۹: مطالعه‌ی فصل ۴ (Syntax Analysis) از کتاب Aho. (بخش‌های ۴.۷ و ۴.۸ و ۴.۹)
  15. آموزش مَجازی، یکشنبه و سه‌شنبه، ۱۷ و ۱۹ فروردین ۱۳۹۹: مطالعه‌ی فصل ۴ (Syntax Analysis) از کتاب Aho. (بخش‌های ۴.۱ و ۴.۲ و ۴.۳ و ۴.۴ و ۴.۵ و ۴.۶)
  16. فاز سوم پروژه‌ی درس: pdf icon small  موعد تحویل: سه‌شنیه ۱۹ فروردین تا ساعت ۲۳:۵۹ از طریق  ارسال ای-میل به آدرس  This email address is being protected from spambots. You need JavaScript enabled to view it.. به عنوان فعالیتی که نمره اضافه‌تری خواهد داشت، می‌توانید مدل ارث‌بری زبان را از single inheritance به multiple inheritance تغییر بدهید. که البته تغییری است که در فاز‌های مختلف تاثیر می‌‌گذارد.  تغییرات لازم برای این فاز، انتهای توضیحات پروژه نوشته شده. در فاز‌های بعدی هم به همین صورت تغییرات لازم نسبت به پروژه اصلی را توضیح خواهیم‌داد.
  17. آموزش مَجازی،  یکشنبه و سه‌شنبه ۲۵ و ۲۷ اسفند ۹۸: مشاهده‌ی xx-08 (از پوشه‌ی W4) از کلاس‌های آموزشیِ کورسِ Stanford. مباحث: Handles, Viable prefixes, Valid items, SLR parsing.
  18. آموزش مَجازی،  سه‌شنبه  ۲۰ اسفند ۹۸: مشاهده‌ی 01-07 02-07 03-07 04-07  05-07  06-07 (از پوشه‌ی W4) از کلاس‌های آموزشیِ کورسِ Stanford. مباحث: LL1 Parsing Table، Bottom Up Parsing، Shift-Reduce Parsing.
  19. فاز دوم پروژه‌ی درس: pdf icon small  موعد تحویل: سه‌شنبه ۲۰ اسفند یکشنبه ۲۵ اسفند تا ساعت ۲۳:۵۹ از طریق  ارسال ای-میل به آدرس  This email address is being protected from spambots. You need JavaScript enabled to view it..
  20. اگر در مورد مباحث درس سؤالی دارید، می‌توانید از طریق ای-میل This email address is being protected from spambots. You need JavaScript enabled to view it. و یا در گروه تلگرام بپرسید.
  21. دستور‌العمل ارسال پروژه‌ها: لطفاً به کمک اسکنر یا نرم‌افزارهای موبایلی، برای هر سری پروژه، یک فایل Zip  تهیه و به آدرس This email address is being protected from spambots. You need JavaScript enabled to view it. ای-میل کنید. عنوان ای-میل من برای پروژه‌ی سری ۱: P1-Mojtaba Mojtahedi
  22. آموزش مَجازی، یکشنبه و سه‌شنبه  ۱۱ و ۱۳ اسفند ۹۸: مشاهده‌ی هفته‌ی سوم (پوشه‌ی W3) از کلاس‌های آموزشیِ کورسِ Stanford. مباحث: پارسر، گرامرهای مستقل از متن، درخت اشتقاق، ابهام، خطایابی، AST، الگوریتم‌  Recursive Descent و محدودیت‌های آن،Left Recursion.
  23.  فاز اول پروژه‌ی درس: pdf icon small  موعد تحویل: سه‌شنبه ۶ بهمن ساعت ۱۲ در کلاس حل تمرین.
  24. گروه تلگرام: https://t.me/joinchat/Bn4NnA8EW0CG-y0EYzFg_Q
  25. پیوند صفحه‌ی درس مربوط به سالهای قبل (حاوی نمونه‌سؤالات امتحانات میان‌ترم و پایان‌ترم گذشته به همراه پاسخنامه‌ها)
  26. ماتون،  یک بازی اندروئیدی جالب برای یادگیری عبارات منظم و اتوماتون. گسترش‌دهندگان: آریا صادقی - آتنا محمدی
  27. پیوند دیگری برای این درس
  28. پیوند مربوط به اسلایدها و نمونه‌سؤالات امتحانی و ... از درس کامپایلر دانشگاه Stanford. آInstructor: Prof. Alex Aiken
  29. راهنمای نصب کامپایلر COOL و راهنمای چند برنامه‌ی مرتبط دیگر(FLex, JLex, Bison , ...) pdf icon small
  30. راهنمای زبان برنامه‌نویسی COOL
  31. تدریس‌یاران: خانم بهارین علی‌اشرفی و آقای علی عاملی
  32. کلاس‌ حل تمرین: سه‌شنبه‌ها ۱۲-۱۴
  33. Cool Programming Language
  34. کتابِ اصلی  درس: https://www.amazon.com/Compilers-Principles-Techniques-Tools-2nd/dp/0321486811
  35. این‌جا صفحه‌ی اختصاصی درس کامپایلراست که در نیم‌‌سال دوم سال تحصیلی ۱۳۹۸-۹۹ در دانشکده‌ی ریاضی، آمار و ع.ک. دانشگاه تهران ارائه می‌شود.


  1. کلاس‌های این درس روزهای یک‌شنبه و سه‌شنبه ساعت ۱۰ صبح  از طریق اسکایپ برگزار می‌شود:‌ https://join.skype.com/zMKK0ikWwSfx
  2. فاز اول پروژه‌ی درس: pdf icon small  موعد تحویل:
  3. کانال تلگرام: https://t.me/ut1400compiler
  4. پیوند صفحه‌ی درس مربوط به سالهای قبل (حاوی نمونه‌سؤالات امتحانات میان‌ترم و پایان‌ترم گذشته به همراه پاسخنامه‌ها)
  5. ماتون،  یک بازی اندروئیدی جالب برای یادگیری عبارات منظم و اتوماتون. گسترش‌دهندگان: آریا صادقی - آتنا محمدی
  6. پیوند دیگری برای این درس
  7. پیوند مربوط به اسلایدها و نمونه‌سؤالات امتحانی و ... از درس کامپایلر دانشگاه Stanford. آInstructor: Prof. Alex Aiken
  8. راهنمای نصب کامپایلر COOL و راهنمای چند برنامه‌ی مرتبط دیگر(FLex, JLex, Bison , ...) pdf icon small
  9. راهنمای زبان برنامه‌نویسی COOL
  10. تدریس‌یاران:
  11. کلاس‌ حل تمرین:
  12. Cool Programming Language
  13. کتابِ اصلی  درس: https://www.amazon.com/Compilers-Principles-Techniques-Tools-2nd/dp/0321486811
  14. این‌جا صفحه‌ی اختصاصی درس کامپایلراست که در نیم‌‌سال دوم سال تحصیلی۱۳۹۹-۱۴۰۰ در دانشکده‌ی ریاضی، آمار و ع.ک. دانشگاه تهران ارائه می‌شود.