** Next:** About this document ...
**Up:** Quiz3
** Previous:** Exercise 2.

Translate the following MOOL piece of code into three-address code.
while not (a = b) repeat {
if (a < b) then {
b := b - a;
} else {
a := a - b;
};
};

The three-address code instructions you may need are of one of the forms:
`goto L` where `L` is a symbolic label (like `L1, L2, ...`)
`if x relop y goto L` where `relop` can be `=` or `< `
`x:= y op z` where `op` can be `-`

Moreover your solution does **not** need to be obtained by one of the
algorithms of the course.
Just consider that you are programming a very basic calculator.

**Answer 3**
*
*

** Next:** About this document ...
**Up:** Quiz3
** Previous:** Exercise 2.
*Marc Moreno Maza *

2004-12-02