#endif
program pem(input,em,errors);
-{ This Pascal compiler produces EM code as described in
+{/*
+ This Pascal compiler produces EM code as described in
- A.S.Tanenbaum, J.W.Stevenson & H. van Staveren,
"Description of a machine architecture for use with
block structured languages" Informatika rapport 81.
s: accept only standard pascal programs (-)
t: trace procedure entry and exit (-)
u: treat '_' as letter (-)
-}
+*/}
{===================================================================}
#ifdef STANDARD
label 9999;
standard:(key:standpf); {identification}
formal,actual,forward,extern,varargs:
(pfpos:position; {lv gives declaration level.
- ad is relevant for formal pf's and for
+ ad is relevant for formal pf s and for
functions (no conflict!!).
for functions: ad is the result address.
- for formal pf's: ad is the address of the
+ for formal pf s: ad is the address of the
descriptor }
pfno:integer; {unique pf number}
maxlb:integer; {bytes of parameters}
charptr,nilptr,zeroptr,procptr,longptr:sp;
{flags}
giveline:boolean; {give source line number at next statement}
- including:boolean; {no LIN's for included code}
+ including:boolean; {no LINs for included code}
eofexpected:boolean; {quit without error if true (nextch) }
main:boolean; {complete programme or a module}
intypedec:boolean; {true if nested in typedefinition}
end;
function searchsection(fip: ip):ip;
-{to find record fields and forward declared procedure id's
+{to find record fields and forward declared procedure identifiers
-->procedure pfdeclaration
-->procedure selector}
label 1;
begin loadaddr; temporary(nilptr,reg_pointer);
store; a.ak:=pfixed
end;
- fa:=a; {store doesn't change a}
+ fa:=a; {store does not change a}
if (sy<>comma) and not ln then error(+0154);
end
else