BackbuttonEpilog Procedure

An Epilog Procedure is a procedure which is executed before the Block in which it is located is exited.

It must be an Untyped Procedure with No Parameters.

A Block which contains an Epilog Procedure must have a Software Control Word with the AlgolEpiF flag set, and immediately below the SCW there must be the PCW for the Epilog Procedure.

 0041 (02,002B)  6 800000 681800  SCW: Blockexit marker: Connection/Structure Blocks,
 Epilog Procedure, Library Templates, Multi-dim
 Arrays, Single-dim Arrays
 0040 (02,002A)  7 800024 301D4D  PCW:  ASD=00EA6C, LL=3, Segment @ 0006:0001:1, 
							Normal state 
 003F (02,0029)  0 FFFFFF FFFFFF  TOS     (Real)     Dec: -7.006492321611341-46 
 003E (02,0028)  7 800024 301D4D  BLOCKCLEANUP (Epilog procedure)  ASD=00EA6C, LL=3,
 Segment @ 0006:0001:1, Normal state 
  
   
                                                

The Algol Compiler recreates the PCW for the Epilog Procedure before storing the SCW, so there are 2 copies of the PCW, the other one being at the point of declaration.