home *** CD-ROM | disk | FTP | other *** search
/ Microsoft Programmer's Library 1.3 / Microsoft-Programers-Library-v1.3.iso / sampcode / alde_c / misc / util / cug236 / press.rel < prev    next >
Encoding:
Text File  |  1988-04-04  |  4.3 KB  |  95 lines

  1.                  Press Release for C Users' Group Starter Disk
  2.  
  3.      This disk is the result of an effort to produce a disk of very portable 
  4. programs that people new to the group can compile and run with minimal hassle.  
  5. The programs almost all exist in other library volumes, but they suffered from 
  6. portability problems in their original forms.  The effort required to render a 
  7. program portable ranged from moderate (the MSDOS programs) to severe (the BDS C 
  8. programs).
  9.  
  10.      The objective of the effort has been realized as far as I can validate the 
  11. programs with one notable exception.  BAWK has a very deeply ingrained 
  12. dependency on the truth of the statement sizeof(int) == sizeof(char *).  It 
  13. will require a person experienced in compiler/interpreter writing to remove 
  14. this dependency as it involves changing BAWK's runtime interpreter from weakly 
  15. typed (like BDS C) to strongly typed (like modern C compilers).  The upshot is 
  16. that BAWK will not work under the MSDOS large model, though it will work under 
  17. the MSDOS small model.
  18.  
  19.      I was able to compile and run every program on the disk in the following 
  20. environments:
  21.  
  22.      1)   AZTEC C II / CP/M 2.2
  23.  
  24.      2)   Eco-C / CP/M 2.2 (except BAWK which overflowed the linker's memory)
  25.  
  26.      3)   Eco-C88 / MSDOS 3.1 (except BAWK which brought a strange error 
  27.                message that I can't decipher from the compiler's code 
  28.                generator)
  29.  
  30.      4)   Microsoft C 3.0 (small model) / MSDOS 2.0
  31.  
  32.      5)   Microsoft C 3.0 (large model) / MSDOS 2.0 (except BAWK -- see above)
  33.  
  34.      A few minor tweaks were required, but these have been documented at the 
  35. top of each program as switches that can be flipped by uncommenting #define 
  36. directives.
  37.  
  38.      On to the contents of the disk.....
  39.  
  40.      1)   2UP       Rearranges text from single-column format to multi-column 
  41.                     format.
  42.  
  43.      2)   BAWK      A GREP-based text pattern search and replace facility.
  44.  
  45.      3)   CB        Arranges curly-braces, indentation, and so forth of a C 
  46.                     program source into a rather readable form.
  47.  
  48.      4)   CFLOW     Lists function definitions and function calls of a C 
  49.                     program source so that one can see who calls what.
  50.  
  51.      5)   FCOMP     A rather intelligent text file comparator.
  52.  
  53.      6)   HEAD      Lists the first n lines of each file in a list of text 
  54.                     files.
  55.  
  56.      7)   PLCHECK   Shows the indentation level of each line of a C program 
  57.                     source.
  58.  
  59.      8)   RETAB     A combination of DETAB and ENTAB.  Detabifies a file then 
  60.                     entabifies it with a (possibly) different tab increment 
  61.                     without changing the file's appearence.
  62.  
  63.      9)   RETABF    Same as RETAB except that it works from stdin to stdout 
  64.                     instead of between two named files.
  65.  
  66.      10)  RS232EXP  Conducts a question-and-answer session about RS-232 comm 
  67.                     link problems.
  68.  
  69.      11)  SGREP     A different GREP-based text pattern search and replace 
  70.                     facility.
  71.  
  72.      12)  TEE       Takes snapshots of the contents of pipelines in "pipe-
  73.                     fitting" applications.
  74.  
  75.      13)  XC        Cross-references a C program source.
  76.  
  77.      In the course of this project, I discovered that, while the C language 
  78. will allow one to write quite portable code, most of you out there don't do so. 
  79. That makes your efforts almost useless to people who aren't running exactly 
  80. your environment.  How do you write portable code?  Watch this space in future 
  81. issues.
  82.  
  83.      You are encouraged to validate these programs under environments that are 
  84. not available to me.  If you tell me what modifications you've had to make to 
  85. the package to get it to work for you, I can incorporate them into future 
  86. releases of the package.  That way, others will not have to rediscover what you 
  87. have learned.  In particular, if some enterprising compiler hacker will improve 
  88. BAWK's interpreter.....
  89.  
  90.                                         William C. Colley, III
  91.                                         14 Hawthorne Drive
  92.                                         Oberlin, OH 44074
  93.  
  94.                                         (216) 775-3680
  95.