Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ------------------------------------ PRINT SCAN ------------------------------------
- Print : PRINT '(' Prints ')' {fprintf(f,"writei\n");}
- ;
- Scan: SCAN '(' Var')' {Endereco a= getEndereco($3.var_nome); fprintf(f,"read\n atoi\n store%c %d\n",a.tipoVar, a.addr);}
- ;
- Prints : num {fprintf(f, "writei %d\n",$1 );}
- | Var {Endereco a = getEndereco($1.var_nome); fprintf(f, "write%c %d\n",a.tipoVar, a.addr);}
- | Var '['Exp ']' {Endereco a = getEndereco($1.var_nome);
- fprintf(f, "push%cp\npush%c %d\npadd\n",(a.tipoVar=='l')?'f':'g', a.tipoVar, a.addr);
- fprintf(f, "loadn\n");}
- | Var '['Exp ']' '['Exp ']'
- | id {fprintf(f, "writes /"%s/"", $1.var_nome);}
- ;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement