Uzun yıllardır program yapıyorum, ancak beni hala uzun süren bir görev, bir ayrıştırıcı için bir dilbilgisi belirtmektir ve bu aşırı çabadan sonra bile, bulduğum dilbilgisinin iyi olduğundan emin değilim ( makul herhangi bir "iyi" ölçüsü ile).
Bir dilbilgisi belirtme sürecini otomatikleştirmek için bir algoritma olmasını beklemiyorum, ancak umarım mevcut yaklaşımımın tahmin ve deneme yanılmalarının çoğunu ortadan kaldıran sorunu yapılandırmanın yolları vardır.
İlk düşüncem ayrıştırıcılar hakkında okumaktı ve ben bunlardan bazılarını yaptım, ancak bu konuda okuduğum her şey grameri verilmiş olarak alıyor (veya birinin muayene ile belirleyebileceği kadar önemsiz) ve bu dilbilgisini ayrıştırıcıya dönüştürme sorunu. Hemen problemle ilgileniyorum: ilk etapta gramer nasıl belirlenir.
Öncelikle , somut örneklerin (pozitif ve negatif) bir koleksiyonunu temsil eden bir gramer belirleme problemiyle ilgileniyorum . Bu, yeni bir sözdizimi tasarlama sorunundan farklıdır . Bu ayrımı vurguladığı için Macneil'e teşekkürler.
Bir dilbilgisi ve bir sözdizimi arasındaki farkı gerçekten hiç takdir etmedim, ama şimdi görmeye başladığımdan, öncelikle açıklamayı zorlayacak bir dilbilgisi belirleme sorunuyla ilgilendiğimi söyleyerek ilk açıklamamı keskinleştirebilirim. önceden tanımlanmış sözdizimi: benim durumumda, bu sözdiziminin temelinin genellikle olumlu ve olumsuz örneklerin bir koleksiyonudur.
Ayrıştırıcı için dilbilgisi nasıl belirlenir? En iyi uygulamaları, tasarım metodolojilerini ve bir ayrıştırıcı için dilbilgisi belirtme hakkında diğer yararlı bilgileri tanımlamak için fiili standart olan bir kitap veya referans var mı? Ayrıştırıcı dilbilgisi hakkında okurken hangi noktalara odaklanmalıyım?