No algoritmo top-down, ou em Português "análise sintáctica descendente", o reconhecimento é feito por expansão de regras sintácticas, substituindo símbolos não-terminais do lado esquerdo de produções pelo lado direito das produções. Isto significa que a recursividade é feita à direita, tal como acontece no LL(*). Seguidamente, a expansão das regras sintácticas verifica-se por emparelhamento dos símbolos da frase de entrada com os símbolos terminais das regras sintácticas.
De seguida descreve-se o algoritmo top-down de uma forma linear constituída por quatro passos fundamentais.
- parâmetros de entrada
- uma gramática G e um frase da linguagem L
- resultado de retorno
- um árvore de derivação
- Criar a raiz da árvore com o símbolo inicial da gramática.
- Substituir sucessivamente o símbolo não-terminal mais à esquerda da árvore de derivação pela expressão do lado direito numa produção onde o lado esquerdo é o símbolo em questão.
Este passo termina quando o primeiro símbolo da produção for um símbolo terminal.
- Caso o primeiro símbolo não processado da entrada não emparelhar com o primeiro símbolo da produção seleccionada (como descrito no ponto 2) ter-se-á de recuar um passo atrás e reverter o símbolo não-terminal então substituído. Depois, pesquisar outra alternativa na gramática, isto é, procurar outra produção cujo lado esquerdo corresponda ao símbolo não-terminal em questão. Esta técnica é apelida de "backtracking". Caso não existam alternativas, o algoritmo termina sem sucesso.
- Emparelhar, da esquerda para a direita, os símbolos da frase de entrada com os símbolos terminais nas folhas da árvore de derivação até que aconteça umas das três hipóteses:
- o emparelhamento de símbolos falha => o algoritmo termina sem sucesso ;
- detecta-se um símbolo não-terminal numa folha da árvore de derivação => regressa-se ao segundo passo do algoritmo ;
- todos os símbolos da frase de entrada foram emparelhados com todas as folhas da árvore de derivação, sendo que estas apenas contêm símbolos terminais => o algoritmo termina com sucesso.