// Declarations common to the entire BCPL compiler. // Last modified on 04/02/74 at 16:01:46 by R F Mabee. // Installed on 6180 as Version 3.4, R F Mabee. // First installed on 645 as Version 2.7 by R F Mabee. external $( Readch = "bcpl_machine_code_$Readch" // Library routines used by the compiler. Writech = "bcpl_machine_code_$Writech" WriteS = "bcpl_stream_io_$WriteS" WriteN = "bcpl_stream_io_$WriteN" Format = "bcpl_stream_io_$Format" Packstring = "bcpl_machine_code_$Packstring" Unpackstring = "bcpl_machine_code_$Unpackstring" RemoveEscapes = "bcpl_conversions_$RemoveEscapes" EqualString = "bcpl_strings_$EqualString" CompareStrings = "bcpl_strings_$CompareStrings" // Alphabetic comparison. Concatenate = "bcpl_strings_$Concatenate" ConvertStoN = "bcpl_conversions_$ConvertStoN" ConvertNtoS = "bcpl_conversions_$ConvertNtoS" Length = "bcpl_strings_$Length" // Number of characters. LengthInWords = "bcpl_strings_$LengthInWords" // Length of packed string. RandomI = "bcpl_arithmetic_$RandomI" Newvec = "bcpl_utility$Newvec" // Utility routines used throughout the compiler. Freevec = "bcpl_utility$Freevec" List1 = "bcpl_utility$List1" List2 = "bcpl_utility$List2" List3 = "bcpl_utility$List3" List4 = "bcpl_utility$List4" List5 = "bcpl_utility$List5" List6 = "bcpl_utility$List6" StoreString = "bcpl_utility$StoreString" PushInput = "bcpl_utility$PushInput" PopInput = "bcpl_utility$PopInput" MakeTimeString = "bcpl_utility$MakeTimeString" Nextparam = "bcpl_utility$Nextparam" FormCharconst = "bcpl_utility$FormCharconst" FormStringconst = "bcpl_utility$FormStringconst" CaeReport = "bcpl_report$CaeReport" Transreport = "bcpl_report$Transreport" CGreport = "bcpl_report$CGreport" Nextsymb = "bcpl_lex0$Nextsymb" SymbolName = "bcpl_plist$SymbolName" FindPrintName = "bcpl_plist$FindPrintName" EnterIntoCrossreference = "bcpl_plist$EnterIntoCrossreference" GetVersion = "bcpl_version$GetVersion" // Routines used only by the driver. UtilitiesInit = "bcpl_utility$UtilitiesInit" Cleanup = "bcpl_utility$Cleanup" GetStream = "bcpl_utility$GetStream" CAE = "bcpl_cae0$CAE" LexInit = "bcpl_lex0$LexInit" Pname = "bcpl_plist$Pname" Plist = "bcpl_plist$Plist" Trans = "bcpl_trans0$Trans" CgInit = "bcpl_cg0$CgInit" BuildObject = "bcpl_cg0$BuildObject" WriteObjectListing = "bcpl_cg0$WriteObjectListing" $) global // Globals are reserved in blocks as follows: $( // 0 - 31 system // 32 - 99 library // 100 - 149 options and other common cells // 150 - 159 metering cells // 160 - 169 bcpl_utility // 170 - 199 to be assigned // 200 - 229 lexical phase // 230 - 249 syntax analyzer // 250 - 299 translator // 300 - 399 code generator // Cells used for communication with the library. OUTPUT : 32 INPUT : 33 MONITOR : 34 Ch : 36 // Options for this compilation. Listing : 100 UpperCase : 101 PPrep : 102 Crep : 103 Symbols : 104 LineMap : 105 Optimize : 106 Machine : 107 Xref : 108 OcodeSw : 109 HaveListingFile : 110 QuietSw : 111 // Other information about this compilation. CompilerVersionString : 120 CompilerVersionNumber : 121 CompilerDTMString : 122 CompilerDTM : 123 TimeNowString : 124 TimeNow : 125 OptionString : 126 FileNames : 127 FilesInfo : 128 FileCount : 129 ProgramName : 130 UserID : 131 // Working variables needing global scope. LineCount : 140 Errorsw : 141 NAMECHAIN : 142 Symb : 143 DictionaryEntry : 144 Column : 145 $) manifest $( GlobalTemp = 199 $) // Number of cell available for local, temporary use. manifest $( Left = 18; Right = $8777777 Endofstreamch = $87777 Even = $87777777777776 Vmax = 511 LineMask = $817777; FileShift = 13 // Breakdown of line count. UnexpectedCase = 99 // Error code for use throughout compiler. $) // // // ----------------------------------------------------------- // // // 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 //