Ejemplo n.º 1
0
/* Genera la instruccion para una operacion infija y construye un registro semantico con el resultado. */
struct reg_expr gen_infijo(struct reg_expr *pei, struct reg_op *op, struct reg_expr *ped){
  
  struct reg_expr reg;
  static unsigned int numTemp = 1;
  char cadTemp[TAMLEX] ="Temp&";
  char cadNum[TAMLEX];
  char cadOp[TAMLEX];
  
  strcpy(cadOp, operaciones[op->cod_oper]);
  
  sprintf(cadNum, "%d", numTemp);
  numTemp++;
  strcat(cadTemp, cadNum);
  
  if (pei->clase == ID)
  {
    chequear(extraer(pei));
  }
  
  if (ped->clase == ID) 
  { 
    chequear(extraer(ped));    
  }
  
  chequear(cadTemp);
  generar(cadOp, extraer(pei), extraer(ped), cadTemp);
  strcpy(reg.nombre, cadTemp);
  
  return reg;
}
Ejemplo n.º 2
0
 int main() { 
 
 elemento* uno = malloc(sizeof(elemento)); 
 elemento* dos = malloc(sizeof(elemento)); 
 elemento* tres = malloc(sizeof(elemento)); 
 elemento* cuatro = malloc(sizeof(elemento)); 
 uno->nombre = "Aprenda Java en 24 horas"; 
 dos->nombre = "Aprenda C++ rapidamente"; 
 tres->nombre = "Aprenda Visual Basic con este libro"; 
 cuatro->nombre = "Aprenda mas sobre windows 10"; 
 agregar(uno); 
 agregar(dos); 
 agregar(tres); 
 agregar(cuatro);
 
 elemento* i = extraer(); 
 while(i != NULL) { printf("%s.\n", i->nombre); 
 i = extraer();
 } 
 return 0;
 }
Ejemplo n.º 3
0
main() /* Rellenar, extraer y visualizar */
{
char opc;
do
{
clrscr();
gotoxy(30,8); printf("1.- Insertar");
gotoxy(30,10);printf("2.- Extraer");
gotoxy(30,12);printf("3.- Visualizar la cola");
gotoxy(30,14);printf("4.- Salir");
opc=getch( );
switch(opc)
  {
    case '1': insertar(); break;
    case '2': extraer(); break;
    case '3': visualizar( );
  }
}while (opc!='4');
return 0;
}
Ejemplo n.º 4
0
/* Genera la instruccion para escribir. */
void escribir_exp(struct reg_expr *pout){
	generar("Write", extraer(pout), "Integer", "");
}
Ejemplo n.º 5
0
/* genera la instruccion para la asignacion */
void asignar(struct reg_expr *vizq, struct reg_expr *vder){
  generar("Store", extraer(vder), vizq->nombre, "");
}