هل يمكن أن يكون التخفيض وGOTO في حالة واحدة في LR Parsing؟
-
20-12-2019 - |
سؤال
في المثال أدناه، من الواضح أنه عندما تريد الذهاب إلى الولاية 0
للدولة 3
خلال T
, ، سوف تواجه التخفيض والحالة الطبيعية في دولة واحدة.
لأكون صادقًا، لم أرى ذلك من قبل.لهذا السبب أنا أسأل.
هل هذا ممكن؟هل يجب أن أستمر في التخفيض بشكل طبيعي؟أو انا مخطئ؟
وإليكم القواعد النحوية في حالة الحاجة إليها:
ه ---> ه+ر | ر
t ---> t*f | F
و ---> (هـ) | بطاقة تعريف
المحلول
إذا لم تكن لديك معلومات أمامية، فهذا يعد تعارض تحويل/تقليل لأن المحلل اللغوي لا يمكنه معرفة ما إذا كان يجب التحول (اتبع معلومات GOTO) أو تقليله.وبالتالي، فإن هذه القواعد لن تكون LR(0).إذا كان لديك سياق إضافي حول وقت إجراء التخفيض (ربما إذا كنت تستخدم محلل SLR(1)، أو LALR(1)، أو LR(1))، فمن المقبول أن يكون لديك كل من الإزاحة والتقليل في الحالة طالما أن التحول والتقليل ليسا على نفس الرمز الطرفي.
أتمنى أن يساعدك هذا!