home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / PASCAL / COPASC.ZIP / COPASCAL.DOC < prev    next >
Encoding:
Text File  |  1987-09-07  |  3.2 KB  |  102 lines

  1.  C  o     -  P  A  S  C    A  L          v2.0
  2. _____________________________
  3.  
  4.  
  5.      CP/M & MS-DOS implementations by :     Charles Schoening
  6.                      4012  Fulford St.
  7.                      Olney, MD   20832
  8.  
  9.  
  10.  
  11.   I. Notes about the Co-Pascal Compiler
  12.      _____________________________________
  13.  
  14.  
  15.      Co-Pascal is an extension of the Pascal-S
  16.      compiler (itself a subset of Pascal)
  17.      developed by Nikalus Wirth.  Modifications
  18.      to the Pascal-C compiler were suggested by
  19.      M. Ben-Ari in Principles of Concurrent
  20.      Programming and implemented on a DEC VAX by
  21.      Barry Burd of Drew University.  I enhanced
  22.      and modified the code to run under CP/M and
  23.      MS-DOS.  Co-Pascal is written in Pascal and
  24.      optimized to run under Turbo-Pascal(tm).
  25.  
  26.      Co-Pascal currently provides an excellent
  27.      environment for experimenting with
  28.      concurrent programming.  It's well suited
  29.      for designing and testing of algorithums,
  30.      but it is not a full Pascal compiler and
  31.      does have some unfortunate restrictions.
  32.      For this reason, hoping that users will
  33.      enhance and update the compiler, and because
  34.      it a good chance to tinker with a compiler,
  35.      I am providing the Co-Pascal compiler in
  36.      its source code.
  37.  
  38.  
  39.  
  40.  II. List of Known Problems and/or Limitations of Co-Pascal
  41.      ______________________________________________________
  42.  
  43.      Some features common to other Pascal compilers are not
  44.      available in Co-Pascal.
  45.  
  46.      Record types are not properly handled; no error or
  47.      warning message is issued.     This improper handling
  48.      of record types MAY apply only to the use of record
  49.      types with the functions WAIT and SIGNAL.
  50.  
  51.      Standard Features NOT supported :
  52.  
  53.        .  Sets, including the 'IN' operator
  54.        .  GOTO and label's.
  55.        .  Pointers
  56.        .  the 'INPUT' parameter is required in EOF and EOLN
  57.       function calls (i.e. EOF(INPUT) ).
  58.        .  File I/O is not yet available.  The READ/WRITE
  59.       procedures for data files are currently under
  60.       construction.
  61.  
  62.      The following limit values are in effect:
  63.  
  64.        .  10 characters in identifier names
  65.        .  200 lines of output
  66.        .  CP/M:      2 concurrent processes
  67.       MS-DOS: 4 concurrent processes
  68.        .  Memory limitations dictate a fixed maximum number of
  69.       procedures which can be executed concurrently at any
  70.       one time.  This number is operating system dependent.
  71.       - CP/M  :  Limit of 2 concurrent processes
  72.       - MS-DOS:  Current limit of 4 concurrent processes.
  73.              Presumably, this could be increased if
  74.              necessary.
  75.  
  76.      Some of the above limits may be changed in the constant
  77.      declaration area of the source code.
  78.  
  79.      There may be a limit on the number of lines in a source
  80.      program (I'm not sure).
  81.  
  82.      Pre-declared functions :
  83.  
  84.     RANDOM(I) : returns a random INTEGER X such that  0 <= X <= I
  85.  
  86.  
  87.  
  88. III. Operating the Compiler
  89.      ______________________
  90.  
  91.      Command line syntax is :     FNAME /X*
  92.  
  93.      where FNAME is a legal file name with the .TYP optional
  94.      and the <X> option is one of the following :
  95.  
  96.     C :: compile the source code to P-code
  97.     E :: execute a previously compiled P-code
  98.     D :: compile and then execute
  99.  
  100.      * is an optional flag to display debug information
  101.  
  102.