تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 9 از 9

نام تاپيک: راهنماي استفاده از Flex (ابزار توليد کننده تحليلگر لغوي)

  1. #1
    پروفشنال bad_boy_2007's Avatar
    تاريخ عضويت
    Aug 2006
    محل سكونت
    ایران
    پست ها
    803

    پيش فرض راهنماي استفاده از Flex (ابزار توليد کننده تحليلگر لغوي)

    جهت مشاهده تغييرات احتمالي اين مقاله به [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] رجوع کنيد .

    در مرحله اول کافيه متن گرامر به زبان Flex را با توجه به [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] در نوت پد تايپ کنيد ، فقط نکته اي که ميمونه اينه که خيلي عجله نکنين و برنامتون رو سطر به سطر بنويسين ، تست کنيد در صورت عدم بروز مشکل سطر بعدي رو اضافه کنيد و عمل تست رو تکرار کنيد (هلزوني در بحث مهندسي نرم افزار) در غير اينصورت ممکنه با اولين برنامه اي که با Flex مينويسين کلا از محيط اين برنامه فاصله بگيرين ! اجازه بدين صادقانه بگم Flex ابزار قدرتمنديه که ميتونين استفاده هاي گسترده اي ازش بکنين ولي محيط توسعه اي در اختيارتون قرار نميده مگر سطر فرمان بسيار خشک و با امکانات محدود ، پس سعي کنين عجولانه حرکت نکنين.
    بعد از اينکه برنامتون رو نوشتين بايد Save کنيد ، نکته اي که در بخش Save کردن وجود داره و حتما بايد رعايت بشه اينه که حتما گزينه All File رو در بخش Type وارد کنيد در غير اينصورت مثلا اگر نام A.L را براي فايل خروجي انتخاب کنيد برنامه بطور اتوماتيک نام A.L.Txt رو به فايلتون ميده که در فرآيند باز کردن با Flex به مشکل بر ميخورين.براي هماهنگي بهتر براي ادامه کار برنامه تون رو با نام A.l ذخيره کيند ، ميتونين براي شروع از [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] براي تبديل استفاده کنين .
    اگر هنوز Flex رو دانلود نکردين از [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] اين فايل رو دانلود کنين ، ابزارهاي مرتبط ديگه هم در [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] قرار داره. خب ، نوبت به اجراي Flex ميرسه ، از منوي Start گزينه Run رو انتخاب کنيد (يا از کليد ترکيبي Start+R استفاده کنين) ، cmd رو تايپ کنيد و ok کنين .
    صفحه مشکي آشناي سطر فرمان داس (Command prompt) رو مشاهده ميکنين ، باري هماهنگي بيشتر جهت ادامه فايل [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] و فايل A.L رو دز ريشه درايو C کپي کنين . همانطور که در سطر فرمان اعلان شده دو دستور زير را تايپ کنيد تا به ريشه درايو C منتقل شويد.
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

    نوبت به اجراي برنامه Flex ميرسه ! براي اجراي Flex ، دو راه وجود داره که راه اول بهيچ وجه توصيه نميشه ولي جهت آشنايي بد نيست بدونين !
    1-در روش اول کافيه بطور مستقيم فايل Flex.exe رو از طريق سطر فرمان باز کنين و سپس گرامر رو تا انتها بنويسين ، هر وقت هم که تموم شد کليد Ctr+Z (نشانگر پايان فايل) رو بزنين تا از ويرايشگر فرمان خارج شده و در صورت صحت گرامر فايل خروجي رو مشاهده کنين .
    2-در روش دوم اول همونطور که اين بخش مشاهده کرديد ابتدا يک فايل (پيشنهاد ميشه با پسوند L) ايجاد کرده و سپس فايل رو از طريق سطر فرمان به کامپايلر Flex پاس ميدين و در نهايت در صورتي که فايل مبداء وجود داشته باشه و گرامر صحيح باشه فايل خروجي ايجاد خواهد شد . در اين بخش هم مثل بخش اول (نوشتن گرامر) دقت لازمه رو به خرج بدين که تقريبا با تمام مشکلاتي که مواجه ميشين در اين دو بخش قرار دارن .
    نکاني در اين بخش ضروري ميرسه که به اختصار ميگم:
    الف- در صورتي که نام فايل مقصد ذکر نشه (فايلي به زبان C که قراره فايل خروجي باشه) ، نام Yylex.l بصورت نام پيش فرض درنظر گرفته خواهد شد.
    ب- در صورت عدم مواجهه با پيغام خطا ، ميتونين يکم خوشحال بشين ! از مرحله اول به سلامتي در رفتين و گرامرتون با گرامر استاندارد Flex مغايرت نداشته و فايل C با موفقيت ايجاد شده ، ولي خيلي هم خوشحال نشين که هنوز خيلي کار مونده !
    ج- حتما فايل قبلي که Flex ايجاد کرده رو در هر مرحله ايجاد کرده رو حذف کنين ، اين کار باعث ميشه تا در صورت عدم موفقيت در کامپايل فايل به زبان Flex و عدم توجه به اين مهم ، از اجراي فايل کامپايل شده قبلي جلوگيري شود .
    تقريبا کارتون تمومه فقط ميمونه بخش اجرا و اشکال زدايي ، براي اجرا به کامپايلر C يا C++ نياز دارين .
    به دو روش ميتونين از برنامه نوشته شده به اين طريق خروجي بگيرين :
    1- تعامل مستقيم : يعني بعد ار کامپايل برنامه با کامپايلر C يا ++C بصورت تعاملي گرامر زبون مورد نظرتون رو بنويسين و نتايج رو در خروجي مشاهده کنين ، در ذيل برنامه نمونه اي که در ابتداي اين نوشتار معرفي شده به روش تعاملي مشاهده ميکنين ، جهت پايان دادن به تعامل ميتونين کليد ترکيبي CTR+Z را بفشاريد.

    2- ارسال فايل به برنامه : روش کاربردي کار با Flex محسوب ميشه و پس از تست و اشکالزدايي عموما از اين روش استفاده ميشه تا گرامر مورد نظر رو به برنامه پاس بديم و خطاهاي گرامر رو بسته به شيوه طراحي مشاهده کنيم ، بعنوان مثال برنامه فوق که جنبه آموزشي دارد و به شيوه تعاملي نوشته شده را ميتوان به صورت زير از طريق سطر فرمان اجرا کرد و فايل گرامر را به برنامه پست کرد .
    دستور زير فايل a.c را تحليل لغوي کرده و در صفحه نمايش حاصل اين تحليل رو به نمايش ميزاره :


    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید







    و در نهايت ميتونين نتيجه تحليل لغوي رو در يک فايل بريزيد :

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    a.exe<a.c>b.txt جهت مشاهده تغييرات احتمالي اين مقاله به [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] رجوع کنيد .
    Last edited by bad_boy_2007; 16-07-2007 at 19:33.

  2. 3 کاربر از bad_boy_2007 بخاطر این مطلب مفید تشکر کرده اند


  3. #2
    داره خودمونی میشه DAN271's Avatar
    تاريخ عضويت
    Jun 2007
    محل سكونت
    اعماق ذهن تو
    پست ها
    92

    پيش فرض

    مرسی دوست عزیز....
    تا حالا به صورت عملی با Flex کار نکرده بودم... جالب بود

  4. #3
    پروفشنال bad_boy_2007's Avatar
    تاريخ عضويت
    Aug 2006
    محل سكونت
    ایران
    پست ها
    803

    پيش فرض

    خواهش ميکنم توصيه ميکنم يه نگاهي به Parser Generator هم بنداز .
    راستي برنامه بالا بخشي از پروژه کامپايلرم بود ، سورس مشابه اگه دارين بزارين .
    اگه دوستان کسي سورس Flex يا Bison داره بزاره ممنون ميشم.

  5. #4
    در آغاز فعالیت
    تاريخ عضويت
    Oct 2009
    پست ها
    7

    پيش فرض

    kheili fori
    khaheshan mano dar zamineye lex o yacc rahnamayi konid

  6. #5
    در آغاز فعالیت
    تاريخ عضويت
    Apr 2011
    پست ها
    2

    پيش فرض

    سلام
    مرسی خیلی خوب بود.

  7. #6
    آخر فروم باز مهندس الهه's Avatar
    تاريخ عضويت
    Oct 2009
    پست ها
    1,124

    پيش فرض

    شناسائی اعداد صحیح
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

  8. #7
    در آغاز فعالیت
    تاريخ عضويت
    Jul 2014
    پست ها
    1

    پيش فرض

    با سلام
    فایل نوت پد رو ایجاد کردم ولی وقتی میخام این دستو رو تو cmd بنویسم این خطا رو میده
    فایل flex.exe رو هم تو پوشه ی حاصل از ذخیره نوت پد قرار دادم.
    خیلی ممنون میشم اگه راهنماییم کنید.[IMG][/IMG]

  9. #8
    آخر فروم باز مهندس الهه's Avatar
    تاريخ عضويت
    Oct 2009
    پست ها
    1,124

    پيش فرض

    با سلام
    فایل نوت پد رو ایجاد کردم ولی وقتی میخام این دستو رو تو cmd بنویسم این خطا رو میده
    فایل flex.exe رو هم تو پوشه ی حاصل از ذخیره نوت پد قرار دادم.
    خیلی ممنون میشم اگه راهنماییم کنید.[IMG][/IMG]
    فایل .l رو با موس بگیر بنداز رو فایل flex.exe
    خودش فایل c رو همونجا میسازه واست

  10. #9
    در آغاز فعالیت
    تاريخ عضويت
    Nov 2014
    پست ها
    1

    پيش فرض

    سلام
    ببخشید من میزنم برنامه ای که تو نوت پد نوشتین رو نمیاره برام میگه موجود نیست
    لطفا فایلو دوباره بذارین

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •