Advertisement
Guest User

Untitled

a guest
May 31st, 2016
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.04 KB | None | 0 0
  1. // ------------------------------------ PRINT SCAN ------------------------------------
  2.  
  3. Print : PRINT '(' Prints ')' {fprintf(f,"writei\n");}
  4. ;
  5.  
  6. Scan: SCAN '(' Var')' {Endereco a= getEndereco($3.var_nome); fprintf(f,"read\n atoi\n store%c %d\n",a.tipoVar, a.addr);}
  7. ;
  8.  
  9. Prints : num {fprintf(f, "writei %d\n",$1 );}
  10. | Var {Endereco a = getEndereco($1.var_nome); fprintf(f, "write%c %d\n",a.tipoVar, a.addr);}
  11.  
  12. | Var '['Exp ']' {Endereco a = getEndereco($1.var_nome);
  13. fprintf(f, "push%cp\npush%c %d\npadd\n",(a.tipoVar=='l')?'f':'g', a.tipoVar, a.addr);
  14. fprintf(f, "loadn\n");}
  15.  
  16. | Var '['Exp ']' '['Exp ']'
  17. | id {fprintf(f, "writes /"%s/"", $1.var_nome);}
  18. ;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement