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.

1009<br />

1010<br />

1011<br />

1012<br />

1013<br />

1014<br />

1015<br />

1016<br />

1017<br />

1018<br />

1019<br />

1020<br />

1021<br />

1022<br />

1023<br />

1024<br />

1026<br />

1027<br />

1028<br />

1029<br />

1030<br />

1032<br />

1033<br />

1035<br />

1037<br />

1038<br />

1039<br />

1040<br />

1042<br />

1043<br />

1044<br />

1045<br />

1046<br />

1047<br />

1048<br />

1049<br />

1050<br />

1051<br />

1052<br />

1053<br />

1054<br />

1055<br />

1056<br />

1057<br />

1058<br />

1059<br />

1060<br />

1061<br />

Hendif<br />

gen1(op adi,ad); gen1(op_sti,sz)<br />

end -<br />

else<br />

pop(global,ad ,sz)<br />

else<br />

if level=lv then pope local ,ad ,sz) else<br />

lexical (op_sti ,Iv ,ad ,sz);<br />

pfixed :<br />

begin loadpos(pos ,ptrsize); gen 1(op_sti ,sz) end;<br />

ploaded:<br />

gen1(op sti,sz);<br />

indexed: -<br />

genO(op sas);<br />

end; {case}<br />

end end;<br />

procedure fieldaddr(off:integer);<br />

begin wi th a do'<br />

if (ak=fixed) and not packbit then pos.ad:=pos.ad+off else<br />

begin loadaddr; gen1(op_adi,off) end<br />

end;<br />

procedure loadcheap;<br />

begin if formof(a.asp;[arrays •• reoordsJ) then loadaddr else load end;<br />

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

procedure nextch;<br />

begin<br />

eol:=eoln(input): read(input,ch); e.chno:=e.chno+1; chsy:=cs[ch];<br />

end;<br />

procedure n ex tl n ;<br />

begin<br />

if eof(input) then<br />

begin<br />

if not eofexpected then error(+03) else<br />

begin<br />

if fltused then begin gen1(ps mes,mesfloats); genend end;<br />

genO (ps eof) -<br />

end; -<br />

Bifdef STANDARD<br />

goto 9999<br />

Hendif<br />

Uifndef STANDARD<br />

halt<br />

Uendif<br />

end;<br />

e.chno:=O; e.lino:=e.lino+1; e.linr:=e.linr+1;<br />

if not including" then<br />

begin e.orig:=e.orig+'; giveline:=true end;<br />

end;<br />

1066<br />

1067<br />

1068<br />

1069<br />

1070<br />

1071<br />

1072<br />

1073<br />

1075<br />

1076<br />

1077<br />

1078<br />

1079<br />

1080<br />

1081<br />

1082<br />

1083<br />

1084<br />

1085<br />

1086<br />

1087<br />

1088<br />

1089<br />

1090<br />

1091<br />

1092<br />

1094<br />

1095<br />

1096<br />

1097<br />

1098<br />

1099<br />

1100<br />

1101<br />

1102<br />

1103<br />

1104<br />

1105<br />

1106<br />

1107<br />

1108<br />

1109<br />

1110<br />

1111<br />

1112<br />

1113<br />

1114<br />

1115<br />

1116<br />

1117<br />

procedure gete;<br />

var b:byte;<br />

begin<br />

if normal then<br />

begin nextch; c:=ch end<br />

else<br />

begin read(em1,b); c:=chr(b) end<br />

end;<br />

begin<br />

repeat g etc;<br />

if (o>='a') and (o=O then<br />

if not normal then<br />

begin forceopt[ci):=true; opt[ciJ:=i end<br />

else<br />

if not forceopt[cil then opt[ciJ: =i;<br />

end;<br />

until c() I , ' ;<br />

end;<br />

procedure linedirective;<br />

var i,j :integer;<br />

begin i:=O; j:=O;<br />

repeat nextch until (ch' ') or eol;<br />

while chsy=digit do<br />

begin.i:=i*10 + ord(ch) - ord('O'); nextch end;<br />

while (ch=' ,). and not eol do nextch;<br />

if (ch'"') or (1=0) then error( +04) else<br />

begin nextch;<br />

while (ch'"') and not eol do<br />

begin<br />

if oh=' I' then j: =0 else<br />

begin if j~O then e.f'nam:=emptyfnam;<br />

j:=j+1; if j

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

Saved successfully!

Ooh no, something went wrong!