در این درس با سه موضوع ” زبان، گرامر و ماشین” آشنا می شوید. این درس پیش نیاز درس طراحی کامپایلر است. با یادگیری زبان ها و گرامرها می توانید نحوه کار کامپایلر و همچنین طراحی زبان های برنامه سازی را متوجه شد.
سرفصل هایی که در این آموزش به آن پرداخته شده است:
درس یکم: زبان منظم
درس دوم: گرامر منظم
درس سوم: اتوماتای متناهی(DFA , NFA)
درس چهارم: زبان و گرامر مستقل از متن
درس پنجم: ابهام- ساده سازی گرامر- فرمهای نرمال
...
برای توضیحات بیشتر و تهیه این آموزش لطفا به لینک زیر مراجعه بفرمائید:
http://faradars.org/courses/fvsft110
6. ماشین و ها زبان نظریهها
faradars.org/fvsft110
چیست زیر تورینگ ماشین عملکرد؟
0 1 1Q {q ,q }, {a,b}, {a,b,B}, F {q }
0 0
0 0
0 1
(q ,a) (q ,b,R)
(q ,b) (q ,b,R)
(q ,B) (q ,B,L)
0 0 0 1q aa bq a bbq B bq ba a a
مثال
بافرضاینکهرشتهaaبرروینوارباشد:
6
سرداﺮﻓ
FaraDars.org
7. ماشین و ها زبان نظریهها
faradars.org/fvsft110
پذیرنده نقش در تورینگ ماشینزبان
زبانیکهماشینتورینگMپذیردمیبهصورتزیرتعریفشودمی:
براساساینتعریفورودیwروینوارنوشتهشدهودرهریکازطرفینآنازسمبلفضایخالی
استفادهمیشود.
اگرwعضوL(M)،نباشدیکیازدوحالتزیراتفاقمیافتد:
1-ماشیندریکحالتغیرپایانیمتوقفمیشود.
2-ماشینبهیکحلقهبینهایتواردشدهوهرگزمتوقفنمیشود.
،بنابراینهررشتهایکهباعثتوقفM،نشودعضوL(M)نمیباشد.
*
*
f 1 2 0 1 f 2L(M) {w :q F, x ,x , q w x q x }
a
7
سرداﺮﻓ
FaraDars.org
8. ماشین و ها زبان نظریهها
faradars.org/fvsft110مثال
n n
a b :n 1
ماشینزب پذیرنده تورینگیان:
8
سرداﺮﻓ
FaraDars.org
9. ماشین و ها زبان نظریهها
faradars.org/fvsft110
ورودی ،مثال بعنوانaabbکند می ایجاد را زیر متوالی های پیکربندی:
0 1 1 2q aabb xq abb xaq bb xq ayba a a a
2 0 1 1 2q xayb xq ayb xxq yb xxyq b xxq yya a a a a a
2 0 3 3 fxq xyy xxq yy xxyq y xxyyq B xxyyBq B.a a a a a
9
سرداﺮﻓ
FaraDars.org
10. ماشین و ها زبان نظریهها
faradars.org/fvsft110
n n
L {ab :n 0} {b a :n 1} U
مثال
ماشینزب پذیرنده تورینگیان:
10
سرداﺮﻓ
FaraDars.org
11. ماشین و ها زبان نظریهها
faradars.org/fvsft110
ماشینزب پذیرنده تورینگیان:
n n n
L {a b c :n 1}
مثال
11
سرداﺮﻓ
FaraDars.org
15. ماشین و ها زبان نظریهها
faradars.org/fvsft110
یکماشینتورینگطراحیکنیدکهزبانراتصمیمگیریکند.
کارهایانجامشدهرویرشتهورودیتوسطماشین:
1-ابتدارشتهورودیراازچپبهراستپویشکردهتامطمئنشودکهرشتهورودیعضواستواگر
اینطورنبودبهحالتعدمپذیرشمیرود.
2-هدبهانتهایسمتچپبرگرداندهمیشود.
3-یکیازaهاراعالمتزدهوآنقدربهراستمیرودتابهیکنمادbبرسد.سپسbهاراباcهاتطبیق
،دهدمییعنیباعالمتزدنیکb،یکcرانیزعالمتمیزند.اینکارراتاتمامشدنbهاادامه
دهدمی.
i j k
L {a b c :k i j , i, j,k 1}
* * *
a b c
مثال
15
سرداﺮﻓ
FaraDars.org
31. ماشین و ها زبان نظریهها
faradars.org/fvsft110
بهکمکماشینتورینگدونوارهپذیرشزبانبسیارسادهترمیشود.
درابتدارشتهروینواراولقراردارد.سپستمامیaهاراازنواراولخواندهوبهنواردوم
کپیمیکنیم.
بارسیدنبهاولینbروینوار،اولآنهاراباaهاینواردومتطبیقمیدهیموبهسادگیتعیین
میکنیمآیاتعدادaهاوbهابرابرهستندیاخیر.
بنابراینبدوننیازبهجابجاییمتوالیهدبهراستو،چپاینعملانجامشد.
n n
{a b }
n n
a b
مثال
31
سرداﺮﻓ
FaraDars.org
38. ماشین و ها زبان نظریهها
faradars.org/fvsft110
زبانتوسطیکLBAپذیرفتهشودمی.
چونمحاسباتیکهبرایپذیرشاینزباننیاز،استاحتیاجیبهفضائیخارجاز
ورودیاولیهندارد.
n n n
{a b c :n 1}
مثال
38
سرداﺮﻓ
FaraDars.org