تحقق المجموعات الأولى والتابعة من القواعد النحوية البسيطة
-
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 ليس جزءًا منه.من هو الصحيح؟
المحلول
- انت على حق.إذا كان إبسيلون متورطًا، فسيتم حسابه في المجموعة الأولى، وليس في المجموعة التالية.إذا كان من الممكن أن ينهي الإنتاج السلسلة، فسيتم إدخال $ في مجموعة المتابعة، وليس epsilon.
- الاختبار صحيح.يمكن بالفعل أن يبدأ الإنتاج S بأي من d وf وg، ويمكن أيضًا أن يبدأ بسلسلة فارغة.خذ بعين الاعتبار سلسلة الإدخال g.إنه يطابق S، أليس كذلك؟A راضٍ عن السلسلة الفارغة، B راضٍ عن السلسلة الفارغة، و C راضٍ عن g.وبما أن A وB وC كلها راضية، فإن S راضية.الحرف الأول الذي يستهلكه S هو g، لذلك يجب أن يكون g في الأول (S).
لا تنتمي إلى StackOverflow