COMPORT – Compilador Portugol - Nilo Menezes
COMPORT – Compilador Portugol - Nilo Menezes
COMPORT – Compilador Portugol - Nilo Menezes
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
}<br />
{<br />
if (op == MAIS)<br />
x.a += y.a;<br />
else if (op == MENOS)<br />
x.a -= y.a;<br />
else if (op == MULTIPLICACAO)<br />
x.a *= y.a;<br />
else if (op == DIVISAO)<br />
x.a /= y.a;<br />
else if (op == RESTO)<br />
x.a %= y.a;<br />
else<br />
Mark ("bad type");<br />
}<br />
else<br />
{<br />
if (op == MAIS)<br />
PutOp (ADD, x, y);<br />
else if (op == MENOS)<br />
PutOp (SUB, x, y);<br />
else if (op == MULTIPLICACAO)<br />
PutOp (MUL, x, y);<br />
else if (op == DIVISAO)<br />
PutOp (DIV, x, y);<br />
else if (op == RESTO)<br />
PutOp (MOD, x, y);<br />
else<br />
Mark ("bad type");<br />
}<br />
}<br />
else<br />
{<br />
if (x.type->form == Boolean && y.type->form == Boolean)<br />
{<br />
if (y.mode != Cond)<br />
loadBool (y);<br />
if (op == OU)<br />
{<br />
x.a = y.a;<br />
x.b = merged (y.b, x.b);<br />
x.c = y.c;<br />
}<br />
else<br />
{<br />
if (op == E)<br />
{<br />
x.a = merged (y.a, x.a);<br />
x.b = y.b;<br />
x.c = y.c;<br />
}<br />
}<br />
}<br />
else<br />
Mark ("bad type");<br />
}<br />
void<br />
Relation (int op, Item & x, Item & y)<br />
{<br />
ComPort <strong>–</strong> <strong>Compilador</strong> <strong>Portugol</strong><br />
93