Question:
Mengapa di dalam top down parsing tidak boleh ada left recursive dan left factoring?
Answer:
TOP-DOWN PARSING
Dapat dipandang sebagai :
Usaha untuk mencari leftmost deri-vation dari suatu input string
Usaha untuk membangun parse tree dari suatu input string, dimulai dari root (top) sampai dengan leaves (bottom), dengan urutan preorder.
Dalam parser top-down, Left-recursive dan left factor grammars tidak bekerja karena jika terdapat Left-recursion kita tidak tahu kapan recursionnya berhenti ( loop forever ) dan jika terdapat left factor, akan menghasilkan 2 atau lebih produksi ( ambiguitas ). Jadi sebelum melakukan Top-Down parsing, left-recursion harus dihilangkan ( dieliminasi ) dan melakukan left factoring jika terdapat left factor grammar untuk mendapatkan grammar yang sesuai untuk parsing
Contoh :
Pada grammar diatas tidak terdapat left-recursion, tetapi grammar tersebut memiliki left factor sehingga harus dilakukan left-factoring, menghasilkan :