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 />
case ENUMERO:<br />
MakeConstItem (x, intType, val);<br />
Get (sym);<br />
break;<br />
case PARENTESE_E:<br />
Get (sym);<br />
expression (x);<br />
if (sym == PARENTESE_D)<br />
Get (sym);<br />
else<br />
Mark (")?");<br />
break;<br />
case COLCHETE_E:<br />
Get (sym);<br />
expression (x);<br />
if (sym == COLCHETE_D)<br />
Get (sym);<br />
else<br />
Mark ("]?");<br />
break;<br />
case NAO:<br />
Get (sym);<br />
factor (x);<br />
Op1 (NAO, x);<br />
break;<br />
default:<br />
Mark ("factor?");<br />
MakeItem (x, guard);<br />
void<br />
term (Item & x)<br />
{<br />
Item y;<br />
int op;<br />
factor (x);<br />
// Modulo retirado, pois não é definido em portugol<br />
while (sym == MULTIPLICACAO || sym==DIVISAO || sym == E)<br />
{<br />
op = sym;<br />
Get (sym);<br />
if (op == E)<br />
Op1 (op, x);<br />
factor (y);<br />
Op2 (op, x, y);<br />
}<br />
}<br />
void<br />
SimpleExpression (Item & x)<br />
{<br />
Item y;<br />
int op;<br />
switch(sym)<br />
{<br />
ComPort <strong>–</strong> <strong>Compilador</strong> <strong>Portugol</strong><br />
70