home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / vol_200 / 211_01 / headers.bds < prev    next >
Text File  |  1979-12-31  |  8KB  |  287 lines

  1. HEADERS.BDS      VERS:- 01.00  DATE:- 09/26/86  TIME:- 09:36:37 PM
  2.  
  3. Short descriptions of C programs and related files.
  4.  
  5. Written for BDS C compiler, version 1.50a, by
  6.  
  7. John A. Rupley
  8. 30 Calle Belleza
  9. Tucson, AZ  85716
  10. (602) 325-4533
  11.  
  12. /***************************************************************************/
  13.  
  14. CHARFUNR.CSM 
  15. CHARFUN.CRL 
  16.  
  17. Library of assembly code functions to handle character operations.
  18.  
  19. isalpha()  isupper()  islower()  isdigit()  isspace()  toupper()  tolower()
  20.  
  21. Converted cug routines by M.J. Maney from asm to csm format.
  22.  
  23.  
  24. DIOR.C   
  25. DIO.CRL 
  26. DIO.H   
  27.  
  28. IO redirection library and header from BDS C and Van Nuys Toolkit, 
  29. by Eugene H. Mallory.
  30.  
  31. Minor modification: 
  32.     avoid CR-CR pair before LF by patch in putchar() and by adding
  33.         declaration of _putc_last in DIO.H;
  34.  
  35.  
  36.  
  37.  
  38. SCOPER.C   
  39. SCOPE.CRL 
  40.  
  41. Library of functions for full screen input.
  42.  
  43. Minor modification of SCOPE, from CUG distribution disk:
  44.     changed some control character representations;
  45.     added tabs;
  46.     clear and unprotect screen at entry, before set NOROLL and
  47.         display template in <crtbuf>.
  48.  
  49.  
  50. STRFUNR.CSM 
  51. STRFUN.CRL 
  52.  
  53. Library of assembly code functions to handle string operations.
  54.  
  55. strlen()  strcmp()  strcpy()  strcat()
  56.  
  57. Converted cug routines by M.J. Maney from asm to csm format.
  58.  
  59.  
  60. WILDEXPR.C
  61. WILDEXP.CRL 
  62.  
  63. Modification of Van Nuys Toolkit - BDS C distribution version of WILDEXP:
  64.     use of <du:>, by conversion to <u/d:> form;
  65.     expansion of <d?:> and <?/d:>;
  66.     all output given uu/d: prefix, even files in current drive/user area;
  67.     restructuring of much of the code.
  68.  
  69. Size of code:            hex bytes
  70.     this version:        CC1         wildcard nos & du: (d?:, ?/d:)
  71.     Van Nuys:        C8E        user numbers (u/d: form only)
  72.     BDS C v1.50a:        A8E        no user numbers (d: form only)
  73. (Inclusion of wildcard user numbers costs a little but not much.)
  74. (The size of the du_ud() function is not included in the value cited for the
  75.     memory requirement for this version)
  76.  
  77. The number of !names allowed is 40 (= 2 !d?: + 8 !du:).
  78.  
  79. NOTE:
  80. There must be a <du:> --> <u/d:> conversion function = du_ud().
  81. If the conversion is required only for WILDCARD, then it is sufficient
  82.     to compile and link the du_ud function given at the end of this file.
  83. A more general approach is to modify DEFF.CRL and DEFF2.CRL, 
  84.     by adding the functions of STDLIB3R to DEFF.CRL, and 
  85.     by patching the functions of DEFF2.CRL, as described in STDLIB3R.
  86. If this is done, then all file opening, creation etc operations accept the
  87.     <du:> form.
  88.  
  89.  
  90. XMERGE1.TST 
  91. XMERGE2.TST 
  92.  
  93. Test files, each consisting of several CAS abstracts for use in trials
  94. of xmerger (for which CAS abstracts are the default option):
  95.  
  96. Usage: xmerger  <xmerge1.tst  xmerge2.tst  +results_file
  97.  
  98.  
  99.  
  100.  
  101.  
  102. XMERGER.C   
  103. XMERGER.COM 
  104.  
  105. Merge sorted files, with DIO output redirection.
  106.  
  107. The files must be sorted on the same key used in the merge.
  108. The key can be a sequence of digit fields.
  109. The key length can be specified.
  110. The key start can be defined by a string each record is searched for.
  111.  
  112. Records can be of variable length, defined by a delimiter string,
  113. eg "\n" if each line is a record.
  114. Records can be multiline.
  115.  
  116. Various options:  see help_mess() for summary.
  117. For usage:  see help_mess().
  118.  
  119.  
  120. The logic is adapted from that of the Van Nuys Toolkit program MERGE, 
  121. by Eugene H. Mallory.
  122. The function decode() is adapted from code in the Van Nuys Toolkit 
  123. program SEARCH
  124.  
  125.  
  126.  
  127. XSORT.TST 
  128.  
  129. Test file consisting of several CAS abstracts for use in trials
  130. of xsortr (CAS abstracts are the default option):
  131.  
  132. Usage: xsortr  xsort.tst  +results_file
  133.  
  134. XSORT.TST consists of XMERGE2.TST appended to XMERGE1.TST with an extra
  135. record; thus it is unsorted with duplicate records. 
  136.  
  137.  
  138.  
  139.  
  140.  
  141. XSORTR.C   
  142. XSORTR.COM 
  143.  
  144. Sort the file given as the only command-line parameter (except for 
  145. DIO redirectors and -xxx options).
  146.  
  147. Output is to terminal or as redirected by DIO.
  148.  
  149. The file is read, record by record, to construct a tree, 
  150. each node of which holds file sector and character-count 
  151. information for the corresponding record.
  152. Display of the tree gives the sorted file.
  153.  
  154. The sort key can be a sequence of digit fields.
  155. The key length can be specified.
  156. The key start can be defined by a string each record is searched for.
  157.  
  158. Records can be of variable length, defined by a delimiter string,
  159. eg <\n> if each line is a record.
  160. Records can be multiline.
  161.  
  162. The number of records is limited only by the free space 
  163. below the stack (enough for ca 2000 records) 
  164. and the amount of free disk space (which need be only enough 
  165. to hold the sorted file).  
  166.  
  167. With a CMI hard disk, the install speed is about 1 second per record.
  168.  
  169. The impetus for writing this code came from the need to merge 
  170. and sort lists of abstracts.  If the cas_flag is set, an unsorted file,  
  171. comprising a set of lists and presumed to contain duplicate records, 
  172. is sorted and output.  If a record is a duplicate, only one copy of 
  173. the record is displayed, but the first identifying line of the duplicate 
  174. is displayed at the head of this copy.
  175.  
  176. To carry out a transformation of set of chem. abstracts files into a 
  177. single file of primary information (abs. #, title, etc, but no abstract or
  178. index terms), then to sort the file:
  179.  
  180.     xsrchr  [<filelist]  file1  [file2 ....]  +cas/temp  -p 
  181.             [program enters full screen input -
  182.                 type in search and io delimiter strings
  183.                 then ESC to continue]
  184.     xsortr  cas/temp  +cas/sort
  185.  
  186. For a summary of the various options: see help_mess().
  187.  
  188. For usage:  see help_mess().
  189.  
  190. NOTE: the program expects a modified version of DIO, the failure to use
  191. which may cause complications, probably easily remedied. 
  192.  
  193.  
  194. The functions install() and treeprint() are from the Van Nuys Toolkit 
  195. program MERGE, by Eugene H. Mallory.
  196. The function decode() is an adaptation of code from the Van Nuys Toolkit 
  197. program SEARCH.
  198.  
  199.  
  200.  
  201.  
  202.  
  203. XSRCH.TST 
  204.  
  205. Test file consisting of several CAS abstracts for use in trials of xsrchr
  206. (CAS abstracts are the default option if XSRCH.ZIP = XSRCHCAS.ZIP):
  207.  
  208. Usage: xsrchr  xsrch.tst  +results_file
  209.     [the program then enters full screen input - 
  210.         it is setup for condensing CAS files -
  211.         enter ESC to continue]
  212.  
  213. XSRCHR extracts condensed files like XMERGE1.TST, etc, from
  214. full abstract files. 
  215. XSRCHR also can extract records satisfying specific search strings.
  216.  
  217.  
  218.  
  219.  
  220.  
  221. XSRCH.ZIP 
  222. XSRCHCAS.ZIP 
  223. XSRCHSTD.ZIP 
  224.  
  225. Template files for full-screen input to XSRCHR.
  226.  
  227.  
  228.  
  229.  
  230.  
  231. XSRCHR.C   
  232. XSRCHR.COM 
  233.  
  234. Search over each record of each file in wildcard filelist; 
  235. if the seach pattern is found in a record, display it, with DIO output
  236. redirection.
  237.  
  238. If the search pattern is given as the first command line parameter,
  239. the record delimiter is assumed to be '\n'.
  240.  
  241. If the -p option is selected or the search pattern is not given on the
  242. command line, there is full screen input of:
  243.     search patterns;
  244.     record delimiter;
  245.     output delimiters;
  246.     cas_flag;
  247.  
  248. In the case of full screen input, there can be up to 10 search patterns, 
  249. which may be or'd, and'd, or not'd.
  250.  
  251. If the cas_flag is set, the file name is printed at the start of
  252. the first line of output of each record.
  253.  
  254. Strings can include meta characters, such as '*', '?', etc.  
  255. See help_mess for a listing of them.
  256.  
  257. Usage:
  258.  
  259. xsrch   [pattern]   input   [>output_ufn (def = crt)]   [-options (-h = help)] 
  260.  
  261. The input parameter is required.  It can be either:
  262.     input_afn1 [input_anf2, ..]   and/or   <input_ufn_list
  263.         
  264. If a pattern to be searched for is given on the command line (rather than
  265. given through full-screen input), it must precede the input parameter.
  266.  
  267. It is best to select full screen input with the option '-p', rather than
  268. trust to default selection.
  269.  
  270. See help_mess for more information on options.
  271.  
  272. From public domain code: 
  273.     Van Nuys SEARCH, DIO, WILDEXP (by Eugene H. Mallory):
  274.         WILDEXP modified to allow du: == u/d:.
  275.         DIO modified to avoid cr-cr-lf triple with putchar.
  276.         some functions rewritten from code in SEARCH:
  277.             decode()
  278.             find()
  279.             search()
  280.     CUG SCOPE:
  281.         Full screen input based on the template file XSRCH.ZIP:
  282.             select  and, not, or   strings;
  283.             select parts of record for output;
  284.                 select record delimiter;
  285.             select flags.
  286.  
  287.