جامعه برنامه نویس

برگشت   جامعه برنامه نویس > مباحث عمومی > مباحث مرتبط با مهندسی نرم‌افزار > الگوریتم، کامپایلر، هوش مصنوعی و ساختمان داده ها

اطلاعیه

الگوریتم، کامپایلر، هوش مصنوعی و ساختمان داده ها مباحث مربوط به هوش مصنوعی ، کامپایلر، الگوریتم و ساختمان داده ها (Data Structures and Algorithms,Artificial intelligence)


 
 
ابزار های تاپیک طریقه نمایش
قدیمی سه شنبه 13 بهمن 1388, 22:56 عصر   #1
mostafa_shaeri_tj
کاربر دائمی
 
آواتار mostafa_shaeri_tj
 
تاریخ عضویت: اسفند 1385
محل زندگی: شمال همیشه سبز ایران
پست: 306
تشکرها: 102
73 بار تشکر شده در 51 پست
ارسال پیام از طریق Yahoo به mostafa_shaeri_tj
برنامه تشخیص عضویت یک جمله در یک زبان مستقل از متن

سلام، مدتی بود که داشتم رو بحث مهم "تشخیص عضویت یک جمله در یک زبان مستقل از متن" کار میکردم و تصمیم گرفتم تا یک "نیمه کامپایلر" رو پیاده سازی کنم.

همانطور که میدونید زبان های مستقل از متن توسط گرامرهای مستقل از متن تعریف می شوند. البته درک یک گرامر مستقل از متن نیاز به داشتن اطلاعات کافی در زمینه ی نظزیه زبان ها و ماشین ها رو داره. اینجا یه مثال از یک زبان ساده ی مستقل از متن رو میارم :



S---->AB
A---->BB
B---->AB
A---->a
B---->b



نمیخوام اینجا کل مبحث زبان های مستقل از متن رو آموزش بدم . فقط یه یاداوری مختصر میکنم تا بتونید از برنامه ای که نوشتم استفاده کنید. خوب همون طور که میبینید گرامر بالا داره یک زبان مستقل از متن رو تعریف میکنه، زبانی که جملاتش میتونن با a یا b شروع شن ولی حتما باید با b تموم شن. درضمن تعداد b ها باید فرد باشه.

برنامه ای که نوشتم، گرامر و جمله ی موردنظر شما رو میگیره و عضویت یا عدم عضویت جمله ی شما در زبانی که توسط گرامر تعریف کردید رو مشخص میکنه. شما میتونید هرچن جمله ای که میخواهید برای عضویت آزمایش کنید.

فقط یه چیزایی رو باید رعایت کنید :





1- متغییر شروع تون رو S بگیرید.
2-به جای نوشتن S---->AB باید بنویسد S>AB.
3-بعد از واردکردن آخرین قانون گرامر دیگر اینتر نکنید.
4- و از همه مهمتر اینکه گرامر باید در فرم نرمال چامسکی باشه.



تصویر نرم افزار رو که نحوه ی نوشتن گرامر را نشان میده همراه برنامه ضمیمه کردم.

درصورت درست بودن جمله پیغام Valid Sentence ظاهر خواهد شد.
عکس های ضمیمه
نوع فایل: jpg Valid.jpg‏ (80.5 کیلوبایت, 55 دیدار)
فایل های ضمیمه
نوع فایل: zip GramerChecker.zip‏ (5.4 کیلوبایت, 82 دیدار)
__________________
گفتم میان عالم و عابد چه فرق بود
تا اختیار کردی از آن این فریق را
گفت آن گلیم خویش به در می برد ز موج
وین جهد می کند که بگیرد غریق را

نمایش صفحه ی مانیتور کامپیوتر های شبکه !!
تشخصیص عضویت و عدم عضویت جملات در زبان های مستقل از متن ( کامپایلر )

------------------------------------------------------

آخرین ویرایش به وسیله mostafa_shaeri_tj : شنبه 17 بهمن 1388 در 18:44 عصر
mostafa_shaeri_tj آفلاین است   پاسخ با نقل قول
 

بوک مارک کردن این تاپیک

Tags
Automata, Compiler, زبان مستقل از متن, کامپایلر, نظریه زبان ها


کاربرانی که این تاپیک را مشاهده میکنند: 1 (0 کاربران و 1 مهمان)
 
ابزار های تاپیک
طریقه نمایش

قوانین ایجاد تاپیک در تالار
شما نمی توانید تاپیک جدید ایجاد کنید
شما نمی توانید به تاپیک ها پاسخ دهید
شما نمی توانید ضمیمه ارسال کنید
شما نمی توانید پاسخ هایتان را ویرایش کنید

BB code روشن است
خندانک ها روشن هستند
[IMG] روشن است
HTML خاموش است

پرش



واحد زمان برحسب ساعت لندن +3.5. ساعت هم اکنون 17:35 عصر است.


Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 1389, Jelsoft Enterprises Ltd.
خدمات میزبانی این سایت تحت پوشش شرکت ایران هاست می باشد.