"თუ გრამატიკა აწარმოებს მინიმუმ 2 განსხვავებულ ანალიზურ ხეს ან წარმოებულს, მაშინ გრამატიკა ორაზროვანია." კიდევ ერთი წესი: ყველა CFG (უსარგებლო სიმბოლოების გარეშე) მარცხნივ-რეკურსიურობით და მარჯვნივ-რეკურსიურობით იგივე არატერმინალისთვის ასევე ბუნდოვანია.
როგორ იცით, არის თუ არა გრამატიკა ორაზროვანი?
გრამატიკა ორაზროვანია, თუ არსებობს ერთზე მეტი მარცხნივ წარმოშობა ან ერთზე მეტი მარჯვენა წარმომავლობა ან ერთზე მეტი ანალიზის ხე მოცემული შეყვანის სტრიქონისთვის. თუ გრამატიკა არ არის ორაზროვანი, მაშინ მას ცალსახა ეწოდება. თუ გრამატიკას აქვს ბუნდოვანება, მაშინ ის არ არის კარგი კომპილერის კონსტრუქციისთვის.
რა არის ორაზროვანი გრამატიკა მოიყვანეთ მაგალითი?
კომპიუტერულ მეცნიერებაში ორაზროვანი გრამატიკა არის კონტექსტისგან თავისუფალი გრამატიკა, რომლისთვისაც არსებობს სტრიქონი, რომელსაც შეიძლება ჰქონდეს ერთზე მეტი მარცხენა წარმოშობა ან გარჩეული ხე, ხოლო ცალსახა გრამატიკა. არის კონტექსტისგან თავისუფალი გრამატიკა, რომლისთვისაც ყველა მოქმედ სტრიქონს აქვს უნიკალური მარცხენა წარმოშობა ან ანალიზის ხე.
როგორ ამტკიცებთ, რომ კონტექსტის გარეშე გრამატიკა ორაზროვანია?
3 პასუხი
- ყველა CFG უსარგებლო სიმბოლოების გარეშე და ერთი და იგივე სიმბოლოსთვის მარცხენა და სწორი რეკურსიით, ორაზროვანია. ზოგადად: …
- გაურკვევლობის გამოსაკვლევად, თქვენ უნდა იპოვოთ 2 ყველაზე მარცხენა წარმომავლობა ერთი და იგივე სტრიქონისთვის (ან 2 ყველაზე მარჯვნივ, ან 2 წარმოებული ხე).
როგორ ამოხსნით ორაზროვანი გრამატიკა?
გაურკვევლობის მოხსნის მეთოდები-
- გრამატიკის დაფიქსირებით.
- დაჯგუფების წესების დამატებით.
- სემანტიკის გამოყენებით და ყველაზე გონივრული ანალიზის არჩევით.
- პრიორიტეტის წესების ან სხვა კონტექსტში მგრძნობიარე ანალიზის წესების დამატებით.