Memoria plg 2009

Solo disponible en BuenasTareas
  • Páginas : 42 (10255 palabras )
  • Descarga(s) : 0
  • Publicado : 13 de mayo de 2010
Leer documento completo
Vista previa del texto
Valoración:
Memoria:
Está bastante bien. Hay algunas cuestiones que pueden mejorarse, y que se comentan a lo largo de la práctica.
Implementación: Tiene errores. Por ejemplo, no es capaz de compilar el siguiente programa, donde hay una expresión con más de un operandor:

c: boolean
&
out(5 - 6 + 7)
Debéis comprobarla cuidadosamente, y, más importante aún,seguir lo más fielmente posible la especificación a la hora de derivar la implementación.

Calificación: 8

Práctica de Procesadores de Lenguaje
Primera Parte
Fecha de entrega: Viernes 27 de Enero de 2010

Número de grupo: 9
Componentes del Grupo (ordenados alfabéticamente por primer apellido):
Acosta Berrio, Laura
Arteaga García, José Andrés
Caballero Prados, Jorge
Ortega Maestro, RaúlTakebe Heras, Isamu Juan

Requisitos

El lenguaje a procesar

El lenguaje a procesar contiene todas las características fijadas para la primera entrega, más las siguientes
• Secciones de declaraciones vacías:
• Se admiten secciones de declaraciones vacías (es decir, sin ninguna declaración).
• Instrucciones de control:
• Instrucción bloque:
-Formato: {I0; I1; …; In}, donde cada Ii es una instrucción. El bloque debe contener, al menos, una instrucción.
- Semántica operacional informal:
• Ejecutar I0.
• Ejecutar I1.

• Ejecutar In.
• Instrucción if-then-else.
- Formato: if Exp then I0 else I1, o bien if Expthen I (la parte else es opcional).
- La condición (Exp) es una expresión booleana. Tanto I0 como I1 como I son instrucciones.
- La parte else siempre se corresponde con la parte if más cercana.
- La semántica operacional informal de if E then I0 else I1 es:
• Evaluar E
• Si el resultado es cierto,ejecutar I0
• Si el resultado es falso, ejecutar I1
- La semántica operacional informal de if E then I es:
• Evaluar E
• Si el resultado es cierto, ejecutar I
• Si el resultado es falso, no hacer nada
• Instrucción while.
- Formato: while Exp do I, con Exp una expresiónbooleana e I una instrucción.
- Semántica operacional informal:
• [comienzo] Evaluar Exp
• Si el resultado es cierto
a. Ejecutar I
b. Volver a comienzo
• Si el resultado es falso, no hacer nada
• Instrucción for.
- Formato: for v=Exp0 to Exp1 doI.
- Exp0 y Exp1 son expresiones naturales o enteras, v es una variable cuyo tipo es compatible con el de Exp0 y Exp1, e I es una instrucción.
- Semántica operacional informal:
• Evaluar Exp0
• Asignar a v el resultado
• Evaluar Exp1 (sea t su valor)
• [comienzo] Evaluar v ≤ t• si el resultado es cierto
a. Ejecutar I
b. v ← v+1
c. Volver a comienzo
• si el resultado es falso, no hacer nada
• Evaluación en circuito corto de operadores booleanos:
• Los operadores booleanos and y or se evaluarán en circuito corto.
• Semánticaoperacional informal de E0 and E1:
- Evaluar E0 (sea v0 su valor)
- si v0 es cierto
• Evaluar E1 (sea v1 su valor)
• El valor de la expresión es v1
- si v0 es falso, el valor de la expresión es v0
• Semántica operacional informal de E0 or E1:
- Evaluar E0 (sea v0 su valor)...
tracking img