home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1994 March / Source_Code_CD-ROM_Walnut_Creek_March_1994.iso / compsrcs / reviewed / volume02 / crefine / part00 < prev    next >
Encoding:
Internet Message Format  |  1992-07-14  |  4.9 KB

  1. From: Lutz Prechelt <prechelt@ira.uka.de>
  2. Subject: v02i013: crefine - (Ver. 3.0) C language extension, Part00/06
  3. Newsgroups: comp.sources.reviewed
  4. Approved: csr@calvin.dgbt.doc.ca
  5.  
  6. Submitted-by: Lutz Prechelt <prechelt@ira.uka.de>
  7. Posting-number: Volume 2, Issue 13
  8. Archive-name: crefine/part00
  9.  
  10. Environment: any C environment
  11.  
  12. Tested Environments:
  13.     HP9000/425s running HP-UX 7.05 with the 7.40 C compiler.
  14.     DecStation3100 (and 5100) - Ultrix 4.2 (gcc)
  15.     NextStation - NextStep 2.0 (cc)
  16.     Sequent Symmetry DYNIX 3.1.4 
  17.     Opus Systems PM-417  (88000 @ 25MHZ)  Unix System V r3.2
  18.     Data General AV4620  (88000 @ 33MHz)  Unix System V r4 (DG/UX 4.1)
  19.  
  20. Dates:
  21.     Submission Received: May 8 1992
  22.     Returned by Moderator: May 8 1992
  23.     Revised Submission Received: May 13 1992
  24.     Reviews Returned: June 10 1992
  25.     Revised Submission Received: June 12 1992
  26.     Accepted: July 7 1992
  27.     
  28. Author's Summary:
  29. -----------------
  30.  
  31. C-Refine is a preprocessor for programs written in C or C++ or a
  32. similar language. It introduces an additional language construct
  33. called 'refinement' which allows further decomposition with symbolic
  34. names inside functions.  This makes programs much easier to read and
  35. modify and is very comfortable for programming.
  36.  
  37. We also call these extended languages C-Refine (or C++-Refine, and so
  38. on).  The C-Refine preprocessor converts programs written in C-Refine
  39. into plain C, and programs written in C++-Refine into normal C++, and
  40. programs written in Objective-C-Refine into normal Objective-C, and so
  41. on.  The preprocessor is much faster than a C compiler, so it will not
  42. unbearably slow down the overall compilation process.
  43.  
  44. The installed system consists of a single executable file (crefine)
  45. and one Unix Manualpage (crefine.1). An additional driver shell script
  46. (ccr) plus Manualpage are also provided.  No further data files or
  47. libraries except the standard C library are needed.
  48.  
  49. C-Refine is completely portable to all machines that have a standard
  50. C library.  It should readily compile at least on all ANSI-C machines,
  51. all standard BSD-Unix machines and standard System V machines.
  52.  
  53. If #include <strings.h> fails, change it to #include <string.h>
  54. If #include <string.h>  fails, change it to #include <strings.h>
  55.  
  56. Environments where C-Refine already once worked:
  57.  
  58. Machine            Operating System (and perhaps Compiler)
  59. -------            ---------------------------------------
  60. Apollo DN3xxx      DOMAIN/OS SR10.3 BSD (ANSI C 6.8)
  61. Apollo series 400  DOMAIN/OS SR10.3 BSD (ANSI C 6.8)
  62. Atari ST           OS-9/68000 V2.3
  63. AT/386             ISC Unix 3.2.2 (GNU C 1.39)
  64. AT/386             SCO Unix 3.2.2 (cc or GNU C 1.40 without optimization)
  65. AT&T 3B2           System V
  66. Commodore Amiga    AmigaOS 1.3 (DICE 2.06.33)
  67. Convex C2          Convex OS
  68. DECstation 3100    Ultrix 4.1
  69. DG Aviion 4620     System V r4.1
  70. Next 68040         NextStep 2.0
  71. Opus System PM-417 System V r3.2
  72. PC etc.            MS-DOS 3.2 (Microsoft C 5.0)
  73. PC etc.            OS/2 Vers. 1.3 (Microsoft C 6.0)
  74. PCS (type???)      some System V
  75. Sequent Symmetry   DYNIX 3.1.4
  76. Sun3               SUN-OS 3.5
  77. Sun3,Sun4          SUN-OS 4.03
  78. Sun3,Sun4          SUN-OS 4.1
  79. VAXstation 3250    Ultrix-32 V3.1
  80.  
  81.  
  82. Reviewers' Comments:
  83. --------------------
  84.  
  85. This program may be of some use in a teaching environment or a prototyping
  86. shop since it allows programs to be developed in a top-down way.
  87.  
  88. Compilation was effortless and the man pages were very readable.
  89.  
  90. This software was tested on a HP9000/425s workstation running HP-UX 7.05.
  91. There were no compilation problems.
  92.  
  93. There was one small bug in the man page which meant that the example
  94. program couldn't be cut and pasted blindly.  The test examples from the
  95. man page compiled and ran correctly after fixing the "\n" bug on line
  96. 347 of the unformatted man page.  
  97.  
  98. This is a nice, recommended  package.  It will be interesting to see if this
  99. ideas catches on in the real world.
  100.  
  101. ------------------------------------------------------------------------------
  102.     
  103. This program help a user get away from the irritating details of C
  104. programming, atleast for a while, and concentrate more on the algorithm
  105. part.
  106.  
  107. Compilation was smooth, the man pages, as noted above, were also very
  108. good.
  109.  
  110. Machines this software was tested on were DecStation and Next.  There
  111. were no problems encountered as far as either compiling, or making the
  112. program do it's job were concerned.  (OSs: Ultrix 4.2 and NextStep 2.0).
  113.  
  114. Apart from the list of bugs given by the author, there were no
  115. limitations found.
  116.  
  117. This package is highly recommendable.  Congratulations to the author on
  118. a job well done.
  119.  
  120. ------------------------------------------------------------------------------
  121.  
  122. The package unpacked and compiled without errors or glitches.  The
  123. documentation is adequate, and it ported between the two platforms
  124. without problem.  I have a concern or two about the makefile, but they
  125. are matters of taste.  The package seems to work (I couldn't break it
  126. easily :-) so I think its ready to go as it is.
  127.  
  128. exit 0 # Just in case...
  129.