home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #1 / NN_1993_1.iso / spool / comp / compiler / 2133 < prev    next >
Encoding:
Text File  |  1993-01-11  |  6.7 KB  |  158 lines

  1. Newsgroups: comp.compilers
  2. Path: sparky!uunet!world!iecc!compilers-sender
  3. From: C M Brough <cmb@epcc.edinburgh.ac.uk>
  4. Subject: Re: Pascal validation suite wanted
  5. Reply-To: C M Brough <cmb@epcc.edinburgh.ac.uk>
  6. Organization: Edinburgh Parallel Computing Centre
  7. Date: Mon, 11 Jan 1993 12:15:50 GMT
  8. Approved: compilers@iecc.cambridge.ma.us
  9. Message-ID: <93-01-060@comp.compilers>
  10. References: <93-01-056@comp.compilers>
  11. Keywords: Pascal, standards
  12. Sender: compilers-sender@iecc.cambridge.ma.us
  13. Lines: 143
  14.  
  15. The Moderator writes:
  16. > [Are there any actual ISO Pascal compilers around? -John]
  17.  
  18. How about the SPMI (Standard Pascal Model Implementation)? It was written
  19. by Jim Welsh and Atholl Hay, in Standard Pascal, while they were at the
  20. University of Manchester in the early eighties. The copyright is
  21. University of Manchester, 1984. I don't know about the availability of it
  22. - we have a copy courtesy of Atholl Hay, for the purpose of a student
  23. project - looks like you might be able to get it from the BSI (British
  24. Standards Institution). From reading the documenation it sounds like you
  25. might get a validation suite from the same place.
  26.  
  27. Here are some relevant extracts from the documentation:
  28.  
  29.                 ----------------------------------------
  30.  
  31. INTRODUCTION 
  32.  
  33. The following programs comprise a Model Implementation of Standard Pascal
  34. which conforms completely to the ISO definition of the language. Its
  35. development and distribution is intended to demonstrate that the
  36. requirements of the Standard can be met fully, particularly those relating
  37. to the detection of errors, and to illustrate techniques that may be used
  38. to do so.
  39.  
  40. The Model Implementation has been developed in close collaboration with
  41. the team responsible for production of the Pascal Validation Suite.  In
  42. fact the Model Implementation and Validation Suite are complimentary in
  43. the sense that passing every test in the Validation Suite has been a
  44. minimal requirement for the Model Implementation throughout its
  45. development, and experience with the Model Implementation has helped to
  46. eliminate several inadequacies in the Suite and to suggest additional
  47. tests for inclusion in it.
  48.  
  49. The following paragraphs provide an overview of the complete system
  50. together with notes for its initial installation.
  51.  
  52. OVERVIEW 
  53.  
  54. The Standard Pascal Model Implementation is an implementation of Pascal
  55. which conforms completely to the ISO standard definition of the language.
  56. It consists of five programs each of which is itself written in ISO
  57. Standard Pascal:
  58.  
  59. (a)      a model compiler which enforces  all  mandatory  requirements
  60.      of the Pascal standard on each program input to it, 
  61.          and generates an equivalent 'P-code' object program; 
  62.  
  63. (b)      a P-machine which interprets a P-code program to simulate 
  64.  
  65.          its  executable effect, including detection of all errors 
  66.          defined by the Pascal Standard; 
  67.  
  68. (c)      a post-mortem generator which examines the 'corpse' of an 
  69.          executed  P-code program to determine its cause of termi-
  70.          nation and to re-create  the  program's  final  state  in 
  71.          source-language terms; 
  72.  
  73. (d)      a disassembler which displays  the  generated  P-code  in 
  74.          symbolic form; 
  75.  
  76. (e)      an installation 'help' program. 
  77.  
  78. In preparing these programs the style and format of a book has been
  79. deliberately adopted. Thus partitioning code and documentation into
  80. 'chapters' provides an informal modular structure and illustrates the
  81. extent to which this can be achieved within the syntactic limits of
  82. Pascal. 
  83.  
  84. The Model Compiler is a conventional one-pass Pascal compiler comprising a
  85. machine-independent program analyser cleanly interfaced to a target
  86. machine-dependent code generator. It accepts an ISO Standard Pascal source
  87. program and generates an equivalent P-code object program for interpretive
  88. execution on the P-machine. A high degree of run-time security is provided
  89. by generating error-checking code for each of the distinct errors defined
  90. in the Pascal Standard.
  91.  
  92. ...
  93.  
  94. The P-machine program should be regarded as an operational definition
  95. rather than a production interpreter. Being written in Pascal, it relies
  96. on a host Pascal Processor for all arithmetic functions and fixed and
  97. floating-point I/O. If these host functions are deviant, the Model
  98. Implementation may exhibit deviant behaviour also. Moreover, an
  99. implmementation of files and program parameters cannot be given a general
  100. expression in Standard Pascal.  In this version of the Model
  101. Implementation, the P-machine provides communication with the external
  102. environment only via the program parameters Input and Output, and allows
  103. limited creation of 'local' files by means of a simulated filestore.  This
  104. limited capability is sufficient to enable all programs in the Pascal
  105. Validation Suite to be run. 
  106.  
  107. ...
  108.  
  109. VERSION 4.1 
  110.  
  111. This tape contains version 4.1 of the SPMI. This version fixes all known
  112. bugs in version 4.0, provides a standard conforming implementation of
  113. for-statements, and improves checking of pointer variables and
  114. buffer-variable references.  It is intended to be fully compatible with
  115. version 4.1 of the Pascal Validation Suite. 
  116.  
  117.  
  118. TAPE FORMATS 
  119.  
  120. Tapes supplied by the British Standards Institution (BSI)...
  121.  
  122. ...
  123.  
  124. LICENCE 
  125.  
  126. By agreement, the SPMI is distributed by BSI or BSI's local agents on
  127. UMIST's behalf.  In some countries, signature of an SPMI licence is a
  128. condition precedent of its release and use. 
  129.  
  130. ...
  131.  
  132. ACKNOWLEDGEMENTS 
  133.  
  134. The Model Implementation has been derived chiefly from Pascal
  135. implementations developed at the Queen's University of Belfast, which in
  136. turn were influenced by early Pascal implementations from ETH Zurich.  As
  137. for many implementations, it would be impossible to attribute exact
  138. authorship of the various techniques used, and due acknowledgement is
  139. hereby made of all contributions and influences that may be detected.
  140. Deserving of special mention however, are Urs Ammann and his colleagues at
  141. ETH Zurich, Andy Mickel and his colleagues at the University of Minnesota,
  142. Bill Findlay and David Watt at the University of Glasgow, and the
  143. long-serving compiler-team members in Belfast, Colum Quinn, Kathleen
  144. McConnell and Dave Bustard, who may recognise many identifiers and code
  145. fragments in the Model Compiler as their own. Finally, we are grateful to
  146. Brian Wichmann and his colleagues Peter Wilkinson and Guy O'Neill at NPL,
  147. for their collaboration, support and patience in testing the Model
  148. Implementation against the Pascal Validation Suite. 
  149.  
  150. Jim Welsh and Atholl Hay 
  151. January 1984 
  152.  
  153. __________________________________________________________________________
  154. Colin Brough    cmb@epcc.ed.ac.uk      Edinburgh Parallel Computing Centre
  155. -- 
  156. Send compilers articles to compilers@iecc.cambridge.ma.us or
  157. {ima | spdcc | world}!iecc!compilers.  Meta-mail to compilers-request.
  158.