Analizador sintáctico

Un analizador sintáctico (en inglés parser) ou analizador, é un programa informático que analiza unha cadea de símbolos segundo as regras dunha gramática formal. Normalmente emprega un compilador, e nese caso, transforma unha entrada nunha árbore sintáctica de derivación.[1][2]
A análise sintáctica converte o texto de entrada noutras estruturas (comunmente árbores), que son máis apropiadas para a posterior análise, e capturan a xerarquía implícita dos datos de entrada. Un analizador léxico crea "tokens" dunha secuencia de caracteres de entrada, e son estes tokens os que son procesados polo analizador sintáctico para construír a estrutura de datos.
Por exemplo: unha árbore de análise ou árbores de sintaxe abstracta.
A linguaxe natural é empregada para xerar diagramas de linguaxes que utilizan flexión gramatical, como as linguas romances ou o propio latín. As linguaxes habitualmente recoñecidas polos analizadores sintácticos son as linguaxes libres de contexto. Cabe salientar que existe unha xustificación formal que establece que as linguaxes libres de contexto son aquelas recoñecibles por un autómata de pila. Aliás, todo analizador sintáctico que recoñeza unha linguaxe libre de contexto é equivalente en capacidade computacional a un autómata de pila.
Os analizadores sintácticos foron estudados en profundidade durante a década do 1970, detectándose numerosos patróns de funcionamento nos mesmos. Isto permitiu a creación de programas xeradores de analizadores sintácticos a partir dunha especificación da sintaxe da linguaxe en forma Backus-Naur por exemplo, como yacc, GNU bison e javaCC.
Notas
[editar | editar a fonte]- ↑ V., Aho, Alfred; V., Aho, Alfred (2007). Compilers : principles, techniques, & tools. Pearson/Addison Wesley. ISBN 0321486811. OCLC 70775643.
- ↑ 1955-, Jacobs, Ceriel J. H., (2008). Parsing techniques : a practical guide. Springer. ISBN 9780387202488. OCLC 191726482.