Saya telah memprogram selama bertahun-tahun, tetapi satu tugas yang masih memakan waktu sangat lama adalah menentukan tata bahasa untuk parser, dan bahkan setelah upaya yang berlebihan ini, saya tidak pernah yakin bahwa tata bahasa yang saya buat itu bagus ( dengan ukuran "baik" yang masuk akal).
Saya tidak berharap bahwa ada algoritma untuk mengotomatiskan proses menentukan tata bahasa, tapi saya berharap ada cara untuk menyusun masalah yang menghilangkan banyak dugaan dan coba-coba pendekatan saya saat ini.
Pikiran pertama saya adalah membaca tentang parser, dan saya telah melakukan beberapa hal, tetapi semua yang saya baca tentang subjek ini menggunakan tata bahasa sebagai sesuatu yang diberikan (atau cukup sepele sehingga seseorang dapat menentukannya dengan inspeksi), dan berfokus pada masalah menerjemahkan tata bahasa ini menjadi parser. Saya tertarik dengan masalah ini sebelumnya: cara menentukan tata bahasa di tempat pertama.
Saya terutama tertarik pada masalah menentukan tata bahasa yang secara formal mewakili kumpulan contoh konkret (positif dan negatif). Ini berbeda dengan masalah mendesain sintaks baru . Terima kasih untuk Macneil karena menunjukkan perbedaan ini.
Saya tidak pernah benar-benar menghargai perbedaan antara tata bahasa dan sintaksis, tetapi sekarang saya mulai melihatnya, saya bisa mempertajam klarifikasi pertama saya dengan mengatakan bahwa saya terutama tertarik pada masalah menentukan tata bahasa yang akan menegakkan sintaks yang telah ditentukan: kebetulan dalam kasus saya, dasar untuk sintaks ini biasanya kumpulan contoh positif dan negatif.
Bagaimana tata bahasa ditentukan untuk parser? Apakah ada buku atau referensi di luar sana yang merupakan standar de-facto untuk menggambarkan praktik terbaik, metodologi desain, dan informasi bermanfaat lainnya tentang menentukan tata bahasa untuk pengurai? Poin apa, ketika membaca tentang tata bahasa parser, yang harus saya fokuskan?