Considere o seguinte código C++ (assuma que ponteiros e int ocupam 32 bits e que double ocupa 64 bits).
extern int swap(int *a, int *b);
int gcd(int a, int b) {
static int temp = 0;
if (temp) temp = swap(&a, &b);
while (1) {
a = a % b;
if (a == 0) break;
b = b % a;
if (b == 0) return a;
}
return b;
}
O código Postfix correspondente ao código C++ é o seguinte (agradece-se a comunicação de questões relativas a este código).
[Expand] Código Postfix |
---|
Para compilar o código Postfix directamente, pode ser utilizada a ferramenta pf2asm (assumindo uma arquitectura de 32 bits):
pf2asm code.pf yasm -felf32 code.asm