Analiza de sus în jos este una dintre metodele pentru a determina dacă un șir de intrare aparține unui limbaj formal descris de gramatica fără context LL(k) . Aceasta este o clasă de algoritmi de analiză gramaticală , în care regulile unei gramatici formale sunt extinse începând de la caracterul de început până când se obține secvența necesară de jetoane .
Pentru fiecare simbol non-terminal K , se construiește o funcție care, pentru orice cuvânt de intrare x , face 2 lucruri:
O astfel de funcție trebuie să îndeplinească următoarele criterii:
Dacă un astfel de început nu poate fi calculat (și se dovedește corectitudinea funcției pentru nonterminalul K ), atunci datele de intrare nu corespund limbajului, iar analizarea ar trebui oprită.
Analiza constă în apelarea funcțiilor descrise mai sus. Dacă există o regulă compusă pentru non-terminalul citit, atunci când este analizat, vor fi apelate și alte funcții pentru a analiza terminalele incluse în acesta. Un arbore de apeluri care începe de la funcția „sus” este echivalent cu un arbore de analiză.
Cea mai simplă și mai „umană” modalitate de a crea un parser folosind metoda de coborâre recursivă este programarea directă pentru fiecare regulă de inferență pentru non-terminale gramaticale.
Fie N un set finit de simboluri non-terminale într-o gramatică formală dată; Σ este un set finit de simboluri terminale, atunci metoda de coborâre recursivă este aplicabilă numai dacă fiecare regulă a acestei gramatici are următoarea formă: