01/30/87 compose_index, comp_index, cndx Syntax as a command: comp_index, cndx path {-control_args} Function: processes raw index data gathered by compose and produces a cross-reference index file according to a specified format. Arguments: path is the pathname of the compin file producing the raw index data. The compin suffix need not be given. Control arguments: -alpha_header, -ahdr inserts centered uppercase alphabetic characters as group separators whenever the first character of the primary key changes. -control_file ctl_path, -cf ctl_path uses ctl_path.cndxctl as the control file for this index. The suffix "cndxctl" is assumed if not given. (The default control file is path.cndxctl.) -number n, -nb n one of the 10 (0 through 9) possible raw index data files. (The default value is 0.) See Notes below. Notes: The raw index data files are produced by compose when the .hit control is used. (The default raw data file is path.0.cndx.) The output file is path_entryname.n.index in the current working directory. If the output file does not exist, it is created; if it does, it is overwritten. The data in the raw data file is processed into an arbitrarily chosen format, the style of which is determined partially by constants built into the program and partially by statements in path.cndxctl. The final set of hit strings (after all raw data processing is complete) is sorted into an alphabetic collating sequence (i.e., without regard to case). The handling of certain prefix characters is provided by the use of a control directive. Index control files The index control file contains compose controls and text lines that partially determine the format of the index, and directives for compose_index that control the processing of the hit strings (see "compose_index Control Directives") and complete the definition of the index format. The use of an index control file is not required. If one does not exist, defaults in the documentation macros and the program determine the format of the index. The output file created by this program is to be treated just like any other section of the document to which it applies. Therefore, the same macro package initialization must be performed and this is done with compose controls at the beginning of the index control file. A standard macro, l0index, is provided for users who do not wish to provide their own detailed index format. The format established by this macro is the one used by all Multics user documentation. All hit string processing control directives are given as compose comment strings. During processing of the index control file, any line that is not recognized as a control directive is written to the output file for further processing by compose. compose_index control directives For the control directives that follow, all input is given in lowercase without regard to the case of the output. .*blind abcd... In many instances, a particular keyword will appear as such and with one or more prefix characters. A typical example is "rawo" and "^rawo" in tty_ modes. It is desirable to have such prefixed and unprefixed keys sort together in the index. To accomplished this, the sort algorithm may be made "blind" to such prefix characters by the use of this directive. The set of characters abcd... are treated specially as prefix characters such that keywords with them sort after their unprefixed counterparts. For example: .*blind ^\$ NOTE: An older form of this directive, ".*ignore" is also supported. The following directives apply to permuted keys only. .*phrase str Very frequently, it is necessary that a short phrase instead of a single word be a key in the index. This directive provides the ability to indicate that such phrases are to be treated as keys. Since punctutation may be wanted in the phrase, only one str may be given in the line. For example: .*phrase access control .*phrase pack labels .*phrase control cards .*tran str1,str2 Also very frequently, various grammatical forms of a root keyword or a suffixed keyword appear in an index and should be sorted together. This directive provides the ability to transform such keys for sorting only; the given keys will appear in the final index. For example: .*tran labels,label .*tran labeled,label .*tran labelling,label .*tran sys_info_$,sys_info_ .*excl excl_key{,excl_key}... During permutation, many unwanted hit strings may be generated, primarily due to conjunctions, articles, prepositions, etc., in the given primary key. Further, permutation may generate unwanted hit strings that have a primary key that is wanted for other hits. This directive controls the exclusion of hit strings that begin with the partial hit string excl_key. Only as much of the unwanted hit string as is needed for unique identification need be given, but it must contain the entire new primary key. For example: .*excl to,for,from,and,but .*excl system~info,reporting~standard ----------------------------------------------------------- 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