Compilation listing of file >2.1spec>online>mib083074>bcpl_trans2.bcpl. Compilation performed for Martinson.SysMaint.a at 01/24/75 0701.4 mst Fri. Compiled by BCPL version 3.4, August 1973. Compiler updated at 09/25/73 0959.1 mst Tue. Options applied: source xref alist optimize 6180. 1 // Miscellaneous short routines for Trans. 2 // Last modified on 06/06/74 at 18:26:32 by R F Mabee. 3 // Installed on 6180 as Version 3.4 by R F Mabee. 4 // First installed as part of Version 2.7, 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" 1 // Declarations for the semantic translator. 2 // Last modified on 07/21/73 at 20:36:10 by R F Mabee. 3 // Revised during 6180 bootstrap, and installed as Version 3.4 by R F Mabee. 4 // First installed as Version 2.7 by R F Mabee. 5 6 // Copyright (c) 1973 by the author, Robert F. Mabee. 7 // This file may only be reproduced or modified with explicit written 8 // permission of the author. Permission is hereby extended to those 9 // persons responsible for operating the Multics system to make such 10 // copies as are normally required to ensure the integrity of the Multics 11 // file system. Permission is also hereby extended to those persons 12 // responsible for maintaining the Multics program libraries to make such 13 // copies as are normally required for online installations. 14 15 get "bcpl_compiler_head" 1 // Declarations common to the entire BCPL compiler. 2 // Last modified on 07/28/73 at 03:56:32 by R F Mabee. 3 // Installed on 6180 as Version 3.4, R F Mabee. 4 // First installed on 645 as Version 2.7 by R F Mabee. 5 6 // Copyright (c) 1973 by the author, Robert F. Mabee. 7 // This file may only be reproduced or modified with explicit written 8 // permission of the author. Permission is hereby extended to those 9 // persons responsible for operating the Multics system to make such 10 // copies as are normally required to ensure the integrity of the Multics 11 // file system. Permission is also hereby extended to those persons 12 // responsible for maintaining the Multics program libraries to make such 13 // copies as are normally required for online installations. 14 15 external 16 $( Readch = "bcpl_machine_code_$Readch" // Library routines used by the compiler. 17 Writech = "bcpl_machine_code_$Writech" 18 WriteS = "bcpl_stream_io_$WriteS" 19 WriteN = "bcpl_stream_io_$WriteN" 20 Format = "bcpl_stream_io_$Format" 21 Packstring = "bcpl_machine_code_$Packstring" 22 Unpackstring = "bcpl_machine_code_$Unpackstring" 23 RemoveEscapes = "bcpl_conversions_$RemoveEscapes" 24 EqualString = "bcpl_strings_$EqualString" 25 CompareStrings = "bcpl_strings_$CompareStrings" // Alphabetic comparison. 26 Concatenate = "bcpl_strings_$Concatenate" 27 ConvertStoN = "bcpl_conversions_$ConvertStoN" 28 ConvertNtoS = "bcpl_conversions_$ConvertNtoS" 29 Length = "bcpl_strings_$Length" // Number of characters. 30 LengthInWords = "bcpl_strings_$LengthInWords" // Length of packed string. 31 RandomI = "bcpl_arithmetic_$RandomI" 32 33 Newvec = "bcpl_utility$Newvec" // Utility routines used throughout the compiler. 34 Freevec = "bcpl_utility$Freevec" 35 List1 = "bcpl_utility$List1" 36 List2 = "bcpl_utility$List2" 37 List3 = "bcpl_utility$List3" 38 List4 = "bcpl_utility$List4" 39 List5 = "bcpl_utility$List5" 40 List6 = "bcpl_utility$List6" 41 StoreString = "bcpl_utility$StoreString" 42 PushInput = "bcpl_utility$PushInput" 43 PopInput = "bcpl_utility$PopInput" 44 MakeTimeString = "bcpl_utility$MakeTimeString" 45 Nextparam = "bcpl_utility$Nextparam" 46 FormCharconst = "bcpl_utility$FormCharconst" 47 FormStringconst = "bcpl_utility$FormStringconst" 48 49 CaeReport = "bcpl_report$CaeReport" 50 Transreport = "bcpl_report$Transreport" 51 CGreport = "bcpl_report$CGreport" 52 53 Nextsymb = "bcpl_lex0$Nextsymb" 54 55 SymbolName = "bcpl_plist$SymbolName" 56 FindPrintName = "bcpl_plist$FindPrintName" 57 EnterIntoCrossreference = "bcpl_plist$EnterIntoCrossreference" 58 59 GetVersion = "bcpl_version$GetVersion" // Routines used only by the driver. 60 UtilitiesInit = "bcpl_utility$UtilitiesInit" 61 Cleanup = "bcpl_utility$Cleanup" 62 GetStream = "bcpl_utility$GetStream" 63 64 CAE = "bcpl_cae0$CAE" 65 LexInit = "bcpl_lex0$LexInit" 66 67 Pname = "bcpl_plist$Pname" 68 Plist = "bcpl_plist$Plist" 69 70 Trans = "bcpl_trans0$Trans" 71 CgInit = "bcpl_cg0$CgInit" 72 BuildObject = "bcpl_cg0$BuildObject" 73 WriteObjectListing = "bcpl_cg0$WriteObjectListing" 74 $) 75 76 global // Globals are reserved in blocks as follows: 77 $( // 0 - 31 system 78 // 32 - 99 library 79 // 100 - 149 options and other common cells 80 // 150 - 159 metering cells 81 // 160 - 169 bcpl_utility 82 // 170 - 199 to be assigned 83 // 200 - 229 lexical phase 84 // 230 - 249 syntax analyzer 85 // 250 - 299 translator 86 // 300 - 399 code generator 87 88 // Cells used for communication with the library. 89 OUTPUT : 32 90 INPUT : 33 91 MONITOR : 34 92 Ch : 36 93 94 // Options for this compilation. 95 Listing : 100 96 UpperCase : 101 97 PPrep : 102 98 Crep : 103 99 Symbols : 104 100 LineMap : 105 101 Optimize : 106 102 Machine : 107 103 Xref : 108 104 OcodeSw : 109 105 HaveListingFile : 110 106 QuietSw : 111 107 108 // Other information about this compilation. 109 CompilerVersionString : 120 110 CompilerVersionNumber : 121 111 CompilerDTMString : 122 112 CompilerDTM : 123 113 TimeNowString : 124 114 TimeNow : 125 115 OptionString : 126 116 FileNames : 127 117 FilesInfo : 128 118 FileCount : 129 119 ProgramName : 130 120 UserID : 131 121 122 // Working variables needing global scope. 123 LineCount : 140 124 Errorsw : 141 125 NAMECHAIN : 142 126 Symb : 143 127 DictionaryEntry : 144 128 Column : 145 129 $) 130 manifest 131 $( GlobalTemp = 199 $) // Number of cell available for local, temporary use. 132 133 manifest 134 $( Left = 18; Right = $8777777 135 Endofstreamch = $87777 136 Even = $87777777777776 137 Vmax = 511 138 LineMask = $817777; FileShift = 13 // Breakdown of line count. 139 UnexpectedCase = 99 // Error code for use throughout compiler. 140 $) 16 get "bcpl_symbols" 1 // All symbols used in the interface between any two phases of the compiler are defined here. 2 // This includes all canonical symbols, syntax tree nodes, and XOCODE operators. 3 // Last modified on 07/08/73 at 22:55:31 by R F Mabee. 4 // Revisions installed in Version 3.4 on 6180, R F Mabee. 5 // First installed with Version 2.7 by R F Mabee. 6 7 // Copyright (c) 1973 by the author, Robert F. Mabee. 8 // This file may only be reproduced or modified with explicit written 9 // permission of the author. Permission is hereby extended to those 10 // persons responsible for operating the Multics system to make such 11 // copies as are normally required to ensure the integrity of the Multics 12 // file system. Permission is also hereby extended to those persons 13 // responsible for maintaining the Multics program libraries to make such 14 // copies as are normally required for online installations. 15 16 manifest 17 $( AND_S = 1 18 ASSIGN_S = 2 19 BE_S = 3 20 BIT_S = 4 21 BREAK_S = 5 22 BY_S = 6 23 CALL_S = 07 24 CASE_S = 08 25 26 CHAR_S = 10 27 CHARCONST_S = 11 28 COLON_S = 12 29 COMMA_S = 13 30 COND_S = 14 31 CONSTANT_S = 15 32 CONSTDEF_S = 16 33 DEFAULT_S = 17 34 DIV_F = 18 35 36 DIV_S = 20 37 DO_S = 21 38 DOUBLE_S = 22 39 ENDCASE_S = 23 40 ENDPROG_S = 24 41 ERROR_S = 25 42 EQ_F = 26 43 EQ_S = 27 44 EQV_S = 28 45 46 EXTERNAL_S = 30 47 FALSE_S = 31 48 FINISH_S = 32 49 FIXED_S = 33 50 FLOAT_S = 34 51 FNAP_S = 35 52 FNDEF_S = 36 53 FOR_S = 37 54 GE_F = 38 55 56 GE_S = 40 57 GET_S = 41 58 GLOBAL_S = 42 59 GOTO_S = 43 60 GR_F = 44 61 GR_S = 45 62 IF_S = 46 63 IFNOT_S = 47 64 IFSO_S = 48 65 66 INTO_S = 50 67 LABDEF_S = 51 68 LABEL_S = 52 69 LE_F = 53 70 LE_S = 54 71 LENGTH_S = 55 72 LET_S = 56 73 LIST_S = 57 74 LOCAL_S = 58 75 76 LOGAND_S = 60 77 LOGOR_S = 61 78 LOOP_S = 62 79 LS_F = 63 80 LS_S = 64 81 LSHIFT_S = 65 82 LV_S = 66 83 LVECAP_S = 67 84 LV_ARG_OUT = 68 85 86 LV_FNAP_RESULT = 70 87 LV_GLOBAL = 71 88 LV_LOCAL = 72 89 LV_STATIC = 73 90 LV_TEMP = 74 91 MAIN_S = 75 92 MANIFEST_S = 76 93 MINUS_F = 77 94 MINUS_S = 78 95 96 MULT_F = 80 97 MULT_S = 81 98 NAME_S = 82 99 NEG_F = 83 100 NEG_S = 84 101 NEQV_S = 85 102 NE_F = 86 103 NE_S = 87 104 NIL_S = 88 105 106 NOT_S = 90 107 NUMBER_S = 91 108 OFFSET_S = 92 109 OR_S = 93 110 PLUS_F = 94 111 PLUS_S = 95 112 POINTER_S = 96 113 POS_F = 97 114 POS_S = 98 115 116 RBRA_S = 100 117 REGISTER_S = 101 118 REL_S = 102 119 REM_S = 103 120 REP_S = 104 121 REPEAT_S = 105 122 REPEATUNTIL_S = 106 123 REPEATWHILE_S = 107 124 RESULTIS_S = 108 125 126 RETURN_S = 110 127 RKET_S = 111 128 RSHIFT_S = 112 129 RTAP_S = 113 130 RTDEF_S = 114 131 RV_S = 115 132 SBRA_S = 116 133 SECTBEGIN_S = 117 134 SECTBRA_S = 118 135 136 SECTEND_S = 120 137 SECTKET_S = 121 138 SEMICOLON_S = 122 139 SKET_S = 123 140 STATIC_S = 124 141 STRING_S = 125 142 STRINGCONST_S = 126 143 STRUCTURE_S = 127 144 SWITCHON_S = 128 145 146 TABLE_S = 130 147 TEMP_S = 131 148 TEST_S = 132 149 TO_S = 133 150 TRUE_S = 134 151 TYPE_S = 135 152 UNLESS_S = 136 153 UNTIL_S = 137 154 VALDEF_S = 138 155 156 VALOF_S = 140 157 VEC_S = 141 158 VECAP_S = 142 159 WHILE_S = 143 160 $) 17 get "bcpl_trans_codes" 1 // Report codes for the translator phase. 2 // Last modified on 07/21/73 at 22:14:49 by R F Mabee. 3 // Revisions for 6180 bootstrap installed with Version 3.4, R F Mabee. 4 // First installed in Version 2.7 by R F Mabee. 5 6 // Copyright (c) 1973 by the author, Robert F. Mabee. 7 // This file may only be reproduced or modified with explicit written 8 // permission of the author. Permission is hereby extended to those 9 // persons responsible for operating the Multics system to make such 10 // copies as are normally required to ensure the integrity of the Multics 11 // file system. Permission is also hereby extended to those persons 12 // responsible for maintaining the Multics program libraries to make such 13 // copies as are normally required for online installations. 14 15 manifest // 200 - 299 are reserved for Trans. 16 $( BadCall = 200 17 BadDescriptors = 201 18 BadLink = 202 19 Conformality = 203 20 DupDefault = 204 21 DupName = 205 22 FreeVar = 206 23 LmodeRequired = 207 24 NegVector = 208 25 26 NoLoop = 210 27 NoSwitch = 211 28 NotConstant = 212 29 NotInsideRtdef = 213 30 NotName = 214 31 NoValof = 215 32 UndefName = 216 33 UnrecognizedExpression= 217 34 $) 18 19 external 20 $( Transbody = "bcpl_trans1$Transbody" // The routines of Trans. 21 22 Transdef = "bcpl_trans2$Transdef" 23 Addlocal = "bcpl_trans2$Addlocal" 24 Declitem = "bcpl_trans2$Declitem" 25 Declnames = "bcpl_trans2$Declnames" 26 Decllabels = "bcpl_trans2$Decllabels" 27 Checkdistinct = "bcpl_trans2$Checkdistinct" 28 Cellwithname = "bcpl_trans2$Cellwithname" 29 Removenames = "bcpl_trans2$Removenames" 30 31 TransConditional = "bcpl_trans3$TransConditional" 32 TransFor = "bcpl_trans3$TransFor" 33 WalkList = "bcpl_trans3$WalkList" 34 ListSize = "bcpl_trans3$ListSize" 35 Assignlist = "bcpl_trans3$Assignlist" 36 Target = "bcpl_trans3$Target" 37 TransLoop = "bcpl_trans3$TransLoop" 38 39 CompileExpression = "bcpl_trans4$CompileExpression" 40 CompileOperand = "bcpl_trans4$CompileOperand" 41 SetResult = "bcpl_trans4$SetResult" 42 43 Evalconst = "bcpl_trans5$Evalconst" 44 PartialEvalconst = "bcpl_trans5$PartialEvalconst" 45 IsConst = "bcpl_trans5$IsConst" 46 EvaluateOperator = "bcpl_trans5$EvaluateOperator" 47 CountTemporaries = "bcpl_trans5$CountTemporaries" 48 IsRelational = "bcpl_trans5$IsRelational" 49 50 ResetSSP = "bcpl_trans6$ResetSSP" 51 AllocateLocal = "bcpl_trans6$AllocateLocal" 52 DeallocateLocal = "bcpl_trans6$DeallocateLocal" 53 MakeTemp = "bcpl_trans6$MakeTemp" 54 MakeCopy = "bcpl_trans6$MakeCopy" 55 PutBackTemps = "bcpl_trans6$PutBackTemps" 56 TransFnap = "bcpl_trans6$TransFnap" 57 TransSystemCall = "bcpl_trans6$TransSystemCall" 58 59 GenerateLabel = "bcpl_cg_interface$GenerateLabel" 60 GenerateJump = "bcpl_cg_interface$GenerateJump" 61 GenerateRtdefBegin = "bcpl_cg_interface$GenerateRtdefBegin" 62 GenerateRtdefEnd = "bcpl_cg_interface$GenerateRtdefEnd" 63 ReserveArglist = "bcpl_cg_interface$ReserveArglist" 64 GenerateArg = "bcpl_cg_interface$GenerateArg" 65 GenerateFnap = "bcpl_cg_interface$GenerateFnap" 66 ReserveSystemArglist = "bcpl_cg_interface$ReserveSystemArglist" 67 GenerateSystemArg = "bcpl_cg_interface$GenerateSystemArg" 68 GenerateSystemCall = "bcpl_cg_interface$GenerateSystemCall" 69 GenerateResultBlock = "bcpl_cg_interface$GenerateResultBlock" 70 GenerateResultValue = "bcpl_cg_interface$GenerateResultValue" 71 GenerateClaimResult = "bcpl_cg_interface$GenerateClaimResult" 72 GenerateGoto = "bcpl_cg_interface$GenerateGoto" 73 GenerateFinish = "bcpl_cg_interface$GenerateFinish" 74 GenerateSwitch = "bcpl_cg_interface$GenerateSwitch" 75 GenerateMonadicOperator = "bcpl_cg_interface$GenerateMonadicOperator" 76 GenerateDiadicOperator = "bcpl_cg_interface$GenerateDiadicOperator" 77 GenerateOffsetOperator = "bcpl_cg_interface$GenerateOffsetOperator" 78 GenerateMonadicConditional = "bcpl_cg_interface$GenerateMonadicConditional" 79 GenerateDiadicConditional = "bcpl_cg_interface$GenerateDiadicConditional" 80 GenerateSSP = "bcpl_cg_interface$GenerateSSP" 81 GenerateLineNumber = "bcpl_cg_interface$GenerateLineNumber" 82 StoreAll = "bcpl_cg_interface$StoreAll" 83 CgFinish = "bcpl_cg_interface$CgFinish" 84 $) 85 global // 250 - 299 are reserved for Trans. 86 $( ArgInfo : 250 87 BreakLabel : 251 88 CaseFirst : 252 89 CaseList : 253 90 DefaultLabel : 254 91 DefList : 255 92 DvecC : 246 93 DvecP : 257 94 EndcaseLabel : 258 95 96 EnvBase : 260 97 FreeLocalList : 261 98 InsideRtdef : 262 99 LHSpointer : 263 100 LoopFlag : 264 101 LoopLabel : 265 102 PendingTemps : 266 103 ReturnLabel : 267 104 RtdefList : 268 105 106 RtdefNesting : 270 107 SSP : 271 108 StaticAllocationCounter : 272 109 StaticFirst : 273 110 StaticList : 274 111 SwitchFlag : 275 112 TableCell : 276 113 ValofFlag : 277 114 ValofLabel : 278 115 $) 116 manifest 117 $( DescSize = 2 118 DvecSize = 4 119 $) 13 14 let Addname (x, Type, Val) be 15 $( test (x!0 & Right) = NAME_S 16 then $( let New = Newvec (DvecSize) 17 New!DvecSize := DvecP 18 DvecP := New 19 DvecP!0, DvecP!1, DvecP!2, DvecP!3 := x, Type, Val, x!2 20 $) 21 or Transreport (NotName, x) 22 $) 23 and Checkdistinct () be 24 $( let Cp = DvecP 25 until Cp = DvecC do 26 $( let b, Dict = Cp!DvecSize, Cp!0 27 until b = DvecC do 28 $( if b!0 = Dict do 29 $( Transreport (DupName, Dict) 30 break 31 $) 32 b := b!DvecSize 33 $) 34 Dict!2 := Cp 35 Cp := Cp!DvecSize 36 $) 37 DvecC := DvecP 38 $) 39 and Cellwithname (Name) = valof 40 $( let Dp = Name!2 41 if Dp = 0 do 42 $( Transreport (UndefName, Name) 43 Addname (Name, GLOBAL_S, 0) // Create dummy declaration to avoid extra error messages. 44 Name!2, DvecC, Dp := DvecP, DvecP, DvecP 45 $) 46 resultis Dp 47 $) 48 and Removenames (p) be 49 $( until DvecP = p do 50 $( if DvecP!1 = LOCAL_S do DeallocateLocal (DvecP!2 & Right) // Reclaim space. 51 DvecP!0!2 := DvecP!3 52 let Old = DvecP 53 DvecP := DvecP!DvecSize 54 DvecC := DvecP 55 Freevec (Old, DvecSize) 56 $) 57 $) 58 and SaveEnv () = valof 59 $( let t, u = DvecP, 0 60 until t = EnvBase do 61 $( let New = Newvec (DvecSize) 62 New!0, New!1, New!2, New!3 := t!0, t!1, t!2, t!3 63 New!DvecSize := u 64 u := New 65 t := t!DvecSize 66 $) 67 resultis u 68 $) 69 and RestoreEnv (u) be 70 $( until u = 0 do 71 $( let Old = u 72 u := Old!DvecSize 73 Old!DvecSize := DvecP 74 DvecP := Old 75 DvecP!0!2 := DvecP 76 $) 77 $) 78 79 and Declnames (x) be 80 $( switchon x!0 & Right into 81 $( default: return // Error message for this case is produced later. 82 83 case AND_S: 84 Declnames (x!1) 85 Declnames (x!2) 86 return 87 88 case VALDEF_S: 89 WalkList (x!1, Addlocal, 0) 90 return 91 92 case FNDEF_S: 93 case RTDEF_S: 94 let L = Nextparam () 95 let T = x!1!2 // Previous value of this name. 96 if T ne 0 then if T!1 = EXTERNAL_S do 97 DefList := List3 (DefList, T!2, L) 98 Addname (x!1, RTDEF_S, L) 99 return 100 $) 101 $) 102 and Transdef (x) be 103 $( 104 Top: let Op = x!0 105 $( let NewLine = Op rshift Left 106 if NewLine ne LineCount & (NewLine rshift FileShift) = 0 do GenerateLineNumber (NewLine) 107 LineCount := NewLine 108 $) 109 Op := Op & Right 110 switchon Op into 111 $( default: CGreport (UnexpectedCase, Op, "Transdef") 112 return 113 114 case AND_S: 115 $( let a, b = x!1, x!2 116 if (RandomI () & 1) ne 0 do a, b := x!2, x!1 // Make order undefined. 117 Transdef (a) 118 x := b // Same as "Transdef (b); return" but saves stack space. 119 goto Top 120 $) 121 122 case VALDEF_S: 123 Assignlist (x!1, x!2) 124 return 125 126 case FNDEF_S: 127 case RTDEF_S: 128 test InsideRtdef 129 then $( let New = Newvec (3) 130 New!0, New!1, New!2, New!3 := x, SaveEnv (), RtdefNesting, RtdefList 131 RtdefList := New 132 $) 133 or $( InsideRtdef, RtdefNesting, EnvBase := true, 1, DvecP 134 TransRtdef (x) 135 Removenames (EnvBase) 136 until RtdefList = 0 do // Translate all embedded routines. 137 $( let Old = RtdefList 138 RtdefList := Old!3 139 RestoreEnv (Old!1) 140 RtdefNesting := Old!2 + 1 141 TransRtdef (Old!0) 142 Removenames (EnvBase) 143 Freevec (Old, 3) 144 $) 145 InsideRtdef, RtdefNesting := false, 0 146 $) 147 $) 148 $) 149 and TransRtdef (x) be 150 $( let FunctSw, MainSw = ((x!0 & Right) = FNDEF_S), (x!5 = MAIN_S) 151 and Dp = DvecP 152 and M = Cellwithname (x!1)!2 // Label of entry point. 153 WalkList (x!2, AddFormalParameter, 0) 154 Decllabels (x!4) 155 Checkdistinct () 156 GenerateRtdefBegin (M, x!1!1, FunctSw, MainSw) 157 ResetSSP (ListSize (x!2)) // First n locals are formal parameters. 158 test FunctSw 159 then $( let Desc = vec DescSize 160 ReturnLabel := 0 // RETURN not allowed in function definition. 161 CompileOperand (x!3, Desc) 162 GenerateRtdefEnd (Desc) 163 $) 164 or $( ReturnLabel := Nextparam () 165 Transbody (x!3) 166 GenerateLabel (ReturnLabel) 167 GenerateRtdefEnd (0) 168 $) 169 170 Removenames (Dp) 171 PutBackTemps (0) 172 until FreeLocalList = 0 do 173 $( let t = FreeLocalList 174 FreeLocalList := FreeLocalList!2 175 Freevec (t, 2) 176 $) 177 SSP := 0 178 $) 179 and AddFormalParameter (Name, Loc) be 180 unless (Name!0 & Right) = NIL_S do Addname (Name, LOCAL_S, (RtdefNesting lshift Left) | Loc) 181 and Decllabels (x) be 182 $( until x = 0 do 183 $( let L = Nextparam () 184 Addname (x!1, LABEL_S, L) 185 x!4 := L 186 x := x!3 187 $) 188 $) 189 190 and Addlocal (x) be 191 $( let p = AllocateLocal (1) 192 Addname (x, LOCAL_S, p logor (RtdefNesting lshift Left)) 193 $) 194 195 let Declitem (Op, Name, Val) be 196 $( let n = valof switchon Op into 197 $( case EXTERNAL_S: 198 unless Val = 0 do 199 $( if (Val!0 & Right) = STRINGCONST_S resultis Val!1 200 Transreport (BadLink, Val) 201 $) 202 resultis Name!1 203 204 case MANIFEST_S: 205 let v = vec 2 206 PartialEvalconst (Val, v) 207 Op := v!0 208 resultis v!1 209 210 case GLOBAL_S: 211 resultis Evalconst (Val) 212 213 case STATIC_S: 214 let New = Newvec (4) 215 New!0, New!1, New!2 := 0, StaticAllocationCounter, Name!1 216 PartialEvalconst (Val, lv New!3) 217 test StaticList = 0 218 then StaticFirst := New 219 or StaticList!0 := New 220 StaticList := New 221 StaticAllocationCounter := StaticAllocationCounter + 1 222 resultis StaticAllocationCounter - 1 223 224 default: CGreport (UnexpectedCase, Op, "Declitem") 225 resultis Val 226 $) 227 Addname (Name, Op, n) 228 $) CAE time 5.3, 126 source lines per second. cross reference table a bcpl_trans2: 115, 116, 117 AddFormalParameter bcpl_trans2: 153, 179 Addlocal bcpl_trans_head: 23, bcpl_trans2: 89, 190 Addname bcpl_trans2: 14, 43, 98, 180, 184, 192, 227 AllocateLocal bcpl_trans_head: 51, bcpl_trans2: 191 AND_S bcpl_symbols: 17, bcpl_trans2: 83, 114 ArgInfo bcpl_trans_head: 86 Assignlist bcpl_trans_head: 35, bcpl_trans2: 123 ASSIGN_S bcpl_symbols: 18 b bcpl_trans2: 26, 27, 28, 32, 32, 115, 116, 118 BadCall bcpl_trans_codes: 16 BadDescriptors bcpl_trans_codes: 17 BadLink bcpl_trans_codes: 18, bcpl_trans2: 200 BE_S bcpl_symbols: 19 BIT_S bcpl_symbols: 20 BreakLabel bcpl_trans_head: 87 BREAK_S bcpl_symbols: 21 BuildObject bcpl_compiler_head: 72 BY_S bcpl_symbols: 22 CAE bcpl_compiler_head: 64 CaeReport bcpl_compiler_head: 49 CALL_S bcpl_symbols: 23 CaseFirst bcpl_trans_head: 88 CaseList bcpl_trans_head: 89 CASE_S bcpl_symbols: 24 Cellwithname bcpl_trans_head: 28, bcpl_trans2: 39, 152 CgFinish bcpl_trans_head: 83 CgInit bcpl_compiler_head: 71 CGreport bcpl_compiler_head: 51, bcpl_trans2: 111, 224 Ch bcpl_compiler_head: 92 CHARCONST_S bcpl_symbols: 27 CHAR_S bcpl_symbols: 26 Checkdistinct bcpl_trans_head: 27, bcpl_trans2: 23, 155 Cleanup bcpl_compiler_head: 61 COLON_S bcpl_symbols: 28 Column bcpl_compiler_head: 128 COMMA_S bcpl_symbols: 29 CompareStrings bcpl_compiler_head: 25 CompileExpression bcpl_trans_head: 39 CompileOperand bcpl_trans_head: 40, bcpl_trans2: 161 CompilerDTM bcpl_compiler_head: 112 CompilerDTMString bcpl_compiler_head: 111 CompilerVersionNumber bcpl_compiler_head: 110 CompilerVersionString bcpl_compiler_head: 109 Concatenate bcpl_compiler_head: 26 COND_S bcpl_symbols: 30 Conformality bcpl_trans_codes: 19 CONSTANT_S bcpl_symbols: 31 CONSTDEF_S bcpl_symbols: 32 ConvertNtoS bcpl_compiler_head: 28 ConvertStoN bcpl_compiler_head: 27 CountTemporaries bcpl_trans_head: 47 Cp bcpl_trans2: 24, 25, 26, 26, 34, 35, 35 Crep bcpl_compiler_head: 98 DeallocateLocal bcpl_trans_head: 52, bcpl_trans2: 50 Declitem bcpl_trans_head: 24, bcpl_trans2: 195 Decllabels bcpl_trans_head: 26, bcpl_trans2: 154, 181 Declnames bcpl_trans_head: 25, bcpl_trans2: 79, 84, 85 DefaultLabel bcpl_trans_head: 90 DEFAULT_S bcpl_symbols: 33 DefList bcpl_trans_head: 91, bcpl_trans2: 97, 97 Desc bcpl_trans2: 159, 161, 162 DescSize bcpl_trans_head: 117, bcpl_trans2: 159 Dict bcpl_trans2: 26, 28, 29, 34 DictionaryEntry bcpl_compiler_head: 127 DIV_F bcpl_symbols: 34 DIV_S bcpl_symbols: 36 DOUBLE_S bcpl_symbols: 38 DO_S bcpl_symbols: 37 Dp bcpl_trans2: 40, 41, 44, 46, 151, 170 DupDefault bcpl_trans_codes: 20 DupName bcpl_trans_codes: 21, bcpl_trans2: 29 DvecC bcpl_trans_head: 92, bcpl_trans2: 25, 27, 37, 44, 54 DvecP bcpl_trans_head: 93, bcpl_trans2: 17, 18, 19, 19, 19, 19, 24, 37, 44, 44, 44, 49, 50, 50, 51, 51, 52, 53, 53, 54, 59, 73, 74, 75, 75, 133, 151 DvecSize bcpl_trans_head: 118, bcpl_trans2: 16, 17, 26, 32, 35, 53, 55, 61, 63, 65, 72, 73 EndcaseLabel bcpl_trans_head: 94 ENDCASE_S bcpl_symbols: 39 Endofstreamch bcpl_compiler_head: 135 ENDPROG_S bcpl_symbols: 40 EnterIntoCrossreference bcpl_compiler_head: 57 EnvBase bcpl_trans_head: 96, bcpl_trans2: 60, 133, 135, 142 EqualString bcpl_compiler_head: 24 EQV_S bcpl_symbols: 44 EQ_F bcpl_symbols: 42 EQ_S bcpl_symbols: 43 Errorsw bcpl_compiler_head: 124 ERROR_S bcpl_symbols: 41 Evalconst bcpl_trans_head: 43, bcpl_trans2: 211 EvaluateOperator bcpl_trans_head: 46 Even bcpl_compiler_head: 136 EXTERNAL_S bcpl_symbols: 46, bcpl_trans2: 96, 197 FALSE_S bcpl_symbols: 47 FileCount bcpl_compiler_head: 118 FileNames bcpl_compiler_head: 116 FileShift bcpl_compiler_head: 138, bcpl_trans2: 106 FilesInfo bcpl_compiler_head: 117 FindPrintName bcpl_compiler_head: 56 FINISH_S bcpl_symbols: 48 FIXED_S bcpl_symbols: 49 FLOAT_S bcpl_symbols: 50 FNAP_S bcpl_symbols: 51 FNDEF_S bcpl_symbols: 52, bcpl_trans2: 92, 126, 150 Format bcpl_compiler_head: 20 FormCharconst bcpl_compiler_head: 46 FormStringconst bcpl_compiler_head: 47 FOR_S bcpl_symbols: 53 FreeLocalList bcpl_trans_head: 97, bcpl_trans2: 172, 173, 174, 174 FreeVar bcpl_trans_codes: 22 Freevec bcpl_compiler_head: 34, bcpl_trans2: 55, 143, 175 FunctSw bcpl_trans2: 150, 156, 158 GenerateArg bcpl_trans_head: 64 GenerateClaimResult bcpl_trans_head: 71 GenerateDiadicConditional bcpl_trans_head: 79 GenerateDiadicOperator bcpl_trans_head: 76 GenerateFinish bcpl_trans_head: 73 GenerateFnap bcpl_trans_head: 65 GenerateGoto bcpl_trans_head: 72 GenerateJump bcpl_trans_head: 60 GenerateLabel bcpl_trans_head: 59, bcpl_trans2: 166 GenerateLineNumber bcpl_trans_head: 81, bcpl_trans2: 106 GenerateMonadicConditional bcpl_trans_head: 78 GenerateMonadicOperator bcpl_trans_head: 75 GenerateOffsetOperator bcpl_trans_head: 77 GenerateResultBlock bcpl_trans_head: 69 GenerateResultValue bcpl_trans_head: 70 GenerateRtdefBegin bcpl_trans_head: 61, bcpl_trans2: 156 GenerateRtdefEnd bcpl_trans_head: 62, bcpl_trans2: 162, 167 GenerateSSP bcpl_trans_head: 80 GenerateSwitch bcpl_trans_head: 74 GenerateSystemArg bcpl_trans_head: 67 GenerateSystemCall bcpl_trans_head: 68 GetStream bcpl_compiler_head: 62 GetVersion bcpl_compiler_head: 59 GET_S bcpl_symbols: 57 GE_F bcpl_symbols: 54 GE_S bcpl_symbols: 56 GlobalTemp bcpl_compiler_head: 131 GLOBAL_S bcpl_symbols: 58, bcpl_trans2: 43, 210 GOTO_S bcpl_symbols: 59 GR_F bcpl_symbols: 60 GR_S bcpl_symbols: 61 HaveListingFile bcpl_compiler_head: 105 IFNOT_S bcpl_symbols: 63 IFSO_S bcpl_symbols: 64 IF_S bcpl_symbols: 62 INPUT bcpl_compiler_head: 90 InsideRtdef bcpl_trans_head: 98, bcpl_trans2: 128, 133, 145 INTO_S bcpl_symbols: 66 IsConst bcpl_trans_head: 45 IsRelational bcpl_trans_head: 48 L bcpl_trans2: 94, 97, 98, 183, 184, 185 LABDEF_S bcpl_symbols: 67 LABEL_S bcpl_symbols: 68, bcpl_trans2: 184 Left bcpl_compiler_head: 134, bcpl_trans2: 105, 180, 192 Length bcpl_compiler_head: 29 LengthInWords bcpl_compiler_head: 30 LENGTH_S bcpl_symbols: 71 LET_S bcpl_symbols: 72 LexInit bcpl_compiler_head: 65 LE_F bcpl_symbols: 69 LE_S bcpl_symbols: 70 LHSpointer bcpl_trans_head: 99 LineCount bcpl_compiler_head: 123, bcpl_trans2: 106, 107 LineMap bcpl_compiler_head: 100 LineMask bcpl_compiler_head: 138 List1 bcpl_compiler_head: 35 List2 bcpl_compiler_head: 36 List3 bcpl_compiler_head: 37, bcpl_trans2: 97 List4 bcpl_compiler_head: 38 List5 bcpl_compiler_head: 39 List6 bcpl_compiler_head: 40 Listing bcpl_compiler_head: 95 ListSize bcpl_trans_head: 34, bcpl_trans2: 157 LIST_S bcpl_symbols: 73 LmodeRequired bcpl_trans_codes: 23 Loc bcpl_trans2: 179, 180 LOCAL_S bcpl_symbols: 74, bcpl_trans2: 50, 180, 192 LOGAND_S bcpl_symbols: 76 LOGOR_S bcpl_symbols: 77 LoopFlag bcpl_trans_head: 100 LoopLabel bcpl_trans_head: 101 LOOP_S bcpl_symbols: 78 LSHIFT_S bcpl_symbols: 81 LS_F bcpl_symbols: 79 LS_S bcpl_symbols: 80 LVECAP_S bcpl_symbols: 83 LV_ARG_OUT bcpl_symbols: 84 LV_FNAP_RESULT bcpl_symbols: 86 LV_GLOBAL bcpl_symbols: 87 LV_LOCAL bcpl_symbols: 88 LV_S bcpl_symbols: 82 LV_STATIC bcpl_symbols: 89 LV_TEMP bcpl_symbols: 90 M bcpl_trans2: 152, 156 Machine bcpl_compiler_head: 102 MainSw bcpl_trans2: 150, 156 MAIN_S bcpl_symbols: 91, bcpl_trans2: 150 MakeCopy bcpl_trans_head: 54 MakeTemp bcpl_trans_head: 53 MakeTimeString bcpl_compiler_head: 44 MANIFEST_S bcpl_symbols: 92, bcpl_trans2: 204 MINUS_F bcpl_symbols: 93 MINUS_S bcpl_symbols: 94 MONITOR bcpl_compiler_head: 91 MULT_F bcpl_symbols: 96 MULT_S bcpl_symbols: 97 n bcpl_trans2: 196, 227 Name bcpl_trans2: 39, 40, 42, 43, 44, 179, 180, 180, 195, 202, 215, 227 NAMECHAIN bcpl_compiler_head: 125 NAME_S bcpl_symbols: 98, bcpl_trans2: 15 NegVector bcpl_trans_codes: 24 NEG_F bcpl_symbols: 99 NEG_S bcpl_symbols: 100 NEQV_S bcpl_symbols: 101 New bcpl_trans2: 16, 17, 18, 61, 62, 62, 62, 62, 63, 64, 129, 130, 130, 130, 130, 131, 214, 215, 215, 215, 216, 218, 219, 220 NewLine bcpl_trans2: 105, 106, 106, 106, 107 Newvec bcpl_compiler_head: 33, bcpl_trans2: 16, 61, 129, 214 Nextparam bcpl_compiler_head: 45, bcpl_trans2: 94, 164, 183 Nextsymb bcpl_compiler_head: 53 NE_F bcpl_symbols: 102 NE_S bcpl_symbols: 103 NIL_S bcpl_symbols: 104, bcpl_trans2: 180 NoLoop bcpl_trans_codes: 26 NoSwitch bcpl_trans_codes: 27 NotConstant bcpl_trans_codes: 28 NotInsideRtdef bcpl_trans_codes: 29 NotName bcpl_trans_codes: 30, bcpl_trans2: 21 NOT_S bcpl_symbols: 106 NoValof bcpl_trans_codes: 31 NUMBER_S bcpl_symbols: 107 OcodeSw bcpl_compiler_head: 104 OFFSET_S bcpl_symbols: 108 Old bcpl_trans2: 52, 55, 71, 72, 73, 74, 137, 138, 139, 140, 141, 143 Op bcpl_trans2: 104, 105, 109, 109, 110, 111, 195, 196, 207, 224, 227 Optimize bcpl_compiler_head: 101 OptionString bcpl_compiler_head: 115 OR_S bcpl_symbols: 109 OUTPUT bcpl_compiler_head: 89 p bcpl_trans2: 48, 49, 191, 192 Packstring bcpl_compiler_head: 21 PartialEvalconst bcpl_trans_head: 44, bcpl_trans2: 206, 216 PendingTemps bcpl_trans_head: 102 Plist bcpl_compiler_head: 68 PLUS_F bcpl_symbols: 110 PLUS_S bcpl_symbols: 111 Pname bcpl_compiler_head: 67 POINTER_S bcpl_symbols: 112 PopInput bcpl_compiler_head: 43 POS_F bcpl_symbols: 113 POS_S bcpl_symbols: 114 PPrep bcpl_compiler_head: 97 ProgramName bcpl_compiler_head: 119 PushInput bcpl_compiler_head: 42 PutBackTemps bcpl_trans_head: 55, bcpl_trans2: 171 QuietSw bcpl_compiler_head: 106 RandomI bcpl_compiler_head: 31, bcpl_trans2: 116 RBRA_S bcpl_symbols: 116 Readch bcpl_compiler_head: 16 REGISTER_S bcpl_symbols: 117 REL_S bcpl_symbols: 118 RemoveEscapes bcpl_compiler_head: 23 Removenames bcpl_trans_head: 29, bcpl_trans2: 48, 135, 142, 170 REM_S bcpl_symbols: 119 REPEATUNTIL_S bcpl_symbols: 122 REPEATWHILE_S bcpl_symbols: 123 REPEAT_S bcpl_symbols: 121 REP_S bcpl_symbols: 120 ReserveArglist bcpl_trans_head: 63 ReserveSystemArglist bcpl_trans_head: 66 ResetSSP bcpl_trans_head: 50, bcpl_trans2: 157 RestoreEnv bcpl_trans2: 69, 139 RESULTIS_S bcpl_symbols: 124 ReturnLabel bcpl_trans_head: 103, bcpl_trans2: 160, 164, 166 RETURN_S bcpl_symbols: 126 Right bcpl_compiler_head: 134, bcpl_trans2: 15, 50, 80, 109, 150, 180, 199 RKET_S bcpl_symbols: 127 RSHIFT_S bcpl_symbols: 128 RTAP_S bcpl_symbols: 129 RtdefList bcpl_trans_head: 104, bcpl_trans2: 130, 131, 136, 137, 138 RtdefNesting bcpl_trans_head: 106, bcpl_trans2: 130, 133, 140, 145, 180, 192 RTDEF_S bcpl_symbols: 130, bcpl_trans2: 93, 98, 127 RV_S bcpl_symbols: 131 SaveEnv bcpl_trans2: 58, 130 SBRA_S bcpl_symbols: 132 SECTBEGIN_S bcpl_symbols: 133 SECTBRA_S bcpl_symbols: 134 SECTEND_S bcpl_symbols: 136 SECTKET_S bcpl_symbols: 137 SEMICOLON_S bcpl_symbols: 138 SetResult bcpl_trans_head: 41 SKET_S bcpl_symbols: 139 SSP bcpl_trans_head: 107, bcpl_trans2: 177 StaticAllocationCounter bcpl_trans_head: 108, bcpl_trans2: 215, 221, 221, 222 StaticFirst bcpl_trans_head: 109, bcpl_trans2: 218 StaticList bcpl_trans_head: 110, bcpl_trans2: 217, 219, 220 STATIC_S bcpl_symbols: 140, bcpl_trans2: 213 StoreAll bcpl_trans_head: 82 StoreString bcpl_compiler_head: 41 STRINGCONST_S bcpl_symbols: 142, bcpl_trans2: 199 STRING_S bcpl_symbols: 141 STRUCTURE_S bcpl_symbols: 143 SwitchFlag bcpl_trans_head: 111 SWITCHON_S bcpl_symbols: 144 Symb bcpl_compiler_head: 126 SymbolName bcpl_compiler_head: 55 Symbols bcpl_compiler_head: 99 T bcpl_trans2: 95, 96, 96, 97 t bcpl_trans2: 59, 60, 62, 62, 62, 62, 65, 65, 173, 175 TableCell bcpl_trans_head: 112 TABLE_S bcpl_symbols: 146 Target bcpl_trans_head: 36 TEMP_S bcpl_symbols: 147 TEST_S bcpl_symbols: 148 TimeNow bcpl_compiler_head: 114 TimeNowString bcpl_compiler_head: 113 Top bcpl_trans2: 104, 119 TO_S bcpl_symbols: 149 Trans bcpl_compiler_head: 70 Transbody bcpl_trans_head: 20, bcpl_trans2: 165 TransConditional bcpl_trans_head: 31 Transdef bcpl_trans_head: 22, bcpl_trans2: 102, 117 TransFnap bcpl_trans_head: 56 TransFor bcpl_trans_head: 32 TransLoop bcpl_trans_head: 37 Transreport bcpl_compiler_head: 50, bcpl_trans2: 21, 29, 42, 200 TransRtdef bcpl_trans2: 134, 141, 149 TransSystemCall bcpl_trans_head: 57 TRUE_S bcpl_symbols: 150 Type bcpl_trans2: 14, 19 TYPE_S bcpl_symbols: 151 u bcpl_trans2: 59, 63, 64, 67, 69, 70, 71, 72 UndefName bcpl_trans_codes: 32, bcpl_trans2: 42 UnexpectedCase bcpl_compiler_head: 139, bcpl_trans2: 111, 224 UNLESS_S bcpl_symbols: 152 Unpackstring bcpl_compiler_head: 22 UnrecognizedExpression bcpl_trans_codes: 33 UNTIL_S bcpl_symbols: 153 UpperCase bcpl_compiler_head: 96 UserID bcpl_compiler_head: 120 UtilitiesInit bcpl_compiler_head: 60 v bcpl_trans2: 205, 206, 207, 208 Val bcpl_trans2: 14, 19, 195, 198, 199, 199, 200, 206, 211, 216, 225 VALDEF_S bcpl_symbols: 154, bcpl_trans2: 88, 122 ValofFlag bcpl_trans_head: 113 ValofLabel bcpl_trans_head: 114 VALOF_S bcpl_symbols: 156 VECAP_S bcpl_symbols: 158 VEC_S bcpl_symbols: 157 Vmax bcpl_compiler_head: 137 WalkList bcpl_trans_head: 33, bcpl_trans2: 89, 153 WHILE_S bcpl_symbols: 159 Writech bcpl_compiler_head: 17 WriteN bcpl_compiler_head: 19 WriteObjectListing bcpl_compiler_head: 73 WriteS bcpl_compiler_head: 18 x bcpl_trans2: 14, 15, 19, 19, 21, 79, 80, 84, 85, 89, 95, 98, 102, 104, 115, 115, 116, 116, 118, 123, 123, 130, 134, 149, 150, 150, 152, 153, 154, 156, 157, 161, 165, 181, 182, 184, 185, 186, 186, 190, 192 Xref bcpl_compiler_head: 103 Trans time 1.7, 787 object words per second. " Begin text of Removenames aa 000000 000013 122145 zero 11,42085 " Removenames aa 000001 155157 166145 zero 55919,60517 aa 000002 156141 155145 zero 56417,55909 aa 000003 163000 000000 zero 58880 L4: aa 000004 000000 213000 48 epaq 0 " set lp to linkage section aa 000005 700026 764161 lprplp sb|22,*au aa 000006 200000 021100 adlx1 bp|0 " BCPL save aa 000007 700000 542111 sprpbp sb|0,x1 aa 000010 700001 544111 sprplp sb|1,x1 aa 000011 700423 620111 eax0 sb|275,x1 aa 000012 777760 360003 anx0 -16,du aa 000013 700025 740100 stx0 sb|21 " end of save sequence aa 000014 000035 710004 49 tra L16 L17: aa 000015 600401 760100 50 lprpap sp|257 " DvecP aa 000016 000001 236100 ldq ap|1 aa 000017 000072 116007 cmpq 58,dl " LOCAL_S aa 000020 000007 601004 tnz L18 aa 000021 600401 762100 lprpbp sp|257 " DvecP aa 000022 200002 235100 lda bp|2 aa 000023 777777 375007 ana -1,dl " Right aa 000024 700010 755111 sta sb|8,x1 4a 000025 400062 272120 tsbbp lp|L19,* " DeallocateLocal aa 000026 000006 000001 zero 6,1 L18: aa 000027 600401 761100 51 lprpab sp|257 " DvecP aa 000030 100003 235100 lda ab|3 aa 000031 600401 763100 lprpbb sp|257 " DvecP aa 000032 300000 763100 lprpbb bb|0 aa 000033 300002 755100 sta bb|2 aa 000034 600401 235100 52 lda sp|257 " DvecP aa 000035 700003 755111 sta sb|3,x1 " Old aa 000036 600401 765100 53 lprplb sp|257 " DvecP aa 000037 500004 235100 lda lb|4 aa 000040 600401 755100 sta sp|257 " DvecP aa 000041 600401 235100 54 lda sp|257 " DvecP aa 000042 600366 755100 sta sp|246 " DvecC aa 000043 700003 235111 55 lda sb|3,x1 " Old aa 000044 700010 755111 sta sb|8,x1 aa 000045 000004 235007 lda 4,dl " DvecSize aa 000046 700011 755111 sta sb|9,x1 4a 000047 400060 272120 tsbbp lp|L20,* " Freevec aa 000050 000006 000002 zero 6,2 L16: aa 000051 600401 235100 lda sp|257 " DvecP aa 000052 700002 115111 cmpa sb|2,x1 " p aa 000053 777742 601004 tnz L17 L15: aa 000054 700000 762111 lprpbp sb|0,x1 " bcpl return aa 000055 200000 121100 sblx1 bp|0 aa 000056 700001 764111 lprplp sb|1,x1 aa 000057 200001 710100 tra bp|1 " end of return sequence " Begin text of RestoreEnv aa 000060 000012 122145 zero 10,42085 " RestoreEnv aa 000061 163164 157162 zero 58996,56946 aa 000062 145105 156166 zero 51781,56438 L6: aa 000063 000000 213000 69 epaq 0 " set lp to linkage section aa 000064 700026 764161 lprplp sb|22,*au aa 000065 200000 021100 adlx1 bp|0 " BCPL save aa 000066 700000 542111 sprpbp sb|0,x1 aa 000067 700001 544111 sprplp sb|1,x1 aa 000070 700417 620111 eax0 sb|271,x1 aa 000071 777760 360003 anx0 -16,du aa 000072 700025 740100 stx0 sb|21 " end of save sequence aa 000073 000017 710004 70 tra L24 L25: aa 000074 700002 236111 71 ldq sb|2,x1 " u aa 000075 700003 756111 stq sb|3,x1 " Old aa 000076 700003 760111 72 lprpap sb|3,x1 " Old aa 000077 000004 236100 ldq ap|4 aa 000100 700002 756111 stq sb|2,x1 " u aa 000101 600401 236100 73 ldq sp|257 " DvecP aa 000102 700003 762111 lprpbp sb|3,x1 " Old aa 000103 200004 756100 stq bp|4 aa 000104 700003 236111 74 ldq sb|3,x1 " Old aa 000105 600401 756100 stq sp|257 " DvecP aa 000106 600401 236100 75 ldq sp|257 " DvecP aa 000107 600401 761100 lprpab sp|257 " DvecP aa 000110 100000 761100 lprpab ab|0 aa 000111 100002 756100 stq ab|2 L24: aa 000112 700002 234111 szn sb|2,x1 " u aa 000113 777761 601004 tnz L25 L23: aa 000114 700000 762111 lprpbp sb|0,x1 " bcpl return aa 000115 200000 121100 sblx1 bp|0 aa 000116 700001 764111 lprplp sb|1,x1 aa 000117 200001 710100 tra bp|1 " end of return sequence " Begin text of TransRtdef aa 000120 000012 124162 zero 10,43122 " TransRtdef aa 000121 141156 163122 zero 49774,58962 aa 000122 164144 145146 zero 59492,51814 L9: aa 000123 000000 213000 149 epaq 0 " set lp to linkage section aa 000124 700026 764161 lprplp sb|22,*au aa 000125 200000 021100 adlx1 bp|0 " BCPL save aa 000126 700000 542111 sprpbp sb|0,x1 aa 000127 700001 544111 sprplp sb|1,x1 aa 000130 700425 620111 eax0 sb|277,x1 aa 000131 777760 360003 anx0 -16,du aa 000132 700025 740100 stx0 sb|21 " end of save sequence aa 000133 700002 763111 152 lprpbb sb|2,x1 " x aa 000134 300001 236100 ldq bb|1 aa 000135 700020 756111 stq sb|16,x1 aa 000136 001026 272004 tsbbp L3+2 " Cellwithname aa 000137 000016 000001 zero 14,1 aa 000140 600000 756100 stq sp|0 aa 000141 600000 765100 lprplb sp|0 aa 000142 500002 235100 lda lb|2 aa 000143 700006 755111 sta sb|6,x1 " M aa 000144 600401 236100 151 ldq sp|257 " DvecP aa 000145 700005 756111 stq sb|5,x1 " Dp aa 000146 700002 760111 150 lprpap sb|2,x1 " x aa 000147 000000 236100 ldq ap|0 aa 000150 777777 376007 anq -1,dl " Right aa 000151 000044 116007 cmpq 36,dl " FNDEF_S aa 000152 000003 601004 tnz L29 aa 000153 000001 336007 lcq 1,dl " true aa 000154 000002 710004 tra L30 L29: aa 000155 000000 236007 ldq 0,dl " false L30: aa 000156 700007 756111 stq sb|7,x1 aa 000157 700007 236111 ldq sb|7,x1 aa 000160 700003 756111 stq sb|3,x1 " FunctSw aa 000161 700002 762111 lprpbp sb|2,x1 " x aa 000162 200005 236100 ldq bp|5 aa 000163 000113 116007 cmpq 75,dl " MAIN_S aa 000164 000003 601004 tnz L31 aa 000165 000001 335007 lca 1,dl " true aa 000166 000002 710004 tra L32 L31: aa 000167 000000 235007 lda 0,dl " false L32: aa 000170 700010 755111 sta sb|8,x1 aa 000171 700010 235111 lda sb|8,x1 aa 000172 700004 755111 sta sb|4,x1 " MainSw aa 000173 700002 761111 153 lprpab sb|2,x1 " x aa 000174 100002 235100 lda ab|2 aa 000175 700020 755111 sta sb|16,x1 aa 000176 000141 353404 eapbb L10 " AddFormalParameter aa 000177 700021 543111 sprpbb sb|17,x1 aa 000200 700022 450111 stz sb|18,x1 4a 000201 400056 272120 tsbbp lp|L33,* " WalkList aa 000202 000016 000003 zero 14,3 aa 000203 700002 763111 154 lprpbb sb|2,x1 " x aa 000204 300004 235100 lda bb|4 aa 000205 700020 755111 sta sb|16,x1 aa 000206 000171 272004 tsbbp L11+2 " Decllabels aa 000207 000016 000001 zero 14,1 aa 000210 001031 272004 155 tsbbp L2+2 " Checkdistinct aa 000211 000016 000000 zero 14 aa 000212 700006 235111 156 lda sb|6,x1 " M aa 000213 700020 755111 sta sb|16,x1 aa 000214 700002 765111 lprplb sb|2,x1 " x aa 000215 500001 765100 lprplb lb|1 aa 000216 500001 235100 lda lb|1 aa 000217 700021 755111 sta sb|17,x1 aa 000220 700003 235111 lda sb|3,x1 " FunctSw aa 000221 700022 755111 sta sb|18,x1 aa 000222 700004 235111 lda sb|4,x1 " MainSw aa 000223 700023 755111 sta sb|19,x1 4a 000224 400054 272120 tsbbp lp|L34,* " GenerateRtdefBegin aa 000225 000016 000004 zero 14,4 aa 000226 700002 760111 157 lprpap sb|2,x1 " x aa 000227 000002 235100 lda ap|2 aa 000230 700020 755111 sta sb|16,x1 4a 000231 400052 272120 tsbbp lp|L35,* " ListSize aa 000232 000016 000001 zero 14,1 aa 000233 700007 756111 stq sb|7,x1 aa 000234 700007 236111 ldq sb|7,x1 aa 000235 700020 756111 stq sb|16,x1 4a 000236 400050 272120 tsbbp lp|L36,* " ResetSSP aa 000237 000016 000001 zero 14,1 aa 000240 700003 234111 158 szn sb|3,x1 " FunctSw aa 000241 000020 600004 tze L37 aa 000242 700012 352111 159 eapbp sb|10,x1 " a vector aa 000243 700007 542111 sprpbp sb|7,x1 " Desc aa 000244 600413 450100 160 stz sp|267 " ReturnLabel aa 000245 700002 762111 161 lprpbp sb|2,x1 " x aa 000246 200003 236100 ldq bp|3 aa 000247 700020 756111 stq sb|16,x1 aa 000250 700007 236111 ldq sb|7,x1 " Desc aa 000251 700021 756111 stq sb|17,x1 4a 000252 400046 272120 tsbbp lp|L39,* " CompileOperand aa 000253 000016 000002 zero 14,2 aa 000254 700007 236111 162 ldq sb|7,x1 " Desc aa 000255 700020 756111 stq sb|16,x1 4a 000256 400044 272120 tsbbp lp|L40,* " GenerateRtdefEnd aa 000257 000016 000001 zero 14,1 aa 000260 000020 710004 tra L38 L37: 4a 000261 400042 272120 164 tsbbp lp|L41,* " Nextparam aa 000262 000016 000000 zero 14 aa 000263 600413 756100 stq sp|267 " ReturnLabel aa 000264 700002 761111 165 lprpab sb|2,x1 " x aa 000265 100003 236100 ldq ab|3 aa 000266 700020 756111 stq sb|16,x1 4a 000267 400040 272120 tsbbp lp|L42,* " Transbody aa 000270 000016 000001 zero 14,1 aa 000271 600413 236100 166 ldq sp|267 " ReturnLabel aa 000272 700020 756111 stq sb|16,x1 4a 000273 400036 272120 tsbbp lp|L43,* " GenerateLabel aa 000274 000016 000001 zero 14,1 aa 000275 700020 450111 167 stz sb|16,x1 4a 000276 400044 272120 tsbbp lp|L40,* " GenerateRtdefEnd aa 000277 000016 000001 zero 14,1 L38: aa 000300 700005 236111 170 ldq sb|5,x1 " Dp aa 000301 700020 756111 stq sb|16,x1 aa 000302 777504 272004 tsbbp L4+2 " Removenames aa 000303 000016 000001 zero 14,1 aa 000304 700020 450111 171 stz sb|16,x1 4a 000305 400034 272120 tsbbp lp|L44,* " PutBackTemps aa 000306 000016 000001 zero 14,1 aa 000307 000014 710004 172 tra L45 L46: aa 000310 600405 236100 173 ldq sp|261 " FreeLocalList aa 000311 700007 756111 stq sb|7,x1 " t aa 000312 600405 763100 174 lprpbb sp|261 " FreeLocalList aa 000313 300002 236100 ldq bb|2 aa 000314 600405 756100 stq sp|261 " FreeLocalList aa 000315 700007 236111 175 ldq sb|7,x1 " t aa 000316 700020 756111 stq sb|16,x1 aa 000317 000002 236007 ldq 2,dl " 2 aa 000320 700021 756111 stq sb|17,x1 4a 000321 400060 272120 tsbbp lp|L20,* " Freevec aa 000322 000016 000002 zero 14,2 L45: aa 000323 600405 234100 szn sp|261 " FreeLocalList aa 000324 777764 601004 tnz L46 aa 000325 600417 450100 177 stz sp|271 " SSP L28: aa 000326 700000 762111 lprpbp sb|0,x1 " bcpl return aa 000327 200000 121100 sblx1 bp|0 aa 000330 700001 764111 lprplp sb|1,x1 aa 000331 200001 710100 tra bp|1 " end of return sequence " Begin text of AddFormalParameter aa 000332 000022 101144 zero 18,33380 " AddFormalParameter aa 000333 144106 157162 zero 51270,56946 aa 000334 155141 154120 zero 55905,55376 aa 000335 141162 141155 zero 49778,49773 aa 000336 145164 145162 zero 51828,51826 L10: aa 000337 000000 213000 179 epaq 0 " set lp to linkage section aa 000340 700026 764161 lprplp sb|22,*au aa 000341 200000 021100 adlx1 bp|0 " BCPL save aa 000342 700000 542111 sprpbp sb|0,x1 aa 000343 700001 544111 sprplp sb|1,x1 aa 000344 700424 620111 eax0 sb|276,x1 aa 000345 777760 360003 anx0 -16,du aa 000346 700025 740100 stx0 sb|21 " end of save sequence aa 000347 700002 765111 180 lprplb sb|2,x1 " Name aa 000350 500000 236100 ldq lb|0 aa 000351 777777 376007 anq -1,dl " Right aa 000352 000130 116007 cmpq 88,dl " NIL_S aa 000353 000013 600004 tze L50 aa 000354 700002 236111 ldq sb|2,x1 " Name aa 000355 700010 756111 stq sb|8,x1 aa 000356 000072 236007 ldq 58,dl " LOCAL_S aa 000357 700011 756111 stq sb|9,x1 aa 000360 600416 236100 ldq sp|270 " RtdefNesting aa 000361 000022 736000 qls 18 aa 000362 700003 276111 orq sb|3,x1 " Loc aa 000363 700012 756111 stq sb|10,x1 aa 000364 000742 272004 tsbbp L1+2 " Addname aa 000365 000006 000003 zero 6,3 L50: L49: aa 000366 700000 762111 lprpbp sb|0,x1 " bcpl return aa 000367 200000 121100 sblx1 bp|0 aa 000370 700001 764111 lprplp sb|1,x1 aa 000371 200001 710100 tra bp|1 " end of return sequence " Begin text of Decllabels aa 000372 000012 104145 zero 10,34917 " Decllabels aa 000373 143154 154141 zero 50796,55393 aa 000374 142145 154163 zero 50277,55411 L11: aa 000375 000000 213000 181 epaq 0 " set lp to linkage section aa 000376 700026 764161 lprplp sb|22,*au aa 000377 200000 021100 adlx1 bp|0 " BCPL save aa 000400 700000 542111 sprpbp sb|0,x1 aa 000401 700001 544111 sprplp sb|1,x1 aa 000402 700424 620111 eax0 sb|276,x1 aa 000403 777760 360003 anx0 -16,du aa 000404 700025 740100 stx0 sb|21 " end of save sequence aa 000405 000023 710004 182 tra L54 L55: 4a 000406 400042 272120 183 tsbbp lp|L41,* " Nextparam aa 000407 000006 000000 zero 6 aa 000410 700003 756111 stq sb|3,x1 " L aa 000411 700002 760111 184 lprpap sb|2,x1 " x aa 000412 000001 236100 ldq ap|1 aa 000413 700010 756111 stq sb|8,x1 aa 000414 000064 236007 ldq 52,dl " LABEL_S aa 000415 700011 756111 stq sb|9,x1 aa 000416 700003 236111 ldq sb|3,x1 " L aa 000417 700012 756111 stq sb|10,x1 aa 000420 000706 272004 tsbbp L1+2 " Addname aa 000421 000006 000003 zero 6,3 aa 000422 700003 236111 185 ldq sb|3,x1 " L aa 000423 700002 762111 lprpbp sb|2,x1 " x aa 000424 200004 756100 stq bp|4 aa 000425 700002 761111 186 lprpab sb|2,x1 " x aa 000426 100003 236100 ldq ab|3 aa 000427 700002 756111 stq sb|2,x1 " x L54: aa 000430 700002 234111 szn sb|2,x1 " x aa 000431 777755 601004 tnz L55 L53: aa 000432 700000 762111 lprpbp sb|0,x1 " bcpl return aa 000433 200000 121100 sblx1 bp|0 aa 000434 700001 764111 lprplp sb|1,x1 aa 000435 200001 710100 tra bp|1 " end of return sequence " Begin text of Addlocal aa 000436 000010 101144 zero 8,33380 " Addlocal aa 000437 144154 157143 zero 51308,56931 aa 000440 141154 000000 zero 49772 L12: aa 000441 000000 213000 190 epaq 0 " set lp to linkage section aa 000442 700026 764161 lprplp sb|22,*au aa 000443 200000 021100 adlx1 bp|0 " BCPL save aa 000444 700000 542111 sprpbp sb|0,x1 aa 000445 700001 544111 sprplp sb|1,x1 aa 000446 700424 620111 eax0 sb|276,x1 aa 000447 777760 360003 anx0 -16,du aa 000450 700025 740100 stx0 sb|21 " end of save sequence aa 000451 000001 236007 191 ldq 1,dl " 1 aa 000452 700010 756111 stq sb|8,x1 4a 000453 400032 272120 tsbbp lp|L59,* " AllocateLocal aa 000454 000006 000001 zero 6,1 aa 000455 700003 756111 stq sb|3,x1 " p aa 000456 700002 236111 192 ldq sb|2,x1 " x aa 000457 700010 756111 stq sb|8,x1 aa 000460 000072 236007 ldq 58,dl " LOCAL_S aa 000461 700011 756111 stq sb|9,x1 aa 000462 600416 236100 ldq sp|270 " RtdefNesting aa 000463 000022 736000 qls 18 aa 000464 700003 276111 orq sb|3,x1 " p aa 000465 700012 756111 stq sb|10,x1 aa 000466 000640 272004 tsbbp L1+2 " Addname aa 000467 000006 000003 zero 6,3 L58: aa 000470 700000 762111 lprpbp sb|0,x1 " bcpl return aa 000471 200000 121100 sblx1 bp|0 aa 000472 700001 764111 lprplp sb|1,x1 aa 000473 200001 710100 tra bp|1 " end of return sequence " Begin text of Transdef aa 000474 000010 124162 zero 8,43122 " Transdef aa 000475 141156 163144 zero 49774,58980 aa 000476 145146 000000 zero 51814 L8: aa 000477 000000 213000 102 epaq 0 " set lp to linkage section aa 000500 700026 764161 lprplp sb|22,*au aa 000501 200000 021100 adlx1 bp|0 " BCPL save aa 000502 700000 542111 sprpbp sb|0,x1 aa 000503 700001 544111 sprplp sb|1,x1 aa 000504 700424 620111 eax0 sb|276,x1 aa 000505 777760 360003 anx0 -16,du aa 000506 700025 740100 stx0 sb|21 " end of save sequence L60: aa 000507 700002 763111 104 lprpbb sb|2,x1 " x aa 000510 300000 236100 ldq bb|0 aa 000511 700003 756111 stq sb|3,x1 " Op aa 000512 700003 236111 105 ldq sb|3,x1 " Op aa 000513 000022 772000 qrl 18 aa 000514 700004 756111 stq sb|4,x1 " NewLine aa 000515 700004 236111 106 ldq sb|4,x1 " NewLine aa 000516 600214 116100 cmpq sp|140 " LineCount aa 000517 000010 600004 tze L64 aa 000520 700004 235111 lda sb|4,x1 " NewLine aa 000521 000015 771000 arl 13 aa 000522 000005 601004 tnz L64 aa 000523 700004 235111 lda sb|4,x1 " NewLine aa 000524 700014 755111 sta sb|12,x1 4a 000525 400030 272120 tsbbp lp|L65,* " GenerateLineNumber aa 000526 000012 000001 zero 10,1 L64: aa 000527 700004 235111 107 lda sb|4,x1 " NewLine aa 000530 600214 755100 sta sp|140 " LineCount aa 000531 777777 235007 109 lda -1,dl " Right aa 000532 700003 355111 ansa sb|3,x1 " Op aa 000533 000162 710004 111 tra L67 L68: aa 000534 000143 235007 lda 99,dl " UnexpectedCase aa 000535 700014 755111 sta sb|12,x1 aa 000536 700003 235111 lda sb|3,x1 " Op aa 000537 700015 755111 sta sb|13,x1 aa 000540 000175 371404 eaplb L69 " "Transdef" aa 000541 700016 545111 sprplb sb|14,x1 4a 000542 400026 272120 tsbbp lp|L70,* " CGreport aa 000543 000012 000003 zero 10,3 aa 000544 000165 710004 114 tra L63 L71: aa 000545 700002 765111 115 lprplb sb|2,x1 " x aa 000546 500002 235100 lda lb|2 aa 000547 700005 755111 sta sb|5,x1 " b aa 000550 700002 760111 lprpap sb|2,x1 " x aa 000551 000001 235100 lda ap|1 aa 000552 700004 755111 sta sb|4,x1 " a 4a 000553 400024 272120 116 tsbbp lp|L73,* " RandomI aa 000554 000012 000000 zero 10 aa 000555 000001 376007 anq 1,dl " 1 aa 000556 000007 600004 tze L72 aa 000557 700002 762111 lprpbp sb|2,x1 " x aa 000560 200002 236100 ldq bp|2 aa 000561 700004 756111 stq sb|4,x1 " a aa 000562 700002 761111 lprpab sb|2,x1 " x aa 000563 100001 236100 ldq ab|1 aa 000564 700005 756111 stq sb|5,x1 " b L72: aa 000565 700004 236111 117 ldq sb|4,x1 " a aa 000566 700014 756111 stq sb|12,x1 aa 000567 777712 272004 tsbbp L8+2 " Transdef aa 000570 000012 000001 zero 10,1 aa 000571 700005 236111 118 ldq sb|5,x1 " b aa 000572 700002 756111 stq sb|2,x1 " x aa 000573 777714 710004 122 tra L60 L74: aa 000574 700002 763111 123 lprpbb sb|2,x1 " x aa 000575 300001 236100 ldq bb|1 aa 000576 700014 756111 stq sb|12,x1 aa 000577 700002 765111 lprplb sb|2,x1 " x aa 000600 500002 236100 ldq lb|2 aa 000601 700015 756111 stq sb|13,x1 4a 000602 400022 272120 tsbbp lp|L75,* " Assignlist aa 000603 000012 000002 zero 10,2 aa 000604 000125 710004 126 tra L63 L76: aa 000605 600406 234100 128 szn sp|262 " InsideRtdef aa 000606 000026 600004 tze L77 aa 000607 000003 236007 129 ldq 3,dl " 3 aa 000610 700014 756111 stq sb|12,x1 4a 000611 400020 272120 tsbbp lp|L79,* " Newvec aa 000612 000012 000001 zero 10,1 aa 000613 700004 756111 stq sb|4,x1 " New aa 000614 600416 236100 130 ldq sp|270 " RtdefNesting aa 000615 700004 760111 lprpap sb|4,x1 " New aa 000616 000002 756100 stq ap|2 aa 000617 000254 272004 tsbbp L5+2 " SaveEnv aa 000620 000012 000000 zero 10 aa 000621 700004 762111 lprpbp sb|4,x1 " New aa 000622 200001 756100 stq bp|1 aa 000623 700002 236111 ldq sb|2,x1 " x aa 000624 700004 761111 lprpab sb|4,x1 " New aa 000625 100000 756100 stq ab|0 aa 000626 600414 236100 ldq sp|268 " RtdefList aa 000627 700004 763111 lprpbb sb|4,x1 " New aa 000630 300003 756100 stq bb|3 aa 000631 700004 236111 131 ldq sb|4,x1 " New aa 000632 600414 756100 stq sp|268 " RtdefList aa 000633 000061 710004 tra L78 L77: aa 000634 600401 236100 133 ldq sp|257 " DvecP aa 000635 600404 756100 stq sp|260 " EnvBase aa 000636 000001 336007 lcq 1,dl " true aa 000637 600406 756100 stq sp|262 " InsideRtdef aa 000640 000001 236007 ldq 1,dl " 1 aa 000641 600416 756100 stq sp|270 " RtdefNesting aa 000642 700002 236111 134 ldq sb|2,x1 " x aa 000643 700014 756111 stq sb|12,x1 aa 000644 777261 272004 tsbbp L9+2 " TransRtdef aa 000645 000012 000001 zero 10,1 aa 000646 600404 236100 135 ldq sp|260 " EnvBase aa 000647 700014 756111 stq sb|12,x1 aa 000650 777136 272004 tsbbp L4+2 " Removenames aa 000651 000012 000001 zero 10,1 aa 000652 000036 710004 136 tra L80 L81: aa 000653 600414 236100 137 ldq sp|268 " RtdefList aa 000654 700004 756111 stq sb|4,x1 " Old aa 000655 700004 765111 138 lprplb sb|4,x1 " Old aa 000656 500003 236100 ldq lb|3 aa 000657 600414 756100 stq sp|268 " RtdefList aa 000660 700004 760111 139 lprpap sb|4,x1 " Old aa 000661 000001 236100 ldq ap|1 aa 000662 700014 756111 stq sb|12,x1 aa 000663 777202 272004 tsbbp L6+2 " RestoreEnv aa 000664 000012 000001 zero 10,1 aa 000665 700004 762111 140 lprpbp sb|4,x1 " Old aa 000666 200002 236100 ldq bp|2 aa 000667 000001 076007 adq 1,dl " 1 aa 000670 600416 756100 stq sp|270 " RtdefNesting aa 000671 700004 761111 141 lprpab sb|4,x1 " Old aa 000672 100000 236100 ldq ab|0 aa 000673 700014 756111 stq sb|12,x1 aa 000674 777231 272004 tsbbp L9+2 " TransRtdef aa 000675 000012 000001 zero 10,1 aa 000676 600404 236100 142 ldq sp|260 " EnvBase aa 000677 700014 756111 stq sb|12,x1 aa 000700 777106 272004 tsbbp L4+2 " Removenames aa 000701 000012 000001 zero 10,1 aa 000702 700004 236111 143 ldq sb|4,x1 " Old aa 000703 700014 756111 stq sb|12,x1 aa 000704 000003 236007 ldq 3,dl " 3 aa 000705 700015 756111 stq sb|13,x1 4a 000706 400060 272120 tsbbp lp|L20,* " Freevec aa 000707 000012 000002 zero 10,2 L80: aa 000710 600414 234100 szn sp|268 " RtdefList aa 000711 777742 601004 tnz L81 aa 000712 600406 450100 145 stz sp|262 " InsideRtdef aa 000713 600416 450100 stz sp|270 " RtdefNesting L78: aa 000714 000015 710004 tra L66 L67: " Begin switchon aa 000715 700003 235111 lda sb|3,x1 " Op aa 000716 000162 115007 cmpa 114,dl aa 000717 000005 604004 tmi L82 aa 000720 777665 600004 tze L76 aa 000721 000212 115007 cmpa 138,dl aa 000722 777652 600004 tze L74 aa 000723 777611 710004 tra L68 L82: aa 000724 000001 115007 cmpa 1,dl aa 000725 777620 600004 tze L71 aa 000726 000044 115007 cmpa 36,dl aa 000727 777656 600004 tze L76 aa 000730 777604 710004 tra L68 L66: L63: aa 000731 700000 762111 lprpbp sb|0,x1 " bcpl return aa 000732 200000 121100 sblx1 bp|0 aa 000733 700001 764111 lprplp sb|1,x1 aa 000734 200001 710100 tra bp|1 " end of return sequence " Literal pool L69: aa 000735 000010 124162 zero 8,43122 " "Transdef" aa 000736 141156 163144 zero 49774,58980 aa 000737 145146 000000 zero 51814 " Begin text of Declnames aa 000740 000011 104145 zero 9,34917 " Declnames aa 000741 143154 156141 zero 50796,56417 aa 000742 155145 163000 zero 55909,58880 L7: aa 000743 000000 213000 79 epaq 0 " set lp to linkage section aa 000744 700026 764161 lprplp sb|22,*au aa 000745 200000 021100 adlx1 bp|0 " BCPL save aa 000746 700000 542111 sprpbp sb|0,x1 aa 000747 700001 544111 sprplp sb|1,x1 aa 000750 700424 620111 eax0 sb|276,x1 aa 000751 777760 360003 anx0 -16,du aa 000752 700025 740100 stx0 sb|21 " end of save sequence aa 000753 000067 710004 81 tra L87 L88: aa 000754 000106 710004 83 tra L85 L89: aa 000755 700002 763111 84 lprpbb sb|2,x1 " x aa 000756 300001 236100 ldq bb|1 aa 000757 700010 756111 stq sb|8,x1 aa 000760 777765 272004 tsbbp L7+2 " Declnames aa 000761 000006 000001 zero 6,1 aa 000762 700002 765111 85 lprplb sb|2,x1 " x aa 000763 500002 236100 ldq lb|2 aa 000764 700010 756111 stq sb|8,x1 aa 000765 777760 272004 tsbbp L7+2 " Declnames aa 000766 000006 000001 zero 6,1 aa 000767 000073 710004 88 tra L85 L90: aa 000770 700002 760111 89 lprpap sb|2,x1 " x aa 000771 000001 236100 ldq ap|1 aa 000772 700010 756111 stq sb|8,x1 aa 000773 777446 352004 eapbp L12 " Addlocal aa 000774 700011 542111 sprpbp sb|9,x1 aa 000775 700012 450111 stz sb|10,x1 4a 000776 400056 272120 tsbbp lp|L33,* " WalkList aa 000777 000006 000003 zero 6,3 aa 001000 000062 710004 92 tra L85 L91: 4a 001001 400042 272120 94 tsbbp lp|L41,* " Nextparam aa 001002 000006 000000 zero 6 aa 001003 700003 756111 stq sb|3,x1 " L aa 001004 700002 762111 95 lprpbp sb|2,x1 " x aa 001005 200001 762100 lprpbp bp|1 aa 001006 200002 236100 ldq bp|2 aa 001007 700004 756111 stq sb|4,x1 " T aa 001010 700004 234111 96 szn sb|4,x1 " T aa 001011 000017 600004 tze L92 aa 001012 700004 761111 lprpab sb|4,x1 " T aa 001013 100001 236100 ldq ab|1 aa 001014 000036 116007 cmpq 30,dl " EXTERNAL_S aa 001015 000013 601004 tnz L93 aa 001016 600377 235100 97 lda sp|255 " DefList aa 001017 700010 755111 sta sb|8,x1 aa 001020 700004 763111 lprpbb sb|4,x1 " T aa 001021 300002 235100 lda bb|2 aa 001022 700011 755111 sta sb|9,x1 aa 001023 700003 235111 lda sb|3,x1 " L aa 001024 700012 755111 sta sb|10,x1 4a 001025 400016 272120 tsbbp lp|L94,* " List3 aa 001026 000006 000003 zero 6,3 aa 001027 600377 756100 stq sp|255 " DefList L93: L92: aa 001030 700002 765111 98 lprplb sb|2,x1 " x aa 001031 500001 236100 ldq lb|1 aa 001032 700010 756111 stq sb|8,x1 aa 001033 000162 236007 ldq 114,dl " RTDEF_S aa 001034 700011 756111 stq sb|9,x1 aa 001035 700003 236111 ldq sb|3,x1 " L aa 001036 700012 756111 stq sb|10,x1 aa 001037 000267 272004 tsbbp L1+2 " Addname aa 001040 000006 000003 zero 6,3 aa 001041 000021 710004 99 tra L85 L87: aa 001042 700002 760111 lprpap sb|2,x1 " x aa 001043 000000 236100 ldq ap|0 aa 001044 777777 376007 anq -1,dl " Right " Begin switchon aa 001045 000044 777000 llr 36 " exchange A and Q aa 001046 000162 115007 cmpa 114,dl aa 001047 000006 604004 tmi L95 aa 001050 777731 600004 tze L91 aa 001051 000212 115007 cmpa 138,dl aa 001052 777716 600004 tze L90 aa 001053 777701 710004 tra L88 aa 001054 700003 755111 sta sb|3,x1 " temporary L95: aa 001055 000001 115007 cmpa 1,dl aa 001056 777677 600004 tze L89 aa 001057 000044 115007 cmpa 36,dl aa 001060 777721 600004 tze L91 aa 001061 777673 710004 tra L88 L86: L85: aa 001062 700000 762111 lprpbp sb|0,x1 " bcpl return aa 001063 200000 121100 sblx1 bp|0 aa 001064 700001 764111 lprplp sb|1,x1 aa 001065 200001 710100 tra bp|1 " end of return sequence " Begin text of SaveEnv aa 001066 000007 123141 zero 7,42593 " SaveEnv aa 001067 166145 105156 zero 60517,35438 aa 001070 166000 000000 zero 60416 L5: aa 001071 000000 213000 58 epaq 0 " set lp to linkage section aa 001072 700026 764161 lprplp sb|22,*au aa 001073 200000 021100 adlx1 bp|0 " BCPL save aa 001074 700000 542111 sprpbp sb|0,x1 aa 001075 700001 544111 sprplp sb|1,x1 aa 001076 700422 620111 eax0 sb|274,x1 aa 001077 777760 360003 anx0 -16,du aa 001100 700025 740100 stx0 sb|21 " end of save sequence aa 001101 700004 450111 59 stz sb|4,x1 " u aa 001102 600401 235100 lda sp|257 " DvecP aa 001103 700003 755111 sta sb|3,x1 " t aa 001104 000036 710004 60 tra L99 L100: aa 001105 000004 235007 61 lda 4,dl " DvecSize aa 001106 700014 755111 sta sb|12,x1 4a 001107 400020 272120 tsbbp lp|L79,* " Newvec aa 001110 000012 000001 zero 10,1 aa 001111 700005 756111 stq sb|5,x1 " New aa 001112 700003 762111 62 lprpbp sb|3,x1 " t aa 001113 200003 236100 ldq bp|3 aa 001114 700005 761111 lprpab sb|5,x1 " New aa 001115 100003 756100 stq ab|3 aa 001116 700003 763111 lprpbb sb|3,x1 " t aa 001117 300002 236100 ldq bb|2 aa 001120 700005 765111 lprplb sb|5,x1 " New aa 001121 500002 756100 stq lb|2 aa 001122 700003 760111 lprpap sb|3,x1 " t aa 001123 000000 236100 ldq ap|0 aa 001124 700005 762111 lprpbp sb|5,x1 " New aa 001125 200000 756100 stq bp|0 aa 001126 700003 761111 lprpab sb|3,x1 " t aa 001127 100001 236100 ldq ab|1 aa 001130 700005 763111 lprpbb sb|5,x1 " New aa 001131 300001 756100 stq bb|1 aa 001132 700004 236111 63 ldq sb|4,x1 " u aa 001133 700005 765111 lprplb sb|5,x1 " New aa 001134 500004 756100 stq lb|4 aa 001135 700005 236111 64 ldq sb|5,x1 " New aa 001136 700004 756111 stq sb|4,x1 " u aa 001137 700003 760111 65 lprpap sb|3,x1 " t aa 001140 000004 236100 ldq ap|4 aa 001141 700003 756111 stq sb|3,x1 " t L99: aa 001142 700003 236111 ldq sb|3,x1 " t aa 001143 600404 116100 cmpq sp|260 " EnvBase aa 001144 777741 601004 tnz L100 aa 001145 700004 235111 67 lda sb|4,x1 " u L98: aa 001146 700003 755111 sta sb|3,x1 aa 001147 700003 235111 lda sb|3,x1 aa 001150 000044 777000 llr 36 " exchange A and Q aa 001151 700000 762111 lprpbp sb|0,x1 " bcpl return aa 001152 200000 121100 sblx1 bp|0 aa 001153 700001 764111 lprplp sb|1,x1 aa 001154 200001 710100 tra bp|1 " end of return sequence " Begin text of Cellwithname aa 001155 000014 103145 zero 12,34405 " Cellwithname aa 001156 154154 167151 zero 55404,61033 aa 001157 164150 156141 zero 59496,56417 aa 001160 155145 000000 zero 55909 aa 001161 700002 756111 39 stq sb|2,x1 " temporary L3: aa 001162 000000 213000 epaq 0 " set lp to linkage section aa 001163 700026 764161 lprplp sb|22,*au aa 001164 200000 021100 adlx1 bp|0 " BCPL save aa 001165 700000 542111 sprpbp sb|0,x1 aa 001166 700001 544111 sprplp sb|1,x1 aa 001167 700424 620111 eax0 sb|276,x1 aa 001170 777760 360003 anx0 -16,du aa 001171 700025 740100 stx0 sb|21 " end of save sequence aa 001172 700002 762111 40 lprpbp sb|2,x1 " Name aa 001173 200002 236100 ldq bp|2 aa 001174 700004 756111 stq sb|4,x1 " Dp aa 001175 700004 234111 41 szn sb|4,x1 " Dp aa 001176 000025 601004 tnz L104 aa 001177 000330 236007 42 ldq 216,dl " UndefName aa 001200 700010 756111 stq sb|8,x1 aa 001201 700002 236111 ldq sb|2,x1 " Name aa 001202 700011 756111 stq sb|9,x1 4a 001203 400014 272120 tsbbp lp|L105,* " Transreport aa 001204 000006 000002 zero 6,2 aa 001205 700002 236111 43 ldq sb|2,x1 " Name aa 001206 700010 756111 stq sb|8,x1 aa 001207 000052 236007 ldq 42,dl " GLOBAL_S aa 001210 700011 756111 stq sb|9,x1 aa 001211 700012 450111 stz sb|10,x1 aa 001212 000114 272004 tsbbp L1+2 " Addname aa 001213 000006 000003 zero 6,3 aa 001214 600401 236100 44 ldq sp|257 " DvecP aa 001215 700004 756111 stq sb|4,x1 " Dp aa 001216 600401 236100 ldq sp|257 " DvecP aa 001217 700002 761111 lprpab sb|2,x1 " Name aa 001220 100002 756100 stq ab|2 aa 001221 600401 236100 ldq sp|257 " DvecP aa 001222 600366 756100 stq sp|246 " DvecC L104: aa 001223 700004 236111 46 ldq sb|4,x1 " Dp L103: aa 001224 700004 756111 stq sb|4,x1 aa 001225 700004 236111 ldq sb|4,x1 aa 001226 700000 762111 lprpbp sb|0,x1 " bcpl return aa 001227 200000 121100 sblx1 bp|0 aa 001230 700001 764111 lprplp sb|1,x1 aa 001231 200001 710100 tra bp|1 " end of return sequence " Begin text of Checkdistinct aa 001232 000015 103150 zero 13,34408 " Checkdistinct aa 001233 145143 153144 zero 51811,54884 aa 001234 151163 164151 zero 53875,59497 aa 001235 156143 164000 zero 56419,59392 aa 001236 700003 756111 23 stq sb|3,x1 " temporary L2: aa 001237 000000 213000 epaq 0 " set lp to linkage section aa 001240 700026 764161 lprplp sb|22,*au aa 001241 200000 021100 adlx1 bp|0 " BCPL save aa 001242 700000 542111 sprpbp sb|0,x1 aa 001243 700001 544111 sprplp sb|1,x1 aa 001244 700423 620111 eax0 sb|275,x1 aa 001245 777760 360003 anx0 -16,du aa 001246 700025 740100 stx0 sb|21 " end of save sequence aa 001247 600401 236100 24 ldq sp|257 " DvecP aa 001250 700002 756111 stq sb|2,x1 " Cp aa 001251 000037 710004 25 tra L109 L110: aa 001252 700002 763111 26 lprpbb sb|2,x1 " Cp aa 001253 300000 236100 ldq bb|0 aa 001254 700003 756111 stq sb|3,x1 " Dict aa 001255 700002 765111 lprplb sb|2,x1 " Cp aa 001256 500004 236100 ldq lb|4 aa 001257 700004 756111 stq sb|4,x1 " b aa 001260 000017 710004 27 tra L111 L112: aa 001261 700004 760111 28 lprpap sb|4,x1 " b aa 001262 000000 236100 ldq ap|0 aa 001263 700003 116111 cmpq sb|3,x1 " Dict aa 001264 000010 601004 tnz L113 aa 001265 000315 235007 29 lda 205,dl " DupName aa 001266 700010 755111 sta sb|8,x1 aa 001267 700003 235111 lda sb|3,x1 " Dict aa 001270 700011 755111 sta sb|9,x1 4a 001271 400014 272120 tsbbp lp|L105,* " Transreport aa 001272 000006 000002 zero 6,2 aa 001273 000007 710004 30 tra L114 L113: aa 001274 700004 762111 32 lprpbp sb|4,x1 " b aa 001275 200004 235100 lda bp|4 aa 001276 700004 755111 sta sb|4,x1 " b L111: aa 001277 700004 235111 lda sb|4,x1 " b aa 001300 600366 115100 cmpa sp|246 " DvecC aa 001301 777760 601004 tnz L112 L114: aa 001302 700002 236111 34 ldq sb|2,x1 " Cp aa 001303 700003 761111 lprpab sb|3,x1 " Dict aa 001304 100002 756100 stq ab|2 aa 001305 700002 763111 35 lprpbb sb|2,x1 " Cp aa 001306 300004 236100 ldq bb|4 aa 001307 700002 756111 stq sb|2,x1 " Cp L109: aa 001310 700002 236111 ldq sb|2,x1 " Cp aa 001311 600366 116100 cmpq sp|246 " DvecC aa 001312 777740 601004 tnz L110 aa 001313 600401 235100 37 lda sp|257 " DvecP aa 001314 600366 755100 sta sp|246 " DvecC L108: aa 001315 700000 762111 lprpbp sb|0,x1 " bcpl return aa 001316 200000 121100 sblx1 bp|0 aa 001317 700001 764111 lprplp sb|1,x1 aa 001320 200001 710100 tra bp|1 " end of return sequence " Begin text of Addname aa 001321 000007 101144 zero 7,33380 " Addname aa 001322 144156 141155 zero 51310,49773 aa 001323 145000 000000 zero 51712 L1: aa 001324 000000 213000 14 epaq 0 " set lp to linkage section aa 001325 700026 764161 lprplp sb|22,*au aa 001326 200000 021100 adlx1 bp|0 " BCPL save aa 001327 700000 542111 sprpbp sb|0,x1 aa 001330 700001 544111 sprplp sb|1,x1 aa 001331 700423 620111 eax0 sb|275,x1 aa 001332 777760 360003 anx0 -16,du aa 001333 700025 740100 stx0 sb|21 " end of save sequence aa 001334 700002 765111 15 lprplb sb|2,x1 " x aa 001335 500000 235100 lda lb|0 aa 001336 777777 375007 ana -1,dl " Right aa 001337 000122 115007 cmpa 82,dl " NAME_S aa 001340 000031 601004 tnz L118 aa 001341 000004 235007 16 lda 4,dl " DvecSize aa 001342 700014 755111 sta sb|12,x1 4a 001343 400020 272120 tsbbp lp|L79,* " Newvec aa 001344 000012 000001 zero 10,1 aa 001345 700005 756111 stq sb|5,x1 " New aa 001346 600401 236100 17 ldq sp|257 " DvecP aa 001347 700005 760111 lprpap sb|5,x1 " New aa 001350 000004 756100 stq ap|4 aa 001351 700005 236111 18 ldq sb|5,x1 " New aa 001352 600401 756100 stq sp|257 " DvecP aa 001353 700002 762111 19 lprpbp sb|2,x1 " x aa 001354 200002 236100 ldq bp|2 aa 001355 600401 761100 lprpab sp|257 " DvecP aa 001356 100003 756100 stq ab|3 aa 001357 700002 236111 ldq sb|2,x1 " x aa 001360 600401 763100 lprpbb sp|257 " DvecP aa 001361 300000 756100 stq bb|0 aa 001362 700003 236111 ldq sb|3,x1 " Type aa 001363 600401 765100 lprplb sp|257 " DvecP aa 001364 500001 756100 stq lb|1 aa 001365 700004 236111 ldq sb|4,x1 " Val aa 001366 600401 760100 lprpap sp|257 " DvecP aa 001367 000002 756100 stq ap|2 aa 001370 000007 710004 tra L119 L118: aa 001371 000326 236007 21 ldq 214,dl " NotName aa 001372 700014 756111 stq sb|12,x1 aa 001373 700002 236111 ldq sb|2,x1 " x aa 001374 700015 756111 stq sb|13,x1 4a 001375 400014 272120 tsbbp lp|L105,* " Transreport aa 001376 000012 000002 zero 10,2 L119: L117: aa 001377 700000 762111 lprpbp sb|0,x1 " bcpl return aa 001400 200000 121100 sblx1 bp|0 aa 001401 700001 764111 lprplp sb|1,x1 aa 001402 200001 710100 tra bp|1 " end of return sequence " Begin text of Declitem aa 001403 000010 104145 zero 8,34917 " Declitem aa 001404 143154 151164 zero 50796,53876 aa 001405 145155 000000 zero 51821 L120: aa 001406 000000 213000 195 epaq 0 " set lp to linkage section aa 001407 700026 764161 lprplp sb|22,*au aa 001410 200000 021100 adlx1 bp|0 " BCPL save aa 001411 700000 542111 sprpbp sb|0,x1 aa 001412 700001 544111 sprplp sb|1,x1 aa 001413 700424 620111 eax0 sb|276,x1 aa 001414 777760 360003 anx0 -16,du aa 001415 700025 740100 stx0 sb|21 " end of save sequence aa 001416 000124 710004 197 tra L126 L127: aa 001417 700004 234111 198 szn sb|4,x1 " Val aa 001420 000017 600004 tze L128 aa 001421 700004 762111 199 lprpbp sb|4,x1 " Val aa 001422 200000 236100 ldq bp|0 aa 001423 777777 376007 anq -1,dl " Right aa 001424 000176 116007 cmpq 126,dl " STRINGCONST_S aa 001425 000004 601004 tnz L129 aa 001426 700004 761111 lprpab sb|4,x1 " Val aa 001427 100001 236100 ldq ab|1 aa 001430 000132 710004 tra L124 L129: aa 001431 000312 235007 200 lda 202,dl " BadLink aa 001432 700020 755111 sta sb|16,x1 aa 001433 700004 235111 lda sb|4,x1 " Val aa 001434 700021 755111 sta sb|17,x1 4a 001435 400014 272120 tsbbp lp|L105,* " Transreport aa 001436 000016 000002 zero 14,2 L128: aa 001437 700003 763111 202 lprpbb sb|3,x1 " Name aa 001440 300001 236100 ldq bb|1 aa 001441 000121 710004 204 tra L124 L130: aa 001442 700010 371511 205 eaplb sb|8,x1 " a vector aa 001443 700006 545111 sprplb sb|6,x1 " v aa 001444 700004 235111 206 lda sb|4,x1 " Val aa 001445 700020 755111 sta sb|16,x1 aa 001446 700006 235111 lda sb|6,x1 " v aa 001447 700021 755111 sta sb|17,x1 4a 001450 400012 272120 tsbbp lp|L131,* " PartialEvalconst aa 001451 000016 000002 zero 14,2 aa 001452 700006 765111 207 lprplb sb|6,x1 " v aa 001453 500000 235100 lda lb|0 aa 001454 700002 755111 sta sb|2,x1 " Op aa 001455 700006 760111 208 lprpap sb|6,x1 " v aa 001456 000001 236100 ldq ap|1 aa 001457 000103 710004 210 tra L124 L132: aa 001460 700004 235111 211 lda sb|4,x1 " Val aa 001461 700020 755111 sta sb|16,x1 4a 001462 400010 272120 tsbbp lp|L133,* " Evalconst aa 001463 000016 000001 zero 14,1 aa 001464 000076 710004 213 tra L124 L134: aa 001465 000004 236007 214 ldq 4,dl " 4 aa 001466 700020 756111 stq sb|16,x1 4a 001467 400020 272120 tsbbp lp|L79,* " Newvec aa 001470 000016 000001 zero 14,1 aa 001471 700007 756111 stq sb|7,x1 " New aa 001472 700003 762111 215 lprpbp sb|3,x1 " Name aa 001473 200001 236100 ldq bp|1 aa 001474 700007 761111 lprpab sb|7,x1 " New aa 001475 100002 756100 stq ab|2 aa 001476 700007 763111 lprpbb sb|7,x1 " New aa 001477 300000 450100 stz bb|0 aa 001500 600420 236100 ldq sp|272 " StaticAllocationCounter aa 001501 700007 765111 lprplb sb|7,x1 " New aa 001502 500001 756100 stq lb|1 aa 001503 700004 236111 216 ldq sb|4,x1 " Val aa 001504 700020 756111 stq sb|16,x1 aa 001505 700007 760111 lprpap sb|7,x1 " New aa 001506 000003 350100 eapap ap|3 aa 001507 700021 540111 sprpap sb|17,x1 4a 001510 400012 272120 tsbbp lp|L131,* " PartialEvalconst aa 001511 000016 000002 zero 14,2 aa 001512 600422 234100 217 szn sp|274 " StaticList aa 001513 000004 601004 tnz L135 aa 001514 700007 236111 218 ldq sb|7,x1 " New aa 001515 600421 756100 stq sp|273 " StaticFirst aa 001516 000004 710004 tra L136 L135: aa 001517 700007 236111 219 ldq sb|7,x1 " New aa 001520 600422 760100 lprpap sp|274 " StaticList aa 001521 000000 756100 stq ap|0 L136: aa 001522 700007 236111 220 ldq sb|7,x1 " New aa 001523 600422 756100 stq sp|274 " StaticList aa 001524 600420 054100 221 aos sp|272 " StaticAllocationCounter aa 001525 600420 236100 222 ldq sp|272 " StaticAllocationCounter aa 001526 000001 176007 sbq 1,dl " 1 aa 001527 000033 710004 224 tra L124 L137: aa 001530 000143 236007 ldq 99,dl " UnexpectedCase aa 001531 700020 756111 stq sb|16,x1 aa 001532 700002 236111 ldq sb|2,x1 " Op aa 001533 700021 756111 stq sb|17,x1 aa 001534 000045 352004 eapbp L138 " "Declitem" aa 001535 700022 542111 sprpbp sb|18,x1 4a 001536 400026 272120 tsbbp lp|L70,* " CGreport aa 001537 000016 000003 zero 14,3 aa 001540 700004 236111 225 ldq sb|4,x1 " Val aa 001541 000021 710004 tra L124 L126: " Begin switchon aa 001542 700002 235111 lda sb|2,x1 " Op aa 001543 000043 773000 lrl 35 aa 001544 000005 507007 dvf 5,dl " hash table size 0a 001545 001555 115006 cmpa L139,ql aa 001546 777762 601004 tnz L137 0a 001547 001550 710006 tra L140,ql L140: aa 001550 777647 710004 tra L127 aa 001551 777671 710004 tra L130 aa 001552 777706 710004 tra L132 aa 001553 777755 710004 tra L137 aa 001554 777711 710004 tra L134 L139: aa 001555 000000 000006 zero 0,6 aa 001556 000000 000017 zero 0,15 aa 001557 000000 000010 zero 0,8 aa 001560 000000 000000 zero 0 aa 001561 000000 000030 zero 0,24 L125: L124: aa 001562 700006 756111 stq sb|6,x1 aa 001563 700006 236111 ldq sb|6,x1 aa 001564 700005 756111 stq sb|5,x1 " n aa 001565 700003 236111 227 ldq sb|3,x1 " Name aa 001566 700020 756111 stq sb|16,x1 aa 001567 700002 236111 ldq sb|2,x1 " Op aa 001570 700021 756111 stq sb|17,x1 aa 001571 700005 236111 ldq sb|5,x1 " n aa 001572 700022 756111 stq sb|18,x1 aa 001573 777533 272004 tsbbp L1+2 " Addname aa 001574 000016 000003 zero 14,3 L123: aa 001575 700000 762111 lprpbp sb|0,x1 " bcpl return aa 001576 200000 121100 sblx1 bp|0 aa 001577 700001 764111 lprplp sb|1,x1 aa 001600 200001 710100 tra bp|1 " end of return sequence " Literal pool L138: aa 001601 000010 104145 zero 8,34917 " "Declitem" aa 001602 143154 151164 zero 50796,53876 aa 001603 145155 000000 zero 51821 " Definition section part one - external entry points 5a 000000 000044 000000 " pointer to first definition aa 000001 000000 600000 " flags: new format, ignore header aa 000002 000000 000000 " list terminator aa 000003 013142 143160 " "bcpl_trans2" aa 000004 154137 164162 aa 000005 141156 163062 aa 000006 010104 145143 " "Declitem" aa 000007 154151 164145 aa 000010 155000 000000 aa 000011 010101 144144 " "Addlocal" aa 000012 154157 143141 aa 000013 154000 000000 aa 000014 012104 145143 " "Decllabels" aa 000015 154154 141142 aa 000016 145154 163000 aa 000017 010124 162141 " "Transdef" aa 000020 156163 144145 aa 000021 146000 000000 aa 000022 011104 145143 " "Declnames" aa 000023 154156 141155 aa 000024 145163 000000 aa 000025 013122 145155 " "Removenames" aa 000026 157166 145156 aa 000027 141155 145163 aa 000030 014103 145154 " "Cellwithname" aa 000031 154167 151164 aa 000032 150156 141155 aa 000033 145000 000000 aa 000034 015103 150145 " "Checkdistinct" aa 000035 143153 144151 aa 000036 163164 151156 aa 000037 143164 000000 aa 000040 014163 171155 " "symbol_table" aa 000041 142157 154137 aa 000042 164141 142154 aa 000043 145000 000000 " Segname definition for bcpl_trans2 55 000044 000047 000002 " forward, backward threads 5a 000045 000002 400003 " value defined, class flags 55 000046 000003 000047 " name pointer, first entry def " Definition for Declitem 55 000047 000052 000044 " forward, backward threads 0a 000050 001406 500000 " value defined, class flags 55 000051 000006 000044 " name pointer, segname def pointer " Definition for Addlocal 55 000052 000055 000047 " forward, backward threads 0a 000053 000441 500000 " value defined, class flags 55 000054 000011 000044 " name pointer, segname def pointer " Definition for Decllabels 55 000055 000060 000052 " forward, backward threads 0a 000056 000375 500000 " value defined, class flags 55 000057 000014 000044 " name pointer, segname def pointer " Definition for Transdef 55 000060 000063 000055 " forward, backward threads 0a 000061 000477 500000 " value defined, class flags 55 000062 000017 000044 " name pointer, segname def pointer " Definition for Declnames 55 000063 000066 000060 " forward, backward threads 0a 000064 000743 500000 " value defined, class flags 55 000065 000022 000044 " name pointer, segname def pointer " Definition for Removenames 55 000066 000071 000063 " forward, backward threads 0a 000067 000004 500000 " value defined, class flags 55 000070 000025 000044 " name pointer, segname def pointer " Definition for Cellwithname 55 000071 000074 000066 " forward, backward threads 0a 000072 001162 500000 " value defined, class flags 55 000073 000030 000044 " name pointer, segname def pointer " Definition for Checkdistinct 55 000074 000077 000071 " forward, backward threads 0a 000075 001237 500000 " value defined, class flags 55 000076 000034 000044 " name pointer, segname def pointer " Definition for symbol_table 55 000077 000002 000074 " forward, backward threads 6a 000100 000000 400002 " value defined, class flags 55 000101 000040 000044 " name pointer, segname def pointer " Definition section part two - symbolic info for external references aa 000102 013142 143160 " "bcpl_trans5" aa 000103 154137 164162 aa 000104 141156 163065 aa 000105 011105 166141 " "Evalconst" aa 000106 154143 157156 aa 000107 163164 000000 5a 000110 000111 000000 aa 000111 000004 000000 55 000112 000102 000105 aa 000113 020120 141162 " "PartialEvalconst" aa 000114 164151 141154 aa 000115 105166 141154 aa 000116 143157 156163 aa 000117 164000 000000 5a 000120 000121 000000 aa 000121 000004 000000 55 000122 000102 000113 aa 000123 013142 143160 " "bcpl_report" aa 000124 154137 162145 aa 000125 160157 162164 aa 000126 013124 162141 " "Transreport" aa 000127 156163 162145 aa 000130 160157 162164 5a 000131 000132 000000 aa 000132 000004 000000 55 000133 000123 000126 aa 000134 014142 143160 " "bcpl_utility" aa 000135 154137 165164 aa 000136 151154 151164 aa 000137 171000 000000 aa 000140 005114 151163 " "List3" aa 000141 164063 000000 5a 000142 000143 000000 aa 000143 000004 000000 55 000144 000134 000140 aa 000145 006116 145167 " "Newvec" aa 000146 166145 143000 5a 000147 000150 000000 aa 000150 000004 000000 55 000151 000134 000145 aa 000152 013142 143160 " "bcpl_trans3" aa 000153 154137 164162 aa 000154 141156 163063 aa 000155 012101 163163 " "Assignlist" aa 000156 151147 156154 aa 000157 151163 164000 5a 000160 000161 000000 aa 000161 000004 000000 55 000162 000152 000155 aa 000163 020142 143160 " "bcpl_arithmetic_" aa 000164 154137 141162 aa 000165 151164 150155 aa 000166 145164 151143 aa 000167 137000 000000 aa 000170 007122 141156 " "RandomI" aa 000171 144157 155111 5a 000172 000173 000000 aa 000173 000004 000000 55 000174 000163 000170 aa 000175 010103 107162 " "CGreport" aa 000176 145160 157162 aa 000177 164000 000000 5a 000200 000201 000000 aa 000201 000004 000000 55 000202 000123 000175 aa 000203 021142 143160 " "bcpl_cg_interface" aa 000204 154137 143147 aa 000205 137151 156164 aa 000206 145162 146141 aa 000207 143145 000000 aa 000210 022107 145156 " "GenerateLineNumber" aa 000211 145162 141164 aa 000212 145114 151156 aa 000213 145116 165155 aa 000214 142145 162000 5a 000215 000216 000000 aa 000216 000004 000000 55 000217 000203 000210 aa 000220 013142 143160 " "bcpl_trans6" aa 000221 154137 164162 aa 000222 141156 163066 aa 000223 015101 154154 " "AllocateLocal" aa 000224 157143 141164 aa 000225 145114 157143 aa 000226 141154 000000 5a 000227 000230 000000 aa 000230 000004 000000 55 000231 000220 000223 aa 000232 014120 165164 " "PutBackTemps" aa 000233 102141 143153 aa 000234 124145 155160 aa 000235 163000 000000 5a 000236 000237 000000 aa 000237 000004 000000 55 000240 000220 000232 aa 000241 015107 145156 " "GenerateLabel" aa 000242 145162 141164 aa 000243 145114 141142 aa 000244 145154 000000 5a 000245 000246 000000 aa 000246 000004 000000 55 000247 000203 000241 aa 000250 013142 143160 " "bcpl_trans1" aa 000251 154137 164162 aa 000252 141156 163061 aa 000253 011124 162141 " "Transbody" aa 000254 156163 142157 aa 000255 144171 000000 5a 000256 000257 000000 aa 000257 000004 000000 55 000260 000250 000253 aa 000261 011116 145170 " "Nextparam" aa 000262 164160 141162 aa 000263 141155 000000 5a 000264 000265 000000 aa 000265 000004 000000 55 000266 000134 000261 aa 000267 020107 145156 " "GenerateRtdefEnd" aa 000270 145162 141164 aa 000271 145122 164144 aa 000272 145146 105156 aa 000273 144000 000000 5a 000274 000275 000000 aa 000275 000004 000000 55 000276 000203 000267 aa 000277 013142 143160 " "bcpl_trans4" aa 000300 154137 164162 aa 000301 141156 163064 aa 000302 016103 157155 " "CompileOperand" aa 000303 160151 154145 aa 000304 117160 145162 aa 000305 141156 144000 5a 000306 000307 000000 aa 000307 000004 000000 55 000310 000277 000302 aa 000311 010122 145163 " "ResetSSP" aa 000312 145164 123123 aa 000313 120000 000000 5a 000314 000315 000000 aa 000315 000004 000000 55 000316 000220 000311 aa 000317 010114 151163 " "ListSize" aa 000320 164123 151172 aa 000321 145000 000000 5a 000322 000323 000000 aa 000323 000004 000000 55 000324 000152 000317 aa 000325 022107 145156 " "GenerateRtdefBegin" aa 000326 145162 141164 aa 000327 145122 164144 aa 000330 145146 102145 aa 000331 147151 156000 5a 000332 000333 000000 aa 000333 000004 000000 55 000334 000203 000325 aa 000335 010127 141154 " "WalkList" aa 000336 153114 151163 aa 000337 164000 000000 5a 000340 000341 000000 aa 000341 000004 000000 55 000342 000152 000335 aa 000343 007106 162145 " "Freevec" aa 000344 145166 145143 5a 000345 000346 000000 aa 000346 000004 000000 55 000347 000134 000343 aa 000350 017104 145141 " "DeallocateLocal" aa 000351 154154 157143 aa 000352 141164 145114 aa 000353 157143 141154 5a 000354 000355 000000 aa 000355 000004 000000 55 000356 000220 000350 aa 000357 000000 000000 " padding " Linkage section - static variables and external links aa 000000 000000 000000 " linkage header 0a 000001 001604 000000 " address of defs aa 000002 000000 000000 aa 000003 000000 000000 aa 000004 000000 000000 aa 000005 000000 000000 2a 000006 000010 000064 " offset to links, total length aa 000007 000000 000064 " obsolete length " External link pairs L133: 3a 000010 777770 000046 " "bcpl_trans5$Evalconst" 5a 000011 000110 000000 L131: 3a 000012 777766 000046 " "bcpl_trans5$PartialEvalconst" 5a 000013 000120 000000 L105: 3a 000014 777764 000046 " "bcpl_report$Transreport" 5a 000015 000131 000000 L94: 3a 000016 777762 000046 " "bcpl_utility$List3" 5a 000017 000142 000000 L79: 3a 000020 777760 000046 " "bcpl_utility$Newvec" 5a 000021 000147 000000 L75: 3a 000022 777756 000046 " "bcpl_trans3$Assignlist" 5a 000023 000160 000000 L73: 3a 000024 777754 000046 " "bcpl_arithmetic_$RandomI" 5a 000025 000172 000000 L70: 3a 000026 777752 000046 " "bcpl_report$CGreport" 5a 000027 000200 000000 L65: 3a 000030 777750 000046 " "bcpl_cg_interface$GenerateLineNumber" 5a 000031 000215 000000 L59: 3a 000032 777746 000046 " "bcpl_trans6$AllocateLocal" 5a 000033 000227 000000 L44: 3a 000034 777744 000046 " "bcpl_trans6$PutBackTemps" 5a 000035 000236 000000 L43: 3a 000036 777742 000046 " "bcpl_cg_interface$GenerateLabel" 5a 000037 000245 000000 L42: 3a 000040 777740 000046 " "bcpl_trans1$Transbody" 5a 000041 000256 000000 L41: 3a 000042 777736 000046 " "bcpl_utility$Nextparam" 5a 000043 000264 000000 L40: 3a 000044 777734 000046 " "bcpl_cg_interface$GenerateRtdefEnd" 5a 000045 000274 000000 L39: 3a 000046 777732 000046 " "bcpl_trans4$CompileOperand" 5a 000047 000306 000000 L36: 3a 000050 777730 000046 " "bcpl_trans6$ResetSSP" 5a 000051 000314 000000 L35: 3a 000052 777726 000046 " "bcpl_trans3$ListSize" 5a 000053 000322 000000 L34: 3a 000054 777724 000046 " "bcpl_cg_interface$GenerateRtdefBegin" 5a 000055 000332 000000 L33: 3a 000056 777722 000046 " "bcpl_trans3$WalkList" 5a 000057 000340 000000 L20: 3a 000060 777720 000046 " "bcpl_utility$Freevec" 5a 000061 000345 000000 L19: 3a 000062 777716 000046 " "bcpl_trans6$DeallocateLocal" 5a 000063 000354 000000 " Symbol section header aa 000000 000000 000001 " version number of header structure aa 000001 163171 155142 " "symbtree" aa 000002 164162 145145 aa 000003 000000 000003 " compiler version number aa 000004 000000 101170 " date/time compiler modified aa 000005 533311 032072 " 09/25/73 0959.1 mst Tue aa 000006 000000 102333 " time of this compilation aa 000007 440645 601516 " 01/24/75 0701.4 mst Fri aa 000010 142143 160154 " "bcpl " aa 000011 040040 040040 aa 000012 000052 000035 " compiler version name - pointer, length aa 000013 000062 000024 " user id - pointer, length aa 000014 000067 000043 " comment string - pointer, length aa 000015 000002 000002 " text and linkage boundaries aa 000016 000024 000000 " source map, symbol tree root 7a 000017 000000 000163 " section header pointer, block size aa 000020 000000 000163 " next block pointer, rel_text aa 000021 000000 000211 " rel_def, rel_link aa 000022 000223 000163 " rel_symbol, default truncate aa 000023 000024 000000 " optional truncate, unused aa 000024 000000 000001 " source files map: version number aa 000025 000000 000005 " number of files aa 000026 000100 000052 " bcpl_trans2 aa 000027 023333 611434 " last modified on aa 000030 000000 102333 " 01/24/75 0647.2 mst Fri aa 000031 432367 000000 aa 000032 000113 000046 " bcpl_trans_head aa 000033 021607 540225 " last modified on aa 000034 000000 101621 " 05/06/74 1740.8 mst Mon aa 000035 351476 000000 aa 000036 000125 000051 " bcpl_compiler_head aa 000037 021607 540214 " last modified on aa 000040 000000 101621 " 05/06/74 1740.6 mst Mon aa 000041 351403 200000 aa 000042 000140 000043 " bcpl_symbols aa 000043 021607 540223 " last modified on aa 000044 000000 101621 " 05/06/74 1740.8 mst Mon aa 000045 351474 000000 aa 000046 000151 000047 " bcpl_trans_codes aa 000047 021607 540224 " last modified on aa 000050 000000 101621 " 05/06/74 1740.8 mst Mon aa 000051 351475 000000 aa 000052 102103 120114 " "BCPL version 3.4, August 1973" aa 000053 040166 145162 aa 000054 163151 157156 aa 000055 040063 056064 aa 000056 054040 101165 aa 000057 147165 163164 aa 000060 040061 071067 aa 000061 063040 040040 aa 000062 115141 162164 " "Martinson.SysMaint.a" aa 000063 151156 163157 aa 000064 156056 123171 aa 000065 163115 141151 aa 000066 156164 056141 aa 000067 163157 165162 " "source xref alist optimize 6180" aa 000070 143145 040040 aa 000071 170162 145146 aa 000072 040040 141154 aa 000073 151163 164040 aa 000074 040157 160164 aa 000075 151155 151172 aa 000076 145040 040066 aa 000077 061070 060040 aa 000100 076062 056061 " ">2.1spec>online>mib083074>bcpl_trans2.bcpl" aa 000101 163160 145143 aa 000102 076157 156154 aa 000103 151156 145076 aa 000104 155151 142060 aa 000105 070063 060067 aa 000106 064076 142143 aa 000107 160154 137164 aa 000110 162141 156163 aa 000111 062056 142143 aa 000112 160154 040040 aa 000113 076154 144144 " ">ldd>include>bcpl_trans_head.incl.bcpl" aa 000114 076151 156143 aa 000115 154165 144145 aa 000116 076142 143160 aa 000117 154137 164162 aa 000120 141156 163137 aa 000121 150145 141144 aa 000122 056151 156143 aa 000123 154056 142143 aa 000124 160154 040040 aa 000125 076154 144144 " ">ldd>include>bcpl_compiler_head.incl.bcpl" aa 000126 076151 156143 aa 000127 154165 144145 aa 000130 076142 143160 aa 000131 154137 143157 aa 000132 155160 151154 aa 000133 145162 137150 aa 000134 145141 144056 aa 000135 151156 143154 aa 000136 056142 143160 aa 000137 154040 040040 aa 000140 076154 144144 " ">ldd>include>bcpl_symbols.incl.bcpl" aa 000141 076151 156143 aa 000142 154165 144145 aa 000143 076142 143160 aa 000144 154137 163171 aa 000145 155142 157154 aa 000146 163056 151156 aa 000147 143154 056142 aa 000150 143160 154040 aa 000151 076154 144144 " ">ldd>include>bcpl_trans_codes.incl.bcpl" aa 000152 076151 156143 aa 000153 154165 144145 aa 000154 076142 143160 aa 000155 154137 164162 aa 000156 141156 163137 aa 000157 143157 144145 aa 000160 163056 151156 aa 000161 143154 056142 aa 000162 143160 154040 " Relocation information " text section relocation bits aa 000163 000000 000002 " version number of rel-bits structure aa 000164 000000 001261 " length in bits aa 000165 740525 170107 aa 000166 236131 647404 aa 000167 550001 200024 aa 000170 740275 000500 aa 000171 240001 200120 aa 000172 050000 051700 aa 000173 572360 646474 aa 000174 111517 024723 aa 000175 601464 740215 aa 000176 170133 200001 aa 000177 236074 647415 aa 000200 750024 740475 aa 000201 170307 236073 aa 000202 647415 351702 aa 000203 472360 316474 aa 000204 077517 005323 aa 000205 601164 000517 aa 000206 010323 602564 aa 000207 000020 041701 aa 000210 620000 000000 l " inkage relocation bits aa 000211 000000 000002 " version number of rel-bits structure aa 000212 000000 000440 " length in bits aa 000213 100002 204652 aa 000214 465246 524652 aa 000215 465246 524652 aa 000216 465246 524652 aa 000217 465246 524652 aa 000220 465246 524652 aa 000221 465246 524652 aa 000222 465246 524652 s " ymbol relocation bits aa 000223 000000 000002 " version number of rel-bits structure aa 000224 000000 000043 " length in bits aa 000225 740365 770616 " Object map aa 002476 000000 000001 " version number of object_map structure aa 002477 157142 152137 " "obj_map " aa 002500 155141 160040 aa 002501 000000 001604 " text offset, length aa 002502 001604 000357 " def offset, length aa 002503 002164 000064 " link offset, length aa 002504 002250 000226 " symbol offset, length aa 002505 000000 000000 " break map offset, length aa 002506 340000 000000 " flags: ^bound, relocatable, procedure, standard aa 002507 002476 000000 " object map pointer, unused ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell BULL Inc., Groupe BULL and BULL HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by BULL HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved