Compilation listing of file >2.1spec>online>mib083074>bcpl_trans3.bcpl. Compilation performed for Martinson.SysMaint.a at 01/24/75 0701.7 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 subroutines of Trans. 2 // Last modified on 06/06/74 at 18:26:39 by R F Mabee. 3 // Prepared for installation as Version 3.4 by R F Mabee. 4 // Modified at time of 6180 bootstrap to change interface to code generator. 5 // First installed as part of Version 2.7 by R F Mabee. 6 7 // Copyright (c) 1974 by Massachusetts Institute of Technology and Honeywell Information Systems, Inc. 8 9 // General permission is granted to copy and use this program, but not to sell it, provided that the above 10 // copyright statement is given. Contact Information Processing Services, MIT, for further information. 11 // Please contact R F Mabee at MIT for information on this program and versions for other machines. 12 13 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 $) 14 15 let TransConditional (x, B, L) be 16 switchon x!0 & Right into 17 $( case NOT_S: 18 TransConditional (x!1, not B, L) 19 return 20 21 case LOGOR_S: 22 case LOGAND_S: 23 test B neqv ((x!0 & Right) = LOGOR_S) 24 then $( let M = Nextparam () 25 TransConditional (x!1, not B, M) 26 TransConditional (x!2, B, L) 27 GenerateLabel (M) 28 $) 29 or $( TransConditional (x!1, B, L) 30 TransConditional (x!2, B, L) 31 $) 32 return 33 34 case COND_S: $( let M, N = Nextparam (), Nextparam () 35 TransConditional (x!1, false, M) 36 TransConditional (x!2, B, L) 37 GenerateJump (N) 38 GenerateLabel (M) 39 TransConditional (x!3, B, L) 40 GenerateLabel (N) 41 return 42 $) 43 44 case REL_S: 45 x := x!1 46 case EQ_S: case NE_S: case LS_S: case GR_S: case LE_S: case GE_S: 47 case EQ_F: case NE_F: case LS_F: case GR_F: case LE_F: case GE_F: 48 $( let PT, M = PendingTemps, 0 49 let Desc1, Desc2 = vec DescSize, vec DescSize 50 let LeftOperand = x!1 51 while IsRelational (x!2) do 52 $( let MiddleOperand = x!2!1 53 if CountTemporaries (MiddleOperand) > 1 do MiddleOperand := MakeCopy (MiddleOperand) 54 CompileOperand (LeftOperand, Desc1) 55 CompileOperand (MiddleOperand, Desc2) 56 if B & M = 0 do M := Nextparam () 57 GenerateDiadicConditional (ComplementRelop (x!0 & Right), (B -> M, L), Desc1, Desc2) 58 x := x!2 59 LeftOperand := MiddleOperand 60 $) 61 CompileOperand (LeftOperand, Desc1) 62 CompileOperand (x!2, Desc2) 63 let Op = x!0 & Right 64 unless B do Op := ComplementRelop (Op) 65 GenerateDiadicConditional (Op, L, Desc1, Desc2) 66 PutBackTemps (PT) 67 unless M = 0 do GenerateLabel (M) 68 return 69 $) 70 71 case EQV_S: 72 B, x!0 := not B, NEQV_S // Kludge - NEQV is easier to calculate (using exclusive-OR hardware). 73 default: let PT, Switch = PendingTemps, vec DescSize 74 CompileOperand (x, Switch) 75 GenerateMonadicConditional ((B -> TRUE_S, FALSE_S), L, Switch) 76 PutBackTemps (PT) 77 $) 78 and ComplementRelop (Op) = valof 79 switchon Op into 80 $( case EQ_S: resultis NE_S 81 case EQ_F: resultis NE_F 82 case NE_S: resultis EQ_S 83 case NE_F: resultis EQ_F 84 case LS_S: resultis GE_S 85 case LS_F: resultis GE_F 86 case GE_S: resultis LS_S 87 case GE_F: resultis LS_F 88 case GR_S: resultis LE_S 89 case GR_F: resultis LE_F 90 case LE_S: resultis GR_S 91 case LE_F: resultis GR_F 92 default: CGreport (UnexpectedCase, Op, "ComplementRelop") 93 resultis EQ_S 94 $) 95 96 let Target (x) = valof 97 $( let a = nil 98 if x = 0 resultis 0 99 switchon x!0 & Right into 100 $( case RETURN_S: 101 if ReturnLabel = 0 do Transreport (NotInsideRtdef, x) 102 resultis ReturnLabel 103 case ENDCASE_S: 104 unless SwitchFlag do Transreport (NoSwitch, x) 105 resultis EndcaseLabel 106 case LOOP_S: 107 a := lv LoopLabel 108 goto Check 109 case BREAK_S: 110 a := lv BreakLabel 111 Check: unless LoopFlag do Transreport (NoLoop, x) 112 if rv a = 0 do rv a := Nextparam () 113 resultis rv a 114 case GOTO_S: 115 a := x!1 116 if (a!0 & Right) = NAME_S do 117 $( let T = Cellwithname (a) 118 if T!1 = LABEL_S resultis T!2 119 $) 120 default: resultis 0 121 $) 122 $) 123 124 let ListSize (List) = valof 125 $( if List = 0 resultis 0 126 unless (List!0 & Right) = COMMA_S resultis SubListSize (List) 127 let N = 0 128 for i = 1 to List!1 do N := N + SubListSize (List!(i + 1)) 129 resultis N 130 $) 131 and SubListSize (List) = valof 132 $( unless (List!0 & Right) = REP_S resultis 1 133 unless (List!2!0 & Right) = CONSTANT_S do 134 $( let N = Evalconst (List!2) 135 if N < 0 do N := 0 136 List!2 := List2 (CONSTANT_S, N) 137 $) 138 resultis List!2!1 139 $) 140 141 and WalkList (List, F, x) be 142 $( let N, Len = 0, ListSize (List) 143 if Len = 0 return 144 let FlatList = Newvec (Len - 1) 145 for i = 0 to Len - 1 do FlatList!i := 0 146 test (List!0 & Right) = COMMA_S 147 then for i = 1 to List!1 do N := N + WalkSubList (List!(i + 1), lv FlatList!N) 148 or WalkSubList (List, FlatList) 149 for i = 1 to Len do 150 $( N := RandomI () rem Len repeatwhile FlatList!N = -1 151 F (FlatList!N, x + N) 152 FlatList!N := -1 153 $) 154 Freevec (FlatList, Len - 1) 155 $) 156 and WalkSubList (List, Flat) = valof 157 $( unless (List!0 & Right) = REP_S do 158 $( Flat!0 := List 159 resultis 1 160 $) 161 let T = List!1 162 if CountTemporaries (T) > 1 do T := MakeCopy (T) 163 let N = List!2!1 164 for i = 0 to List!2!1 - 1 do Flat!i := T 165 resultis List!2!1 166 $) 167 168 let Assignlist (LeftTree, RightTree) be 169 $( let Len = ListSize (RightTree) 170 and OldLHS, PT = LHSpointer, PendingTemps 171 test (LeftTree!0 & Right) = COMMA_S 172 then $( LHSpointer := lv LeftTree!2 173 test LeftTree!1 = Len 174 then WalkList (RightTree, AssignElement, 0) 175 or Transreport (Conformality, RightTree) 176 $) 177 or $( LHSpointer := lv LeftTree 178 test Len = 1 179 then WalkList (RightTree, AssignElement, 0) 180 or Transreport (Conformality, LeftTree) 181 $) 182 LHSpointer := OldLHS 183 PutBackTemps (PT) 184 $) 185 and AssignElement (RightTree, i) be 186 CompileExpression (LHSpointer!i, RightTree) 187 188 let TransLoop (Body, Cond, Sense, Enter) be 189 $( let Bl, Ll, Lf = BreakLabel, LoopLabel, LoopFlag 190 BreakLabel, LoopLabel, LoopFlag := 0, Enter, true 191 unless Enter = 0 do GenerateJump (Enter) 192 193 let Top = Nextparam () 194 GenerateLabel (Top) 195 Transbody (Body) 196 unless LoopLabel = 0 do GenerateLabel (LoopLabel) 197 LoopFlag := false // Force any break in conditional to get error message. 198 test Cond = 0 199 then GenerateJump (Top) 200 or TransConditional (Cond, Sense, Top) 201 unless BreakLabel = 0 do GenerateLabel (BreakLabel) 202 BreakLabel, LoopLabel, LoopFlag := Bl, Ll, Lf 203 $) 204 205 let TransFor (x) be 206 $( let s, Dp, PT = SSP, DvecP, PendingTemps 207 let Bl, Ll, Lf = BreakLabel, LoopLabel, LoopFlag 208 BreakLabel, LoopLabel, LoopFlag := 0, 0, true 209 210 let Name, Initial, Max, Step, Body = x!1, x!2, x!3, x!4, x!5 211 Addlocal (Name) 212 Checkdistinct () 213 CompileExpression (Name, Initial) 214 unless IsConst (Max) do Max := MakeCopy (Max) 215 if Step = 0 do Step := table CONSTANT_S, 1 216 217 let L, M = Nextparam (), Nextparam () 218 GenerateJump (M) 219 220 GenerateLabel (L) 221 Transbody (Body) 222 unless LoopLabel = 0 do GenerateLabel (LoopLabel) 223 224 let T1 = list PLUS_S, Name, Step 225 CompileExpression (Name, T1) 226 227 GenerateLabel (M) 228 let T2 = list (Evalconst (Step) < 0 -> GE_S, LE_S), Name, Max 229 TransConditional (T2, true, L) 230 231 unless BreakLabel = 0 do GenerateLabel (BreakLabel) 232 BreakLabel, LoopLabel, LoopFlag := Bl, Ll, Lf 233 Removenames (Dp) 234 PutBackTemps (PT) 235 ResetSSP (s) 236 $) CAE time 5.6, 121 source lines per second. cross reference table a bcpl_trans3: 97, 107, 110, 112, 112, 113, 115, 116, 117 Addlocal bcpl_trans_head: 23, bcpl_trans3: 211 AllocateLocal bcpl_trans_head: 51 AND_S bcpl_symbols: 17 ArgInfo bcpl_trans_head: 86 AssignElement bcpl_trans3: 174, 179, 185 Assignlist bcpl_trans_head: 35, bcpl_trans3: 168 ASSIGN_S bcpl_symbols: 18 B bcpl_trans3: 15, 18, 23, 25, 26, 29, 30, 36, 39, 56, 57, 64, 72, 72, 75 BadCall bcpl_trans_codes: 16 BadDescriptors bcpl_trans_codes: 17 BadLink bcpl_trans_codes: 18 BE_S bcpl_symbols: 19 BIT_S bcpl_symbols: 20 Bl bcpl_trans3: 189, 202, 207, 232 Body bcpl_trans3: 188, 195, 210, 221 BreakLabel bcpl_trans_head: 87, bcpl_trans3: 110, 189, 190, 201, 201, 202, 207, 208, 231, 231, 232 BREAK_S bcpl_symbols: 21, bcpl_trans3: 109 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_trans3: 117 CgFinish bcpl_trans_head: 83 CgInit bcpl_compiler_head: 71 CGreport bcpl_compiler_head: 51, bcpl_trans3: 92 Ch bcpl_compiler_head: 92 CHARCONST_S bcpl_symbols: 27 CHAR_S bcpl_symbols: 26 Check bcpl_trans3: 108, 111 Checkdistinct bcpl_trans_head: 27, bcpl_trans3: 212 Cleanup bcpl_compiler_head: 61 COLON_S bcpl_symbols: 28 Column bcpl_compiler_head: 128 COMMA_S bcpl_symbols: 29, bcpl_trans3: 126, 146, 171 CompareStrings bcpl_compiler_head: 25 CompileExpression bcpl_trans_head: 39, bcpl_trans3: 186, 213, 225 CompileOperand bcpl_trans_head: 40, bcpl_trans3: 54, 55, 61, 62, 74 CompilerDTM bcpl_compiler_head: 112 CompilerDTMString bcpl_compiler_head: 111 CompilerVersionNumber bcpl_compiler_head: 110 CompilerVersionString bcpl_compiler_head: 109 ComplementRelop bcpl_trans3: 57, 64, 78 Concatenate bcpl_compiler_head: 26 Cond bcpl_trans3: 188, 198, 200 COND_S bcpl_symbols: 30, bcpl_trans3: 34 Conformality bcpl_trans_codes: 19, bcpl_trans3: 175, 180 CONSTANT_S bcpl_symbols: 31, bcpl_trans3: 133, 136, 215 CONSTDEF_S bcpl_symbols: 32 ConvertNtoS bcpl_compiler_head: 28 ConvertStoN bcpl_compiler_head: 27 CountTemporaries bcpl_trans_head: 47, bcpl_trans3: 53, 162 Crep bcpl_compiler_head: 98 DeallocateLocal bcpl_trans_head: 52 Declitem bcpl_trans_head: 24 Decllabels bcpl_trans_head: 26 Declnames bcpl_trans_head: 25 DefaultLabel bcpl_trans_head: 90 DEFAULT_S bcpl_symbols: 33 DefList bcpl_trans_head: 91 Desc1 bcpl_trans3: 49, 54, 57, 61, 65 Desc2 bcpl_trans3: 49, 55, 57, 62, 65 DescSize bcpl_trans_head: 117, bcpl_trans3: 49, 49, 73 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_trans3: 206, 233 DupDefault bcpl_trans_codes: 20 DupName bcpl_trans_codes: 21 DvecC bcpl_trans_head: 92 DvecP bcpl_trans_head: 93, bcpl_trans3: 206 DvecSize bcpl_trans_head: 118 EndcaseLabel bcpl_trans_head: 94, bcpl_trans3: 105 ENDCASE_S bcpl_symbols: 39, bcpl_trans3: 103 Endofstreamch bcpl_compiler_head: 135 ENDPROG_S bcpl_symbols: 40 Enter bcpl_trans3: 188, 190, 191, 191 EnterIntoCrossreference bcpl_compiler_head: 57 EnvBase bcpl_trans_head: 96 EqualString bcpl_compiler_head: 24 EQV_S bcpl_symbols: 44, bcpl_trans3: 71 EQ_F bcpl_symbols: 42, bcpl_trans3: 47, 81, 83 EQ_S bcpl_symbols: 43, bcpl_trans3: 46, 80, 82, 93 Errorsw bcpl_compiler_head: 124 ERROR_S bcpl_symbols: 41 Evalconst bcpl_trans_head: 43, bcpl_trans3: 134, 228 EvaluateOperator bcpl_trans_head: 46 Even bcpl_compiler_head: 136 EXTERNAL_S bcpl_symbols: 46 F bcpl_trans3: 141, 151 FALSE_S bcpl_symbols: 47, bcpl_trans3: 75 FileCount bcpl_compiler_head: 118 FileNames bcpl_compiler_head: 116 FileShift bcpl_compiler_head: 138 FilesInfo bcpl_compiler_head: 117 FindPrintName bcpl_compiler_head: 56 FINISH_S bcpl_symbols: 48 FIXED_S bcpl_symbols: 49 Flat bcpl_trans3: 156, 158, 164 FlatList bcpl_trans3: 144, 145, 147, 148, 150, 151, 152, 154 FLOAT_S bcpl_symbols: 50 FNAP_S bcpl_symbols: 51 FNDEF_S bcpl_symbols: 52 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 FreeVar bcpl_trans_codes: 22 Freevec bcpl_compiler_head: 34, bcpl_trans3: 154 GenerateArg bcpl_trans_head: 64 GenerateClaimResult bcpl_trans_head: 71 GenerateDiadicConditional bcpl_trans_head: 79, bcpl_trans3: 57, 65 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, bcpl_trans3: 37, 191, 199, 218 GenerateLabel bcpl_trans_head: 59, bcpl_trans3: 27, 38, 40, 67, 194, 196, 201, 220, 222, 227, 231 GenerateLineNumber bcpl_trans_head: 81 GenerateMonadicConditional bcpl_trans_head: 78, bcpl_trans3: 75 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 GenerateRtdefEnd bcpl_trans_head: 62 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, bcpl_trans3: 47, 85, 87 GE_S bcpl_symbols: 56, bcpl_trans3: 46, 84, 86, 228 GlobalTemp bcpl_compiler_head: 131 GLOBAL_S bcpl_symbols: 58 GOTO_S bcpl_symbols: 59, bcpl_trans3: 114 GR_F bcpl_symbols: 60, bcpl_trans3: 47, 89, 91 GR_S bcpl_symbols: 61, bcpl_trans3: 46, 88, 90 HaveListingFile bcpl_compiler_head: 105 i bcpl_trans3: 128, 128, 145, 145, 147, 147, 149, 164, 164, 185, 186 IFNOT_S bcpl_symbols: 63 IFSO_S bcpl_symbols: 64 IF_S bcpl_symbols: 62 Initial bcpl_trans3: 210, 213 INPUT bcpl_compiler_head: 90 InsideRtdef bcpl_trans_head: 98 INTO_S bcpl_symbols: 66 IsConst bcpl_trans_head: 45, bcpl_trans3: 214 IsRelational bcpl_trans_head: 48, bcpl_trans3: 51 L bcpl_trans3: 15, 18, 26, 29, 30, 36, 39, 57, 65, 75, 217, 220, 229 LABDEF_S bcpl_symbols: 67 LABEL_S bcpl_symbols: 68, bcpl_trans3: 118 Left bcpl_compiler_head: 134 LeftOperand bcpl_trans3: 50, 54, 59, 61 LeftTree bcpl_trans3: 168, 171, 172, 173, 177, 180 Len bcpl_trans3: 142, 143, 144, 145, 149, 150, 154, 169, 173, 178 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, bcpl_trans3: 47, 89, 91 LE_S bcpl_symbols: 70, bcpl_trans3: 46, 88, 90, 228 Lf bcpl_trans3: 189, 202, 207, 232 LHSpointer bcpl_trans_head: 99, bcpl_trans3: 170, 172, 177, 182, 186 LineCount bcpl_compiler_head: 123 LineMap bcpl_compiler_head: 100 LineMask bcpl_compiler_head: 138 List bcpl_trans3: 124, 125, 126, 126, 128, 128, 131, 132, 133, 134, 136, 138, 141, 142, 146, 147, 147, 148, 156, 157, 158, 161, 163, 164, 165 List1 bcpl_compiler_head: 35 List2 bcpl_compiler_head: 36, bcpl_trans3: 136 List3 bcpl_compiler_head: 37 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_trans3: 124, 142, 169 LIST_S bcpl_symbols: 73 Ll bcpl_trans3: 189, 202, 207, 232 LmodeRequired bcpl_trans_codes: 23 LOCAL_S bcpl_symbols: 74 LOGAND_S bcpl_symbols: 76, bcpl_trans3: 22 LOGOR_S bcpl_symbols: 77, bcpl_trans3: 21, 23 LoopFlag bcpl_trans_head: 100, bcpl_trans3: 111, 189, 190, 197, 202, 207, 208, 232 LoopLabel bcpl_trans_head: 101, bcpl_trans3: 107, 189, 190, 196, 196, 202, 207, 208, 222, 222, 232 LOOP_S bcpl_symbols: 78, bcpl_trans3: 106 LSHIFT_S bcpl_symbols: 81 LS_F bcpl_symbols: 79, bcpl_trans3: 47, 85, 87 LS_S bcpl_symbols: 80, bcpl_trans3: 46, 84, 86 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_trans3: 24, 25, 27, 34, 35, 38, 48, 56, 56, 57, 67, 67, 217, 218, 227 Machine bcpl_compiler_head: 102 MAIN_S bcpl_symbols: 91 MakeCopy bcpl_trans_head: 54, bcpl_trans3: 53, 162, 214 MakeTemp bcpl_trans_head: 53 MakeTimeString bcpl_compiler_head: 44 MANIFEST_S bcpl_symbols: 92 Max bcpl_trans3: 210, 214, 214, 214, 228 MiddleOperand bcpl_trans3: 52, 53, 53, 53, 55, 59 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_trans3: 34, 37, 40, 127, 128, 128, 129, 134, 135, 135, 136, 142, 147, 147, 147, 150, 150, 151, 151, 152, 163 Name bcpl_trans3: 210, 211, 213, 224, 225, 228 NAMECHAIN bcpl_compiler_head: 125 NAME_S bcpl_symbols: 98, bcpl_trans3: 116 NegVector bcpl_trans_codes: 24 NEG_F bcpl_symbols: 99 NEG_S bcpl_symbols: 100 NEQV_S bcpl_symbols: 101, bcpl_trans3: 72 Newvec bcpl_compiler_head: 33, bcpl_trans3: 144 Nextparam bcpl_compiler_head: 45, bcpl_trans3: 24, 34, 34, 56, 112, 193, 217, 217 Nextsymb bcpl_compiler_head: 53 NE_F bcpl_symbols: 102, bcpl_trans3: 47, 81, 83 NE_S bcpl_symbols: 103, bcpl_trans3: 46, 80, 82 NIL_S bcpl_symbols: 104 NoLoop bcpl_trans_codes: 26, bcpl_trans3: 111 NoSwitch bcpl_trans_codes: 27, bcpl_trans3: 104 NotConstant bcpl_trans_codes: 28 NotInsideRtdef bcpl_trans_codes: 29, bcpl_trans3: 101 NotName bcpl_trans_codes: 30 NOT_S bcpl_symbols: 106, bcpl_trans3: 17 NoValof bcpl_trans_codes: 31 NUMBER_S bcpl_symbols: 107 OcodeSw bcpl_compiler_head: 104 OFFSET_S bcpl_symbols: 108 OldLHS bcpl_trans3: 170, 182 Op bcpl_trans3: 63, 64, 64, 65, 78, 79, 92 Optimize bcpl_compiler_head: 101 OptionString bcpl_compiler_head: 115 OR_S bcpl_symbols: 109 OUTPUT bcpl_compiler_head: 89 Packstring bcpl_compiler_head: 21 PartialEvalconst bcpl_trans_head: 44 PendingTemps bcpl_trans_head: 102, bcpl_trans3: 48, 73, 170, 206 Plist bcpl_compiler_head: 68 PLUS_F bcpl_symbols: 110 PLUS_S bcpl_symbols: 111, bcpl_trans3: 224 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 PT bcpl_trans3: 48, 66, 73, 76, 170, 183, 206, 234 PushInput bcpl_compiler_head: 42 PutBackTemps bcpl_trans_head: 55, bcpl_trans3: 66, 76, 183, 234 QuietSw bcpl_compiler_head: 106 RandomI bcpl_compiler_head: 31, bcpl_trans3: 150 RBRA_S bcpl_symbols: 116 Readch bcpl_compiler_head: 16 REGISTER_S bcpl_symbols: 117 REL_S bcpl_symbols: 118, bcpl_trans3: 44 RemoveEscapes bcpl_compiler_head: 23 Removenames bcpl_trans_head: 29, bcpl_trans3: 233 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, bcpl_trans3: 132, 157 ReserveArglist bcpl_trans_head: 63 ReserveSystemArglist bcpl_trans_head: 66 ResetSSP bcpl_trans_head: 50, bcpl_trans3: 235 RESULTIS_S bcpl_symbols: 124 ReturnLabel bcpl_trans_head: 103, bcpl_trans3: 101, 102 RETURN_S bcpl_symbols: 126, bcpl_trans3: 100 Right bcpl_compiler_head: 134, bcpl_trans3: 16, 23, 57, 63, 99, 116, 126, 132, 133, 146, 157, 171 RightTree bcpl_trans3: 168, 169, 174, 175, 179, 185, 186 RKET_S bcpl_symbols: 127 RSHIFT_S bcpl_symbols: 128 RTAP_S bcpl_symbols: 129 RtdefList bcpl_trans_head: 104 RtdefNesting bcpl_trans_head: 106 RTDEF_S bcpl_symbols: 130 RV_S bcpl_symbols: 131 s bcpl_trans3: 206, 235 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 Sense bcpl_trans3: 188, 200 SetResult bcpl_trans_head: 41 SKET_S bcpl_symbols: 139 SSP bcpl_trans_head: 107, bcpl_trans3: 206 StaticAllocationCounter bcpl_trans_head: 108 StaticFirst bcpl_trans_head: 109 StaticList bcpl_trans_head: 110 STATIC_S bcpl_symbols: 140 Step bcpl_trans3: 210, 215, 215, 224, 228 StoreAll bcpl_trans_head: 82 StoreString bcpl_compiler_head: 41 STRINGCONST_S bcpl_symbols: 142 STRING_S bcpl_symbols: 141 STRUCTURE_S bcpl_symbols: 143 SubListSize bcpl_trans3: 126, 128, 131 Switch bcpl_trans3: 73, 74, 75 SwitchFlag bcpl_trans_head: 111, bcpl_trans3: 104 SWITCHON_S bcpl_symbols: 144 Symb bcpl_compiler_head: 126 SymbolName bcpl_compiler_head: 55 Symbols bcpl_compiler_head: 99 T bcpl_trans3: 117, 118, 118, 161, 162, 162, 162, 164 T1 bcpl_trans3: 224, 225 T2 bcpl_trans3: 228, 229 TableCell bcpl_trans_head: 112 TABLE_S bcpl_symbols: 146 Target bcpl_trans_head: 36, bcpl_trans3: 96 TEMP_S bcpl_symbols: 147 TEST_S bcpl_symbols: 148 TimeNow bcpl_compiler_head: 114 TimeNowString bcpl_compiler_head: 113 Top bcpl_trans3: 193, 194, 199, 200 TO_S bcpl_symbols: 149 Trans bcpl_compiler_head: 70 Transbody bcpl_trans_head: 20, bcpl_trans3: 195, 221 TransConditional bcpl_trans_head: 31, bcpl_trans3: 15, 18, 25, 26, 29, 30, 35, 36, 39, 200, 229 Transdef bcpl_trans_head: 22 TransFnap bcpl_trans_head: 56 TransFor bcpl_trans_head: 32, bcpl_trans3: 205 TransLoop bcpl_trans_head: 37, bcpl_trans3: 188 Transreport bcpl_compiler_head: 50, bcpl_trans3: 101, 104, 111, 175, 180 TransSystemCall bcpl_trans_head: 57 TRUE_S bcpl_symbols: 150, bcpl_trans3: 75 TYPE_S bcpl_symbols: 151 UndefName bcpl_trans_codes: 32 UnexpectedCase bcpl_compiler_head: 139, bcpl_trans3: 92 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 VALDEF_S bcpl_symbols: 154 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_trans3: 141, 174, 179 WalkSubList bcpl_trans3: 147, 148, 156 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_trans3: 15, 16, 18, 23, 25, 26, 29, 30, 35, 36, 39, 45, 45, 50, 51, 52, 57, 58, 58, 62, 63, 72, 74, 96, 98, 99, 101, 104, 111, 115, 141, 151, 205, 210, 210, 210, 210, 210 Xref bcpl_compiler_head: 103 Trans time 2.2, 738 object words per second. " Begin text of TransConditional aa 000000 000020 124162 zero 16,43122 " TransConditional aa 000001 141156 163103 zero 49774,58947 aa 000002 157156 144151 zero 56942,51305 aa 000003 164151 157156 zero 59497,56942 aa 000004 141154 000000 zero 49772 L1: aa 000005 000000 213000 15 epaq 0 " set lp to linkage section aa 000006 700026 764161 lprplp sb|22,*au aa 000007 200000 021100 adlx1 bp|0 " BCPL save aa 000010 700000 542111 sprpbp sb|0,x1 aa 000011 700001 544111 sprplp sb|1,x1 aa 000012 700425 620111 eax0 sb|277,x1 aa 000013 777760 360003 anx0 -16,du aa 000014 700025 740100 stx0 sb|21 " end of save sequence aa 000015 000431 710004 17 tra L7 L8: aa 000016 700002 760111 18 lprpap sb|2,x1 " x aa 000017 000001 236100 ldq ap|1 aa 000020 700032 756111 stq sb|26,x1 aa 000021 000001 336007 lcq 1,dl " true aa 000022 700003 676111 erq sb|3,x1 " B aa 000023 700033 756111 stq sb|27,x1 aa 000024 700004 236111 ldq sb|4,x1 " L aa 000025 700034 756111 stq sb|28,x1 aa 000026 777761 272004 tsbbp L1+2 " TransConditional aa 000027 000030 000003 zero 24,3 aa 000030 000523 710004 21 tra L5 L9: aa 000031 700002 762111 23 lprpbp sb|2,x1 " x aa 000032 200000 236100 ldq bp|0 aa 000033 777777 376007 anq -1,dl " Right aa 000034 000075 116007 cmpq 61,dl " LOGOR_S aa 000035 000003 601004 tnz L12 aa 000036 000001 336007 lcq 1,dl " true aa 000037 000002 710004 tra L13 L12: aa 000040 000000 236007 ldq 0,dl " false L13: aa 000041 700007 756111 stq sb|7,x1 aa 000042 700007 236111 ldq sb|7,x1 aa 000043 700003 676111 erq sb|3,x1 " B aa 000044 000034 600004 tze L10 4a 000045 400070 272120 24 tsbbp lp|L14,* " Nextparam aa 000046 000030 000000 zero 24 aa 000047 700005 756111 stq sb|5,x1 " M aa 000050 700002 761111 25 lprpab sb|2,x1 " x aa 000051 100001 236100 ldq ab|1 aa 000052 700032 756111 stq sb|26,x1 aa 000053 000001 336007 lcq 1,dl " true aa 000054 700003 676111 erq sb|3,x1 " B aa 000055 700033 756111 stq sb|27,x1 aa 000056 700005 236111 ldq sb|5,x1 " M aa 000057 700034 756111 stq sb|28,x1 aa 000060 777727 272004 tsbbp L1+2 " TransConditional aa 000061 000030 000003 zero 24,3 aa 000062 700002 763111 26 lprpbb sb|2,x1 " x aa 000063 300002 236100 ldq bb|2 aa 000064 700032 756111 stq sb|26,x1 aa 000065 700003 236111 ldq sb|3,x1 " B aa 000066 700033 756111 stq sb|27,x1 aa 000067 700004 236111 ldq sb|4,x1 " L aa 000070 700034 756111 stq sb|28,x1 aa 000071 777716 272004 tsbbp L1+2 " TransConditional aa 000072 000030 000003 zero 24,3 aa 000073 700005 236111 27 ldq sb|5,x1 " M aa 000074 700032 756111 stq sb|26,x1 4a 000075 400066 272120 tsbbp lp|L15,* " GenerateLabel aa 000076 000030 000001 zero 24,1 aa 000077 000023 710004 tra L11 L10: aa 000100 700002 765111 29 lprplb sb|2,x1 " x aa 000101 500001 236100 ldq lb|1 aa 000102 700032 756111 stq sb|26,x1 aa 000103 700003 236111 ldq sb|3,x1 " B aa 000104 700033 756111 stq sb|27,x1 aa 000105 700004 236111 ldq sb|4,x1 " L aa 000106 700034 756111 stq sb|28,x1 aa 000107 777700 272004 tsbbp L1+2 " TransConditional aa 000110 000030 000003 zero 24,3 aa 000111 700002 760111 30 lprpap sb|2,x1 " x aa 000112 000002 236100 ldq ap|2 aa 000113 700032 756111 stq sb|26,x1 aa 000114 700003 236111 ldq sb|3,x1 " B aa 000115 700033 756111 stq sb|27,x1 aa 000116 700004 236111 ldq sb|4,x1 " L aa 000117 700034 756111 stq sb|28,x1 aa 000120 777667 272004 tsbbp L1+2 " TransConditional aa 000121 000030 000003 zero 24,3 L11: aa 000122 000431 710004 34 tra L5 L16: 4a 000123 400070 272120 tsbbp lp|L14,* " Nextparam aa 000124 000030 000000 zero 24 aa 000125 700005 756111 stq sb|5,x1 " M 4a 000126 400070 272120 tsbbp lp|L14,* " Nextparam aa 000127 000030 000000 zero 24 aa 000130 700006 756111 stq sb|6,x1 " N aa 000131 700002 762111 35 lprpbp sb|2,x1 " x aa 000132 200001 236100 ldq bp|1 aa 000133 700032 756111 stq sb|26,x1 aa 000134 700033 450111 stz sb|27,x1 aa 000135 700005 236111 ldq sb|5,x1 " M aa 000136 700034 756111 stq sb|28,x1 aa 000137 777650 272004 tsbbp L1+2 " TransConditional aa 000140 000030 000003 zero 24,3 aa 000141 700002 761111 36 lprpab sb|2,x1 " x aa 000142 100002 236100 ldq ab|2 aa 000143 700032 756111 stq sb|26,x1 aa 000144 700003 236111 ldq sb|3,x1 " B aa 000145 700033 756111 stq sb|27,x1 aa 000146 700004 236111 ldq sb|4,x1 " L aa 000147 700034 756111 stq sb|28,x1 aa 000150 777637 272004 tsbbp L1+2 " TransConditional aa 000151 000030 000003 zero 24,3 aa 000152 700006 236111 37 ldq sb|6,x1 " N aa 000153 700032 756111 stq sb|26,x1 4a 000154 400064 272120 tsbbp lp|L17,* " GenerateJump aa 000155 000030 000001 zero 24,1 aa 000156 700005 236111 38 ldq sb|5,x1 " M aa 000157 700032 756111 stq sb|26,x1 4a 000160 400066 272120 tsbbp lp|L15,* " GenerateLabel aa 000161 000030 000001 zero 24,1 aa 000162 700002 763111 39 lprpbb sb|2,x1 " x aa 000163 300003 236100 ldq bb|3 aa 000164 700032 756111 stq sb|26,x1 aa 000165 700003 236111 ldq sb|3,x1 " B aa 000166 700033 756111 stq sb|27,x1 aa 000167 700004 236111 ldq sb|4,x1 " L aa 000170 700034 756111 stq sb|28,x1 aa 000171 777616 272004 tsbbp L1+2 " TransConditional aa 000172 000030 000003 zero 24,3 aa 000173 700006 236111 40 ldq sb|6,x1 " N aa 000174 700032 756111 stq sb|26,x1 4a 000175 400066 272120 tsbbp lp|L15,* " GenerateLabel aa 000176 000030 000001 zero 24,1 aa 000177 000354 710004 44 tra L5 L18: aa 000200 700002 765111 45 lprplb sb|2,x1 " x aa 000201 500001 236100 ldq lb|1 aa 000202 700002 756111 stq sb|2,x1 " x L19: aa 000203 700005 450111 48 stz sb|5,x1 " M aa 000204 600412 236100 ldq sp|266 " PendingTemps aa 000205 700006 756111 stq sb|6,x1 " PT aa 000206 700012 350111 49 eapap sb|10,x1 " a vector aa 000207 700010 540111 sprpap sb|8,x1 " Desc2 aa 000210 700016 350111 eapap sb|14,x1 " a vector aa 000211 700007 540111 sprpap sb|7,x1 " Desc1 aa 000212 700002 760111 50 lprpap sb|2,x1 " x aa 000213 000001 236100 ldq ap|1 aa 000214 700015 756111 stq sb|13,x1 " LeftOperand aa 000215 000101 710004 51 tra L20 L21: aa 000216 700002 762111 52 lprpbp sb|2,x1 " x aa 000217 200002 762100 lprpbp bp|2 aa 000220 200001 236100 ldq bp|1 aa 000221 700011 756111 stq sb|9,x1 " MiddleOperand aa 000222 700011 236111 53 ldq sb|9,x1 " MiddleOperand aa 000223 700032 756111 stq sb|26,x1 4a 000224 400062 272120 tsbbp lp|L23,* " CountTemporaries aa 000225 000030 000001 zero 24,1 aa 000226 000001 116007 cmpq 1,dl " 1 aa 000227 000006 604404 tmoz L22 aa 000230 700011 236111 ldq sb|9,x1 " MiddleOperand aa 000231 700032 756111 stq sb|26,x1 4a 000232 400060 272120 tsbbp lp|L24,* " MakeCopy aa 000233 000030 000001 zero 24,1 aa 000234 700011 756111 stq sb|9,x1 " MiddleOperand L22: aa 000235 700015 236111 54 ldq sb|13,x1 " LeftOperand aa 000236 700032 756111 stq sb|26,x1 aa 000237 700007 236111 ldq sb|7,x1 " Desc1 aa 000240 700033 756111 stq sb|27,x1 4a 000241 400056 272120 tsbbp lp|L25,* " CompileOperand aa 000242 000030 000002 zero 24,2 aa 000243 700011 236111 55 ldq sb|9,x1 " MiddleOperand aa 000244 700032 756111 stq sb|26,x1 aa 000245 700010 236111 ldq sb|8,x1 " Desc2 aa 000246 700033 756111 stq sb|27,x1 4a 000247 400056 272120 tsbbp lp|L25,* " CompileOperand aa 000250 000030 000002 zero 24,2 aa 000251 700003 234111 56 szn sb|3,x1 " B aa 000252 000006 600004 tze L26 aa 000253 700005 234111 szn sb|5,x1 " M aa 000254 000004 601004 tnz L26 4a 000255 400070 272120 tsbbp lp|L14,* " Nextparam aa 000256 000030 000000 zero 24 aa 000257 700005 756111 stq sb|5,x1 " M L26: aa 000260 700003 234111 57 szn sb|3,x1 " B aa 000261 000003 600004 tze L27 aa 000262 700005 236111 ldq sb|5,x1 " M aa 000263 000002 710004 tra L28 L27: aa 000264 700004 236111 ldq sb|4,x1 " L L28: aa 000265 700022 756111 stq sb|18,x1 aa 000266 700022 236111 ldq sb|18,x1 aa 000267 700021 756111 stq sb|17,x1 aa 000270 700002 761111 lprpab sb|2,x1 " x aa 000271 100000 236100 ldq ab|0 aa 000272 777777 376007 anq -1,dl " Right aa 000273 700032 756111 stq sb|26,x1 aa 000274 000272 272004 tsbbp L2+2 " ComplementRelop aa 000275 000030 000001 zero 24,1 aa 000276 700023 756111 stq sb|19,x1 aa 000277 700023 236111 ldq sb|19,x1 aa 000300 700032 756111 stq sb|26,x1 aa 000301 700021 236111 ldq sb|17,x1 aa 000302 700033 756111 stq sb|27,x1 aa 000303 700007 236111 ldq sb|7,x1 " Desc1 aa 000304 700034 756111 stq sb|28,x1 aa 000305 700010 236111 ldq sb|8,x1 " Desc2 aa 000306 700035 756111 stq sb|29,x1 4a 000307 400054 272120 tsbbp lp|L29,* " GenerateDiadicConditional aa 000310 000030 000004 zero 24,4 aa 000311 700002 763111 58 lprpbb sb|2,x1 " x aa 000312 300002 236100 ldq bb|2 aa 000313 700002 756111 stq sb|2,x1 " x aa 000314 700011 236111 59 ldq sb|9,x1 " MiddleOperand aa 000315 700015 756111 stq sb|13,x1 " LeftOperand L20: aa 000316 700002 765111 lprplb sb|2,x1 " x aa 000317 500002 236100 ldq lb|2 aa 000320 700032 756111 stq sb|26,x1 4a 000321 400052 272120 tsbbp lp|L30,* " IsRelational aa 000322 000030 000001 zero 24,1 aa 000323 000000 116007 cmpq 0,dl aa 000324 777672 601004 tnz L21 aa 000325 700015 236111 61 ldq sb|13,x1 " LeftOperand aa 000326 700032 756111 stq sb|26,x1 aa 000327 700007 236111 ldq sb|7,x1 " Desc1 aa 000330 700033 756111 stq sb|27,x1 4a 000331 400056 272120 tsbbp lp|L25,* " CompileOperand aa 000332 000030 000002 zero 24,2 aa 000333 700002 760111 62 lprpap sb|2,x1 " x aa 000334 000002 236100 ldq ap|2 aa 000335 700032 756111 stq sb|26,x1 aa 000336 700010 236111 ldq sb|8,x1 " Desc2 aa 000337 700033 756111 stq sb|27,x1 4a 000340 400056 272120 tsbbp lp|L25,* " CompileOperand aa 000341 000030 000002 zero 24,2 aa 000342 700002 762111 63 lprpbp sb|2,x1 " x aa 000343 200000 236100 ldq bp|0 aa 000344 777777 376007 anq -1,dl " Right aa 000345 700011 756111 stq sb|9,x1 " Op aa 000346 700003 234111 64 szn sb|3,x1 " B aa 000347 000006 601004 tnz L31 aa 000350 700011 236111 ldq sb|9,x1 " Op aa 000351 700032 756111 stq sb|26,x1 aa 000352 000214 272004 tsbbp L2+2 " ComplementRelop aa 000353 000030 000001 zero 24,1 aa 000354 700011 756111 stq sb|9,x1 " Op L31: aa 000355 700011 236111 65 ldq sb|9,x1 " Op aa 000356 700032 756111 stq sb|26,x1 aa 000357 700004 236111 ldq sb|4,x1 " L aa 000360 700033 756111 stq sb|27,x1 aa 000361 700007 236111 ldq sb|7,x1 " Desc1 aa 000362 700034 756111 stq sb|28,x1 aa 000363 700010 236111 ldq sb|8,x1 " Desc2 aa 000364 700035 756111 stq sb|29,x1 4a 000365 400054 272120 tsbbp lp|L29,* " GenerateDiadicConditional aa 000366 000030 000004 zero 24,4 aa 000367 700006 236111 66 ldq sb|6,x1 " PT aa 000370 700032 756111 stq sb|26,x1 4a 000371 400050 272120 tsbbp lp|L32,* " PutBackTemps aa 000372 000030 000001 zero 24,1 aa 000373 700005 234111 67 szn sb|5,x1 " M aa 000374 000005 600004 tze L33 aa 000375 700005 236111 ldq sb|5,x1 " M aa 000376 700032 756111 stq sb|26,x1 4a 000377 400066 272120 tsbbp lp|L15,* " GenerateLabel aa 000400 000030 000001 zero 24,1 L33: aa 000401 000152 710004 71 tra L5 L34: aa 000402 000125 236007 72 ldq 85,dl " NEQV_S aa 000403 700002 761111 lprpab sb|2,x1 " x aa 000404 100000 756100 stq ab|0 aa 000405 000001 336007 lcq 1,dl aa 000406 700003 656111 ersq sb|3,x1 " B L35: aa 000407 700012 353511 73 eapbb sb|10,x1 " a vector aa 000410 700006 543111 sprpbb sb|6,x1 " Switch aa 000411 600412 236100 ldq sp|266 " PendingTemps aa 000412 700005 756111 stq sb|5,x1 " PT aa 000413 700002 236111 74 ldq sb|2,x1 " x aa 000414 700032 756111 stq sb|26,x1 aa 000415 700006 236111 ldq sb|6,x1 " Switch aa 000416 700033 756111 stq sb|27,x1 4a 000417 400056 272120 tsbbp lp|L25,* " CompileOperand aa 000420 000030 000002 zero 24,2 aa 000421 700003 234111 75 szn sb|3,x1 " B aa 000422 000003 600004 tze L36 aa 000423 000206 236007 ldq 134,dl " TRUE_S aa 000424 000002 710004 tra L37 L36: aa 000425 000037 236007 ldq 31,dl " FALSE_S L37: aa 000426 700007 756111 stq sb|7,x1 aa 000427 700007 236111 ldq sb|7,x1 aa 000430 700011 756111 stq sb|9,x1 aa 000431 700011 236111 ldq sb|9,x1 aa 000432 700032 756111 stq sb|26,x1 aa 000433 700004 236111 ldq sb|4,x1 " L aa 000434 700033 756111 stq sb|27,x1 aa 000435 700006 236111 ldq sb|6,x1 " Switch aa 000436 700034 756111 stq sb|28,x1 4a 000437 400046 272120 tsbbp lp|L38,* " GenerateMonadicConditional aa 000440 000030 000003 zero 24,3 aa 000441 700005 236111 76 ldq sb|5,x1 " PT aa 000442 700032 756111 stq sb|26,x1 4a 000443 400050 272120 tsbbp lp|L32,* " PutBackTemps aa 000444 000030 000001 zero 24,1 aa 000445 000106 710004 tra L6 L7: aa 000446 700002 763111 lprpbb sb|2,x1 " x aa 000447 300000 236100 ldq bb|0 aa 000450 777777 376007 anq -1,dl " Right " Begin switchon aa 000451 000044 777000 llr 36 " exchange A and Q aa 000452 000126 115007 cmpa 86,dl aa 000453 000011 604004 tmi L39 aa 000454 000130 115007 cmpa 88,dl aa 000455 777526 604004 tmi L19 aa 000456 000132 115007 cmpa 90,dl aa 000457 777337 600004 tze L8 aa 000460 000146 115007 cmpa 102,dl aa 000461 777517 600004 tze L18 aa 000462 777725 710004 tra L35 aa 000463 700005 755111 sta sb|5,x1 " temporary L39: aa 000464 000016 175007 sba 14,dl aa 000465 000063 115007 cmpa 51,dl aa 000466 777721 603004 trc L35 0a 000467 000470 710005 tra L40,al L40: aa 000470 777433 710004 tra L16 aa 000471 777716 710004 tra L35 aa 000472 777715 710004 tra L35 aa 000473 777714 710004 tra L35 aa 000474 777713 710004 tra L35 aa 000475 777712 710004 tra L35 aa 000476 777711 710004 tra L35 aa 000477 777710 710004 tra L35 aa 000500 777707 710004 tra L35 aa 000501 777706 710004 tra L35 aa 000502 777705 710004 tra L35 aa 000503 777704 710004 tra L35 aa 000504 777477 710004 tra L19 aa 000505 777476 710004 tra L19 aa 000506 777674 710004 tra L34 aa 000507 777700 710004 tra L35 aa 000510 777677 710004 tra L35 aa 000511 777676 710004 tra L35 aa 000512 777675 710004 tra L35 aa 000513 777674 710004 tra L35 aa 000514 777673 710004 tra L35 aa 000515 777672 710004 tra L35 aa 000516 777671 710004 tra L35 aa 000517 777670 710004 tra L35 aa 000520 777463 710004 tra L19 aa 000521 777666 710004 tra L35 aa 000522 777461 710004 tra L19 aa 000523 777664 710004 tra L35 aa 000524 777663 710004 tra L35 aa 000525 777662 710004 tra L35 aa 000526 777455 710004 tra L19 aa 000527 777454 710004 tra L19 aa 000530 777657 710004 tra L35 aa 000531 777656 710004 tra L35 aa 000532 777655 710004 tra L35 aa 000533 777654 710004 tra L35 aa 000534 777653 710004 tra L35 aa 000535 777652 710004 tra L35 aa 000536 777651 710004 tra L35 aa 000537 777444 710004 tra L19 aa 000540 777443 710004 tra L19 aa 000541 777646 710004 tra L35 aa 000542 777645 710004 tra L35 aa 000543 777644 710004 tra L35 aa 000544 777643 710004 tra L35 aa 000545 777642 710004 tra L35 aa 000546 777263 710004 tra L9 aa 000547 777262 710004 tra L9 aa 000550 777637 710004 tra L35 aa 000551 777432 710004 tra L19 aa 000552 777431 710004 tra L19 L6: L5: aa 000553 700000 762111 lprpbp sb|0,x1 " bcpl return aa 000554 200000 121100 sblx1 bp|0 aa 000555 700001 764111 lprplp sb|1,x1 aa 000556 200001 710100 tra bp|1 " end of return sequence " Begin text of ComplementRelop aa 000557 000017 103157 zero 15,34415 " ComplementRelop aa 000560 155160 154145 zero 55920,55397 aa 000561 155145 156164 zero 55909,56436 aa 000562 122145 154157 zero 42085,55407 aa 000563 160000 000000 zero 57344 L2: aa 000564 000000 213000 78 epaq 0 " set lp to linkage section aa 000565 700026 764161 lprplp sb|22,*au aa 000566 200000 021100 adlx1 bp|0 " BCPL save aa 000567 700000 542111 sprpbp sb|0,x1 aa 000570 700001 544111 sprplp sb|1,x1 aa 000571 700424 620111 eax0 sb|276,x1 aa 000572 777760 360003 anx0 -16,du aa 000573 700025 740100 stx0 sb|21 " end of save sequence aa 000574 000043 710004 80 tra L45 L46: aa 000575 000127 235007 lda 87,dl " NE_S aa 000576 000107 710004 81 tra L43 L47: aa 000577 000126 235007 lda 86,dl " NE_F aa 000600 000105 710004 82 tra L43 L48: aa 000601 000033 235007 lda 27,dl " EQ_S aa 000602 000103 710004 83 tra L43 L49: aa 000603 000032 235007 lda 26,dl " EQ_F aa 000604 000101 710004 84 tra L43 L50: aa 000605 000050 235007 lda 40,dl " GE_S aa 000606 000077 710004 85 tra L43 L51: aa 000607 000046 235007 lda 38,dl " GE_F aa 000610 000075 710004 86 tra L43 L52: aa 000611 000100 235007 lda 64,dl " LS_S aa 000612 000073 710004 87 tra L43 L53: aa 000613 000077 235007 lda 63,dl " LS_F aa 000614 000071 710004 88 tra L43 L54: aa 000615 000066 235007 lda 54,dl " LE_S aa 000616 000067 710004 89 tra L43 L55: aa 000617 000065 235007 lda 53,dl " LE_F aa 000620 000065 710004 90 tra L43 L56: aa 000621 000055 235007 lda 45,dl " GR_S aa 000622 000063 710004 91 tra L43 L57: aa 000623 000054 235007 lda 44,dl " GR_F aa 000624 000061 710004 92 tra L43 L58: aa 000625 000143 236007 ldq 99,dl " UnexpectedCase aa 000626 700010 756111 stq sb|8,x1 aa 000627 700002 236111 ldq sb|2,x1 " Op aa 000630 700011 756111 stq sb|9,x1 aa 000631 000063 371404 eaplb L59 " "ComplementRelop" aa 000632 700012 545111 sprplb sb|10,x1 4a 000633 400044 272120 tsbbp lp|L60,* " CGreport aa 000634 000006 000003 zero 6,3 aa 000635 000033 235007 93 lda 27,dl " EQ_S aa 000636 000047 710004 tra L43 L45: " Begin switchon aa 000637 700002 235111 lda sb|2,x1 " Op aa 000640 000126 115007 cmpa 86,dl aa 000641 000005 604004 tmi L61 aa 000642 777741 600004 tze L49 aa 000643 000127 115007 cmpa 87,dl aa 000644 777735 600004 tze L48 aa 000645 777760 710004 tra L58 L61: aa 000646 000046 115007 cmpa 38,dl aa 000647 000031 604004 tmi L62 aa 000650 777743 600004 tze L53 aa 000651 000077 115007 cmpa 63,dl aa 000652 000005 604004 tmi L63 aa 000653 777734 600004 tze L51 aa 000654 000100 115007 cmpa 64,dl aa 000655 777730 600004 tze L50 aa 000656 777747 710004 tra L58 L63: aa 000657 000043 773000 lrl 35 aa 000660 000006 507007 dvf 6,dl " hash table size 0a 000661 000672 115006 cmpa L64,ql aa 000662 777743 601004 tnz L58 0a 000663 000664 710006 tra L65,ql L65: aa 000664 777735 710004 tra L56 aa 000665 777740 710004 tra L58 aa 000666 777731 710004 tra L55 aa 000667 777726 710004 tra L54 aa 000670 777721 710004 tra L52 aa 000671 777732 710004 tra L57 L64: aa 000672 000000 000011 zero 0,9 aa 000673 000000 000000 zero 0 aa 000674 000000 000007 zero 0,7 aa 000675 000000 000007 zero 0,7 aa 000676 000000 000006 zero 0,6 aa 000677 000000 000010 zero 0,8 L62: aa 000700 000032 115007 cmpa 26,dl aa 000701 777676 600004 tze L47 aa 000702 000033 115007 cmpa 27,dl aa 000703 777672 600004 tze L46 aa 000704 777721 710004 tra L58 L44: L43: aa 000705 700004 755111 sta sb|4,x1 aa 000706 700004 236111 ldq sb|4,x1 aa 000707 700000 762111 lprpbp sb|0,x1 " bcpl return aa 000710 200000 121100 sblx1 bp|0 aa 000711 700001 764111 lprplp sb|1,x1 aa 000712 200001 710100 tra bp|1 " end of return sequence aa 000713 700003 756111 stq sb|3,x1 " temporary " Literal pool L59: aa 000714 000017 103157 zero 15,34415 " "ComplementRelop" aa 000715 155160 154145 zero 55920,55397 aa 000716 155145 156164 zero 55909,56436 aa 000717 122145 154157 zero 42085,55407 aa 000720 160000 000000 zero 57344 " Begin text of Target aa 000721 000006 124141 zero 6,43105 " Target aa 000722 162147 145164 zero 58471,51828 L66: aa 000723 000000 213000 96 epaq 0 " set lp to linkage section aa 000724 700026 764161 lprplp sb|22,*au aa 000725 200000 021100 adlx1 bp|0 " BCPL save aa 000726 700000 542111 sprpbp sb|0,x1 aa 000727 700001 544111 sprplp sb|1,x1 aa 000730 700423 620111 eax0 sb|275,x1 aa 000731 777760 360003 anx0 -16,du aa 000732 700025 740100 stx0 sb|21 " end of save sequence aa 000733 700002 234111 98 szn sb|2,x1 " x aa 000734 000003 601004 tnz L71 aa 000735 000000 236007 ldq 0,dl " 0 aa 000736 000136 710004 tra L70 L71: aa 000737 000102 710004 100 tra L73 L74: aa 000740 600413 234100 101 szn sp|267 " ReturnLabel aa 000741 000007 601004 tnz L75 aa 000742 000325 235007 lda 213,dl " NotInsideRtdef aa 000743 700012 755111 sta sb|10,x1 aa 000744 700002 235111 lda sb|2,x1 " x aa 000745 700013 755111 sta sb|11,x1 4a 000746 400042 272120 tsbbp lp|L76,* " Transreport aa 000747 000010 000002 zero 8,2 L75: aa 000750 600413 236100 102 ldq sp|267 " ReturnLabel aa 000751 000123 710004 103 tra L70 L77: aa 000752 600423 234100 104 szn sp|275 " SwitchFlag aa 000753 000007 601004 tnz L78 aa 000754 000323 235007 lda 211,dl " NoSwitch aa 000755 700012 755111 sta sb|10,x1 aa 000756 700002 235111 lda sb|2,x1 " x aa 000757 700013 755111 sta sb|11,x1 4a 000760 400042 272120 tsbbp lp|L76,* " Transreport aa 000761 000010 000002 zero 8,2 L78: aa 000762 600402 236100 105 ldq sp|258 " EndcaseLabel aa 000763 000111 710004 106 tra L70 L79: aa 000764 600411 371500 107 eaplb sp|265 " LoopLabel aa 000765 700004 545111 sprplb sb|4,x1 " a aa 000766 000003 710004 109 tra L67 L80: aa 000767 600373 371500 110 eaplb sp|251 " BreakLabel aa 000770 700004 545111 sprplb sb|4,x1 " a L67: aa 000771 600410 234100 111 szn sp|264 " LoopFlag aa 000772 000007 601004 tnz L81 aa 000773 000322 235007 lda 210,dl " NoLoop aa 000774 700012 755111 sta sb|10,x1 aa 000775 700002 235111 lda sb|2,x1 " x aa 000776 700013 755111 sta sb|11,x1 4a 000777 400042 272120 tsbbp lp|L76,* " Transreport aa 001000 000010 000002 zero 8,2 L81: aa 001001 700004 765111 112 lprplb sb|4,x1 " a aa 001002 500000 234100 szn lb|0 aa 001003 000005 601004 tnz L82 4a 001004 400070 272120 tsbbp lp|L14,* " Nextparam aa 001005 000010 000000 zero 8 aa 001006 700004 760111 lprpap sb|4,x1 " a aa 001007 000000 756100 stq ap|0 " a L82: aa 001010 700004 762111 113 lprpbp sb|4,x1 " a aa 001011 200000 236100 ldq bp|0 aa 001012 000062 710004 114 tra L70 L83: aa 001013 700002 761111 115 lprpab sb|2,x1 " x aa 001014 100001 235100 lda ab|1 aa 001015 700004 755111 sta sb|4,x1 " a aa 001016 700004 763111 116 lprpbb sb|4,x1 " a aa 001017 300000 235100 lda bb|0 aa 001020 777777 375007 ana -1,dl " Right aa 001021 000122 115007 cmpa 82,dl " NAME_S aa 001022 000015 601004 tnz L84 aa 001023 700004 235111 117 lda sb|4,x1 " a aa 001024 700012 755111 sta sb|10,x1 4a 001025 400040 272120 tsbbp lp|L85,* " Cellwithname aa 001026 000010 000001 zero 8,1 aa 001027 700005 756111 stq sb|5,x1 " T aa 001030 700005 765111 118 lprplb sb|5,x1 " T aa 001031 500001 236100 ldq lb|1 aa 001032 000064 116007 cmpq 52,dl " LABEL_S aa 001033 000004 601004 tnz L86 aa 001034 700005 760111 lprpap sb|5,x1 " T aa 001035 000002 236100 ldq ap|2 aa 001036 000036 710004 tra L70 L86: L84: L87: aa 001037 000000 236007 120 ldq 0,dl " 0 aa 001040 000034 710004 tra L70 L73: aa 001041 700002 762111 lprpbp sb|2,x1 " x aa 001042 200000 235100 lda bp|0 aa 001043 777777 375007 ana -1,dl " Right " Begin switchon aa 001044 000156 115007 cmpa 110,dl aa 001045 000004 604004 tmi L88 aa 001046 777672 600004 tze L74 aa 001047 777770 710004 tra L87 aa 001050 700005 755111 sta sb|5,x1 " temporary L88: aa 001051 000043 773000 lrl 35 aa 001052 000007 507007 dvf 7,dl " hash table size 0a 001053 001065 115006 cmpa L89,ql aa 001054 777763 601004 tnz L87 0a 001055 001056 710006 tra L90,ql L90: aa 001056 777761 710004 tra L87 aa 001057 777734 710004 tra L83 aa 001060 777672 710004 tra L77 aa 001061 777756 710004 tra L87 aa 001062 777755 710004 tra L87 aa 001063 777704 710004 tra L80 aa 001064 777700 710004 tra L79 L89: aa 001065 000000 000000 zero 0 aa 001066 000000 000006 zero 0,6 aa 001067 000000 000003 zero 0,3 aa 001070 000000 000000 zero 0 aa 001071 000000 000000 zero 0 aa 001072 000000 000000 zero 0 aa 001073 000000 000010 zero 0,8 L72: L70: aa 001074 700004 756111 stq sb|4,x1 aa 001075 700004 236111 ldq sb|4,x1 aa 001076 700000 762111 lprpbp sb|0,x1 " bcpl return aa 001077 200000 121100 sblx1 bp|0 aa 001100 700001 764111 lprplp sb|1,x1 aa 001101 200001 710100 tra bp|1 " end of return sequence " Begin text of ListSize aa 001102 000010 114151 zero 8,39017 " ListSize aa 001103 163164 123151 zero 58996,42601 aa 001104 172145 000000 zero 62565 aa 001105 700003 756111 124 stq sb|3,x1 " temporary L91: aa 001106 000000 213000 epaq 0 " set lp to linkage section aa 001107 700026 764161 lprplp sb|22,*au aa 001110 200000 021100 adlx1 bp|0 " BCPL save aa 001111 700000 542111 sprpbp sb|0,x1 aa 001112 700001 544111 sprplp sb|1,x1 aa 001113 700422 620111 eax0 sb|274,x1 aa 001114 777760 360003 anx0 -16,du aa 001115 700025 740100 stx0 sb|21 " end of save sequence aa 001116 700002 234111 125 szn sb|2,x1 " List aa 001117 000003 601004 tnz L98 aa 001120 000000 236007 ldq 0,dl " 0 aa 001121 000037 710004 tra L97 L98: aa 001122 700002 761111 126 lprpab sb|2,x1 " List aa 001123 100000 235100 lda ab|0 aa 001124 777777 375007 ana -1,dl " Right aa 001125 000015 115007 cmpa 13,dl " COMMA_S aa 001126 000006 600004 tze L99 aa 001127 700002 235111 lda sb|2,x1 " List aa 001130 700016 755111 sta sb|14,x1 aa 001131 000044 272004 tsbbp L92+2 " SubListSize aa 001132 000014 000001 zero 12,1 aa 001133 000025 710004 tra L97 L99: aa 001134 700004 450111 127 stz sb|4,x1 " N aa 001135 000001 236007 128 ldq 1,dl " 1 aa 001136 700005 756111 stq sb|5,x1 " i aa 001137 700002 763111 lprpbb sb|2,x1 " List aa 001140 300001 236100 ldq bb|1 aa 001141 700006 756111 stq sb|6,x1 aa 001142 000012 710004 tra L100 L101: aa 001143 700005 236111 ldq sb|5,x1 " i aa 001144 000001 076007 adq 1,dl " 1 aa 001145 700002 765111 lprplb sb|2,x1 " List aa 001146 500000 235106 lda lb|0,ql aa 001147 700016 755111 sta sb|14,x1 aa 001150 000025 272004 tsbbp L92+2 " SubListSize aa 001151 000014 000001 zero 12,1 aa 001152 700004 056111 asq sb|4,x1 " N aa 001153 700005 054111 aos sb|5,x1 " i L100: aa 001154 700005 236111 ldq sb|5,x1 " i aa 001155 700006 116111 cmpq sb|6,x1 aa 001156 777765 604404 tmoz L101 aa 001157 700004 236111 129 ldq sb|4,x1 " N L97: aa 001160 700004 756111 stq sb|4,x1 aa 001161 700004 236111 ldq sb|4,x1 aa 001162 700000 762111 lprpbp sb|0,x1 " bcpl return aa 001163 200000 121100 sblx1 bp|0 aa 001164 700001 764111 lprplp sb|1,x1 aa 001165 200001 710100 tra bp|1 " end of return sequence " Begin text of SubListSize aa 001166 000013 123165 zero 11,42613 " SubListSize aa 001167 142114 151163 zero 50252,53875 aa 001170 164123 151172 zero 59475,53882 aa 001171 145000 000000 zero 51712 aa 001172 700003 756111 131 stq sb|3,x1 " temporary L92: aa 001173 000000 213000 epaq 0 " set lp to linkage section aa 001174 700026 764161 lprplp sb|22,*au aa 001175 200000 021100 adlx1 bp|0 " BCPL save aa 001176 700000 542111 sprpbp sb|0,x1 aa 001177 700001 544111 sprplp sb|1,x1 aa 001200 700423 620111 eax0 sb|275,x1 aa 001201 777760 360003 anx0 -16,du aa 001202 700025 740100 stx0 sb|21 " end of save sequence aa 001203 700002 760111 132 lprpap sb|2,x1 " List aa 001204 000000 236100 ldq ap|0 aa 001205 777777 376007 anq -1,dl " Right aa 001206 000150 116007 cmpq 104,dl " REP_S aa 001207 000003 600004 tze L105 aa 001210 000001 236007 ldq 1,dl " 1 aa 001211 000033 710004 tra L104 L105: aa 001212 700002 762111 133 lprpbp sb|2,x1 " List aa 001213 200002 762100 lprpbp bp|2 aa 001214 200000 235100 lda bp|0 aa 001215 777777 375007 ana -1,dl " Right aa 001216 000017 115007 cmpa 15,dl " CONSTANT_S aa 001217 000022 600004 tze L106 aa 001220 700002 761111 134 lprpab sb|2,x1 " List aa 001221 100002 235100 lda ab|2 aa 001222 700012 755111 sta sb|10,x1 4a 001223 400036 272120 tsbbp lp|L107,* " Evalconst aa 001224 000010 000001 zero 8,1 aa 001225 700004 756111 stq sb|4,x1 " N aa 001226 700004 234111 135 szn sb|4,x1 " N aa 001227 000002 605004 tpl L108 aa 001230 700004 450111 stz sb|4,x1 " N L108: aa 001231 000017 236007 136 ldq 15,dl " CONSTANT_S aa 001232 700012 756111 stq sb|10,x1 aa 001233 700004 236111 ldq sb|4,x1 " N aa 001234 700013 756111 stq sb|11,x1 4a 001235 400034 272120 tsbbp lp|L109,* " List2 aa 001236 000010 000002 zero 8,2 aa 001237 700002 763111 lprpbb sb|2,x1 " List aa 001240 300002 756100 stq bb|2 L106: aa 001241 700002 765111 138 lprplb sb|2,x1 " List aa 001242 500002 765100 lprplb lb|2 aa 001243 500001 236100 ldq lb|1 L104: aa 001244 700004 756111 stq sb|4,x1 aa 001245 700004 236111 ldq sb|4,x1 aa 001246 700000 762111 lprpbp sb|0,x1 " bcpl return aa 001247 200000 121100 sblx1 bp|0 aa 001250 700001 764111 lprplp sb|1,x1 aa 001251 200001 710100 tra bp|1 " end of return sequence " Begin text of WalkSubList aa 001252 000013 127141 zero 11,44641 " WalkSubList aa 001253 154153 123165 zero 55403,42613 aa 001254 142114 151163 zero 50252,53875 aa 001255 164000 000000 zero 59392 aa 001256 700003 756111 156 stq sb|3,x1 " temporary L94: aa 001257 000000 213000 epaq 0 " set lp to linkage section aa 001260 700026 764161 lprplp sb|22,*au aa 001261 200000 021100 adlx1 bp|0 " BCPL save aa 001262 700000 542111 sprpbp sb|0,x1 aa 001263 700001 544111 sprplp sb|1,x1 aa 001264 700422 620111 eax0 sb|274,x1 aa 001265 777760 360003 anx0 -16,du aa 001266 700025 740100 stx0 sb|21 " end of save sequence aa 001267 700002 760111 157 lprpap sb|2,x1 " List aa 001270 000000 236100 ldq ap|0 aa 001271 777777 376007 anq -1,dl " Right aa 001272 000150 116007 cmpq 104,dl " REP_S aa 001273 000006 600004 tze L113 aa 001274 700002 236111 158 ldq sb|2,x1 " List aa 001275 700003 762111 lprpbp sb|3,x1 " Flat aa 001276 200000 756100 stq bp|0 aa 001277 000001 236007 159 ldq 1,dl " 1 aa 001300 000045 710004 tra L112 L113: aa 001301 700002 761111 161 lprpab sb|2,x1 " List aa 001302 100001 235100 lda ab|1 aa 001303 700005 755111 sta sb|5,x1 " T aa 001304 700005 235111 162 lda sb|5,x1 " T aa 001305 700016 755111 sta sb|14,x1 4a 001306 400062 272120 tsbbp lp|L23,* " CountTemporaries aa 001307 000014 000001 zero 12,1 aa 001310 000001 116007 cmpq 1,dl " 1 aa 001311 000006 604404 tmoz L114 aa 001312 700005 236111 ldq sb|5,x1 " T aa 001313 700016 756111 stq sb|14,x1 4a 001314 400060 272120 tsbbp lp|L24,* " MakeCopy aa 001315 000014 000001 zero 12,1 aa 001316 700005 756111 stq sb|5,x1 " T L114: aa 001317 700002 763111 163 lprpbb sb|2,x1 " List aa 001320 300002 763100 lprpbb bb|2 aa 001321 300001 236100 ldq bb|1 aa 001322 700006 756111 stq sb|6,x1 " N aa 001323 700007 450111 164 stz sb|7,x1 " i aa 001324 700002 765111 lprplb sb|2,x1 " List aa 001325 500002 765100 lprplb lb|2 aa 001326 500001 236100 ldq lb|1 aa 001327 000001 176007 sbq 1,dl " 1 aa 001330 700010 756111 stq sb|8,x1 aa 001331 000006 710004 tra L115 L116: aa 001332 700005 236111 ldq sb|5,x1 " T aa 001333 700007 722111 lxl2 sb|7,x1 " i aa 001334 700003 760111 lprpap sb|3,x1 " Flat aa 001335 000000 756112 stq ap|0,x2 aa 001336 700007 054111 aos sb|7,x1 " i L115: aa 001337 700007 236111 ldq sb|7,x1 " i aa 001340 700010 116111 cmpq sb|8,x1 aa 001341 777771 604404 tmoz L116 aa 001342 700002 762111 165 lprpbp sb|2,x1 " List aa 001343 200002 762100 lprpbp bp|2 aa 001344 200001 236100 ldq bp|1 L112: aa 001345 700005 756111 stq sb|5,x1 aa 001346 700005 236111 ldq sb|5,x1 aa 001347 700000 762111 lprpbp sb|0,x1 " bcpl return aa 001350 200000 121100 sblx1 bp|0 aa 001351 700001 764111 lprplp sb|1,x1 aa 001352 200001 710100 tra bp|1 " end of return sequence " Begin text of WalkList aa 001353 000010 127141 zero 8,44641 " WalkList aa 001354 154153 114151 zero 55403,39017 aa 001355 163164 000000 zero 58996 aa 001356 700004 756111 141 stq sb|4,x1 " temporary L93: aa 001357 000000 213000 epaq 0 " set lp to linkage section aa 001360 700026 764161 lprplp sb|22,*au aa 001361 200000 021100 adlx1 bp|0 " BCPL save aa 001362 700000 542111 sprpbp sb|0,x1 aa 001363 700001 544111 sprplp sb|1,x1 aa 001364 700423 620111 eax0 sb|275,x1 aa 001365 777760 360003 anx0 -16,du aa 001366 700025 740100 stx0 sb|21 " end of save sequence aa 001367 700002 236111 142 ldq sb|2,x1 " List aa 001370 700022 756111 stq sb|18,x1 aa 001371 777517 272004 tsbbp L91+2 " ListSize aa 001372 000020 000001 zero 16,1 aa 001373 700005 756111 stq sb|5,x1 " Len aa 001374 700006 450111 stz sb|6,x1 " N aa 001375 700005 234111 143 szn sb|5,x1 " Len aa 001376 000134 600004 tze L119 aa 001377 700005 236111 144 ldq sb|5,x1 " Len aa 001400 000001 176007 sbq 1,dl " 1 aa 001401 700022 756111 stq sb|18,x1 4a 001402 400032 272120 tsbbp lp|L120,* " Newvec aa 001403 000020 000001 zero 16,1 aa 001404 700007 756111 stq sb|7,x1 " FlatList aa 001405 700010 450111 145 stz sb|8,x1 " i aa 001406 700005 236111 ldq sb|5,x1 " Len aa 001407 000001 176007 sbq 1,dl " 1 aa 001410 700011 756111 stq sb|9,x1 aa 001411 000005 710004 tra L121 L122: aa 001412 700010 723111 lxl3 sb|8,x1 " i aa 001413 700007 761111 lprpab sb|7,x1 " FlatList aa 001414 100000 450113 stz ab|0,x3 aa 001415 700010 054111 aos sb|8,x1 " i L121: aa 001416 700010 236111 ldq sb|8,x1 " i aa 001417 700011 116111 cmpq sb|9,x1 aa 001420 777772 604404 tmoz L122 aa 001421 700002 763111 146 lprpbb sb|2,x1 " List aa 001422 300000 235100 lda bb|0 aa 001423 777777 375007 ana -1,dl " Right aa 001424 000015 115007 cmpa 13,dl " COMMA_S aa 001425 000030 601004 tnz L123 aa 001426 000001 235007 147 lda 1,dl " 1 aa 001427 700010 755111 sta sb|8,x1 " i aa 001430 700002 765111 lprplb sb|2,x1 " List aa 001431 500001 235100 lda lb|1 aa 001432 700011 755111 sta sb|9,x1 aa 001433 000016 710004 tra L125 L126: aa 001434 700010 235111 lda sb|8,x1 " i aa 001435 000001 075007 ada 1,dl " 1 aa 001436 700002 760111 lprpap sb|2,x1 " List aa 001437 000000 236105 ldq ap|0,al aa 001440 700022 756111 stq sb|18,x1 aa 001441 700006 724111 lxl4 sb|6,x1 " N aa 001442 700007 762111 lprpbp sb|7,x1 " FlatList aa 001443 200000 352114 eapbp bp|0,x4 aa 001444 700023 542111 sprpbp sb|19,x1 aa 001445 777614 272004 tsbbp L94+2 " WalkSubList aa 001446 000020 000002 zero 16,2 aa 001447 700006 056111 asq sb|6,x1 " N aa 001450 700010 054111 aos sb|8,x1 " i L125: aa 001451 700010 236111 ldq sb|8,x1 " i aa 001452 700011 116111 cmpq sb|9,x1 aa 001453 777761 604404 tmoz L126 aa 001454 000007 710004 tra L124 L123: aa 001455 700002 235111 148 lda sb|2,x1 " List aa 001456 700022 755111 sta sb|18,x1 aa 001457 700007 235111 lda sb|7,x1 " FlatList aa 001460 700023 755111 sta sb|19,x1 aa 001461 777600 272004 tsbbp L94+2 " WalkSubList aa 001462 000020 000002 zero 16,2 L124: aa 001463 000001 235007 149 lda 1,dl " 1 aa 001464 700011 755111 sta sb|9,x1 " i aa 001465 700005 235111 lda sb|5,x1 " Len aa 001466 700010 755111 sta sb|8,x1 aa 001467 000031 710004 tra L127 L128: L129: 4a 001470 400030 272120 150 tsbbp lp|L130,* " RandomI aa 001471 000020 000000 zero 16 aa 001472 700005 506111 div sb|5,x1 " Len aa 001473 700006 755111 sta sb|6,x1 " N aa 001474 700006 725111 lxl5 sb|6,x1 " N aa 001475 700007 762111 lprpbp sb|7,x1 " FlatList aa 001476 200000 236115 ldq bp|0,x5 aa 001477 000037 116004 cmpq L131 aa 001500 777770 600004 tze L129 aa 001501 700006 726111 151 lxl6 sb|6,x1 " N aa 001502 700007 761111 lprpab sb|7,x1 " FlatList aa 001503 100000 235116 lda ab|0,x6 aa 001504 700022 755111 sta sb|18,x1 aa 001505 700004 235111 lda sb|4,x1 " x aa 001506 700006 075111 ada sb|6,x1 " N aa 001507 700023 755111 sta sb|19,x1 aa 001510 700003 763111 lprpbb sb|3,x1 " F aa 001511 300000 272100 tsbbp bb|0 " F aa 001512 000020 000002 zero 16,2 aa 001513 000001 335007 152 lca 1,dl aa 001514 700006 722111 lxl2 sb|6,x1 " N aa 001515 700007 765111 lprplb sb|7,x1 " FlatList aa 001516 500000 755112 sta lb|0,x2 aa 001517 700011 054111 aos sb|9,x1 " i L127: aa 001520 700011 235111 lda sb|9,x1 " i aa 001521 700010 115111 cmpa sb|8,x1 aa 001522 777746 604404 tmoz L128 aa 001523 700007 236111 154 ldq sb|7,x1 " FlatList aa 001524 700022 756111 stq sb|18,x1 aa 001525 700005 236111 ldq sb|5,x1 " Len aa 001526 000001 176007 sbq 1,dl " 1 aa 001527 700023 756111 stq sb|19,x1 4a 001530 400026 272120 tsbbp lp|L132,* " Freevec aa 001531 000020 000002 zero 16,2 L119: aa 001532 700000 762111 lprpbp sb|0,x1 " bcpl return aa 001533 200000 121100 sblx1 bp|0 aa 001534 700001 764111 lprplp sb|1,x1 aa 001535 200001 710100 tra bp|1 " end of return sequence " Literal pool L131: aa 001536 777777 777777 zero -1,-1 " Begin text of Assignlist aa 001537 000012 101163 zero 10,33395 " Assignlist aa 001540 163151 147156 zero 58985,52846 aa 001541 154151 163164 zero 55401,58996 L133: aa 001542 000000 213000 168 epaq 0 " set lp to linkage section aa 001543 700026 764161 lprplp sb|22,*au aa 001544 200000 021100 adlx1 bp|0 " BCPL save aa 001545 700000 542111 sprpbp sb|0,x1 aa 001546 700001 544111 sprplp sb|1,x1 aa 001547 700424 620111 eax0 sb|276,x1 aa 001550 777760 360003 anx0 -16,du aa 001551 700025 740100 stx0 sb|21 " end of save sequence aa 001552 600412 236100 170 ldq sp|266 " PendingTemps aa 001553 700005 756111 stq sb|5,x1 " PT aa 001554 600407 236100 ldq sp|263 " LHSpointer aa 001555 700006 756111 stq sb|6,x1 " OldLHS aa 001556 700003 236111 169 ldq sb|3,x1 " RightTree aa 001557 700014 756111 stq sb|12,x1 aa 001560 777330 272004 tsbbp L91+2 " ListSize aa 001561 000012 000001 zero 10,1 aa 001562 700004 756111 stq sb|4,x1 " Len aa 001563 700002 760111 171 lprpap sb|2,x1 " LeftTree aa 001564 000000 236100 ldq ap|0 aa 001565 777777 376007 anq -1,dl " Right aa 001566 000015 116007 cmpq 13,dl " COMMA_S aa 001567 000027 601004 tnz L138 aa 001570 700002 762111 172 lprpbp sb|2,x1 " LeftTree aa 001571 200002 352100 eapbp bp|2 aa 001572 600407 542100 sprpbp sp|263 " LHSpointer aa 001573 700002 762111 173 lprpbp sb|2,x1 " LeftTree aa 001574 200001 236100 ldq bp|1 aa 001575 700004 116111 cmpq sb|4,x1 " Len aa 001576 000011 601004 tnz L140 aa 001577 700003 235111 174 lda sb|3,x1 " RightTree aa 001600 700014 755111 sta sb|12,x1 aa 001601 000056 351404 eapab L134 " AssignElement aa 001602 700015 541111 sprpab sb|13,x1 aa 001603 700016 450111 stz sb|14,x1 aa 001604 777555 272004 tsbbp L93+2 " WalkList aa 001605 000012 000003 zero 10,3 aa 001606 000007 710004 tra L141 L140: aa 001607 000313 235007 175 lda 203,dl " Conformality aa 001610 700014 755111 sta sb|12,x1 aa 001611 700003 235111 lda sb|3,x1 " RightTree aa 001612 700015 755111 sta sb|13,x1 4a 001613 400042 272120 tsbbp lp|L76,* " Transreport aa 001614 000012 000002 zero 10,2 L141: aa 001615 000024 710004 tra L139 L138: aa 001616 700002 351511 177 eapab sb|2,x1 " LeftTree aa 001617 600407 541100 sprpab sp|263 " LHSpointer aa 001620 700004 235111 178 lda sb|4,x1 " Len aa 001621 000001 115007 cmpa 1,dl " 1 aa 001622 000011 601004 tnz L142 aa 001623 700003 236111 179 ldq sb|3,x1 " RightTree aa 001624 700014 756111 stq sb|12,x1 aa 001625 000032 351404 eapab L134 " AssignElement aa 001626 700015 541111 sprpab sb|13,x1 aa 001627 700016 450111 stz sb|14,x1 aa 001630 777531 272004 tsbbp L93+2 " WalkList aa 001631 000012 000003 zero 10,3 aa 001632 000007 710004 tra L143 L142: aa 001633 000313 236007 180 ldq 203,dl " Conformality aa 001634 700014 756111 stq sb|12,x1 aa 001635 700002 236111 ldq sb|2,x1 " LeftTree aa 001636 700015 756111 stq sb|13,x1 4a 001637 400042 272120 tsbbp lp|L76,* " Transreport aa 001640 000012 000002 zero 10,2 L143: L139: aa 001641 700006 236111 182 ldq sb|6,x1 " OldLHS aa 001642 600407 756100 stq sp|263 " LHSpointer aa 001643 700005 236111 183 ldq sb|5,x1 " PT aa 001644 700014 756111 stq sb|12,x1 4a 001645 400050 272120 tsbbp lp|L32,* " PutBackTemps aa 001646 000012 000001 zero 10,1 L137: aa 001647 700000 762111 lprpbp sb|0,x1 " bcpl return aa 001650 200000 121100 sblx1 bp|0 aa 001651 700001 764111 lprplp sb|1,x1 aa 001652 200001 710100 tra bp|1 " end of return sequence " Begin text of AssignElement aa 001653 000015 101163 zero 13,33395 " AssignElement aa 001654 163151 147156 zero 58985,52846 aa 001655 105154 145155 zero 35436,51821 aa 001656 145156 164000 zero 51822,59392 L134: aa 001657 000000 213000 185 epaq 0 " set lp to linkage section aa 001660 700026 764161 lprplp sb|22,*au aa 001661 200000 021100 adlx1 bp|0 " BCPL save aa 001662 700000 542111 sprpbp sb|0,x1 aa 001663 700001 544111 sprplp sb|1,x1 aa 001664 700423 620111 eax0 sb|275,x1 aa 001665 777760 360003 anx0 -16,du aa 001666 700025 740100 stx0 sb|21 " end of save sequence aa 001667 700003 723111 186 lxl3 sb|3,x1 " i aa 001670 600407 761100 lprpab sp|263 " LHSpointer aa 001671 100000 236113 ldq ab|0,x3 aa 001672 700010 756111 stq sb|8,x1 aa 001673 700002 236111 ldq sb|2,x1 " RightTree aa 001674 700011 756111 stq sb|9,x1 4a 001675 400024 272120 tsbbp lp|L147,* " CompileExpression aa 001676 000006 000002 zero 6,2 L146: aa 001677 700000 762111 lprpbp sb|0,x1 " bcpl return aa 001700 200000 121100 sblx1 bp|0 aa 001701 700001 764111 lprplp sb|1,x1 aa 001702 200001 710100 tra bp|1 " end of return sequence " Begin text of TransLoop aa 001703 000011 124162 zero 9,43122 " TransLoop aa 001704 141156 163114 zero 49774,58956 aa 001705 157157 160000 zero 56943,57344 L148: aa 001706 000000 213000 188 epaq 0 " set lp to linkage section aa 001707 700026 764161 lprplp sb|22,*au aa 001710 200000 021100 adlx1 bp|0 " BCPL save aa 001711 700000 542111 sprpbp sb|0,x1 aa 001712 700001 544111 sprplp sb|1,x1 aa 001713 700424 620111 eax0 sb|276,x1 aa 001714 777760 360003 anx0 -16,du aa 001715 700025 740100 stx0 sb|21 " end of save sequence aa 001716 600411 236100 189 ldq sp|265 " LoopLabel aa 001717 700007 756111 stq sb|7,x1 " Ll aa 001720 600410 236100 ldq sp|264 " LoopFlag aa 001721 700006 756111 stq sb|6,x1 " Lf aa 001722 600373 236100 ldq sp|251 " BreakLabel aa 001723 700010 756111 stq sb|8,x1 " Bl aa 001724 000001 336007 190 lcq 1,dl " true aa 001725 600410 756100 stq sp|264 " LoopFlag aa 001726 700005 236111 ldq sb|5,x1 " Enter aa 001727 600411 756100 stq sp|265 " LoopLabel aa 001730 600373 450100 stz sp|251 " BreakLabel aa 001731 700005 234111 191 szn sb|5,x1 " Enter aa 001732 000005 600004 tze L152 aa 001733 700005 236111 ldq sb|5,x1 " Enter aa 001734 700014 756111 stq sb|12,x1 4a 001735 400064 272120 tsbbp lp|L17,* " GenerateJump aa 001736 000012 000001 zero 10,1 L152: 4a 001737 400070 272120 193 tsbbp lp|L14,* " Nextparam aa 001740 000012 000000 zero 10 aa 001741 700011 756111 stq sb|9,x1 " Top aa 001742 700011 236111 194 ldq sb|9,x1 " Top aa 001743 700014 756111 stq sb|12,x1 4a 001744 400066 272120 tsbbp lp|L15,* " GenerateLabel aa 001745 000012 000001 zero 10,1 aa 001746 700002 236111 195 ldq sb|2,x1 " Body aa 001747 700014 756111 stq sb|12,x1 4a 001750 400022 272120 tsbbp lp|L153,* " Transbody aa 001751 000012 000001 zero 10,1 aa 001752 600411 234100 196 szn sp|265 " LoopLabel aa 001753 000005 600004 tze L154 aa 001754 600411 236100 ldq sp|265 " LoopLabel aa 001755 700014 756111 stq sb|12,x1 4a 001756 400066 272120 tsbbp lp|L15,* " GenerateLabel aa 001757 000012 000001 zero 10,1 L154: aa 001760 600410 450100 197 stz sp|264 " LoopFlag aa 001761 700003 234111 198 szn sb|3,x1 " Cond aa 001762 000006 601004 tnz L155 aa 001763 700011 236111 199 ldq sb|9,x1 " Top aa 001764 700014 756111 stq sb|12,x1 4a 001765 400064 272120 tsbbp lp|L17,* " GenerateJump aa 001766 000012 000001 zero 10,1 aa 001767 000011 710004 tra L156 L155: aa 001770 700003 236111 200 ldq sb|3,x1 " Cond aa 001771 700014 756111 stq sb|12,x1 aa 001772 700004 236111 ldq sb|4,x1 " Sense aa 001773 700015 756111 stq sb|13,x1 aa 001774 700011 236111 ldq sb|9,x1 " Top aa 001775 700016 756111 stq sb|14,x1 aa 001776 776011 272004 tsbbp L1+2 " TransConditional aa 001777 000012 000003 zero 10,3 L156: aa 002000 600373 234100 201 szn sp|251 " BreakLabel aa 002001 000005 600004 tze L157 aa 002002 600373 236100 ldq sp|251 " BreakLabel aa 002003 700014 756111 stq sb|12,x1 4a 002004 400066 272120 tsbbp lp|L15,* " GenerateLabel aa 002005 000012 000001 zero 10,1 L157: aa 002006 700006 236111 202 ldq sb|6,x1 " Lf aa 002007 600410 756100 stq sp|264 " LoopFlag aa 002010 700010 236111 ldq sb|8,x1 " Bl aa 002011 600373 756100 stq sp|251 " BreakLabel aa 002012 700007 236111 ldq sb|7,x1 " Ll aa 002013 600411 756100 stq sp|265 " LoopLabel L151: aa 002014 700000 762111 lprpbp sb|0,x1 " bcpl return aa 002015 200000 121100 sblx1 bp|0 aa 002016 700001 764111 lprplp sb|1,x1 aa 002017 200001 710100 tra bp|1 " end of return sequence " Begin text of TransFor aa 002020 000010 124162 zero 8,43122 " TransFor aa 002021 141156 163106 zero 49774,58950 aa 002022 157162 000000 zero 56946 L158: aa 002023 000000 213000 205 epaq 0 " set lp to linkage section aa 002024 700026 764161 lprplp sb|22,*au aa 002025 200000 021100 adlx1 bp|0 " BCPL save aa 002026 700000 542111 sprpbp sb|0,x1 aa 002027 700001 544111 sprplp sb|1,x1 aa 002030 700424 620111 eax0 sb|276,x1 aa 002031 777760 360003 anx0 -16,du aa 002032 700025 740100 stx0 sb|21 " end of save sequence aa 002033 600412 236100 206 ldq sp|266 " PendingTemps aa 002034 700005 756111 stq sb|5,x1 " PT aa 002035 600401 236100 ldq sp|257 " DvecP aa 002036 700003 756111 stq sb|3,x1 " Dp aa 002037 600417 236100 ldq sp|271 " SSP aa 002040 700004 756111 stq sb|4,x1 " s aa 002041 600373 236100 207 ldq sp|251 " BreakLabel aa 002042 700007 756111 stq sb|7,x1 " Bl aa 002043 600410 236100 ldq sp|264 " LoopFlag aa 002044 700006 756111 stq sb|6,x1 " Lf aa 002045 600411 236100 ldq sp|265 " LoopLabel aa 002046 700010 756111 stq sb|8,x1 " Ll aa 002047 000001 336007 208 lcq 1,dl " true aa 002050 600410 756100 stq sp|264 " LoopFlag aa 002051 600411 450100 stz sp|265 " LoopLabel aa 002052 600373 450100 stz sp|251 " BreakLabel aa 002053 700002 763111 210 lprpbb sb|2,x1 " x aa 002054 300001 236100 ldq bb|1 aa 002055 700011 756111 stq sb|9,x1 " Name aa 002056 700002 765111 lprplb sb|2,x1 " x aa 002057 500004 236100 ldq lb|4 aa 002060 700014 756111 stq sb|12,x1 " Step aa 002061 700002 760111 lprpap sb|2,x1 " x aa 002062 000005 236100 ldq ap|5 aa 002063 700013 756111 stq sb|11,x1 " Body aa 002064 700002 762111 lprpbp sb|2,x1 " x aa 002065 200003 236100 ldq bp|3 aa 002066 700015 756111 stq sb|13,x1 " Max aa 002067 700002 761111 lprpab sb|2,x1 " x aa 002070 100002 236100 ldq ab|2 aa 002071 700012 756111 stq sb|10,x1 " Initial aa 002072 700011 236111 211 ldq sb|9,x1 " Name aa 002073 700034 756111 stq sb|28,x1 4a 002074 400020 272120 tsbbp lp|L162,* " Addlocal aa 002075 000032 000001 zero 26,1 4a 002076 400016 272120 212 tsbbp lp|L163,* " Checkdistinct aa 002077 000032 000000 zero 26 aa 002100 700011 236111 213 ldq sb|9,x1 " Name aa 002101 700034 756111 stq sb|28,x1 aa 002102 700012 236111 ldq sb|10,x1 " Initial aa 002103 700035 756111 stq sb|29,x1 4a 002104 400024 272120 tsbbp lp|L147,* " CompileExpression aa 002105 000032 000002 zero 26,2 aa 002106 700015 236111 214 ldq sb|13,x1 " Max aa 002107 700034 756111 stq sb|28,x1 4a 002110 400014 272120 tsbbp lp|L165,* " IsConst aa 002111 000032 000001 zero 26,1 aa 002112 000000 116007 cmpq 0,dl aa 002113 000006 601004 tnz L164 aa 002114 700015 236111 ldq sb|13,x1 " Max aa 002115 700034 756111 stq sb|28,x1 4a 002116 400060 272120 tsbbp lp|L24,* " MakeCopy aa 002117 000032 000001 zero 26,1 aa 002120 700015 756111 stq sb|13,x1 " Max L164: aa 002121 700014 234111 215 szn sb|12,x1 " Step aa 002122 000003 601004 tnz L166 aa 002123 000143 353404 eapbb L167 " a table aa 002124 700014 543111 sprpbb sb|12,x1 " Step L166: 4a 002125 400070 272120 217 tsbbp lp|L14,* " Nextparam aa 002126 000032 000000 zero 26 aa 002127 700017 756111 stq sb|15,x1 " L 4a 002130 400070 272120 tsbbp lp|L14,* " Nextparam aa 002131 000032 000000 zero 26 aa 002132 700016 756111 stq sb|14,x1 " M aa 002133 700016 236111 218 ldq sb|14,x1 " M aa 002134 700034 756111 stq sb|28,x1 4a 002135 400064 272120 tsbbp lp|L17,* " GenerateJump aa 002136 000032 000001 zero 26,1 aa 002137 700017 236111 220 ldq sb|15,x1 " L aa 002140 700034 756111 stq sb|28,x1 4a 002141 400066 272120 tsbbp lp|L15,* " GenerateLabel aa 002142 000032 000001 zero 26,1 aa 002143 700013 236111 221 ldq sb|11,x1 " Body aa 002144 700034 756111 stq sb|28,x1 4a 002145 400022 272120 tsbbp lp|L153,* " Transbody aa 002146 000032 000001 zero 26,1 aa 002147 600411 234100 222 szn sp|265 " LoopLabel aa 002150 000005 600004 tze L168 aa 002151 600411 236100 ldq sp|265 " LoopLabel aa 002152 700034 756111 stq sb|28,x1 4a 002153 400066 272120 tsbbp lp|L15,* " GenerateLabel aa 002154 000032 000001 zero 26,1 L168: aa 002155 700011 236111 224 ldq sb|9,x1 " Name aa 002156 700023 756111 stq sb|19,x1 aa 002157 000137 236007 ldq 95,dl " PLUS_S aa 002160 700022 756111 stq sb|18,x1 aa 002161 700014 236111 ldq sb|12,x1 " Step aa 002162 700024 756111 stq sb|20,x1 aa 002163 700022 353511 eapbb sb|18,x1 " a list aa 002164 700020 543111 sprpbb sb|16,x1 " T1 aa 002165 700011 236111 225 ldq sb|9,x1 " Name aa 002166 700034 756111 stq sb|28,x1 aa 002167 700020 236111 ldq sb|16,x1 " T1 aa 002170 700035 756111 stq sb|29,x1 4a 002171 400024 272120 tsbbp lp|L147,* " CompileExpression aa 002172 000032 000002 zero 26,2 aa 002173 700016 236111 227 ldq sb|14,x1 " M aa 002174 700034 756111 stq sb|28,x1 4a 002175 400066 272120 tsbbp lp|L15,* " GenerateLabel aa 002176 000032 000001 zero 26,1 aa 002177 700011 236111 228 ldq sb|9,x1 " Name aa 002200 700027 756111 stq sb|23,x1 aa 002201 700014 236111 ldq sb|12,x1 " Step aa 002202 700034 756111 stq sb|28,x1 4a 002203 400036 272120 tsbbp lp|L107,* " Evalconst aa 002204 000032 000001 zero 26,1 aa 002205 000000 116007 cmpq 0,dl aa 002206 000003 605004 tpl L169 aa 002207 000050 236007 ldq 40,dl " GE_S aa 002210 000002 710004 tra L170 L169: aa 002211 000066 236007 ldq 54,dl " LE_S L170: aa 002212 700025 756111 stq sb|21,x1 aa 002213 700025 236111 ldq sb|21,x1 aa 002214 700026 756111 stq sb|22,x1 aa 002215 700015 236111 ldq sb|13,x1 " Max aa 002216 700030 756111 stq sb|24,x1 aa 002217 700026 353511 eapbb sb|22,x1 " a list aa 002220 700021 543111 sprpbb sb|17,x1 " T2 aa 002221 700021 236111 229 ldq sb|17,x1 " T2 aa 002222 700034 756111 stq sb|28,x1 aa 002223 000001 336007 lcq 1,dl " true aa 002224 700035 756111 stq sb|29,x1 aa 002225 700017 236111 ldq sb|15,x1 " L aa 002226 700036 756111 stq sb|30,x1 aa 002227 775560 272004 tsbbp L1+2 " TransConditional aa 002230 000032 000003 zero 26,3 aa 002231 600373 234100 231 szn sp|251 " BreakLabel aa 002232 000005 600004 tze L171 aa 002233 600373 236100 ldq sp|251 " BreakLabel aa 002234 700034 756111 stq sb|28,x1 4a 002235 400066 272120 tsbbp lp|L15,* " GenerateLabel aa 002236 000032 000001 zero 26,1 L171: aa 002237 700006 236111 232 ldq sb|6,x1 " Lf aa 002240 600410 756100 stq sp|264 " LoopFlag aa 002241 700007 236111 ldq sb|7,x1 " Bl aa 002242 600373 756100 stq sp|251 " BreakLabel aa 002243 700010 236111 ldq sb|8,x1 " Ll aa 002244 600411 756100 stq sp|265 " LoopLabel aa 002245 700003 236111 233 ldq sb|3,x1 " Dp aa 002246 700034 756111 stq sb|28,x1 4a 002247 400012 272120 tsbbp lp|L172,* " Removenames aa 002250 000032 000001 zero 26,1 aa 002251 700005 236111 234 ldq sb|5,x1 " PT aa 002252 700034 756111 stq sb|28,x1 4a 002253 400050 272120 tsbbp lp|L32,* " PutBackTemps aa 002254 000032 000001 zero 26,1 aa 002255 700004 236111 235 ldq sb|4,x1 " s aa 002256 700034 756111 stq sb|28,x1 4a 002257 400010 272120 tsbbp lp|L173,* " ResetSSP aa 002260 000032 000001 zero 26,1 L161: aa 002261 700000 762111 lprpbp sb|0,x1 " bcpl return aa 002262 200000 121100 sblx1 bp|0 aa 002263 700001 764111 lprplp sb|1,x1 aa 002264 200001 710100 tra bp|1 " end of return sequence " Literal pool aa 002265 000000 000000 zero 0 " padding L167: aa 002266 000000 000017 zero 0,15 " a table aa 002267 000000 000001 zero 0,1 " Definition section part one - external entry points 5a 000000 000040 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_trans3" aa 000004 154137 164162 aa 000005 141156 163063 aa 000006 010124 162141 " "TransFor" aa 000007 156163 106157 aa 000010 162000 000000 aa 000011 011124 162141 " "TransLoop" aa 000012 156163 114157 aa 000013 157160 000000 aa 000014 012101 163163 " "Assignlist" aa 000015 151147 156154 aa 000016 151163 164000 aa 000017 010127 141154 " "WalkList" aa 000020 153114 151163 aa 000021 164000 000000 aa 000022 010114 151163 " "ListSize" aa 000023 164123 151172 aa 000024 145000 000000 aa 000025 006124 141162 " "Target" aa 000026 147145 164000 aa 000027 020124 162141 " "TransConditional" aa 000030 156163 103157 aa 000031 156144 151164 aa 000032 151157 156141 aa 000033 154000 000000 aa 000034 014163 171155 " "symbol_table" aa 000035 142157 154137 aa 000036 164141 142154 aa 000037 145000 000000 " Segname definition for bcpl_trans3 55 000040 000043 000002 " forward, backward threads 5a 000041 000002 400003 " value defined, class flags 55 000042 000003 000043 " name pointer, first entry def " Definition for TransFor 55 000043 000046 000040 " forward, backward threads 0a 000044 002023 500000 " value defined, class flags 55 000045 000006 000040 " name pointer, segname def pointer " Definition for TransLoop 55 000046 000051 000043 " forward, backward threads 0a 000047 001706 500000 " value defined, class flags 55 000050 000011 000040 " name pointer, segname def pointer " Definition for Assignlist 55 000051 000054 000046 " forward, backward threads 0a 000052 001542 500000 " value defined, class flags 55 000053 000014 000040 " name pointer, segname def pointer " Definition for WalkList 55 000054 000057 000051 " forward, backward threads 0a 000055 001357 500000 " value defined, class flags 55 000056 000017 000040 " name pointer, segname def pointer " Definition for ListSize 55 000057 000062 000054 " forward, backward threads 0a 000060 001106 500000 " value defined, class flags 55 000061 000022 000040 " name pointer, segname def pointer " Definition for Target 55 000062 000065 000057 " forward, backward threads 0a 000063 000723 500000 " value defined, class flags 55 000064 000025 000040 " name pointer, segname def pointer " Definition for TransConditional 55 000065 000070 000062 " forward, backward threads 0a 000066 000005 500000 " value defined, class flags 55 000067 000027 000040 " name pointer, segname def pointer " Definition for symbol_table 55 000070 000002 000065 " forward, backward threads 6a 000071 000000 400002 " value defined, class flags 55 000072 000034 000040 " name pointer, segname def pointer " Definition section part two - symbolic info for external references aa 000073 013142 143160 " "bcpl_trans6" aa 000074 154137 164162 aa 000075 141156 163066 aa 000076 010122 145163 " "ResetSSP" aa 000077 145164 123123 aa 000100 120000 000000 5a 000101 000102 000000 aa 000102 000004 000000 55 000103 000073 000076 aa 000104 013142 143160 " "bcpl_trans2" aa 000105 154137 164162 aa 000106 141156 163062 aa 000107 013122 145155 " "Removenames" aa 000110 157166 145156 aa 000111 141155 145163 5a 000112 000113 000000 aa 000113 000004 000000 55 000114 000104 000107 aa 000115 013142 143160 " "bcpl_trans5" aa 000116 154137 164162 aa 000117 141156 163065 aa 000120 007111 163103 " "IsConst" aa 000121 157156 163164 5a 000122 000123 000000 aa 000123 000004 000000 55 000124 000115 000120 aa 000125 015103 150145 " "Checkdistinct" aa 000126 143153 144151 aa 000127 163164 151156 aa 000130 143164 000000 5a 000131 000132 000000 aa 000132 000004 000000 55 000133 000104 000125 aa 000134 010101 144144 " "Addlocal" aa 000135 154157 143141 aa 000136 154000 000000 5a 000137 000140 000000 aa 000140 000004 000000 55 000141 000104 000134 aa 000142 013142 143160 " "bcpl_trans1" aa 000143 154137 164162 aa 000144 141156 163061 aa 000145 011124 162141 " "Transbody" aa 000146 156163 142157 aa 000147 144171 000000 5a 000150 000151 000000 aa 000151 000004 000000 55 000152 000142 000145 aa 000153 013142 143160 " "bcpl_trans4" aa 000154 154137 164162 aa 000155 141156 163064 aa 000156 021103 157155 " "CompileExpression" aa 000157 160151 154145 aa 000160 105170 160162 aa 000161 145163 163151 aa 000162 157156 000000 5a 000163 000164 000000 aa 000164 000004 000000 55 000165 000153 000156 aa 000166 014142 143160 " "bcpl_utility" aa 000167 154137 165164 aa 000170 151154 151164 aa 000171 171000 000000 aa 000172 007106 162145 " "Freevec" aa 000173 145166 145143 5a 000174 000175 000000 aa 000175 000004 000000 55 000176 000166 000172 aa 000177 020142 143160 " "bcpl_arithmetic_" aa 000200 154137 141162 aa 000201 151164 150155 aa 000202 145164 151143 aa 000203 137000 000000 aa 000204 007122 141156 " "RandomI" aa 000205 144157 155111 5a 000206 000207 000000 aa 000207 000004 000000 55 000210 000177 000204 aa 000211 006116 145167 " "Newvec" aa 000212 166145 143000 5a 000213 000214 000000 aa 000214 000004 000000 55 000215 000166 000211 aa 000216 005114 151163 " "List2" aa 000217 164062 000000 5a 000220 000221 000000 aa 000221 000004 000000 55 000222 000166 000216 aa 000223 011105 166141 " "Evalconst" aa 000224 154143 157156 aa 000225 163164 000000 5a 000226 000227 000000 aa 000227 000004 000000 55 000230 000115 000223 aa 000231 014103 145154 " "Cellwithname" aa 000232 154167 151164 aa 000233 150156 141155 aa 000234 145000 000000 5a 000235 000236 000000 aa 000236 000004 000000 55 000237 000104 000231 aa 000240 013142 143160 " "bcpl_report" aa 000241 154137 162145 aa 000242 160157 162164 aa 000243 013124 162141 " "Transreport" aa 000244 156163 162145 aa 000245 160157 162164 5a 000246 000247 000000 aa 000247 000004 000000 55 000250 000240 000243 aa 000251 010103 107162 " "CGreport" aa 000252 145160 157162 aa 000253 164000 000000 5a 000254 000255 000000 aa 000255 000004 000000 55 000256 000240 000251 aa 000257 021142 143160 " "bcpl_cg_interface" aa 000260 154137 143147 aa 000261 137151 156164 aa 000262 145162 146141 aa 000263 143145 000000 aa 000264 032107 145156 " "GenerateMonadicConditional" aa 000265 145162 141164 aa 000266 145115 157156 aa 000267 141144 151143 aa 000270 103157 156144 aa 000271 151164 151157 aa 000272 156141 154000 5a 000273 000274 000000 aa 000274 000004 000000 55 000275 000257 000264 aa 000276 014120 165164 " "PutBackTemps" aa 000277 102141 143153 aa 000300 124145 155160 aa 000301 163000 000000 5a 000302 000303 000000 aa 000303 000004 000000 55 000304 000073 000276 aa 000305 014111 163122 " "IsRelational" aa 000306 145154 141164 aa 000307 151157 156141 aa 000310 154000 000000 5a 000311 000312 000000 aa 000312 000004 000000 55 000313 000115 000305 aa 000314 031107 145156 " "GenerateDiadicConditional" aa 000315 145162 141164 aa 000316 145104 151141 aa 000317 144151 143103 aa 000320 157156 144151 aa 000321 164151 157156 aa 000322 141154 000000 5a 000323 000324 000000 aa 000324 000004 000000 55 000325 000257 000314 aa 000326 016103 157155 " "CompileOperand" aa 000327 160151 154145 aa 000330 117160 145162 aa 000331 141156 144000 5a 000332 000333 000000 aa 000333 000004 000000 55 000334 000153 000326 aa 000335 010115 141153 " "MakeCopy" aa 000336 145103 157160 aa 000337 171000 000000 5a 000340 000341 000000 aa 000341 000004 000000 55 000342 000073 000335 aa 000343 020103 157165 " "CountTemporaries" aa 000344 156164 124145 aa 000345 155160 157162 aa 000346 141162 151145 aa 000347 163000 000000 5a 000350 000351 000000 aa 000351 000004 000000 55 000352 000115 000343 aa 000353 014107 145156 " "GenerateJump" aa 000354 145162 141164 aa 000355 145112 165155 aa 000356 160000 000000 5a 000357 000360 000000 aa 000360 000004 000000 55 000361 000257 000353 aa 000362 015107 145156 " "GenerateLabel" aa 000363 145162 141164 aa 000364 145114 141142 aa 000365 145154 000000 5a 000366 000367 000000 aa 000367 000004 000000 55 000370 000257 000362 aa 000371 011116 145170 " "Nextparam" aa 000372 164160 141162 aa 000373 141155 000000 5a 000374 000375 000000 aa 000375 000004 000000 55 000376 000166 000371 aa 000377 000000 000000 " padding " Linkage section - static variables and external links aa 000000 000000 000000 " linkage header 0a 000001 002270 000000 " address of defs aa 000002 000000 000000 aa 000003 000000 000000 aa 000004 000000 000000 aa 000005 000000 000000 2a 000006 000010 000072 " offset to links, total length aa 000007 000000 000072 " obsolete length " External link pairs L173: 3a 000010 777770 000046 " "bcpl_trans6$ResetSSP" 5a 000011 000101 000000 L172: 3a 000012 777766 000046 " "bcpl_trans2$Removenames" 5a 000013 000112 000000 L165: 3a 000014 777764 000046 " "bcpl_trans5$IsConst" 5a 000015 000122 000000 L163: 3a 000016 777762 000046 " "bcpl_trans2$Checkdistinct" 5a 000017 000131 000000 L162: 3a 000020 777760 000046 " "bcpl_trans2$Addlocal" 5a 000021 000137 000000 L153: 3a 000022 777756 000046 " "bcpl_trans1$Transbody" 5a 000023 000150 000000 L147: 3a 000024 777754 000046 " "bcpl_trans4$CompileExpression" 5a 000025 000163 000000 L132: 3a 000026 777752 000046 " "bcpl_utility$Freevec" 5a 000027 000174 000000 L130: 3a 000030 777750 000046 " "bcpl_arithmetic_$RandomI" 5a 000031 000206 000000 L120: 3a 000032 777746 000046 " "bcpl_utility$Newvec" 5a 000033 000213 000000 L109: 3a 000034 777744 000046 " "bcpl_utility$List2" 5a 000035 000220 000000 L107: 3a 000036 777742 000046 " "bcpl_trans5$Evalconst" 5a 000037 000226 000000 L85: 3a 000040 777740 000046 " "bcpl_trans2$Cellwithname" 5a 000041 000235 000000 L76: 3a 000042 777736 000046 " "bcpl_report$Transreport" 5a 000043 000246 000000 L60: 3a 000044 777734 000046 " "bcpl_report$CGreport" 5a 000045 000254 000000 L38: 3a 000046 777732 000046 " "bcpl_cg_interface$GenerateMonadicConditional" 5a 000047 000273 000000 L32: 3a 000050 777730 000046 " "bcpl_trans6$PutBackTemps" 5a 000051 000302 000000 L30: 3a 000052 777726 000046 " "bcpl_trans5$IsRelational" 5a 000053 000311 000000 L29: 3a 000054 777724 000046 " "bcpl_cg_interface$GenerateDiadicConditional" 5a 000055 000323 000000 L25: 3a 000056 777722 000046 " "bcpl_trans4$CompileOperand" 5a 000057 000332 000000 L24: 3a 000060 777720 000046 " "bcpl_trans6$MakeCopy" 5a 000061 000340 000000 L23: 3a 000062 777716 000046 " "bcpl_trans5$CountTemporaries" 5a 000063 000350 000000 L17: 3a 000064 777714 000046 " "bcpl_cg_interface$GenerateJump" 5a 000065 000357 000000 L15: 3a 000066 777712 000046 " "bcpl_cg_interface$GenerateLabel" 5a 000067 000366 000000 L14: 3a 000070 777710 000046 " "bcpl_utility$Nextparam" 5a 000071 000374 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 440732 565043 " 01/24/75 0701.7 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 000226 " rel_def, rel_link aa 000022 000241 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_trans3 aa 000027 023333 611435 " 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_trans3.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 063056 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 002231 " length in bits aa 000165 741125 170137 aa 000166 236025 640123 aa 000167 602564 002474 aa 000170 031517 013320 aa 000171 000500 000500 aa 000172 002400 012360 aa 000173 316474 023500 aa 000174 000120 000123 aa 000175 602464 002400 aa 000176 012360 176474 aa 000177 037500 051701 aa 000200 170361 436474 aa 000201 053401 036062 aa 000202 647402 351700 aa 000203 732000 247404 aa 000204 151701 270020 aa 000205 743135 170047 aa 000206 236050 640001 aa 000207 236065 647415 aa 000210 351701 772360 aa 000211 626474 047500 aa 000212 002474 057517 aa 000213 017720 240005 aa 000214 000500 002400 aa 000215 002474 035517 aa 000216 033720 240001 aa 000217 200120 000500 aa 000220 000500 240005 aa 000221 000500 050000 aa 000222 247403 350005 aa 000223 000024 740635 aa 000224 170047 200120 aa 000225 012360 104000 l " inkage relocation bits aa 000226 000000 000002 " version number of rel-bits structure aa 000227 000000 000504 " length in bits aa 000230 100002 204652 aa 000231 465246 524652 aa 000232 465246 524652 aa 000233 465246 524652 aa 000234 465246 524652 aa 000235 465246 524652 aa 000236 465246 524652 aa 000237 465246 524652 aa 000240 465246 524652 s " ymbol relocation bits aa 000241 000000 000002 " version number of rel-bits structure aa 000242 000000 000043 " length in bits aa 000243 740365 770616 " Object map aa 003226 000000 000001 " version number of object_map structure aa 003227 157142 152137 " "obj_map " aa 003230 155141 160040 aa 003231 000000 002270 " text offset, length aa 003232 002270 000377 " def offset, length aa 003233 002670 000072 " link offset, length aa 003234 002762 000244 " symbol offset, length aa 003235 000000 000000 " break map offset, length aa 003236 340000 000000 " flags: ^bound, relocatable, procedure, standard aa 003237 003226 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