«Եթե քերականությունը արտադրում է առնվազն 2 տարբեր վերլուծական ծառ կամ ածանցյալներ, ապա քերականությունը երկիմաստ է»: Մեկ այլ կանոն. բոլոր CFG-ները (առանց անօգուտ նշանների) ձախ և աջ ռեկուրսիվությամբ նույն ոչ տերմինալի համար նույնպես երկիմաստ են:
Ինչպե՞ս գիտեք, որ քերականությունը երկիմաստ է:
Ասում են, որ քերականությունը երկիմաստ է, եթե կա գոյություն ունի մեկից ավելի ձախ ածանցում կամ մեկից ավելի ամենաաջից ածանցյալ կամ մեկից ավելի վերլուծական ծառ տվյալ մուտքային տողի համար: Եթե քերականությունը երկիմաստ չէ, ապա այն կոչվում է միանշանակ։ Եթե քերականությունը երկիմաստություն ունի, ապա այն հարմար չէ կոմպիլյատորների կառուցման համար:
Ի՞նչ է երկիմաստ քերականությունը, բերեք օրինակ:
Համակարգչային գիտության մեջ երկիմաստ քերականությունը համատեքստից ազատ քերականություն է, որի համար գոյություն ունի տող, որը կարող է ունենալ մեկից ավելի ձախ ածանցում կամ վերլուծական ծառ, մինչդեռ միանշանակ քերականությունը Համատեքստից զերծ քերականություն է, որի համար յուրաքանչյուր վավեր տող ունի եզակի ձախից ածանցում կամ վերլուծական ծառ:
Ինչպե՞ս եք ապացուցում, որ առանց համատեքստի քերականությունը երկիմաստ է:
3 Պատասխան
- Բոլոր CFG-ն առանց անօգուտ խորհրդանիշների և նույն խորհրդանիշի ձախ և ճիշտ ռեկուրսիայով, երկիմաստ է: Ընդհանուր առմամբ՝ …
- Անորոշությունը ստուգելու համար դուք պետք է գտնեք 2 ամենաձախ ածանցյալները նույն տողի համար (կամ 2 ամենաաջից ածանցյալները կամ 2 ածանցյալ ծառերը):
Ինչպե՞ս եք լուծում երկիմաստ քերականությունը:
Մեթոդներ վերացնելու երկիմաստությունը-
- Ֆիքսելով քերականությունը։
- Ավելացնելով խմբավորման կանոններ։
- Օգտագործելով իմաստաբանությունը և ընտրելով առավել իմաստալից վերլուծությունը:
- Ավելացնելով գերակայության կանոնները կամ համատեքստում զգայուն վերլուծության կանոնները: