Jump to content
החלפת מצב תפריט
שינוי מצב תפריט ההעדפות
החלפת מצב תפריט אישי
לא בחשבון
כתובת ה־IP שלך תהיה גלויה לציבור אם תעשה עריכות כלשהן.

דקדוק רגולרי

מתוך ויקיפדיה, האנציקלופדיה החופשית

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

הגדרה עריכה

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

  • <math>(A\to a)</math> כך ש-<math>A</math> הוא משתנה ו-<math>a</math> הוא טרמינל.
  • <math>(A\to aB)</math> כך ש-<math>B</math> הוא משתנה
  • <math>(A\to \epsilon)</math>

באופן דומה ניתן להגדיר דקדוק ליניארי שמאלי, על ידי החלפת כלל הגזירה השני ל־<math>(A\to Ba)</math>.

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

ראו גם עריכה

לקריאה נוספת עריכה