Pascal News
Pascal News
Pascal News
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
3249<br />
3250<br />
3251<br />
3252<br />
3253<br />
3254<br />
3255<br />
3256<br />
3257<br />
3258<br />
3259<br />
3261<br />
3263<br />
3264<br />
3265<br />
3266<br />
3267<br />
3268<br />
3269<br />
3270<br />
3271<br />
3272<br />
3273<br />
3274<br />
3275<br />
3276<br />
3277<br />
3278<br />
3279<br />
3280<br />
if main then programmeClsys) else with b do<br />
begin<br />
if find3Cconstsy,lsys,+0290) then constdefinitionClsys);<br />
if find3Ctypesy,lsys,+0291) then typedefinition(lsys);<br />
if find3Cvarsy,lsys,+0292) then vardeclarationClsys);<br />
gen1(ps hol,address(lc,O,false)); lc:=O; level:=1;<br />
while fInd2C[procsy,funcsy],lsys,+0293) do pfdeclarationClsys);<br />
end;<br />
errorC+0294);<br />
until false; {the only way out is the halt in nextln on eof }<br />
end;<br />
{= = = = == = == = = = == = = = == == = == == = == = == = = == = = = = = = = == = = = = = = = = = = = == = = = = = = = = = }<br />
begin {main body of pcompilerJ<br />
rewrite(errors) ;<br />
lnit 1; lnit2; init3; init4;<br />
{all this initializing must be independent of opts}<br />
resetCem1); if not eofCem1) then optionsCfalse);<br />
rewriteCem1); writeCem1,MAGICLOW,MAGICHIGH);<br />
lifdef GETREQUIRED<br />
get (in put) ;<br />
Hendif<br />
if eofC input) then genO Cps eof) else<br />
begin nextch; insym;<br />
handleopts; {initialize all opt dependent stuff}<br />
compile<br />
end;<br />
Hifdef STANDARD<br />
9999: ;<br />
Hendif<br />
end. {pcompiler}<br />
3<br />
4<br />
5<br />
6<br />
8<br />
9<br />
10<br />
11<br />
13<br />
14<br />
15<br />
17<br />
18<br />
19<br />
20<br />
21<br />
23<br />
24<br />
/* collection of options, selected by including or excluding 'defines' */<br />
1* select only one of the following: *1<br />
D define V7 1 1* Unix version 7 *1<br />
1* n define V6 1 1* Unix version 6 *1<br />
-0<br />
;r,-<br />
1* I define VPLUS 1 1* Unix version 6 plus diff listing *1 en<br />
r,<br />
»<br />
1* select only one of the following: *1<br />
,<br />
# define C7 1 1* version 7 C-compiler *1 z:<br />
1* define C6 1 1* version 6 C-compiler *1<br />
I" n define NC6 1 1* something between C6 and C7 *1 en<br />
nifdef BOOT<br />
""<br />
n define INT ONLY Hendif<br />
'"<br />
""<br />
Rifndef BOOT<br />
'" ""<br />
n define HARDWARE FP I" if you've hardware floating point "I IJoj<br />
I" n define INT ONLY- 1* for interpreted programs only */<br />
R define SFLOAT I" for single precision floats 1/<br />
Dendif<br />
I" Version number of the EM1 object code "I<br />
# define VERSION 2 I" 16 bits number" I<br />
[T\<br />
:E: