Ինչպե՞ս ցույց տալ, որ քերականությունը երկիմաստ է:

Բովանդակություն:

Ինչպե՞ս ցույց տալ, որ քերականությունը երկիմաստ է:
Ինչպե՞ս ցույց տալ, որ քերականությունը երկիմաստ է:
Anonim

«Եթե քերականությունը արտադրում է առնվազն 2 տարբեր վերլուծական ծառ կամ ածանցյալներ, ապա քերականությունը երկիմաստ է»: Մեկ այլ կանոն. բոլոր CFG-ները (առանց անօգուտ նշանների) ձախ և աջ ռեկուրսիվությամբ նույն ոչ տերմինալի համար նույնպես երկիմաստ են:

Ինչպե՞ս գիտեք, որ քերականությունը երկիմաստ է:

Ասում են, որ քերականությունը երկիմաստ է, եթե կա գոյություն ունի մեկից ավելի ձախ ածանցում կամ մեկից ավելի ամենաաջից ածանցյալ կամ մեկից ավելի վերլուծական ծառ տվյալ մուտքային տողի համար: Եթե քերականությունը երկիմաստ չէ, ապա այն կոչվում է միանշանակ։ Եթե քերականությունը երկիմաստություն ունի, ապա այն հարմար չէ կոմպիլյատորների կառուցման համար:

Ի՞նչ է երկիմաստ քերականությունը, բերեք օրինակ:

Համակարգչային գիտության մեջ երկիմաստ քերականությունը համատեքստից ազատ քերականություն է, որի համար գոյություն ունի տող, որը կարող է ունենալ մեկից ավելի ձախ ածանցում կամ վերլուծական ծառ, մինչդեռ միանշանակ քերականությունը Համատեքստից զերծ քերականություն է, որի համար յուրաքանչյուր վավեր տող ունի եզակի ձախից ածանցում կամ վերլուծական ծառ:

Ինչպե՞ս եք ապացուցում, որ առանց համատեքստի քերականությունը երկիմաստ է:

3 Պատասխան

  1. Բոլոր CFG-ն առանց անօգուտ խորհրդանիշների և նույն խորհրդանիշի ձախ և ճիշտ ռեկուրսիայով, երկիմաստ է: Ընդհանուր առմամբ՝ …
  2. Անորոշությունը ստուգելու համար դուք պետք է գտնեք 2 ամենաձախ ածանցյալները նույն տողի համար (կամ 2 ամենաաջից ածանցյալները կամ 2 ածանցյալ ծառերը):

Ինչպե՞ս եք լուծում երկիմաստ քերականությունը:

Մեթոդներ վերացնելու երկիմաստությունը-

  1. Ֆիքսելով քերականությունը։
  2. Ավելացնելով խմբավորման կանոններ։
  3. Օգտագործելով իմաստաբանությունը և ընտրելով առավել իմաստալից վերլուծությունը:
  4. Ավելացնելով գերակայության կանոնները կամ համատեքստում զգայուն վերլուծության կանոնները:

Խորհուրդ ենք տալիս: