بازم سلام
در مورد این پروژه هیچ مطلب مهمی نمونده فقط یه نکته کوچولو اونم اینکه : این کامپایلر در اصل برای زبان کردی نوشته میشه نه فارسی.اما اگه من به اون اشاره ای نکردم دلیلش این بود که نمی خواستم ذهن دوستان درگیر معنی یا مفهوم کردی کلمات باشه ، خیلیها کردی بلد نیستند. پس لازم میشه یه سری توضیحات داده بشه و
و این توضیحات ذهن آدم رو از کار اصلی دور میکنه. خیلی ممنون میشم که شما توضیحات فارسی رو بگید من خودم به کردی تبدیلش میکنم اما
آنچه که من باید انجام بدم
Interpreter زبان کردی که باید تمام مراحل اعم از تحلیل لغوی،نحوی،معنایی،کد میانی،بهینه ساز کد و کد مقصد رو داشته باشه البته فقط در سطح دستورات کنترلی .
someoneعزیز با نظرا ت شما خیلی چیزها یادم اومد که اصلا تا بحال بهش فکر نکرده بودم مثلا اینکه باید نوع داده ها را خودم تعریف کنم و ...
من چون بیشتر با VB و C# کرده ام ساختار دستورات را ترکیبی از این دو زبان نوشتم .
ممکنه که این ترکیب مشکل ایجاد کنه؟
مثلا ساختار دستور if رو به شکل پایین نوشتم
اگر (شرط)
{
دستورات
}
وگرنه
{
دستورات
}
پایان
من فکر می کنم برای هر تعداد دستور نوشته شده درساختار "اگر" { } نوشته شود ، چه یک دستور و چه چند دستور.
در مورد توضیحات ازیک جفت "،" در ابتدا و انتهای توضیح استفاده کنیم .
ساختار بقیه دستورات رو هم نوشتم اگه لازم بود بگید تا بذارم
در عملگرهای ریاضی(+ و- و* و/ و توان و پرانتز) و مقایسه ای( == و =!و > و< و .. و ) عملگر (+ و - )سر جای خودشون می مونند(تغییری در ساختارشون نمیدیم ) عملگرهای منطقی شامل and ,or ,not باشند
(یه سوال عملگر xor در کجا بدرد می خوره؟)
داده ها عددی , غیر عددی که عددی شامل اعداد صحیح (کوچک و بزرگ ) اعداد اعشاری ( کوچک و بزرگ )
و غیر عددی شامل رشته و تاریخ و منطقی (Boolean)
اعداد همان 0 الی 9 و حروف همون حروف فارسی هستند که چندتاشون حذف و دوسه تایی اضافه می شن
نام گذاری متغییر ها هم همان 3 قانون باشه که میگه
1- با حرف شروع بشه 2- طولش 255 کاراکتر باشه 3- ازفاصله خالی بین کاراکتر های نام استفاده نشه
مقدار دهی متغییر هم به نظر من به شکل زیر باشه
نوع : نام متغییر
در مورد کاراکتر جدا کننده دستورات ، اگه " نقطه "ممکنه مشکل پیش بیاره از یک کاراکتر دیگه استفاده می کنیم
همه اینها فعلا رو کاغذند من کجا باید اینها رو به کامپایلر معرفی کنم؟
میشه کمی بیشتر در مورد متد آبشاری و RUP توضیح بدید ؟
راستش چون این ترم تمام درسهام اختصاصی و 3 واحدی هستند نمی خوام تمام وقتمو روی کامپایلر بذارم و یه پروژه آنچنانی تحویل بدم. فکر نکنید بخوام سمبلش کنم . فقط می خوام واسه درسهای دیگه هم انرژی داشته باشم
از اینکه کمکم می کنید خیلی ممنون