تحقق المجموعات الأولى والتابعة من القواعد النحوية البسيطة

StackOverflow https://stackoverflow.com/questions/853670

  •  21-08-2019
  •  | 
  •  

سؤال

إليك بعض الأسئلة التي كانت لدي في اختبار في الفصل الدراسي وأريد فقط التحقق من صحتها.قواعد:

S -> ABC
A -> df | epsilon
B -> f | epsilon
C -> g | epsilon

1.) تحتوي المجموعة التالية من B على g وepsilon (T/F)؟الإجابة:F.لا يوجد إبسيلون في مجموعات المتابعة، أليس كذلك؟(فقط $ ويعرف أيضًا باسم نهاية الإدخال)

2.) المجموعة الأولى من S تحتوي على d وf وg وepsilon (T/F)؟الإجابة:ت.قلت خطأ لهذا لأنني اعتقدت أن First(S) = First(A)، والذي g ليس جزءًا منه.من هو الصحيح؟

هل كانت مفيدة؟

المحلول

  1. انت على حق.إذا كان إبسيلون متورطًا، فسيتم حسابه في المجموعة الأولى، وليس في المجموعة التالية.إذا كان من الممكن أن ينهي الإنتاج السلسلة، فسيتم إدخال $ في مجموعة المتابعة، وليس epsilon.
  2. الاختبار صحيح.يمكن بالفعل أن يبدأ الإنتاج S بأي من d وf وg، ويمكن أيضًا أن يبدأ بسلسلة فارغة.خذ بعين الاعتبار سلسلة الإدخال g.إنه يطابق S، أليس كذلك؟A راضٍ عن السلسلة الفارغة، B راضٍ عن السلسلة الفارغة، و C راضٍ عن g.وبما أن A وB وC كلها راضية، فإن S راضية.الحرف الأول الذي يستهلكه S هو g، لذلك يجب أن يكون g في الأول (S).
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top