مرحله یک: با استفاده از BNF, EBNF, Attribute grammars زبانی شامل دستورات زیر طراحی کنید:
- دستور انتساب (assignment)
- دستور شرط شامل شرط های تو در تو (if-then-else)
- دستور حلقه (while)
- دستورات ورودی و خروجی
- Variable declaration که بسته به زبان انتخابی می تواند explicit یا implicit باشد
- تقدم و تاخر عملگرها (precedence) . عملگرها شامل جمع، تفریق، ضرب، تقسیم، افزایش و کاهش (unary plus; unary minus) می باشد.
- associativity
تاریخ تحویل مرحله 1: تا شنبه 21 آذر قبل از ظهر و بصورت کتبی می باشد.
مرحله دو: برای زبانی که طراحی کرده اید یک recognizer بنویسید. برای اینکار میتوانید recognizer را با زبان دلخواه خود بنویسید و یا از ابزارهای کمکی استفاده کنید.
تاریخ تحویل مرحله 2: پایان ترم جاری زمان دقیق بعدا اعلام میشود.
تحقیق: بصورت گروهی و نمره اضافه بر 20
یکی از موارد زیر را انتخاب کنید. نتیجه و کار باید در اندازه و شکل یک مقاله علمی شامل خلاصه (abstract)، مقدمه (introduction)، متن مقاله، جمع بندی(conclusion) و چشم انداز(perspective) باشد. مقاله حداقل 4 و حداکثر 8 صفحه داشته باشد.
- مقایسه آرایه ها در C, C#, Java, Javascript, PHP
- مقایسه pointer در C, C++ و reference در Java با درنظر گرفتن مدیریت حافظه
- مقایسه نحوه رد کردن پارامترهای یک زیر روال در C, Pascal, Java
- وقوع aliasing در C, C++, Pascal, Java
تاریخ تحویل تحقیق: پایان ترم جاری زمان دقیق بعدا اعلام میشود.
امتحان میان ترم: یکشنبه 29 آذر ساعت 17-19
فصل های 1 و2 کتاب از امتحان پایان ترم حذف می شوند.
0 نظر:
ارسال یک نظر