IKIU-CE, The computer-engineering students web log - Qazvin, وب‌نوشت دانشجویان گروه مهندسی کامپیوتر - قزوین
یادداشت‌ها: فارسی ، Posts: English

۱۳۸۸ آذر ۱۱, چهارشنبه

پروژه درس طراحی و پیاده سازی زبان های برنامه سازی


مرحله یک: با استفاده از BNF, EBNF, Attribute grammars زبانی شامل دستورات زیر طراحی کنید:
  1. دستور انتساب (assignment)
  2. دستور شرط شامل شرط های تو در تو (if-then-else)
  3. دستور حلقه (while)
  4. دستورات ورودی و خروجی
در طراحی زبان باید موارد زیر درنظر گرفته شود:
  1. Variable declaration که بسته به زبان انتخابی می تواند explicit یا implicit باشد
  2. تقدم و تاخر عملگرها (precedence) . عملگرها شامل جمع، تفریق، ضرب، تقسیم، افزایش و کاهش (unary plus; unary minus) می باشد.
  3. associativity
هر گروه باید دستورات و همچنین موارد سه گانه بالا را با زبانی که انتخاب کرده است هماهنگ نماید.
تاریخ تحویل مرحله 1: تا شنبه 21 آذر قبل از ظهر و بصورت کتبی می باشد.

مرحله دو: برای زبانی که طراحی کرده اید یک recognizer بنویسید. برای اینکار میتوانید recognizer را با زبان دلخواه خود بنویسید و یا از ابزارهای کمکی استفاده کنید.
تاریخ تحویل مرحله 2: پایان ترم جاری زمان دقیق بعدا اعلام میشود.

تحقیق: بصورت گروهی و نمره اضافه بر 20
یکی از موارد زیر را انتخاب کنید. نتیجه و کار باید در اندازه و شکل یک مقاله علمی شامل خلاصه (abstract)، مقدمه (introduction)، متن مقاله، جمع بندی(conclusion) و چشم انداز(perspective) باشد. مقاله حداقل 4 و حداکثر 8 صفحه داشته باشد.
  1. مقایسه آرایه ها در C, C#, Java, Javascript, PHP
  2. مقایسه pointer در C, C++ و reference در Java با درنظر گرفتن مدیریت حافظه
  3. مقایسه نحوه رد کردن پارامترهای یک زیر روال در C, Pascal, Java
  4. وقوع aliasing در C, C++, Pascal, Java
توجه: گروه هایی که تحقیقی را انتخاب نمودند باید تا روز سه شنبه 17 آذر حضوری اعلام آمادگی نموده و عنوان دلخواه را ثبت کنند.
تاریخ تحویل تحقیق: پایان ترم جاری زمان دقیق بعدا اعلام میشود.

امتحان میان ترم: یکشنبه 29 آذر ساعت 17-19
فصل های 1 و2 کتاب از امتحان پایان ترم حذف می شوند.