Gramerdeki her nonterminal icin bir fonksiyon yazarak girdiyi yukaridan asagi ayrıştıran parser yontemidir.
Kaynaklar recursive descent i top-down parsing in okunabilir ve elle yazilabilir bicimi olarak kullanir. Fonksiyonlar token akisini tuketir; gramer LL uyumluysa kararlar lookahead ile verilebilir.
Recursive Descent Parsing için pseudo koddan türetilmiş örnek uygulama iskeletleri aşağıda verilmiştir. Gerçek projelerde veri modeli ve hata kontrolleri probleme göre özelleştirilmelidir.
1/**2 * Recursive Descent Parsing implementation outline3 */4function recursiveDescentParsing(input) {5 // Implement the pseudo code above for your concrete input model.6 // Keep intermediate states visible while testing.7 return {8 input,9 algorithm: 'Recursive Descent Parsing',10 complexity: 'O(n)',11 };12}Aşağıya kendi verilerinizi girerek Recursive Descent Parsing akışını örnek bir demo üzerinde izleyebilirsiniz. Virgülle ayrılmış değerler girin veya JSON dizi formatı kullanın.
Girilen veri, algoritmanın temel adımlarına göre örnek bir izleme çıktısına dönüştürülür.
En İyi Durum: O(n)
Ortalama Durum: O(n)
En Kötü Durum: O(n)
O(n) - Çalışma süresi, giriş boyutu ile doğrusal olarak artar.
Aynı kategori veya aynı problem ailesinde değerlendirilebilecek diğer algoritmalar: