¿Qué es la sintaxis abstracta?
La sintaxis abstracta es una forma para que los programadores informáticos tracen la estructura del programa que desean crear sin preocuparse por el código real necesario para implementarlo. Le permite al programador enfocarse en lo que el programa necesita hacer antes de enfocarse en cómo hacer que la computadora realmente realice las funciones deseadas. La sintaxis abstracta describe las tareas específicas del programa, como sumar dos números, y muestra qué tipos de datos se pueden usar dentro de ese programa. Una vez que se completa el mapeo abstracto, se dibuja un árbol de sintaxis abstracta, que hace coincidir los conceptos abstractos con la sintaxis concreta: los símbolos reales que un programador necesita escribir para ejecutar el programa que está creando.
La idea de la sintaxis abstracta es centrarse en los tipos de datos y sus relaciones sin quedar atrapados en los detalles de cómo codificarlos. El código de computadora es muy diferente al lenguaje humano, y tratar de pensar en estos términos es difícil. En cambio, los programadores hacen una lista de los pasos que el programa necesita completar y luego usan una sintaxis concreta para hacer coincidir los términos abstractos con los términos del código de computadora que realizan esos pasos. A menudo, el programador incluirá tipos de datos en su marcado abstracto para mostrar con qué tipos de datos, ya sean números, letras o decimales, puede trabajar el programa. Sin embargo, no se requieren tipos de datos específicos en esta etapa de la programación, y el programador puede optar por utilizar tipos de datos abstractos, que son puramente teóricos y serán reemplazados por tipos de datos específicos cuando se escriba el programa.
Este tipo de idea abstracta de programación a menudo se usa en la teoría del compilador. Las computadoras solo pueden entender dos valores: 1s y 0s. Esto se conoce como código binario. Para que la computadora entienda un programa escrito en un lenguaje de programación, debe compilar o traducir las palabras y letras en un flujo de 1s y 0s. Los compiladores son complejos para crear y mapear una idea vaga o abstracta de lo que deben hacer ayuda a un programador a planificar un código libre de errores.
Cuando el programador quiere asignar la sintaxis abstracta a la sintaxis concreta y comenzar a codificar el programa o compilador, crea un árbol de sintaxis abstracta. Esta es simplemente una lista de todas las instrucciones abstractas que ha escrito, como "agregar 2 variables", con una línea dibujada de cada término abstracto a la línea específica de código necesaria para ejecutar esa instrucción. El programador puede usar cualquier término abstracto que quiera, pero es más común usar términos de código bien conocidos como "var" para variable e "int" para entero.