clasificaciones
Lenguajes de Programación
Introducción a la
Semántica de los
Lenguajes de Programación
Sintaxis y Semántica del Lenguaje - 2010
Sintaxis y Semántica del Lenguaje
• Bibliografía
Programming language concepts
Third edition
Carlo Ghezzi & Mehdi Jazayeri
John Wiley & Sons
1997
Sintaxis y Semántica del Lenguaje - 2010
1
Sintaxis y Semántica delLenguaje
1 – Introducción
2 – Autómata Finito
3 – Expresiones Regulares
4 – Gramáticas Independientes del Contexto
Introducción a la semántica de los LP.
Binding.
Variables.
Unidades de programas.
Clasificación de los LP.
Método operacional.
Pasaje de Parámetros.
5 – Autómatas a Pila
6 – Máquina de Turing
7 – Semántica
Sintaxis y Semántica del Lenguaje - 2010
Lenguajes deProgramación
• Un lenguaje de programación (LP) es una notación
formal para describir algoritmos ejecutables por una
computadora
• Un LP posee dos componentes:
– Sintaxis
• Conjunto de reglas formales que especifican la composición de
programas a partir de ciertas unidades de construcción
(Caracteres)
– Semántica
• Especifica el significado de un programa sintácticamente válido
escrito enel lenguaje
Ghezzi & Jazayeri, 1997
Sintaxis y Semántica del Lenguaje - 2010
2
Introducción a Semántica
La semántica del LP
(C) nos indica que se
reserva espacio para
un elemento entero
para una variable
denominada i
main {
int i, j;
get(i, j);
while(i != j)
if(i > j)
i -= j;
else
j -= i;
Significa que se debe
evaluar la expresión i != j,
mientras que esta
expresiónsea verdadera
se ejecuta el comando
que lo sucede (if)
print(i);
}
¿Es válido este programa?
¿Qué significa?
¿Cómo hace un compilador para sabe cómo traducir el programa?
Todo LP debe ser definido con el suficiente nivel de detalle para poder
determinar.
–Si un programa es válido (Sintaxis)
–Si el programa es válido, ¿cuál es su significado o efecto? (Semántica)
Sintaxis ySemántica del Lenguaje - 2010
Binding
• Los programas trabajan con entidades
– variables,
– subprogramas,
– sentencias, ...
• Estas entidades tienen ciertas propiedades (atributos)
• Ejemplo:
Los valores de estos atributos se deben especificar antes de
que la entidad sea procesada
Binding
– una variable tiene:
• un nombre, un tipo, un área de almacenamiento donde se mantiene
su valor– un subprograma tiene:
• un nombre, parámetros formales de un cierto tipo, ciertas
convenciones de paso de parámetros
– una sentencia tiene:
• acciones
Sintaxis y Semántica del Lenguaje - 2010
3
Binding
• Los lenguajes de programación difieren en:
– el número de entidades con las cuales pueden trabajar
– en el número de atributos que se pueden otorgar a las entidades
– en elmomento en el cual se realiza al binding
• Los atributos pueden ser ligados en:
– tiempo de definición/implementación del lenguaje
– tiempo de traducción (compilación) del programa
– tiempo de ejecución (run-time) del programa
Sintaxis y Semántica del Lenguaje - 2010
Binding
• Los lenguajes de programación difieren en:
– el número de entidades con las cuales pueden trabajar
– en elnúmero de atributos que se pueden otorgar a las entidades
– en el momento en el cual se realiza al binding
• Los atributos pueden ser ligados en:
– tiempo de definición/implementación del lenguaje
– tiempo de traducción (compilación) del programa
– tiempo de ejecución (run-time) del programa
– Por ejemplo, en Ada FORTRAN, C, C++, el tipo INTEGER es
asociado en tiempo de definición eimplementación del lenguaje:
• la definición del lenguaje establece que el tipo INTEGER debe ser
soportado y la implementación del lenguaje determina el conjunto
de valores que el tipo INTEGER podrá contener
Sintaxis y Semántica del Lenguaje - 2010
4
Binding
• Los lenguajes de programación difieren en:
– el número de entidades con las cuales pueden trabajar
– en el número de atributos...
Regístrate para leer el documento completo.