


                           Small C Compiler Version 2.2
                                         
         The  Small C compiler translates a subset of the C language into
         assembly language. It runs under PC/MS-DOS 2.1 and later.  Small
         C  is  compatible  with  both  Small Assembler and the Microsoft
         assembler MASM. Small C supports a small memory model  with  one
         code and one data/stack segment.
         
         Small  C  supports  arrays  of  one  dimension. Functions always
         return integer  values.  External  functions  are  automatically
         declared.  Initialization  of global variables is supported. The
         preprocessor supports #include, #define, #ifdef, #ifndef, #else,
         #endif,  #asm,  #endasm  commands  .   The   following   control
         statements  are  supported:  if,  switch,  case, default, break,
         continue, while, for, and do/while. All expression operators are
         supported. Only signed and unsigned integer and  character  data
         types  are  supported. The following standard C features are not
         supported: structures, fields, unions, arrays of  pointers,  and
         casts.
         
         Small  C  supports  UNIX-like  I/O  redirection and command-line
         argument passing. The Small C library includes over 80 functions
         -- a nearly complete set  of  the  standard  UNIX/C  repertoire.
         Binary  as  well  as  character  stream  I/O  is  supported. The
         formatted I/O  functions  printf()  and  scanf()  are  included.
         Random  access  to  files  is  provided.  Programs  can  request
         additional file buffering.
         
         The compiler itself is written in Small  C  and  is  distributed
         with  both  object  and source code. As a self compiler, Small C
         can be modified to  work  in  other  environments  and  to  meet
         special   needs.   Since   everything   is  revealed  and  fully
         documented, Small C  has  tremendous  value  as  an  educational
         device.  Small  C  uses a single pass, recursive descent parsing
         algorithm. It generates p-codes for internal use, and  optimizes
         its output.
         
         The  Small  C  language  and  compiler are fully described in "A
         Small C Compiler: Language, Usage, Theory, and Design" by  James
         E. Hendrix. Copies are available from:
         
                              M&T Publishing, Inc.
                              501 Galveston Dr.
                              Redwood City, CA 94063
                              Phone: 1 (800) 533-4372
         
                                  J. E. Hendrix
                                  P.O. Box 1435
                                Oxford, MS  38655
         













