Compilation listing of file >2.1spec>online>mib083074>bcpl_version.bcpl. Compilation performed for Martinson.SysMaint.a at 01/24/75 0703.1 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 // This short segment determines the compiler version. 2 // Last modified on 08/27/74 at 13:23:10 by R F Mabee. 3 // Version 3.4 was reinstalled in August 1974 for comment changes in each module, R F Mabee. 4 // Also fixed minor errors (mistypings) in CG. 5 // Version 3.4 - installed on 6180 system in August 1973 by R F Mabee. 6 // Version 3.3 - first version to run on 6180 system, May 1973. Never installed. 7 // Version 3.2 - expression evaluator improved, 6180 string format changes. April 1973. Never installed. 8 // Version 3.1 - new standard for object segment format, February 1973. Never installed. 9 // Version 3.0 - conversion for Multics on 6180 system, January 1973. Never installed. 10 // Version 2.8 - ring number change to driver, February 1972, R F Mabee. 11 // Version 2.7 - first installed version, September 1971, R F Mabee. 12 13 // Copyright (c) 1974 by Massachusetts Institute of Technology and Honeywell Information Systems, Inc. 14 15 // General permission is granted to copy and use this program, but not to sell it, provided that the above 16 // copyright statement is given. Contact Information Processing Services, MIT, for further information. 17 // Please contact R F Mabee at MIT for information on this program and versions for other machines. 18 19 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 $) 20 21 let GetVersion () be 22 $( CompilerVersionString := "BCPL version 3.4, August 1973" 23 CompilerVersionNumber := 3 24 $) CAE time 1.2, 130 source lines per second. cross reference table BuildObject bcpl_compiler_head: 72 CAE bcpl_compiler_head: 64 CaeReport bcpl_compiler_head: 49 CgInit bcpl_compiler_head: 71 CGreport bcpl_compiler_head: 51 Ch bcpl_compiler_head: 92 Cleanup bcpl_compiler_head: 61 Column bcpl_compiler_head: 128 CompareStrings bcpl_compiler_head: 25 CompilerDTM bcpl_compiler_head: 112 CompilerDTMString bcpl_compiler_head: 111 CompilerVersionNumber bcpl_compiler_head: 110, bcpl_version: 23 CompilerVersionString bcpl_compiler_head: 109, bcpl_version: 22 Concatenate bcpl_compiler_head: 26 ConvertNtoS bcpl_compiler_head: 28 ConvertStoN bcpl_compiler_head: 27 Crep bcpl_compiler_head: 98 DictionaryEntry bcpl_compiler_head: 127 Endofstreamch bcpl_compiler_head: 135 EnterIntoCrossreference bcpl_compiler_head: 57 EqualString bcpl_compiler_head: 24 Errorsw bcpl_compiler_head: 124 Even bcpl_compiler_head: 136 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 Format bcpl_compiler_head: 20 FormCharconst bcpl_compiler_head: 46 FormStringconst bcpl_compiler_head: 47 Freevec bcpl_compiler_head: 34 GetStream bcpl_compiler_head: 62 GetVersion bcpl_compiler_head: 59, bcpl_version: 21 GlobalTemp bcpl_compiler_head: 131 HaveListingFile bcpl_compiler_head: 105 INPUT bcpl_compiler_head: 90 Left bcpl_compiler_head: 134 Length bcpl_compiler_head: 29 LengthInWords bcpl_compiler_head: 30 LexInit bcpl_compiler_head: 65 LineCount bcpl_compiler_head: 123 LineMap bcpl_compiler_head: 100 LineMask bcpl_compiler_head: 138 List1 bcpl_compiler_head: 35 List2 bcpl_compiler_head: 36 List3 bcpl_compiler_head: 37 List4 bcpl_compiler_head: 38 List5 bcpl_compiler_head: 39 List6 bcpl_compiler_head: 40 Listing bcpl_compiler_head: 95 Machine bcpl_compiler_head: 102 MakeTimeString bcpl_compiler_head: 44 MONITOR bcpl_compiler_head: 91 NAMECHAIN bcpl_compiler_head: 125 Newvec bcpl_compiler_head: 33 Nextparam bcpl_compiler_head: 45 Nextsymb bcpl_compiler_head: 53 OcodeSw bcpl_compiler_head: 104 Optimize bcpl_compiler_head: 101 OptionString bcpl_compiler_head: 115 OUTPUT bcpl_compiler_head: 89 Packstring bcpl_compiler_head: 21 Plist bcpl_compiler_head: 68 Pname bcpl_compiler_head: 67 PopInput bcpl_compiler_head: 43 PPrep bcpl_compiler_head: 97 ProgramName bcpl_compiler_head: 119 PushInput bcpl_compiler_head: 42 QuietSw bcpl_compiler_head: 106 RandomI bcpl_compiler_head: 31 Readch bcpl_compiler_head: 16 RemoveEscapes bcpl_compiler_head: 23 Right bcpl_compiler_head: 134 StoreString bcpl_compiler_head: 41 Symb bcpl_compiler_head: 126 SymbolName bcpl_compiler_head: 55 Symbols bcpl_compiler_head: 99 TimeNow bcpl_compiler_head: 114 TimeNowString bcpl_compiler_head: 113 Trans bcpl_compiler_head: 70 Transreport bcpl_compiler_head: 50 UnexpectedCase bcpl_compiler_head: 139 Unpackstring bcpl_compiler_head: 22 UpperCase bcpl_compiler_head: 96 UserID bcpl_compiler_head: 120 UtilitiesInit bcpl_compiler_head: 60 Vmax bcpl_compiler_head: 137 Writech bcpl_compiler_head: 17 WriteN bcpl_compiler_head: 19 WriteObjectListing bcpl_compiler_head: 73 WriteS bcpl_compiler_head: 18 Xref bcpl_compiler_head: 103 Trans time 0.1, 1362 object words per second. " Begin text of GetVersion aa 000000 000012 107145 zero 10,36453 " GetVersion aa 000001 164126 145162 zero 59478,51826 aa 000002 163151 157156 zero 58985,56942 L1: aa 000003 000000 213000 21 epaq 0 " set lp to linkage section aa 000004 700026 764161 lprplp sb|22,*au aa 000005 200000 021100 adlx1 bp|0 " BCPL save aa 000006 700000 542111 sprpbp sb|0,x1 aa 000007 700001 544111 sprplp sb|1,x1 aa 000010 700417 620111 eax0 sb|271,x1 aa 000011 777760 360003 anx0 -16,du aa 000012 700025 740100 stx0 sb|21 " end of save sequence aa 000013 000010 350004 22 eapap L5 " "BCPL version 3.4, August 1973" aa 000014 600170 540100 sprpap sp|120 " CompilerVersionString aa 000015 000003 236007 23 ldq 3,dl " 3 aa 000016 600171 756100 stq sp|121 " CompilerVersionNumber L4: aa 000017 700000 762111 lprpbp sb|0,x1 " bcpl return aa 000020 200000 121100 sblx1 bp|0 aa 000021 700001 764111 lprplp sb|1,x1 aa 000022 200001 710100 tra bp|1 " end of return sequence " Literal pool L5: aa 000023 000035 102103 zero 29,33859 " "BCPL version 3.4, August 1973" aa 000024 120114 040166 zero 41036,16502 aa 000025 145162 163151 zero 51826,58985 aa 000026 157156 040063 zero 56942,16435 aa 000027 056064 054040 zero 23604,22560 aa 000030 101165 147165 zero 33397,52853 aa 000031 163164 040061 zero 58996,16433 aa 000032 071067 063000 zero 29239,26112 aa 000033 000000 000000 " padding " Definition section part one - external entry points 5a 000000 000016 000000 " pointer to first definition aa 000001 000000 600000 " flags: new format, ignore header aa 000002 000000 000000 " list terminator aa 000003 014142 143160 " "bcpl_version" aa 000004 154137 166145 aa 000005 162163 151157 aa 000006 156000 000000 aa 000007 012107 145164 " "GetVersion" aa 000010 126145 162163 aa 000011 151157 156000 aa 000012 014163 171155 " "symbol_table" aa 000013 142157 154137 aa 000014 164141 142154 aa 000015 145000 000000 " Segname definition for bcpl_version 55 000016 000021 000002 " forward, backward threads 5a 000017 000002 400003 " value defined, class flags 55 000020 000003 000021 " name pointer, first entry def " Definition for GetVersion 55 000021 000024 000016 " forward, backward threads 0a 000022 000003 500000 " value defined, class flags 55 000023 000007 000016 " name pointer, segname def pointer " Definition for symbol_table 55 000024 000002 000021 " forward, backward threads 6a 000025 000000 400002 " value defined, class flags 55 000026 000012 000016 " name pointer, segname def pointer " Definition section part two - symbolic info for external references aa 000027 000000 000000 " padding " Linkage section - static variables and external links aa 000000 000000 000000 " linkage header 0a 000001 000034 000000 " address of defs aa 000002 000000 000000 aa 000003 000000 000000 aa 000004 000000 000000 aa 000005 000000 000000 2a 000006 000010 000010 " offset to links, total length aa 000007 000000 000010 " obsolete length " 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 441447 003271 " 01/24/75 0703.1 mst Fri aa 000010 142143 160154 " "bcpl " aa 000011 040040 040040 aa 000012 000036 000035 " compiler version name - pointer, length aa 000013 000046 000024 " user id - pointer, length aa 000014 000053 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 000112 " section header pointer, block size aa 000020 000000 000112 " next block pointer, rel_text aa 000021 000000 000115 " rel_def, rel_link aa 000022 000120 000112 " rel_symbol, default truncate aa 000023 000024 000000 " optional truncate, unused aa 000024 000000 000001 " source files map: version number aa 000025 000000 000002 " number of files aa 000026 000064 000053 " bcpl_version aa 000027 023333 611442 " last modified on aa 000030 000000 102333 " 01/24/75 0647.2 mst Fri aa 000031 432367 000000 aa 000032 000077 000051 " bcpl_compiler_head aa 000033 021607 540214 " last modified on aa 000034 000000 101621 " 05/06/74 1740.6 mst Mon aa 000035 351403 200000 aa 000036 102103 120114 " "BCPL version 3.4, August 1973" aa 000037 040166 145162 aa 000040 163151 157156 aa 000041 040063 056064 aa 000042 054040 101165 aa 000043 147165 163164 aa 000044 040061 071067 aa 000045 063040 040040 aa 000046 115141 162164 " "Martinson.SysMaint.a" aa 000047 151156 163157 aa 000050 156056 123171 aa 000051 163115 141151 aa 000052 156164 056141 aa 000053 163157 165162 " "source xref alist optimize 6180" aa 000054 143145 040040 aa 000055 170162 145146 aa 000056 040040 141154 aa 000057 151163 164040 aa 000060 040157 160164 aa 000061 151155 151172 aa 000062 145040 040066 aa 000063 061070 060040 aa 000064 076062 056061 " ">2.1spec>online>mib083074>bcpl_version.bcpl" aa 000065 163160 145143 aa 000066 076157 156154 aa 000067 151156 145076 aa 000070 155151 142060 aa 000071 070063 060067 aa 000072 064076 142143 aa 000073 160154 137166 aa 000074 145162 163151 aa 000075 157156 056142 aa 000076 143160 154040 aa 000077 076154 144144 " ">ldd>include>bcpl_compiler_head.incl.bcpl" aa 000100 076151 156143 aa 000101 154165 144145 aa 000102 076142 143160 aa 000103 154137 143157 aa 000104 155160 151154 aa 000105 145162 137150 aa 000106 145141 144056 aa 000107 151156 143154 aa 000110 056142 143160 aa 000111 154040 040040 " Relocation information " text section relocation bits aa 000112 000000 000002 " version number of rel-bits structure aa 000113 000000 000017 " length in bits aa 000114 740700 000000 l " inkage relocation bits aa 000115 000000 000002 " version number of rel-bits structure aa 000116 000000 000030 " length in bits aa 000117 100002 200000 s " ymbol relocation bits aa 000120 000000 000002 " version number of rel-bits structure aa 000121 000000 000043 " length in bits aa 000122 740365 770352 " Object map aa 000217 000000 000001 " version number of object_map structure aa 000220 157142 152137 " "obj_map " aa 000221 155141 160040 aa 000222 000000 000033 " text offset, length aa 000223 000034 000027 " def offset, length aa 000224 000064 000010 " link offset, length aa 000225 000074 000123 " symbol offset, length aa 000226 000000 000000 " break map offset, length aa 000227 340000 000000 " flags: ^bound, relocatable, procedure, standard aa 000230 000217 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