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 />
ComPort <strong>–</strong> <strong>Compilador</strong> <strong>Portugol</strong><br />
parameter (par);<br />
if (sym == VIRGULA)<br />
Get (sym);<br />
else<br />
{<br />
if (sym == PARENTESE_D)<br />
{<br />
Get (sym);<br />
break;<br />
}<br />
else<br />
{<br />
if (sym == NOVALINHA)<br />
break;<br />
else<br />
Mark (") or , ?");<br />
}<br />
}<br />
} while (1);<br />
}<br />
if (obj->val < 0)<br />
Mark ("forward call");<br />
else if (!IsParam (par))<br />
Call (x);<br />
else<br />
Mark ("Poucos parâmetros");<br />
}<br />
else if (x.mode == SProc)<br />
{<br />
if (obj->val Class == Typ)<br />
Mark ("Atribuição ilegal?");<br />
else<br />
Mark ("Comando?");<br />
}<br />
break;<br />
case SE:<br />
Get (sym);<br />
expression (x);<br />
CJump (x);<br />
if (sym == ENTAO)<br />
Get (sym);<br />
else<br />
Mark ("então?");<br />
StatSequence ();<br />
L = 0L;<br />
while (sym == SENAO)<br />
{<br />
Get (sym);<br />
FJump (L);<br />
FixLink (x.a);<br />
expression (x);<br />
CJump (x);<br />
if (sym == ENTAO)<br />
Get (sym);<br />
else<br />
Mark ("Então?");<br />
73