Que es la sintaxis y la semántica en un lenguaje de programación

Clasificado en Informática

Escrito el en español con un tamaño de 5,06 KB

Análisis Semántico
Lenguajes Naturales Sintaxis: controla la buena
formación de las oraciones
Acorde con la gramática
del lenguaje.
Lenguajes Programación
controla la construcción de
programas bien formados,
acorde con la gramática del
Lenguaje.
Semántica:
el significado de los programas las oraciones bien
formadas mas sintácticamente válidos
Dado un determinado Universo de Discurso, por ejemplo,
en el lenguaje castellano:
Los árboles florecen en primavera.
Los hombres son Gatos.
Si el contexto fuere ahora un lenguaje de
programación:
a:= 1;
while a £ 0 begin writeln(a); a := a -1end;
a:= 1; while a £ 0 writeln(a);
Clasificación DE LA Semántica
Dinámica: hace referencia a aspectos que sólo puedeconocidos
en tiempo de ejecución.
Estática: hace referencia a aspectos que pueden ser
controlados en tiempo de compilación.
Ejemplos:
Análisis de los nombres y de su alcance.
Chequeo de unicidad o multiplicidad de nombres según exista o
no sobrecarga de los identificadores.
Control o chequeo de tipos.
Chequeo de flujos de control, debido a la existencia de
sentencias que alteran el flujo normal de ejecución (la secuencia).
OBJETIVO
Desarrollar los aspectos del análisis semántico que se relacionan
con el chequeo de tipos, usando esquemas de traducción para
implementarlos.

TIPOS MONOMORFICOS
SISTEMAS DE TIPOS: para cada lenguaje de programación es
un conjunto de reglas particulares que permiten asociar los tipos
con las distintas construcciones sintácticas del lenguaje.
Ejemplo
: ilustra un sistema de tipos simples para las expresiones
aritméticas tomadas del manual original de FORTRAN:
“Una expresión está formada por la aplicación de uno de los
operadores +, -, * , / a dos subexpresiones. El tipo de una
expresión es entero o real.
Una expresión se liga con un tipo sii una de las siguientes reglas
se aplican:
Los nombres de identificadores que empiezan con I...N son de
tipo entero, todos los otros nombres tienen tipo real.
Los números son de tipo real si tienen un punto decimal, en otro
caso son enteros.
El tipo entero o real se transporta sobre las expresiones si:
E1 y E2 son expresiones, entonces:
Si E1 y E2 son ambas de tip real Þ +,-,* / son reales.
Si E1 y E2 son ambas de tip real Þ +,-,* / son reales.”
CHEQUEADOR DE TIPO
función: verifica que el tipo de una construcción cumpla con el sistema de tipos definido para el lenguaje, si así no fuere debe avisar la existencia del error y su ubicación, pero seguir trabajando para detectar tantos errores como sea posible.
utilidad: la información entregada por el chequeador de tipos puede ser necesaria para el generador de código. Por ejemplo, los operadores aritméticos suelen estar sobrecargados y el generador debe conocer en qué contexto están siendo utilizados para generar el código correcto.

Análisis léxico
La cadena de caracteres que constituye el programa fuente , se lee de izda a dcha y se agrupan en componentes léxicos, que son secuencias de caracteres que tienen un significado colectivo.

Programa fuente à componentes léxicos (token)

Token à secuencia de caracteres
Tipo

Ej.

If x1 > 0 then v1 := 7.5 endif ;







Entradas relacionadas: