\r
PROCEDURE ProcedureDecl;\r
CONST marksize = 4;\r
- VAR proc, obj: OSG.Object;\r
+ VAR\r
+ proc, obj: OSG.Object;\r
procid: OSS.Ident;\r
nofpar: INTEGER;\r
locblksize, parblksize: LONGINT;\r
PROCEDURE FPSection(VAR adr: LONGINT; VAR nofpar: INTEGER);\r
VAR obj, first: OSG.Object; tp: OSG.Type; parsize: LONGINT;\r
BEGIN\r
- IF sym = OSS.var THEN OSS.Get(sym); IdentList(OSG.Par, first)\r
- ELSE IdentList(OSG.Var, first)\r
+ IF sym = OSS.var THEN\r
+ OSS.Get(sym);\r
+ IdentList(OSG.Par, first)\r
+ ELSE\r
+ IdentList(OSG.Var, first)\r
END ;\r
IF sym = OSS.ident THEN\r
- find(obj); OSS.Get(sym);\r
- IF obj.class = OSG.Typ THEN tp := obj.type ELSE OSS.Mark("type?"); tp := OSG.intType END\r
- ELSE OSS.Mark("ident?"); tp := OSG.intType\r
+ find(obj);\r
+ OSS.Get(sym);\r
+ IF obj.class = OSG.Typ THEN\r
+ tp := obj.type\r
+ ELSE\r
+ OSS.Mark("type?");\r
+ tp := OSG.intType\r
+ END\r
+ ELSE\r
+ OSS.Mark("ident?");\r
+ tp := OSG.intType\r
END ;\r
IF first.class = OSG.Var THEN\r
parsize := tp.size;\r
- IF tp.form >= OSG.Array THEN OSS.Mark("no struct params") END ;\r
- ELSE parsize := WordSize\r
+ IF tp.form >= OSG.Array THEN\r
+ OSS.Mark("no struct params")\r
+ END ;\r
+ ELSE\r
+ parsize := WordSize\r
END ;\r
obj := first;\r
WHILE obj # NIL DO\r
- INC(nofpar); obj.type := tp; obj.lev := level; obj.val := adr; adr := adr + parsize;\r
+ INC(nofpar);\r
+ obj.type := tp;\r
+ obj.lev := level;\r
+ obj.val := adr;\r
+ adr := adr + parsize;\r
obj := obj.next\r
END\r
END FPSection;\r
ProcedureDecl;\r
Check(OSS.semicolon, "; expected")\r
END ;\r
+\r
proc.val := OSG.pc * 4;\r
OSG.Enter(parblksize, locblksize, proc.comd);\r
IF sym = OSS.begin THEN\r