کتاب آموزش نظریه زبان‌ها و ماشین

کتاب آموزش نظریه زبان‌ها و ماشین

در خدمت شما هستیم با دانلود رایگان کتاب آموزش نظریه زبان‌ها و ماشین از وب سایت آموزش برنامه نویسی سورس باران. این کتاب پیش نیاز درس طراحی کامپایلر برای دانشجویان نرم افزار و برنامه نویسان است. با یادگیری زبان‌ها و گرامرها می‌توانید نحوه کار کامپایلر و همچنین طراحی زبان‌ های برنامه سازی را متوجه شوید. یادگیری این درس بدون مدرس کار ساده‌ای نمی‌باشد و در این آموزش تجربه حداقل پانزده سال تدریس نویسنده در اختیار شما گذاشته می‌شود.

این کتاب نوشته فرشید شیرافکن و 260 صفحه ارائه شده که در آن با زبان، گرامر و ماشین آشنا می شوید.

کتاب آموزش نظریه زبان‌ها و ماشین

  • فصل ۱: عبارت منظم – زبان منظم
  • فصل ۲: گرامر – گرامر منظم
  • فصل ۳: اتوماتای متناهی (DFA, NFA)
  • فصل ۴: زبان و گرامر مستقل از متن
  • فصل ۵: ابهام – ساده سازی گرامر – فرم‌های نرمال
  • فصل ۶: اتوماتای پشته‌ای (DPDA, NPDA)
  • فصل ۷: ماشین‌های تورینگ (TM)
  • فصل ۸: زبان‌های بازگشتی – گرامر بدون محدویت و حساس به متن

حتما مشاهده کنید : آرشیو کامل کتاب های آموزش برنامه نویسی سورس باران

 

نظریه زبان‌ها و ماشین چیست؟

شايد بپرسيد نظريه زبانها کجا کاربرد دارد؟ اصلا به چه درد ميخورد؟ جواب سوال را به اين شکل بگوييم، الان در اين صفحه شما داريد با نظريه زبان‌ها و ماشين‌ ها آشنا مي‌شويد. همه اين زبان‌ها يا کامپايلر دارد يا مفسر و بعضي هم هردو را دارا هستند.

اين کامپايلر و مفسر وظيفه‌شان اين هست که دستورايي که شما براي کامپيوتر به زبان محاوره داريد داخلش مينويسيد، به زبان قابل فهم ماشين تبديل ميکند (يعني همون صفر و يک). فرض کنيد در آينده شما مي‌خواهيد يک زبان برنامه‌ نويسي طراحي و ابداع کنيد خب قبل از همه چيز بايد کامپايلر زبان خودتان را بنويسيد و به ماشين بگوييد در اين زبان هر دستور به چه شکلي هست و چه برداشتي بايد از اين دستور انجام شود.  براي طراحي يک کامپايلر شما بايد با نظريه زبان‌ها و ماشين‌ها آشنا باشيد و بلکه هم بيشتر از آشنايي بايد بدانيد.

در علوم نظريه رايانه‌ها، نظريه‌ي اتوماتا به انگليسي Automata theory يا نظريه‌ي ماشين‌ها عبارت است از بررسي رياضي ماشين‌هاي محاسبه‌گر انتزاعي و توانايي‌هاي آن‌ها براي حل مسايل. به اين ماشين‌هاي انتزاعي اتوماتا گفته مي‌شود. اين نظريه بسيار نزديک به نظريه زبان صوري است. به‌طوري‌که اتوماتا اغلب توسط دسته? زبان‌هاي رسمي قابل تشخيص دسته‌بندي مي‌شوند. اتوماتا نقش اساسي در طراحي کامپايلر و تجزيه کردن (parsing) ايفا مي‌کند. زبان‌هايي که توسط اين ماشين‌ها بررسي مي‌شوند زبان هاي فرمال هستند.

يک ماشين، يک مدل رياضي از ماشين حالات متناهي (FSM) است. يک ماشين شامل مجموعه‌اي متناهي از حالات است که بر اساس ورودي و تابع گذار خود (که مي‌تواند به صورت جدول باشد)، از يک حالت به حالت ديگر، تغيير وضعيت مي‌دهد. اين تابع انتقال به ماشين خودکار مي‌گويد که به کدام حالت بعدي با توجه به حالت فعلي و نماد داده شده، برود. به صورت کلي، يک ماشين شامل مجموعه‌اي متناهي يا شماري از حالات مختلف است.

يک ماشين خودکار قرار است که بر روي تعدادي ورودي از دنباله يا رشته در مراحل زماني گسسته اجرا شود. در هر مرحله از زمان، ماشين يک ورودي که از مجموعه‌اي از نمادها يا حرف‌ها برداشته شده‌است را، مي‌گيرد که به آن الفبا (Alphabet) گفته مي‌شود. يک ماشين حاوي مجموعه‌ي متناهي از حالت هاست. در هر لحظه از اجرا بسته به نوع ماشين، مي‌تواند در يکي يا چند تا از حالت‌هايش باشد. در هر مرحله‌ي زماني، هنگامي که ماشين يک نماد را مي‌خواند، بر اساس حالت فعلي و نماد خوانده شده به حالت بعدي پرش يا گذر مي‌کند.

اين تابع روي حالت فعلي و نماد ورودي تابع‌گذار گفته مي‌شود. ماشين تا زماني که يک ورودي کامل خوانده شود ورودي را نماد به نماد در دنباله‌اي مي‌خواند و از حالتي به حالت ديگر بر اساس تابع گذار، گذر مي‌کند. زماني که ورودي نهايي خوانده مي‌شود، اصطلاحاً ماشين متوقف شده‌است و به اين حالت، حالت نهايي مي‌گويند. بر اساس حالت نهايي گفته مي‌شود که ماشين يک ورودي را قبول يا رد کرده‌است. زير مجموعه‌اي از حالت‌هاي ماشين وجود دارد که به عنوان مجموعه‌ي حالت‌هاي مورد قبول تعريف مي‌شود. اگر حالت نهايي يک حالت مورد قبول باشد ماشين ورودي را پذيرفته ‌است. در غير اين صورت ورودي رد مي‌شود. به مجموعه‌اي از ورودي‌ها که توسط ماشين پذيرفته مي‌شود زبان قابل تشخيص ماشين مي‌گويند.

5/5 - (1 امتیاز)

راستی! برای دریافت مطالب جدید در کانال تلگرام یا پیج اینستاگرام سورس باران عضو شوید.

صابر بوستانی

داستان من با دنیای برنامه‌ نویسی آغاز شد، و در ادامه به عنوان یک توسعه‌ دهنده نرم‌ افزار، طراح وب سایت و متخصص سئو، مهارت ‌های تکنیکی و تحلیلی خودم رو پرورش دادم. علاقه م به دنیای مالی منو به سمت یادگیری ترید و معامله‌گری سوق داد. و در حال حاضر در برنامه نویسی و معامله گری ارز دیجیتال انجام میدم. از سال 96 سعی کردم معامله گری در کریپتو رو یاد بگیرم. ترید و معامله گری برام پر از چالش و شکست‌ های متعدد بود. اما هر شکست، درسی ارزشمند برام داشت و من رو به یک تریدر و معامله گر قوی‌ تر و هوشمندتر تبدیل کرد. با پشتکار و یادگیری مداوم، تونستم به موفقیت‌های قابل توجهی دست یابم و به معامله گری موفق تبدیل بشم. در اینجا بزرگترین تجربیات و مهمترین دانش خودم رو در اختیار شما قرار میدم تا در مدت زمان کوتاه تر و شکست های کمتر در این مسیر به موفقیت برسید.

دوره آموزش طراحی فروشگاه اینترنتی بدون کد نویسی در 8 ساعت
دانلود با لینک مستقیم

دسته بندی موضوعات

آخرین محصولات فروشگاه

مشاهده همه

نظرات

بازخوردهای خود را برای ما ارسال کنید