1 //  The main routine for the second pass, called from the driver.
 2 //  Last modified on 06/06/74 at 18:26:18 by R F Mabee.
 3 //  Revisions for 6180 installed in Version 3.4, R F Mabee.
 4 //  First installed with Version 2.7 by R F Mabee.
 5 
 6 //  Copyright (c) 1974 by Massachusetts Institute of Technology and Honeywell Information Systems, Inc.
 7 
 8 //  General permission is granted to copy and use this program, but not to sell it, provided that the above
 9 //  copyright statement is given.  Contact Information Processing Services, MIT, for further information.
10 //  Please contact R F Mabee at MIT for information on this program and versions for other machines.
11 
12 get "bcpl_trans_head"
13 
14 let Trans (x) be
15      $(   DvecP := Newvec (DvecSize)
16           for i = 0 to DvecSize do DvecP!i := 0
17           DvecC := DvecP
18 
19           StaticFirst, StaticList, DefList := 0, 0, 0
20           StaticAllocationCounter := 0
21           InsideRtdef, RtdefNesting, RtdefList := false, 0, 0
22           ReturnLabel := 0
23           LineCount := 0
24           ValofFlag, SwitchFlag, LoopFlag := false, false, false
25           BreakLabel, LoopLabel, EndcaseLabel := 0, 0, 0
26           SSP := 0
27           FreeLocalList, PendingTemps := 0, 0
28 
29           Transbody (x)
30 
31           LineCount := 0
32           CgFinish (StaticFirst, DefList)
33      $)