Diferencia entre revisiones de «Usuario:ManuelRomero/preferencias/analisisSintacticoSemático»

De WikiEducator
Saltar a: navegación, buscar
 
(2 revisiones intermedias por el mismo usuario no mostrado)
Línea 1: Línea 1:
 
{{:Usuario:ManuelRomero/compiladores/AS/nav}}
 
{{:Usuario:ManuelRomero/compiladores/AS/nav}}
 
<br>  
 
<br>  
==PROGRAMA==
+
 
 +
===OBJETIVO===
 +
*Esta parte realizará el análisis sintáctico y semántico  de nuestro programa
 +
*La forma de trabajar será interpretando diferentes producciones y en el momento adecuado validaremos la situación
 +
 
 +
==PLANTILLA UTILIZADA PARA CADA PRODUCCIÓN==
 
<br><br/>
 
<br><br/>
 
{{Resumen|La estructura general de cada producción va a ser:
 
{{Resumen|La estructura general de cada producción va a ser:
Línea 15: Línea 20:
 
*define de qué consta un programa
 
*define de qué consta un programa
 
  programa : tPROGRAMA tIDENTIFICADOR ';' declaracion_variables declaracion_acciones bloque_instrucciones
 
  programa : tPROGRAMA tIDENTIFICADOR ';' declaracion_variables declaracion_acciones bloque_instrucciones
*Acciones a realizar
 
#Dar de alta el identificador del programa para no volver a usarlo
 
#Después de la última instrucción eliminamos items de la tabla de símbolos
 
#Para crear el XML del programa, cada vez que hay un identificador creo un tag diciendo lo que es y lo cierro al final de su ámbito
 
 
<source lang=cpp>
 
programa:
 
    tPROGRAMA tIDENTIFICADOR ';'
 
    {
 
      nivel = 0;
 
      inicializar_tabla (tabsim);
 
      /*El identificador del programa
 
      Es el primer símbolo y por lo tanto seguro
 
      que no va a exixtir, por lo que no lo buscamos*/
 
      introducir_programa(tabsim,$2.NId,0);
 
      AbreTag(xmlin,$2.NId,nivel-1);
 
    }
 
 
    declaracion_variables
 
    declaracion_acciones
 
    bloque_instrucciones
 
    {
 
      eliminar_variables (tabsim, nivel);
 
      eliminar_parametros_ocultos(tabsim,nivel+1);
 
      eliminar_acciones (tabsim, nivel);
 
      eliminar_programa(tabsim);
 
      CierraTag(xmlin,$2.NId,nivel-1);
 
    }
 
;
 
</source>
 

Última revisión de 22:40 23 abr 2013



OBJETIVO

  • Esta parte realizará el análisis sintáctico y semántico de nuestro programa
  • La forma de trabajar será interpretando diferentes producciones y en el momento adecuado validaremos la situación

PLANTILLA UTILIZADA PARA CADA PRODUCCIÓN




Icon summary.gif

Resumen

La estructura general de cada producción va a ser:
Producción
Atributos
Acción
Código Yacc
 


  • primera producción
  • Producción obligatoria
  • define de qué consta un programa
programa : tPROGRAMA tIDENTIFICADOR ';' declaracion_variables declaracion_acciones bloque_instrucciones