Compilation listing of file >2.1spec>online>mib083074>bcpl_lex1.bcpl. Compilation performed for Martinson.SysMaint.a at 01/24/75 0659.4 mst Fri. Compiled by BCPL version 3.4, August 1973. Compiler updated at 09/25/73 0959.1 mst Tue. Options applied: source xref alist optimize 6180. 1 // This is Nsymb, which returns the next symbol of the real program (before SEMICOLON_S is inserted.) 2 // Last modified on 06/06/74 at 18:25:56 by R F Mabee. 3 // Installed on 6180 as Version 3.4, R F Mabee. 4 // First installed on 645 as Version 2.7, R F Mabee. 5 6 // Copyright (c) 1974 by Massachusetts Institute of Technology and Honeywell Information Systems, Inc. 7 8 // General permission is granted to copy and use this program, but not to sell it, provided that the above 9 // copyright statement is given. Contact Information Processing Services, MIT, for further information. 10 // Please contact R F Mabee at MIT for information on this program and versions for other machines. 11 12 get "bcpl_lex_head" 1 // Declarations entirely restricted to the lexical analysis phase. 2 // Last modified on 07/21/73 at 23:41:22 by R F Mabee. 3 // Installed on 6180 as Version 3.4, R F Mabee. 4 // First installed with 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_lex_codes" 1 // Report codes for the lexical analyzer. 2 // Last modified on 07/05/73 at 23:01:26 by R F Mabee. 3 // Installed on 6180 Multics as Version 3.4 by R F Mabee. 4 // First installed with Version 2.7, 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 // 100 - 149 are reserved for the lexical phase. 16 $( BadCharacter = 100 17 BadDollar = 101 18 BadFloat = 102 19 BadNumber = 103 20 BadSystemword = 104 21 GetStringMissing = 105 22 TokenTooLong = 106 23 $) 18 19 external 20 $( Rch = "bcpl_lex0$Rch" 21 EnterIntoDictionary = "bcpl_lex0$EnterIntoDictionary" 22 Nsymb = "bcpl_lex1$Nsymb" 23 LoadDictionary = "bcpl_lex2$LoadDictionary" 24 $) 25 global // 200 - 229 are reserved for the lexical phase. 26 $( ST : 200 // Internal switches etc. for Lex. 27 SavedSymb : 201 28 V : 202 29 Vp : 203 30 NLPending : 204 31 Lvch : 205 32 Chkind : 206 33 BeginNewLine : 207 34 EndCurrentLine : 208 35 36 EndOfAllInputReached: 210 37 NestingDepth : 211 38 NamesTable : 212 39 $) 40 manifest 41 $( Ignorable = 1 // Codes for Chkind - always set to type of current character. 42 Endline = 2 43 Bracket = 3 44 Simple = 4 45 Digit = 6 // Order is important from here on. 46 Small = 7 47 Capital = 8 48 UnderScore= 9 49 $) 13 14 let Nsymb () = valof 15 $( let Sym = nil 16 Vp := 0 17 Top: switchon Chkind into 18 $( case Ignorable: 19 Rch () repeatwhile Chkind = Ignorable 20 goto Top 21 22 case Small: 23 SaveCh () repeatwhile Chkind = Small 24 V!0 := Vp 25 Sym := EnterIntoDictionary (V, NAME_S) 26 if Sym = NAME_S & Vp ge 2 do CaeReport (BadSystemword, DictionaryEntry!1) 27 resultis Sym 28 29 case Capital: 30 SaveCh () repeatwhile Chkind ge Digit 31 V!0 := Vp 32 resultis EnterIntoDictionary (V, NAME_S) 33 34 case Digit: 35 SaveCh () repeatwhile Chkind = Digit 36 if Ch = '.' do 37 $( SaveCh () repeatwhile Chkind = Digit 38 if Ch = 'e' logor Ch = 'E' do 39 $( SaveCh () 40 if Ch = '+' logor Ch = '-' do SaveCh () 41 test Chkind = Digit 42 then SaveCh () repeatwhile Chkind = Digit 43 or CaeReport (BadNumber) 44 $) 45 $) 46 V!0 := Vp 47 resultis EnterIntoDictionary (V, NUMBER_S) 48 49 case Bracket: 50 test Ch = '{' 51 then Sym := SECTBRA_S 52 or Sym, Ch := SECTKET_S, '{' // Make string part same as SECTBRA_S. 53 Rtag: SaveCh () repeatwhile Chkind ge Digit 54 V!0 := Vp 55 EnterIntoDictionary (V, SECTBRA_S) 56 resultis Sym 57 58 case Endline: 59 if EndOfAllInputReached resultis ENDPROG_S 60 NLPending := true 61 Rch () repeatwhile Ch = '*n' 62 goto Top 63 64 case UnderScore: // Illegal character, so it falls through. 65 case Simple: 66 $) 67 68 let c = Ch 69 Rch () 70 switchon c into 71 $( default: CaeReport (BadCharacter, c) 72 goto Top 73 74 case '(': resultis RBRA_S 75 case ')': resultis RKET_S 76 case '[': resultis SBRA_S 77 case ']': resultis SKET_S 78 case ',': resultis COMMA_S 79 case '!': resultis VECAP_S 80 case '&': resultis LOGAND_S 81 case '|': resultis LOGOR_S 82 case ';': resultis SEMICOLON_S 83 case '=': resultis VALDEF_S 84 case '+': resultis PLUS_S 85 case '**':resultis MULT_S 86 87 case '-': unless Ch = '>' logor Ch = '**' resultis MINUS_S 88 Rch () 89 resultis COND_S 90 case '/': unless Ch = '/' resultis DIV_S 91 Rch () repeatuntil Chkind = Endline 92 goto Top 93 case ':': unless Ch = '=' resultis COLON_S 94 Rch () 95 resultis ASSIGN_S 96 case '^': unless Ch = '=' resultis NOT_S 97 Rch () 98 resultis NE_S 99 case '<': unless Ch = '=' resultis LS_S 100 Rch () 101 resultis LE_S 102 case '>': unless Ch = '=' resultis GR_S 103 Rch () 104 resultis GE_S 105 106 case '$': switchon Ch into 107 $( case '(': Sym := SECTBRA_S 108 goto Rtag 109 110 case ')': Sym, Ch := SECTKET_S, '(' 111 goto Rtag 112 113 case '2': case '8': case 'X': 114 V!1, Vp := '$', 1 115 c := Ch // Remember base. 116 $( SaveCh () 117 switchon Ch into 118 $( case '8': case '9': case 'A': case 'B': 119 case 'C': case 'D': case 'E': case 'F': 120 if c = 'X' loop 121 break 122 case '2': case '3': case '4': 123 case '5': case '6': case '7': 124 unless c = '2' loop 125 break 126 case '0': case '1': 127 loop 128 default: break 129 $) 130 $) repeat 131 V!0 := Vp 132 resultis EnterIntoDictionary (V, NUMBER_S) 133 134 default: CaeReport (BadDollar, Ch) 135 goto Top 136 $) 137 138 case '.': c := Nsymb () 139 switchon c into 140 $( case VALDEF_S: 141 case EQ_S: resultis EQ_F 142 case NE_S: resultis NE_F 143 case LS_S: resultis LS_F 144 case LE_S: resultis LE_F 145 case GR_S: resultis GR_F 146 case GE_S: resultis GE_F 147 case PLUS_S: resultis PLUS_F 148 case MINUS_S: resultis MINUS_F 149 case MULT_S: resultis MULT_F 150 case DIV_S: resultis DIV_F 151 default: CaeReport (BadFloat) 152 resultis c 153 $) 154 155 case '*'': 156 Sym := CHARCONST_S 157 goto Rstring 158 case '"': 159 Sym := STRINGCONST_S 160 Rstring: V!1, Vp := c, 1 161 until Ch = c do 162 $( if Ch = '**' do SaveCh () 163 SaveCh () 164 if Vp ge Vmax break 165 $) 166 SaveCh () 167 V!0 := Vp 168 resultis EnterIntoDictionary (V, Sym) 169 $) 170 $) 171 172 and SaveCh () be // Subroutine to stash current character and get next. 173 $( Vp := Vp + 1 174 if Vp ge Vmax do 175 $( if Vp = Vmax do CaeReport (TokenTooLong, Vmax) // Trick to avoid repeating message. 176 Vp := Vmax 177 $) 178 V!Vp := Ch 179 Rch () 180 $) CAE time 4.1, 133 source lines per second. cross reference table AND_S bcpl_symbols: 17 ASSIGN_S bcpl_symbols: 18, bcpl_lex1: 95 BadCharacter bcpl_lex_codes: 16, bcpl_lex1: 71 BadDollar bcpl_lex_codes: 17, bcpl_lex1: 134 BadFloat bcpl_lex_codes: 18, bcpl_lex1: 151 BadNumber bcpl_lex_codes: 19, bcpl_lex1: 43 BadSystemword bcpl_lex_codes: 20, bcpl_lex1: 26 BeginNewLine bcpl_lex_head: 33 BE_S bcpl_symbols: 19 BIT_S bcpl_symbols: 20 Bracket bcpl_lex_head: 43, bcpl_lex1: 49 BREAK_S bcpl_symbols: 21 BuildObject bcpl_compiler_head: 72 BY_S bcpl_symbols: 22 c bcpl_lex1: 68, 70, 71, 115, 120, 124, 138, 139, 152, 160, 161 CAE bcpl_compiler_head: 64 CaeReport bcpl_compiler_head: 49, bcpl_lex1: 26, 43, 71, 134, 151, 175 CALL_S bcpl_symbols: 23 Capital bcpl_lex_head: 47, bcpl_lex1: 29 CASE_S bcpl_symbols: 24 CgInit bcpl_compiler_head: 71 CGreport bcpl_compiler_head: 51 Ch bcpl_compiler_head: 92, bcpl_lex1: 36, 38, 38, 40, 40, 50, 52, 61, 68, 87, 87, 90, 93, 96, 99, 102, 106, 110, 115, 117, 134, 161, 162, 178 CHARCONST_S bcpl_symbols: 27, bcpl_lex1: 156 CHAR_S bcpl_symbols: 26 Chkind bcpl_lex_head: 32, bcpl_lex1: 17, 19, 23, 30, 35, 37, 41, 42, 53, 91 Cleanup bcpl_compiler_head: 61 COLON_S bcpl_symbols: 28, bcpl_lex1: 93 Column bcpl_compiler_head: 128 COMMA_S bcpl_symbols: 29, bcpl_lex1: 78 CompareStrings bcpl_compiler_head: 25 CompilerDTM bcpl_compiler_head: 112 CompilerDTMString bcpl_compiler_head: 111 CompilerVersionNumber bcpl_compiler_head: 110 CompilerVersionString bcpl_compiler_head: 109 Concatenate bcpl_compiler_head: 26 COND_S bcpl_symbols: 30, bcpl_lex1: 89 CONSTANT_S bcpl_symbols: 31 CONSTDEF_S bcpl_symbols: 32 ConvertNtoS bcpl_compiler_head: 28 ConvertStoN bcpl_compiler_head: 27 Crep bcpl_compiler_head: 98 DEFAULT_S bcpl_symbols: 33 DictionaryEntry bcpl_compiler_head: 127, bcpl_lex1: 26 Digit bcpl_lex_head: 45, bcpl_lex1: 30, 34, 35, 37, 41, 42, 53 DIV_F bcpl_symbols: 34, bcpl_lex1: 150 DIV_S bcpl_symbols: 36, bcpl_lex1: 90, 150 DOUBLE_S bcpl_symbols: 38 DO_S bcpl_symbols: 37 ENDCASE_S bcpl_symbols: 39 EndCurrentLine bcpl_lex_head: 34 Endline bcpl_lex_head: 42, bcpl_lex1: 58, 91 EndOfAllInputReached bcpl_lex_head: 36, bcpl_lex1: 59 Endofstreamch bcpl_compiler_head: 135 ENDPROG_S bcpl_symbols: 40, bcpl_lex1: 59 EnterIntoCrossreference bcpl_compiler_head: 57 EnterIntoDictionary bcpl_lex_head: 21, bcpl_lex1: 25, 32, 47, 55, 132, 168 EqualString bcpl_compiler_head: 24 EQV_S bcpl_symbols: 44 EQ_F bcpl_symbols: 42, bcpl_lex1: 141 EQ_S bcpl_symbols: 43, bcpl_lex1: 141 Errorsw bcpl_compiler_head: 124 ERROR_S bcpl_symbols: 41 Even bcpl_compiler_head: 136 EXTERNAL_S bcpl_symbols: 46 FALSE_S bcpl_symbols: 47 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 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 Freevec bcpl_compiler_head: 34 GetStream bcpl_compiler_head: 62 GetStringMissing bcpl_lex_codes: 21 GetVersion bcpl_compiler_head: 59 GET_S bcpl_symbols: 57 GE_F bcpl_symbols: 54, bcpl_lex1: 146 GE_S bcpl_symbols: 56, bcpl_lex1: 104, 146 GlobalTemp bcpl_compiler_head: 131 GLOBAL_S bcpl_symbols: 58 GOTO_S bcpl_symbols: 59 GR_F bcpl_symbols: 60, bcpl_lex1: 145 GR_S bcpl_symbols: 61, bcpl_lex1: 102, 145 HaveListingFile bcpl_compiler_head: 105 IFNOT_S bcpl_symbols: 63 IFSO_S bcpl_symbols: 64 IF_S bcpl_symbols: 62 Ignorable bcpl_lex_head: 41, bcpl_lex1: 18, 19 INPUT bcpl_compiler_head: 90 INTO_S bcpl_symbols: 66 LABDEF_S bcpl_symbols: 67 LABEL_S bcpl_symbols: 68 Left bcpl_compiler_head: 134 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_lex1: 144 LE_S bcpl_symbols: 70, bcpl_lex1: 101, 144 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 LIST_S bcpl_symbols: 73 LoadDictionary bcpl_lex_head: 23 LOCAL_S bcpl_symbols: 74 LOGAND_S bcpl_symbols: 76, bcpl_lex1: 80 LOGOR_S bcpl_symbols: 77, bcpl_lex1: 81 LOOP_S bcpl_symbols: 78 LSHIFT_S bcpl_symbols: 81 LS_F bcpl_symbols: 79, bcpl_lex1: 143 LS_S bcpl_symbols: 80, bcpl_lex1: 99, 143 Lvch bcpl_lex_head: 31 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 Machine bcpl_compiler_head: 102 MAIN_S bcpl_symbols: 91 MakeTimeString bcpl_compiler_head: 44 MANIFEST_S bcpl_symbols: 92 MINUS_F bcpl_symbols: 93, bcpl_lex1: 148 MINUS_S bcpl_symbols: 94, bcpl_lex1: 87, 148 MONITOR bcpl_compiler_head: 91 MULT_F bcpl_symbols: 96, bcpl_lex1: 149 MULT_S bcpl_symbols: 97, bcpl_lex1: 85, 149 NAMECHAIN bcpl_compiler_head: 125 NamesTable bcpl_lex_head: 38 NAME_S bcpl_symbols: 98, bcpl_lex1: 25, 26, 32 NEG_F bcpl_symbols: 99 NEG_S bcpl_symbols: 100 NEQV_S bcpl_symbols: 101 NestingDepth bcpl_lex_head: 37 Newvec bcpl_compiler_head: 33 Nextparam bcpl_compiler_head: 45 Nextsymb bcpl_compiler_head: 53 NE_F bcpl_symbols: 102, bcpl_lex1: 142 NE_S bcpl_symbols: 103, bcpl_lex1: 98, 142 NIL_S bcpl_symbols: 104 NLPending bcpl_lex_head: 30, bcpl_lex1: 60 NOT_S bcpl_symbols: 106, bcpl_lex1: 96 Nsymb bcpl_lex_head: 22, bcpl_lex1: 14, 138 NUMBER_S bcpl_symbols: 107, bcpl_lex1: 47, 132 OcodeSw bcpl_compiler_head: 104 OFFSET_S bcpl_symbols: 108 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 Plist bcpl_compiler_head: 68 PLUS_F bcpl_symbols: 110, bcpl_lex1: 147 PLUS_S bcpl_symbols: 111, bcpl_lex1: 84, 147 Pname bcpl_compiler_head: 67 POINTER_S bcpl_symbols: 112 PopInput bcpl_compiler_head: 43 POS_F bcpl_symbols: 113 POS_S bcpl_symbols: 114 PPrep bcpl_compiler_head: 97 ProgramName bcpl_compiler_head: 119 PushInput bcpl_compiler_head: 42 QuietSw bcpl_compiler_head: 106 RandomI bcpl_compiler_head: 31 RBRA_S bcpl_symbols: 116, bcpl_lex1: 74 Rch bcpl_lex_head: 20, bcpl_lex1: 19, 61, 69, 88, 91, 94, 97, 100, 103, 179 Readch bcpl_compiler_head: 16 REGISTER_S bcpl_symbols: 117 REL_S bcpl_symbols: 118 RemoveEscapes bcpl_compiler_head: 23 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 RESULTIS_S bcpl_symbols: 124 RETURN_S bcpl_symbols: 126 Right bcpl_compiler_head: 134 RKET_S bcpl_symbols: 127, bcpl_lex1: 75 RSHIFT_S bcpl_symbols: 128 Rstring bcpl_lex1: 157, 160 Rtag bcpl_lex1: 53, 108, 111 RTAP_S bcpl_symbols: 129 RTDEF_S bcpl_symbols: 130 RV_S bcpl_symbols: 131 SaveCh bcpl_lex1: 23, 30, 35, 37, 39, 40, 42, 53, 116, 162, 163, 166, 172 SavedSymb bcpl_lex_head: 27 SBRA_S bcpl_symbols: 132, bcpl_lex1: 76 SECTBEGIN_S bcpl_symbols: 133 SECTBRA_S bcpl_symbols: 134, bcpl_lex1: 51, 55, 107 SECTEND_S bcpl_symbols: 136 SECTKET_S bcpl_symbols: 137, bcpl_lex1: 52, 110 SEMICOLON_S bcpl_symbols: 138, bcpl_lex1: 82 Simple bcpl_lex_head: 44, bcpl_lex1: 65 SKET_S bcpl_symbols: 139, bcpl_lex1: 77 Small bcpl_lex_head: 46, bcpl_lex1: 22, 23 ST bcpl_lex_head: 26 STATIC_S bcpl_symbols: 140 StoreString bcpl_compiler_head: 41 STRINGCONST_S bcpl_symbols: 142, bcpl_lex1: 159 STRING_S bcpl_symbols: 141 STRUCTURE_S bcpl_symbols: 143 SWITCHON_S bcpl_symbols: 144 Sym bcpl_lex1: 15, 25, 26, 27, 51, 52, 56, 107, 110, 156, 159, 168 Symb bcpl_compiler_head: 126 SymbolName bcpl_compiler_head: 55 Symbols bcpl_compiler_head: 99 TABLE_S bcpl_symbols: 146 TEMP_S bcpl_symbols: 147 TEST_S bcpl_symbols: 148 TimeNow bcpl_compiler_head: 114 TimeNowString bcpl_compiler_head: 113 TokenTooLong bcpl_lex_codes: 22, bcpl_lex1: 175 Top bcpl_lex1: 17, 20, 62, 72, 92, 135 TO_S bcpl_symbols: 149 Trans bcpl_compiler_head: 70 Transreport bcpl_compiler_head: 50 TRUE_S bcpl_symbols: 150 TYPE_S bcpl_symbols: 151 UnderScore bcpl_lex_head: 48, bcpl_lex1: 64 UnexpectedCase bcpl_compiler_head: 139 UNLESS_S bcpl_symbols: 152 Unpackstring bcpl_compiler_head: 22 UNTIL_S bcpl_symbols: 153 UpperCase bcpl_compiler_head: 96 UserID bcpl_compiler_head: 120 UtilitiesInit bcpl_compiler_head: 60 V bcpl_lex_head: 28, bcpl_lex1: 24, 25, 31, 32, 46, 47, 54, 55, 114, 131, 132, 160, 167, 168, 178 VALDEF_S bcpl_symbols: 154, bcpl_lex1: 83, 140 VALOF_S bcpl_symbols: 156 VECAP_S bcpl_symbols: 158, bcpl_lex1: 79 VEC_S bcpl_symbols: 157 Vmax bcpl_compiler_head: 137, bcpl_lex1: 164, 174, 175, 175, 176 Vp bcpl_lex_head: 29, bcpl_lex1: 16, 24, 26, 31, 46, 54, 114, 131, 160, 164, 167, 173, 173, 174, 175, 176, 178 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 Xref bcpl_compiler_head: 103 Trans time 1.1, 683 object words per second. " Begin text of Nsymb aa 000000 000005 116163 zero 5,40051 " Nsymb aa 000001 171155 142000 zero 62061,50176 L1: aa 000002 000000 213000 14 epaq 0 " set lp to linkage section aa 000003 700026 764161 lprplp sb|22,*au aa 000004 200000 021100 adlx1 bp|0 " BCPL save aa 000005 700000 542111 sprpbp sb|0,x1 aa 000006 700001 544111 sprplp sb|1,x1 aa 000007 700423 620111 eax0 sb|275,x1 aa 000010 777760 360003 anx0 -16,du aa 000011 700025 740100 stx0 sb|21 " end of save sequence aa 000012 600313 450100 16 stz sp|203 " Vp L4: aa 000013 000217 710004 18 tra L10 L11: L12: 4a 000014 400014 272120 19 tsbbp lp|L13,* " Rch aa 000015 000010 000000 zero 8 aa 000016 600316 236100 ldq sp|206 " Chkind aa 000017 000001 116007 cmpq 1,dl " Ignorable aa 000020 777774 600004 tze L12 aa 000021 777772 710004 22 tra L4 L14: L15: aa 000022 001014 272004 23 tsbbp L2+2 " SaveCh aa 000023 000010 000000 zero 8 aa 000024 600316 235100 lda sp|206 " Chkind aa 000025 000007 115007 cmpa 7,dl " Small aa 000026 777774 600004 tze L15 aa 000027 600313 236100 24 ldq sp|203 " Vp aa 000030 600312 760100 lprpap sp|202 " V aa 000031 000000 756100 stq ap|0 aa 000032 600312 236100 25 ldq sp|202 " V aa 000033 700012 756111 stq sb|10,x1 aa 000034 000122 236007 ldq 82,dl " NAME_S aa 000035 700013 756111 stq sb|11,x1 4a 000036 400012 272120 tsbbp lp|L16,* " EnterIntoDictionary aa 000037 000010 000002 zero 8,2 aa 000040 700003 756111 stq sb|3,x1 " Sym aa 000041 700003 236111 26 ldq sb|3,x1 " Sym aa 000042 000122 116007 cmpq 82,dl " NAME_S aa 000043 000013 601004 tnz L17 aa 000044 600313 235100 lda sp|203 " Vp aa 000045 000002 115007 cmpa 2,dl " 2 aa 000046 000010 604004 tmi L17 aa 000047 000150 236007 ldq 104,dl " BadSystemword aa 000050 700012 756111 stq sb|10,x1 aa 000051 600220 762100 lprpbp sp|144 " DictionaryEntry aa 000052 200001 236100 ldq bp|1 aa 000053 700013 756111 stq sb|11,x1 4a 000054 400010 272120 tsbbp lp|L18,* " CaeReport aa 000055 000010 000002 zero 8,2 L17: aa 000056 700003 236111 27 ldq sb|3,x1 " Sym aa 000057 000744 710004 29 tra L8 L19: L20: aa 000060 000756 272004 30 tsbbp L2+2 " SaveCh aa 000061 000010 000000 zero 8 aa 000062 600316 235100 lda sp|206 " Chkind aa 000063 000006 115007 cmpa 6,dl " Digit aa 000064 777774 605004 tpl L20 aa 000065 600313 236100 31 ldq sp|203 " Vp aa 000066 600312 761100 lprpab sp|202 " V aa 000067 100000 756100 stq ab|0 aa 000070 600312 236100 32 ldq sp|202 " V aa 000071 700012 756111 stq sb|10,x1 aa 000072 000122 236007 ldq 82,dl " NAME_S aa 000073 700013 756111 stq sb|11,x1 4a 000074 400012 272120 tsbbp lp|L16,* " EnterIntoDictionary aa 000075 000010 000002 zero 8,2 aa 000076 000725 710004 34 tra L8 L21: L22: aa 000077 000737 272004 35 tsbbp L2+2 " SaveCh aa 000100 000010 000000 zero 8 aa 000101 600316 236100 ldq sp|206 " Chkind aa 000102 000006 116007 cmpq 6,dl " Digit aa 000103 777774 600004 tze L22 aa 000104 600044 235100 36 lda sp|36 " Ch aa 000105 000056 115007 cmpa 46,dl " '.' aa 000106 000043 601004 tnz L23 L24: aa 000107 000727 272004 37 tsbbp L2+2 " SaveCh aa 000110 000010 000000 zero 8 aa 000111 600316 236100 ldq sp|206 " Chkind aa 000112 000006 116007 cmpq 6,dl " Digit aa 000113 777774 600004 tze L24 aa 000114 600044 235100 38 lda sp|36 " Ch aa 000115 000145 115007 cmpa 101,dl " 'e' aa 000116 000004 600004 tze L26 aa 000117 600044 236100 ldq sp|36 " Ch aa 000120 000105 116007 cmpq 69,dl " 'E' aa 000121 000030 601004 tnz L25 L26: aa 000122 000714 272004 39 tsbbp L2+2 " SaveCh aa 000123 000010 000000 zero 8 aa 000124 600044 235100 40 lda sp|36 " Ch aa 000125 000053 115007 cmpa 43,dl " '+' aa 000126 000004 600004 tze L28 aa 000127 600044 236100 ldq sp|36 " Ch aa 000130 000055 116007 cmpq 45,dl " '-' aa 000131 000003 601004 tnz L27 L28: aa 000132 000704 272004 tsbbp L2+2 " SaveCh aa 000133 000010 000000 zero 8 L27: aa 000134 600316 235100 41 lda sp|206 " Chkind aa 000135 000006 115007 cmpa 6,dl " Digit aa 000136 000007 601004 tnz L29 L31: aa 000137 000677 272004 42 tsbbp L2+2 " SaveCh aa 000140 000010 000000 zero 8 aa 000141 600316 236100 ldq sp|206 " Chkind aa 000142 000006 116007 cmpq 6,dl " Digit aa 000143 777774 600004 tze L31 aa 000144 000005 710004 tra L30 L29: aa 000145 000147 235007 43 lda 103,dl " BadNumber aa 000146 700012 755111 sta sb|10,x1 4a 000147 400010 272120 tsbbp lp|L18,* " CaeReport aa 000150 000010 000001 zero 8,1 L30: L25: L23: aa 000151 600313 235100 46 lda sp|203 " Vp aa 000152 600312 763100 lprpbb sp|202 " V aa 000153 300000 755100 sta bb|0 aa 000154 600312 235100 47 lda sp|202 " V aa 000155 700012 755111 sta sb|10,x1 aa 000156 000133 235007 lda 91,dl " NUMBER_S aa 000157 700013 755111 sta sb|11,x1 4a 000160 400012 272120 tsbbp lp|L16,* " EnterIntoDictionary aa 000161 000010 000002 zero 8,2 aa 000162 000641 710004 49 tra L8 L32: aa 000163 600044 236100 50 ldq sp|36 " Ch aa 000164 000173 116007 cmpq 123,dl " '{' aa 000165 000004 601004 tnz L33 aa 000166 000166 235007 51 lda 118,dl " SECTBRA_S aa 000167 700003 755111 sta sb|3,x1 " Sym aa 000170 000005 710004 tra L34 L33: aa 000171 000171 235007 52 lda 121,dl " SECTKET_S aa 000172 700003 755111 sta sb|3,x1 " Sym aa 000173 000173 235007 lda 123,dl " '{' aa 000174 600044 755100 sta sp|36 " Ch L34: L5: L35: aa 000175 000641 272004 53 tsbbp L2+2 " SaveCh aa 000176 000010 000000 zero 8 aa 000177 600316 235100 lda sp|206 " Chkind aa 000200 000006 115007 cmpa 6,dl " Digit aa 000201 777774 605004 tpl L35 aa 000202 600313 236100 54 ldq sp|203 " Vp aa 000203 600312 765100 lprplb sp|202 " V aa 000204 500000 756100 stq lb|0 aa 000205 600312 236100 55 ldq sp|202 " V aa 000206 700012 756111 stq sb|10,x1 aa 000207 000166 236007 ldq 118,dl " SECTBRA_S aa 000210 700013 756111 stq sb|11,x1 4a 000211 400012 272120 tsbbp lp|L16,* " EnterIntoDictionary aa 000212 000010 000002 zero 8,2 aa 000213 700003 236111 56 ldq sb|3,x1 " Sym aa 000214 000607 710004 58 tra L8 L36: aa 000215 600322 234100 59 szn sp|210 " EndOfAllInputReached aa 000216 000003 600004 tze L37 aa 000217 000030 236007 ldq 24,dl " ENDPROG_S aa 000220 000603 710004 tra L8 L37: aa 000221 000001 335007 60 lca 1,dl " true aa 000222 600314 755100 sta sp|204 " NLPending L38: 4a 000223 400014 272120 61 tsbbp lp|L13,* " Rch aa 000224 000010 000000 zero 8 aa 000225 600044 235100 lda sp|36 " Ch aa 000226 000012 115007 cmpa 10,dl " '*n' aa 000227 777774 600004 tze L38 aa 000230 777563 710004 64 tra L4 L39: aa 000231 000014 710004 tra L9 L10: " Begin switchon aa 000232 600316 235100 lda sp|206 " Chkind 0a 000233 000233 710005 tra L40-1,al L40: aa 000234 777560 710004 tra L11 aa 000235 777760 710004 tra L36 aa 000236 777725 710004 tra L32 aa 000237 777772 710004 tra L39 aa 000240 000005 710004 tra L9 aa 000241 777636 710004 tra L21 aa 000242 777560 710004 tra L14 aa 000243 777615 710004 tra L19 aa 000244 777765 710004 tra L39 L9: aa 000245 600044 236100 68 ldq sp|36 " Ch aa 000246 700004 756111 stq sb|4,x1 " c 4a 000247 400014 272120 69 tsbbp lp|L13,* " Rch aa 000250 000010 000000 zero 8 aa 000251 000432 710004 71 tra L42 L43: aa 000252 000144 236007 ldq 100,dl " BadCharacter aa 000253 700012 756111 stq sb|10,x1 aa 000254 700004 236111 ldq sb|4,x1 " c aa 000255 700013 756111 stq sb|11,x1 4a 000256 400010 272120 tsbbp lp|L18,* " CaeReport aa 000257 000010 000002 zero 8,2 aa 000260 777533 710004 74 tra L4 L44: aa 000261 000144 236007 ldq 100,dl " RBRA_S aa 000262 000541 710004 75 tra L8 L45: aa 000263 000157 236007 ldq 111,dl " RKET_S aa 000264 000537 710004 76 tra L8 L46: aa 000265 000164 236007 ldq 116,dl " SBRA_S aa 000266 000535 710004 77 tra L8 L47: aa 000267 000173 236007 ldq 123,dl " SKET_S aa 000270 000533 710004 78 tra L8 L48: aa 000271 000015 236007 ldq 13,dl " COMMA_S aa 000272 000531 710004 79 tra L8 L49: aa 000273 000216 236007 ldq 142,dl " VECAP_S aa 000274 000527 710004 80 tra L8 L50: aa 000275 000074 236007 ldq 60,dl " LOGAND_S aa 000276 000525 710004 81 tra L8 L51: aa 000277 000075 236007 ldq 61,dl " LOGOR_S aa 000300 000523 710004 82 tra L8 L52: aa 000301 000172 236007 ldq 122,dl " SEMICOLON_S aa 000302 000521 710004 83 tra L8 L53: aa 000303 000212 236007 ldq 138,dl " VALDEF_S aa 000304 000517 710004 84 tra L8 L54: aa 000305 000137 236007 ldq 95,dl " PLUS_S aa 000306 000515 710004 85 tra L8 L55: aa 000307 000121 236007 ldq 81,dl " MULT_S aa 000310 000513 710004 87 tra L8 L56: aa 000311 600044 235100 lda sp|36 " Ch aa 000312 000076 115007 cmpa 62,dl " '>' aa 000313 000006 600004 tze L57 aa 000314 600044 236100 ldq sp|36 " Ch aa 000315 000052 116007 cmpq 42,dl " '**' aa 000316 000003 600004 tze L57 aa 000317 000116 236007 ldq 78,dl " MINUS_S aa 000320 000503 710004 tra L8 L57: 4a 000321 400014 272120 88 tsbbp lp|L13,* " Rch aa 000322 000010 000000 zero 8 aa 000323 000016 236007 89 ldq 14,dl " COND_S aa 000324 000477 710004 90 tra L8 L58: aa 000325 600044 235100 lda sp|36 " Ch aa 000326 000057 115007 cmpa 47,dl " '/' aa 000327 000003 600004 tze L59 aa 000330 000024 236007 ldq 20,dl " DIV_S aa 000331 000472 710004 tra L8 L59: L60: 4a 000332 400014 272120 91 tsbbp lp|L13,* " Rch aa 000333 000010 000000 zero 8 aa 000334 600316 235100 lda sp|206 " Chkind aa 000335 000002 115007 cmpa 2,dl " Endline aa 000336 777774 601004 tnz L60 aa 000337 777454 710004 93 tra L4 L61: aa 000340 600044 236100 ldq sp|36 " Ch aa 000341 000075 116007 cmpq 61,dl " '=' aa 000342 000003 600004 tze L62 aa 000343 000014 236007 ldq 12,dl " COLON_S aa 000344 000457 710004 tra L8 L62: 4a 000345 400014 272120 94 tsbbp lp|L13,* " Rch aa 000346 000010 000000 zero 8 aa 000347 000002 236007 95 ldq 2,dl " ASSIGN_S aa 000350 000453 710004 96 tra L8 L63: aa 000351 600044 235100 lda sp|36 " Ch aa 000352 000075 115007 cmpa 61,dl " '=' aa 000353 000003 600004 tze L64 aa 000354 000132 236007 ldq 90,dl " NOT_S aa 000355 000446 710004 tra L8 L64: 4a 000356 400014 272120 97 tsbbp lp|L13,* " Rch aa 000357 000010 000000 zero 8 aa 000360 000127 236007 98 ldq 87,dl " NE_S aa 000361 000442 710004 99 tra L8 L65: aa 000362 600044 235100 lda sp|36 " Ch aa 000363 000075 115007 cmpa 61,dl " '=' aa 000364 000003 600004 tze L66 aa 000365 000100 236007 ldq 64,dl " LS_S aa 000366 000435 710004 tra L8 L66: 4a 000367 400014 272120 100 tsbbp lp|L13,* " Rch aa 000370 000010 000000 zero 8 aa 000371 000066 236007 101 ldq 54,dl " LE_S aa 000372 000431 710004 102 tra L8 L67: aa 000373 600044 235100 lda sp|36 " Ch aa 000374 000075 115007 cmpa 61,dl " '=' aa 000375 000003 600004 tze L68 aa 000376 000055 236007 ldq 45,dl " GR_S aa 000377 000424 710004 tra L8 L68: 4a 000400 400014 272120 103 tsbbp lp|L13,* " Rch aa 000401 000010 000000 zero 8 aa 000402 000050 236007 104 ldq 40,dl " GE_S aa 000403 000420 710004 106 tra L8 L69: aa 000404 000103 710004 107 tra L71 L72: aa 000405 000166 235007 lda 118,dl " SECTBRA_S aa 000406 700003 755111 sta sb|3,x1 " Sym aa 000407 777566 710004 110 tra L5 L73: aa 000410 000171 235007 lda 121,dl " SECTKET_S aa 000411 700003 755111 sta sb|3,x1 " Sym aa 000412 000050 235007 lda 40,dl " '(' aa 000413 600044 755100 sta sp|36 " Ch aa 000414 777561 710004 113 tra L5 L74: aa 000415 000001 235007 114 lda 1,dl " 1 aa 000416 600313 755100 sta sp|203 " Vp aa 000417 000044 235007 lda 36,dl " '$' aa 000420 600312 760100 lprpap sp|202 " V aa 000421 000001 755100 sta ap|1 aa 000422 600044 235100 115 lda sp|36 " Ch aa 000423 700004 755111 sta sb|4,x1 " c L75: aa 000424 000412 272004 116 tsbbp L2+2 " SaveCh aa 000425 000010 000000 zero 8 aa 000426 000013 710004 118 tra L77 L78: aa 000427 700004 235111 120 lda sb|4,x1 " c aa 000430 000130 115007 cmpa 88,dl " 'X' aa 000431 000034 600004 tze L79 aa 000432 000034 710004 122 tra L80 L81: aa 000433 700004 236111 124 ldq sb|4,x1 " c aa 000434 000062 116007 cmpq 50,dl " '2' aa 000435 000030 601004 tnz L79 aa 000436 000030 710004 126 tra L80 L82: aa 000437 000026 710004 128 tra L79 L83: aa 000440 000026 710004 tra L80 L77: " Begin switchon aa 000441 600044 235100 lda sp|36 " Ch aa 000442 000062 115007 cmpa 50,dl aa 000443 000015 604004 tmi L84 aa 000444 000070 115007 cmpa 56,dl aa 000445 777766 604004 tmi L81 aa 000446 000101 115007 cmpa 65,dl aa 000447 000004 604004 tmi L85 aa 000450 000107 115007 cmpa 71,dl aa 000451 777756 604004 tmi L78 aa 000452 777766 710004 tra L83 L85: aa 000453 000070 115007 cmpa 56,dl aa 000454 777753 600004 tze L78 aa 000455 000071 115007 cmpa 57,dl aa 000456 777751 600004 tze L78 aa 000457 777761 710004 tra L83 L84: aa 000460 000060 115007 cmpa 48,dl aa 000461 777756 600004 tze L82 aa 000462 000061 115007 cmpa 49,dl aa 000463 777754 600004 tze L82 aa 000464 777754 710004 tra L83 L76: L79: aa 000465 777737 710004 tra L75 L80: aa 000466 600313 236100 131 ldq sp|203 " Vp aa 000467 600312 762100 lprpbp sp|202 " V aa 000470 200000 756100 stq bp|0 aa 000471 600312 236100 132 ldq sp|202 " V aa 000472 700012 756111 stq sb|10,x1 aa 000473 000133 236007 ldq 91,dl " NUMBER_S aa 000474 700013 756111 stq sb|11,x1 4a 000475 400012 272120 tsbbp lp|L16,* " EnterIntoDictionary aa 000476 000010 000002 zero 8,2 aa 000477 000324 710004 134 tra L8 L86: aa 000500 000145 236007 ldq 101,dl " BadDollar aa 000501 700012 756111 stq sb|10,x1 aa 000502 600044 236100 ldq sp|36 " Ch aa 000503 700013 756111 stq sb|11,x1 4a 000504 400010 272120 tsbbp lp|L18,* " CaeReport aa 000505 000010 000002 zero 8,2 aa 000506 777305 710004 135 tra L4 L71: " Begin switchon aa 000507 600044 235100 lda sp|36 " Ch aa 000510 000043 773000 lrl 35 aa 000511 000007 507007 dvf 7,dl " hash table size 0a 000512 000524 115006 cmpa L87,ql aa 000513 777765 601004 tnz L86 0a 000514 000515 710006 tra L88,ql L88: aa 000515 777700 710004 tra L74 aa 000516 777677 710004 tra L74 aa 000517 777761 710004 tra L86 aa 000520 777760 710004 tra L86 aa 000521 777674 710004 tra L74 aa 000522 777663 710004 tra L72 aa 000523 777665 710004 tra L73 L87: aa 000524 000000 000010 zero 0,8 aa 000525 000000 000007 zero 0,7 aa 000526 000000 000000 zero 0 aa 000527 000000 000000 zero 0 aa 000530 000000 000014 zero 0,12 aa 000531 000000 000005 zero 0,5 aa 000532 000000 000005 zero 0,5 L70: L89: aa 000533 777251 272004 138 tsbbp L1+2 " Nsymb aa 000534 000010 000000 zero 8 aa 000535 700004 756111 stq sb|4,x1 " c aa 000536 000033 710004 140 tra L91 L92: aa 000537 000032 236007 141 ldq 26,dl " EQ_F aa 000540 000263 710004 142 tra L8 L93: aa 000541 000126 236007 ldq 86,dl " NE_F aa 000542 000261 710004 143 tra L8 L94: aa 000543 000077 236007 ldq 63,dl " LS_F aa 000544 000257 710004 144 tra L8 L95: aa 000545 000065 236007 ldq 53,dl " LE_F aa 000546 000255 710004 145 tra L8 L96: aa 000547 000054 236007 ldq 44,dl " GR_F aa 000550 000253 710004 146 tra L8 L97: aa 000551 000046 236007 ldq 38,dl " GE_F aa 000552 000251 710004 147 tra L8 L98: aa 000553 000136 236007 ldq 94,dl " PLUS_F aa 000554 000247 710004 148 tra L8 L99: aa 000555 000115 236007 ldq 77,dl " MINUS_F aa 000556 000245 710004 149 tra L8 L100: aa 000557 000120 236007 ldq 80,dl " MULT_F aa 000560 000243 710004 150 tra L8 L101: aa 000561 000022 236007 ldq 18,dl " DIV_F aa 000562 000241 710004 151 tra L8 L102: aa 000563 000146 235007 lda 102,dl " BadFloat aa 000564 700012 755111 sta sb|10,x1 4a 000565 400010 272120 tsbbp lp|L18,* " CaeReport aa 000566 000010 000001 zero 8,1 aa 000567 700004 236111 152 ldq sb|4,x1 " c aa 000570 000233 710004 tra L8 L91: " Begin switchon aa 000571 700004 235111 lda sb|4,x1 " c aa 000572 000043 773000 lrl 35 aa 000573 000020 507007 dvf 16,dl " hash table size 0a 000574 000617 115006 cmpa L103,ql aa 000575 777766 601004 tnz L102 0a 000576 000577 710006 tra L104,ql L104: aa 000577 777744 710004 tra L94 aa 000600 777757 710004 tra L100 aa 000601 777762 710004 tra L102 aa 000602 777761 710004 tra L102 aa 000603 777756 710004 tra L101 aa 000604 777757 710004 tra L102 aa 000605 777740 710004 tra L95 aa 000606 777733 710004 tra L93 aa 000607 777742 710004 tra L97 aa 000610 777753 710004 tra L102 aa 000611 777726 710004 tra L92 aa 000612 777725 710004 tra L92 aa 000613 777750 710004 tra L102 aa 000614 777733 710004 tra L96 aa 000615 777740 710004 tra L99 aa 000616 777735 710004 tra L98 L103: aa 000617 000000 000004 zero 0,4 aa 000620 000000 000005 zero 0,5 aa 000621 000000 000000 zero 0 aa 000622 000000 000000 zero 0 aa 000623 000000 000001 zero 0,1 aa 000624 000000 000000 zero 0 aa 000625 000000 000003 zero 0,3 aa 000626 000000 000005 zero 0,5 aa 000627 000000 000002 zero 0,2 aa 000630 000000 000000 zero 0 aa 000631 000000 000010 zero 0,8 aa 000632 000000 000001 zero 0,1 aa 000633 000000 000000 zero 0 aa 000634 000000 000002 zero 0,2 aa 000635 000000 000004 zero 0,4 aa 000636 000000 000005 zero 0,5 L90: L105: aa 000637 000013 236007 156 ldq 11,dl " CHARCONST_S aa 000640 700003 756111 stq sb|3,x1 " Sym aa 000641 000003 710004 158 tra L3 L106: aa 000642 000176 236007 159 ldq 126,dl " STRINGCONST_S aa 000643 700003 756111 stq sb|3,x1 " Sym L3: aa 000644 000001 236007 160 ldq 1,dl " 1 aa 000645 600313 756100 stq sp|203 " Vp aa 000646 700004 236111 ldq sb|4,x1 " c aa 000647 600312 761100 lprpab sp|202 " V aa 000650 100001 756100 stq ab|1 aa 000651 000013 710004 161 tra L107 L108: aa 000652 600044 236100 162 ldq sp|36 " Ch aa 000653 000052 116007 cmpq 42,dl " '**' aa 000654 000003 601004 tnz L109 aa 000655 000161 272004 tsbbp L2+2 " SaveCh aa 000656 000010 000000 zero 8 L109: aa 000657 000157 272004 163 tsbbp L2+2 " SaveCh aa 000660 000010 000000 zero 8 aa 000661 600313 235100 164 lda sp|203 " Vp aa 000662 000777 115007 cmpa 511,dl " Vmax aa 000663 000004 605004 tpl L110 L107: aa 000664 600044 236100 ldq sp|36 " Ch aa 000665 700004 116111 cmpq sb|4,x1 " c aa 000666 777764 601004 tnz L108 L110: aa 000667 000147 272004 166 tsbbp L2+2 " SaveCh aa 000670 000010 000000 zero 8 aa 000671 600313 235100 167 lda sp|203 " Vp aa 000672 600312 763100 lprpbb sp|202 " V aa 000673 300000 755100 sta bb|0 aa 000674 600312 235100 168 lda sp|202 " V aa 000675 700012 755111 sta sb|10,x1 aa 000676 700003 235111 lda sb|3,x1 " Sym aa 000677 700013 755111 sta sb|11,x1 4a 000700 400012 272120 tsbbp lp|L16,* " EnterIntoDictionary aa 000701 000010 000002 zero 8,2 aa 000702 000121 710004 tra L8 L42: " Begin switchon aa 000703 700004 235111 lda sb|4,x1 " c aa 000704 000043 773000 lrl 35 aa 000705 000045 507007 dvf 37,dl " hash table size 0a 000706 000756 115006 cmpa L111,ql aa 000707 777343 601004 tnz L43 0a 000710 000711 710006 tra L112,ql L112: aa 000711 777341 710004 tra L43 aa 000712 777363 710004 tra L50 aa 000713 777724 710004 tra L105 aa 000714 777345 710004 tra L44 aa 000715 777346 710004 tra L45 aa 000716 777371 710004 tra L55 aa 000717 777366 710004 tra L54 aa 000720 777351 710004 tra L48 aa 000721 777370 710004 tra L56 aa 000722 777611 710004 tra L89 aa 000723 777402 710004 tra L58 aa 000724 777326 710004 tra L43 aa 000725 777325 710004 tra L43 aa 000726 777351 710004 tra L51 aa 000727 777323 710004 tra L43 aa 000730 777322 710004 tra L43 aa 000731 777321 710004 tra L43 aa 000732 777333 710004 tra L46 aa 000733 777317 710004 tra L43 aa 000734 777333 710004 tra L47 aa 000735 777414 710004 tra L63 aa 000736 777402 710004 tra L61 aa 000737 777342 710004 tra L52 aa 000740 777422 710004 tra L65 aa 000741 777342 710004 tra L53 aa 000742 777431 710004 tra L67 aa 000743 777307 710004 tra L43 aa 000744 777306 710004 tra L43 aa 000745 777305 710004 tra L43 aa 000746 777304 710004 tra L43 aa 000747 777303 710004 tra L43 aa 000750 777302 710004 tra L43 aa 000751 777301 710004 tra L43 aa 000752 777321 710004 tra L49 aa 000753 777667 710004 tra L106 aa 000754 777276 710004 tra L43 aa 000755 777427 710004 tra L69 L111: aa 000756 000000 000000 zero 0 aa 000757 000000 000001 zero 0,1 aa 000760 000000 000001 zero 0,1 aa 000761 000000 000001 zero 0,1 aa 000762 000000 000001 zero 0,1 aa 000763 000000 000001 zero 0,1 aa 000764 000000 000001 zero 0,1 aa 000765 000000 000001 zero 0,1 aa 000766 000000 000001 zero 0,1 aa 000767 000000 000001 zero 0,1 aa 000770 000000 000001 zero 0,1 aa 000771 000000 000000 zero 0 aa 000772 000000 000000 zero 0 aa 000773 000000 000003 zero 0,3 aa 000774 000000 000000 zero 0 aa 000775 000000 000000 zero 0 aa 000776 000000 000000 zero 0 aa 000777 000000 000002 zero 0,2 aa 001000 000000 000000 zero 0 aa 001001 000000 000002 zero 0,2 aa 001002 000000 000002 zero 0,2 aa 001003 000000 000001 zero 0,1 aa 001004 000000 000001 zero 0,1 aa 001005 000000 000001 zero 0,1 aa 001006 000000 000001 zero 0,1 aa 001007 000000 000001 zero 0,1 aa 001010 000000 000000 zero 0 aa 001011 000000 000000 zero 0 aa 001012 000000 000000 zero 0 aa 001013 000000 000000 zero 0 aa 001014 000000 000000 zero 0 aa 001015 000000 000000 zero 0 aa 001016 000000 000000 zero 0 aa 001017 000000 000000 zero 0 aa 001020 000000 000000 zero 0 aa 001021 000000 000000 zero 0 aa 001022 000000 000000 zero 0 L41: L8: aa 001023 700003 756111 stq sb|3,x1 aa 001024 700003 236111 ldq sb|3,x1 aa 001025 700000 762111 lprpbp sb|0,x1 " bcpl return aa 001026 200000 121100 sblx1 bp|0 aa 001027 700001 764111 lprplp sb|1,x1 aa 001030 200001 710100 tra bp|1 " end of return sequence " Begin text of SaveCh aa 001031 000006 123141 zero 6,42593 " SaveCh aa 001032 166145 103150 zero 60517,34408 aa 001033 700002 756111 172 stq sb|2,x1 " temporary L2: aa 001034 000000 213000 epaq 0 " set lp to linkage section aa 001035 700026 764161 lprplp sb|22,*au aa 001036 200000 021100 adlx1 bp|0 " BCPL save aa 001037 700000 542111 sprpbp sb|0,x1 aa 001040 700001 544111 sprplp sb|1,x1 aa 001041 700423 620111 eax0 sb|275,x1 aa 001042 777760 360003 anx0 -16,du aa 001043 700025 740100 stx0 sb|21 " end of save sequence aa 001044 600313 054100 173 aos sp|203 " Vp aa 001045 600313 236100 174 ldq sp|203 " Vp aa 001046 000777 116007 cmpq 511,dl " Vmax aa 001047 000014 604004 tmi L116 aa 001050 600313 235100 175 lda sp|203 " Vp aa 001051 000777 115007 cmpa 511,dl " Vmax aa 001052 000007 601004 tnz L117 aa 001053 000152 236007 ldq 106,dl " TokenTooLong aa 001054 700006 756111 stq sb|6,x1 aa 001055 000777 236007 ldq 511,dl " Vmax aa 001056 700007 756111 stq sb|7,x1 4a 001057 400010 272120 tsbbp lp|L18,* " CaeReport aa 001060 000004 000002 zero 4,2 L117: aa 001061 000777 236007 176 ldq 511,dl " Vmax aa 001062 600313 756100 stq sp|203 " Vp L116: aa 001063 600044 236100 178 ldq sp|36 " Ch aa 001064 600313 722100 lxl2 sp|203 " Vp aa 001065 600312 765100 lprplb sp|202 " V aa 001066 500000 756112 stq lb|0,x2 4a 001067 400014 272120 179 tsbbp lp|L13,* " Rch aa 001070 000004 000000 zero 4 L115: aa 001071 700000 762111 lprpbp sb|0,x1 " bcpl return aa 001072 200000 121100 sblx1 bp|0 aa 001073 700001 764111 lprplp sb|1,x1 aa 001074 200001 710100 tra bp|1 " end of return sequence aa 001075 000000 000000 " padding " Definition section part one - external entry points 5a 000000 000014 000000 " pointer to first definition aa 000001 000000 600000 " flags: new format, ignore header aa 000002 000000 000000 " list terminator aa 000003 011142 143160 " "bcpl_lex1" aa 000004 154137 154145 aa 000005 170061 000000 aa 000006 005116 163171 " "Nsymb" aa 000007 155142 000000 aa 000010 014163 171155 " "symbol_table" aa 000011 142157 154137 aa 000012 164141 142154 aa 000013 145000 000000 " Segname definition for bcpl_lex1 55 000014 000017 000002 " forward, backward threads 5a 000015 000002 400003 " value defined, class flags 55 000016 000003 000017 " name pointer, first entry def " Definition for Nsymb 55 000017 000022 000014 " forward, backward threads 0a 000020 000002 500000 " value defined, class flags 55 000021 000006 000014 " name pointer, segname def pointer " Definition for symbol_table 55 000022 000002 000017 " forward, backward threads 6a 000023 000000 400002 " value defined, class flags 55 000024 000010 000014 " name pointer, segname def pointer " Definition section part two - symbolic info for external references aa 000025 013142 143160 " "bcpl_report" aa 000026 154137 162145 aa 000027 160157 162164 aa 000030 011103 141145 " "CaeReport" aa 000031 122145 160157 aa 000032 162164 000000 5a 000033 000034 000000 aa 000034 000004 000000 55 000035 000025 000030 aa 000036 011142 143160 " "bcpl_lex0" aa 000037 154137 154145 aa 000040 170060 000000 aa 000041 023105 156164 " "EnterIntoDictionary" aa 000042 145162 111156 aa 000043 164157 104151 aa 000044 143164 151157 aa 000045 156141 162171 5a 000046 000047 000000 aa 000047 000004 000000 55 000050 000036 000041 aa 000051 003122 143150 " "Rch" 5a 000052 000053 000000 aa 000053 000004 000000 55 000054 000036 000051 aa 000055 000000 000000 " padding " Linkage section - static variables and external links aa 000000 000000 000000 " linkage header 0a 000001 001076 000000 " address of defs aa 000002 000000 000000 aa 000003 000000 000000 aa 000004 000000 000000 aa 000005 000000 000000 2a 000006 000010 000016 " offset to links, total length aa 000007 000000 000016 " obsolete length " External link pairs L18: 3a 000010 777770 000046 " "bcpl_report$CaeReport" 5a 000011 000033 000000 L16: 3a 000012 777766 000046 " "bcpl_lex0$EnterIntoDictionary" 5a 000013 000046 000000 L13: 3a 000014 777764 000046 " "bcpl_lex0$Rch" 5a 000015 000052 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 437724 105446 " 01/24/75 0659.4 mst Fri aa 000010 142143 160154 " "bcpl " aa 000011 040040 040040 aa 000012 000052 000035 " compiler version name - pointer, length aa 000013 000062 000024 " user id - pointer, length aa 000014 000067 000043 " comment string - pointer, length aa 000015 000002 000002 " text and linkage boundaries aa 000016 000024 000000 " source map, symbol tree root 7a 000017 000000 000161 " section header pointer, block size aa 000020 000000 000161 " next block pointer, rel_text aa 000021 000000 000203 " rel_def, rel_link aa 000022 000207 000161 " 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 000050 " bcpl_lex1 aa 000027 023333 611422 " last modified on aa 000030 000000 102333 " 01/24/75 0647.2 mst Fri aa 000031 432366 600000 aa 000032 000112 000044 " bcpl_lex_head aa 000033 021607 540216 " last modified on aa 000034 000000 101621 " 05/06/74 1740.7 mst Mon aa 000035 351437 000000 aa 000036 000123 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 000136 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 000147 000045 " bcpl_lex_codes aa 000047 021607 540215 " last modified on aa 000050 000000 101621 " 05/06/74 1740.7 mst Mon aa 000051 351432 600000 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_lex1.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 137154 aa 000110 145170 061056 aa 000111 142143 160154 aa 000112 076154 144144 " ">ldd>include>bcpl_lex_head.incl.bcpl" aa 000113 076151 156143 aa 000114 154165 144145 aa 000115 076142 143160 aa 000116 154137 154145 aa 000117 170137 150145 aa 000120 141144 056151 aa 000121 156143 154056 aa 000122 142143 160154 aa 000123 076154 144144 " ">ldd>include>bcpl_compiler_head.incl.bcpl" aa 000124 076151 156143 aa 000125 154165 144145 aa 000126 076142 143160 aa 000127 154137 143157 aa 000130 155160 151154 aa 000131 145162 137150 aa 000132 145141 144056 aa 000133 151156 143154 aa 000134 056142 143160 aa 000135 154040 040040 aa 000136 076154 144144 " ">ldd>include>bcpl_symbols.incl.bcpl" aa 000137 076151 156143 aa 000140 154165 144145 aa 000141 076142 143160 aa 000142 154137 163171 aa 000143 155142 157154 aa 000144 163056 151156 aa 000145 143154 056142 aa 000146 143160 154040 aa 000147 076154 144144 " ">ldd>include>bcpl_lex_codes.incl.bcpl" aa 000150 076151 156143 aa 000151 154165 144145 aa 000152 076142 143160 aa 000153 154137 154145 aa 000154 170137 143157 aa 000155 144145 163056 aa 000156 151156 143154 aa 000157 056142 143160 aa 000160 154040 040040 " Relocation information " text section relocation bits aa 000161 000000 000002 " version number of rel-bits structure aa 000162 000000 001037 " length in bits aa 000163 740305 170107 aa 000164 236015 647403 aa 000165 751702 532360 aa 000166 106474 061517 aa 000167 004720 000020 aa 000170 740275 000005 aa 000171 170213 236010 aa 000172 647402 551700 aa 000173 432360 106474 aa 000174 021517 036320 aa 000175 000120 000401 aa 000176 036050 640000 aa 000177 200417 040720 aa 000200 000401 036146 aa 000201 640000 050000 aa 000202 000000 000000 l " inkage relocation bits aa 000203 000000 000002 " version number of rel-bits structure aa 000204 000000 000074 " length in bits aa 000205 100002 204652 aa 000206 465246 520000 s " ymbol relocation bits aa 000207 000000 000002 " version number of rel-bits structure aa 000210 000000 000043 " length in bits aa 000211 740365 770606 " Object map aa 001404 000000 000001 " version number of object_map structure aa 001405 157142 152137 " "obj_map " aa 001406 155141 160040 aa 001407 000000 001075 " text offset, length aa 001410 001076 000055 " def offset, length aa 001411 001154 000016 " link offset, length aa 001412 001172 000212 " symbol offset, length aa 001413 000000 000000 " break map offset, length aa 001414 340000 000000 " flags: ^bound, relocatable, procedure, standard aa 001415 001404 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