home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #30 / NN_1992_30.iso / spool / comp / lang / ada / 3735 < prev    next >
Encoding:
Text File  |  1992-12-17  |  3.0 KB  |  51 lines

  1. Newsgroups: comp.lang.ada
  2. Path: sparky!uunet!cis.ohio-state.edu!news.sei.cmu.edu!jbg
  3. From: jbg@sei.cmu.edu (John Goodenough)
  4. Subject: Extensions to Ada (was Re: Open Systems closed to Ada?)
  5. Message-ID: <1992Dec17.093729.22994@sei.cmu.edu>
  6. Sender: netnews@sei.cmu.edu (Netnews)
  7. Organization: The Software Engineering Institute
  8. References: <1992Dec4.165905.2316@mksol.dseg.ti.com> <723740056.28422@minster.york.ac.uk>     <1992Dec7.215946.18972@mksol.dseg.ti.com>     <1992Dec9.052624.23020@seas.gwu.edu>     <1992Dec11.131655.23725@mksol.dseg.ti.com> <EACHUS.92Dec11133546@oddjob.mitre.org> <1992Dec14.172100.19250@mksol.dseg.ti.com>
  9. Date: Thu, 17 Dec 1992 09:37:29 EST
  10. Lines: 39
  11.  
  12.  
  13. In article <1992Dec14.172100.19250@mksol.dseg.ti.com>, mccall@mksol.dseg.ti.com (fred j mccall 575-3539) writes:
  14.  
  15. |> And just what constitutes an 'illegitimate' extension and how do you
  16. |> decide?  What about a compiler whose default behaviour matches the
  17. |> standard (and passes the validation suite) but which has switches that
  18. |> turn on and off various features.  Would you validate it or not?
  19.  
  20. The short answer is "Yes, this is a validatable compiler."  As I understand
  21. validation policy, the complete language must be processed correctly under
  22. some setting of switches.  This setting is noted in the validation summary
  23. report.  But it is perfectly acceptable to have switches or pragmas that
  24. reject programs if they use certain features of the language, and a number of
  25. vendors take advantage of this possibility.  Typically such restrictions allow
  26. the compiler to generate much better object code or use a run-time system that
  27. has better timing characteristics.  One compiler vendor provided rate
  28. monotonic scheduling support years ago using this approach.  Another vendor
  29. provides a pragma whose effect is to remove support for 'IMAGE on enumeration
  30. types -- in essence, if you (as the programmer) promise not to use 'IMAGE for
  31. a particular enumeration type, the compiler won't generate the associated
  32. run-time table.  If you should later forget your promise not to use 'IMAGE,
  33. the compiler can legitimately refuse to compile the program.
  34.  
  35. As another form of legitimate extensions to the language, several vendors have
  36. target-specific packages that allow programmers to take special advantage of
  37. their operating system capabilities.  The use of such packages makes programs
  38. less portable, but of course, is not prevented by the standard.
  39.  
  40. "Illegitimate" extensions would be extensions to the syntax that are not
  41. rejected under some "standard" switch setting.  There is nothing in the policy
  42. or standard that prevents a vendor from running "extended" Ada code through a
  43. preprocessor as part of the compilation process as long as there is a way of
  44. turning off the preprocessor so non-Ada constructs can be detected and
  45. rejected.  In short, there is a lot more flexibility to experiment with
  46. "validated" compilers than is generally realized and that has been taken
  47. advantage of by vendors.
  48.  
  49. John B. Goodenough                    Goodenough@sei.cmu.edu
  50. Software Engineering Institute                412-268-6391
  51.