17.05.2015 Views

Pascal News

Pascal News

Pascal News

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.

3137<br />

3138<br />

3139<br />

31~0<br />

3141<br />

3142<br />

31~3<br />

31~4<br />

3145<br />

31~6<br />

31~7<br />

31~8<br />

3149<br />

3150<br />

3151<br />

3152<br />

3153<br />

3154<br />

3155<br />

3156<br />

3157<br />

3158<br />

3159<br />

3160<br />

3161<br />

3162<br />

3163<br />

3164<br />

3165<br />

3166<br />

3167<br />

3168<br />

3169<br />

3170<br />

3171<br />

3172<br />

3173<br />

317~<br />

3175<br />

3176<br />

3178<br />

3180<br />

3181<br />

3182<br />

3183<br />

3184<br />

3185<br />

3186<br />

3187<br />

3188<br />

3189<br />

3190<br />

3191<br />

3192<br />

gend(ps fwe,letdlb); gend(op beg,letdlb);<br />

{the bodY-itself} -<br />

lcmax:=lc; currproc:=fip;<br />

eOlllpoundstatement( fsys ,+0266); {+02671<br />

lcmax:=address(lcmax,O,false); {align lemax}<br />

trace( 'procexit' ,fip,namdlb);<br />

{undefined or global labels}<br />

Up: =lehain ;<br />

.... ile IIpnil do<br />

begin if not llp~ .seen then errint(+0268,Up~ .labval);<br />

if llp~ .1abdlb0 then<br />

begin gendlb( Up~ .labdlb); genpnam(ps rom ,fip);<br />

genelb(llp~.labname); genest(lcmax); genend;<br />

{this doesn't work if local generators are around}<br />

end;<br />

Up:=llp~ .nextlp<br />

end;<br />

{define BUG size}<br />

gend(ps let ,letdlb); genest( lcmax-fip~ .headle);<br />

{finish and close files}<br />

treewalk( top~ .fname);<br />

if level=1 then<br />

begin gendlb(tnidlb); gen1(ps eon,arge+ll;<br />

for i: =0 to argc do with argyl 1l do<br />

begin gencst(ad);<br />

if (ad=-1) and (i>1) then errid(+0269,name)<br />

end.<br />

genend; gen1(op_mrk,O); gen1(op_loc,O); gensp(HLT)<br />

end<br />

else<br />

begin<br />

if fip~ .klassfunc then sz: =0 else<br />

begin<br />

if not (assigned in fip~ .iflag) then<br />

errid(-(+0270) ,fip~ .name);<br />

sz:=even(sizeof( f1p~ .1dtype»; push(local,fip~ .pfpos.ad,sz);<br />

end;<br />

gen1(op ret,sz); genO(ps_end);<br />

end -<br />

end end;<br />

{= ==== == = = ====== == = ==== = = === = ==== = = == == = = == = = = == == = = = = = = == = = = = = == = == }<br />

procedure block; {forward declared}<br />

var ad : integer ;<br />

begin with b do begin<br />

assert [labelsy•• withsyl

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

Saved successfully!

Ooh no, something went wrong!