home *** CD-ROM | disk | FTP | other *** search
/ CD Shareware Magazine 1996 December / CD_shareware_12-96.iso / DOS / Programa / CCDL122.ZIP / COMPILER.TXT < prev    next >
Encoding:
Text File  |  1996-08-08  |  3.4 KB  |  76 lines

  1.  #
  2.  # 68K/386 32-bit C compiler.
  3.  #
  4.  # copyright (c) 1996, David Lindauer
  5.  # 
  6.  # This compiler is intended for educational use.  It may not be used
  7.  # for profit without the express written consent of the author.
  8.  #
  9.  # It may be freely redistributed, as long as this notice remains intact
  10.  # and sources are distributed along with any executables derived from them.
  11.  #
  12.  # The author is not responsible for damages, either direct or consequential,
  13.  # that may arise from use of this software.
  14.  #
  15.  # v1.5 August 1996
  16.  # David Lindauer, gclind01@starbase.spd.louisville.edu
  17.  #
  18.  # Credits to Mathew Brandt for original K&R C compiler
  19.  #
  20.  #
  21. This compiler is presented on an 'as-is' basis without any guarantee of
  22. usability or fitness for any given application.  Risks associated with
  23. using it, including financial loss or loss of life are not the 
  24. responsibility of the authors.  However, this compiler is intended as 
  25. an educational tool, and is not to be used commercially in any case 
  26. without the express written consent of the authors.
  27.  
  28. The original author is Matthew Brandt.  As he left it it was a K&R 
  29. style compiler with no floating point and minimal preprocessor support, 
  30. targeted only for the m68k.  Much of the work was done on a Unix 
  31. machine and later ported to DOS.  You can find his version on one of 
  32. the Motorola file sites if you wish to compare.  The current version 
  33. has been updated extensively to support a variety of ANSI constructs as 
  34. well as i386 support and a better preprocessor.  However, parts of
  35. the program still reflect Mathew's work.
  36.  
  37. I have done my part of the coding with a 16-bit MSDOS compiler 
  38. (borland c).
  39.  
  40. This is an optimizing, retargetable 32-bit C compiler.  Current support 
  41. is for the m68k and the i386.  Most ANSI keywords are supported; 
  42. although the compiler is definitely NOT ansi-compatible when it comes 
  43. to evaluating expressions.
  44.  
  45. A built-in preprocessor has been added. Note that due to a requirement 
  46. to use an extended character set most of the preprocessor considers
  47. characters as shorts.  Symbols are translated to an 
  48. asCII-with-escape-sequences format so that the rest of the compiler can 
  49. use char fields for symbols.
  50.  
  51. There is also a minix varient of Mathew's compiler; search for the file
  52. c386.* using archie.  feature-wise it is roughly compatabile with
  53. this cmpiler, except it is fully ANSI compatabile whereas this compiler
  54. is not, and it has no buit-in preprocessor.
  55.  
  56. This is an optimizing compiler.  Optimizations include constant folding
  57. and shoving things into registers.  Also some peepgen optimization is
  58. done where applicable.  No loop optimizations or common subexpression 
  59. elimination or live variable analysis are done at this time.
  60.  
  61. The compiler generates ASM code at this time.  For the m68k, the
  62. compiler generates a .SRC file and the syntax of the CrossCode 
  63. assembler is utilized.  68K code is position-independent. For the i386, 
  64. the compiler generates a .ASM file and the masm/tasm syntax is 
  65. utilized.
  66.  
  67. Read the feature.new file and the files in the DOCS directory for 
  68. information on implementation-dependent features.
  69.  
  70. In the clibs directory you will find C and assembly sources for
  71. an ansi C library.  This is not guarateed to be complete or accurate,
  72. however its functions are designned to work similarly to the ansi
  73. functions.  There are startup files that completely initialize the
  74. run-time environment of the compiler.
  75.  
  76. David Lindauer