SINTAXIS
En informática, el término sintaxis de un lenguaje informático se refiere al conjunto de reglas que definen la combinación de símbolos considerados como un fragmento o documento correctamente estructurado en ese idioma. Esto se aplica a los lenguajes de marcado, donde el documento representa datos y lenguajes de programación, donde el documento representa el código fuente. La sintaxis de un lenguaje define su forma superficial. Los lenguajes informáticos basados en texto se basan en las secuencias de caracteres. Los lenguajes de programación visual, por otro lado, se basan en la conexión entre símbolos (que pueden ser gráficos o textuales) y en la distribución espacial. Se dice que los documentos que son sintácticamente inválidos tienen un error de sintaxis.
La sintaxis, la forma, se contrasta con la semántica, el significado. En el procesamiento de lenguajes informáticos, el procesamiento semántico normalmente viene después del procesamiento sintáctico. Sin embargo, en algunos casos, el procesamiento semántico es importante para el análisis sintáctico completo, y por lo tanto, se realizan de forma simultánea o conjunta. En un compilador, el análisis sintáctico comprende el frontend, mientras que el análisis semántico comprende el backend (y el extremo medio en los casos en que se distingue la fase).
NIVELES DE SINTAXIS
La sintaxis del lenguaje de computadora normalmente se distingue en tres niveles diferentes:
La distinción de esta manera produce una modularidad que permite que cada nivel se describa y se procese por separado y, a menudo, de forma independiente. Comienza con un lexer que convierte la secuencia lineal de caracteres en una secuencia lineal de tokens: esto se conoce como análisis léxico o lexing .
En segundo lugar, el analizador convierte la secuencia lineal de tokens en lo que se llama un árbol de sintaxis jerárquica. Esto se conoce como análisis .
En tercer lugar, el análisis contextual resuelve los tipos de cheques y nombres. La etapa de análisis en sí puede subdividirse en dos partes: el árbol de sintaxis concreto o el árbol de análisis que está determinado por la gramática, pero es demasiado detallado para el uso práctico, y el árbol de sintaxis abstracta (AST), que simplifica esto en una forma que es utilizable
SINTAXO VERSUS SEMANTICA
La sintaxis de un lenguaje describe la forma de un programa válido, pero no proporciona ninguna información sobre el significado del programa o los resultados que vienen con la ejecución de ese programa. El significado que se le da a una combinación de símbolos es manejado por la semántica (ya sea de forma rígida o formal en una implementación de referencia). No todos los programas que son sintácticamente correctos son semánticamente correctos. Sin embargo, gran parte de los programas sintácticamente correctos están mal formados, según las reglas del idioma; y puede (con respecto a la especificación del lenguaje, así como la solidez de la implementación) resultar en un error en la ejecución o traducción. En algunos casos, tales programas pueden mostrar un comportamiento indefinido. Incluso en los momentos en que un programa está bien definido en un idioma, puede tener un significado que su autor no pretende.
En un ejemplo de lenguaje natural, puede ser imposible dar un significado a una oración que sea gramaticalmente correcta. Por ejemplo,