"Jika tatabahasa menghasilkan sekurang-kurangnya 2 pokok penghuraian yang berbeza atau terbitan, maka tatabahasa itu samar-samar." Peraturan lain: semua CFG (tanpa simbol tidak berguna) dengan rekursif kiri dan rekursif kanan untuk bukan terminal yang sama juga samar-samar.
Bagaimana anda tahu jika tatabahasa itu samar-samar?
Tatabahasa dikatakan samar-samar jika terdapat wujud lebih daripada satu terbitan paling kiri atau lebih daripada satu terbitan paling kanan atau lebih daripada satu pepohon huraian untuk rentetan input yang diberikan. Sekiranya tatabahasa tidak samar-samar, maka ia dipanggil tidak jelas. Jika tatabahasa mempunyai kesamaran, maka ia tidak bagus untuk pembinaan penyusun.
Apakah itu tatabahasa samar-samar berikan contoh?
Dalam sains komputer, tatabahasa samar-samar ialah tatabahasa bebas konteks yang mana terdapat rentetan yang boleh mempunyai lebih daripada satu terbitan paling kiri atau pokok huraian, manakala tatabahasa yang tidak jelas ialah tatabahasa bebas konteks yang mana setiap rentetan yang sah mempunyai terbitan paling kiri yang unik atau pokok huraian.
Bagaimanakah anda membuktikan bahawa tatabahasa tanpa konteks adalah samar-samar?
3 Jawapan
- Semua CFG tanpa simbol yang tidak berguna dan dengan rekursi kiri dan tegak untuk simbol yang sama, adalah samar-samar. Secara umum: …
- Untuk menyiasat kekaburan, anda mesti mencari 2 Terbitan Paling Kiri untuk rentetan yang sama (atau 2 terbitan paling kanan, atau 2 pokok terbitan).
Bagaimanakah anda menyelesaikan tatabahasa samar-samar?
Kaedah Untuk Menghilangkan Kekaburan-
- Dengan membetulkan tatabahasa.
- Dengan menambahkan peraturan pengumpulan.
- Dengan menggunakan semantik dan memilih penghuraian yang paling masuk akal.
- Dengan menambahkan peraturan keutamaan atau peraturan penghuraian sensitif konteks lain.