17.01.2013 Views

COMPORT – Compilador Portugol - Nilo Menezes

COMPORT – Compilador Portugol - Nilo Menezes

COMPORT – Compilador Portugol - Nilo Menezes

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!