דקדוק רגולרי

מתוך ויקיפדיה, האנציקלופדיה החופשית
גרסה מ־02:11, 1 ביוני 2021 מאת imported>Matanyabot (בוט החלפות: \1ליניארי, ,)
(הבדל) → הגרסה הקודמת | הגרסה האחרונה (הבדל) | הגרסה הבאה ← (הבדל)
קפיצה לניווט קפיצה לחיפוש

בשפות פורמליות דקדוק רגולרי הוא דקדוק המתאר שפה רגולרית. ישנם שני סוגים של דקדוקים רגולריים: דקדוק ליניארי ימני ודקדוק ליניארי שמאלי.

הגדרה

דקדוק ליניארי ימני (או דקדוק רגולרי ימני) G מוגדר על ידי הרביעייה G=(N,Σ,P,S) בדומה לדקדוק חופשי-הקשר אך עם כללי יצירה מוגבלים יותר:

  • (Aa) כך ש-A הוא משתנה ו-a הוא טרמינל.
  • (AaB) כך ש-B הוא משתנה
  • (Aϵ)

באופן דומה ניתן להגדיר דקדוק ליניארי שמאלי, על ידי החלפת כלל הגזירה השני ל (ABa).

לכל אוטומט סופי ניתן לבנות דקדוק ליניארי ימני שמקבל את אותה השפה שמקבל האוטומט, ולכל דקדוק ליניארי ימני ניתן לבנות אוטומט סופי שמקבל את אותה השפה - ולכן שני המודלים שקולים מבחינת כוח חישובי.

ראו גם

לקריאה נוספת