home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #3 / NN_1993_3.iso / spool / comp / lang / ada / 4041 < prev    next >
Encoding:
Internet Message Format  |  1993-01-23  |  3.8 KB

  1. Path: sparky!uunet!haven.umd.edu!mimsy!alex
  2. From: alex@cs.umd.edu (Alex Blakemore)
  3. Newsgroups: comp.lang.ada
  4. Subject: Re: ASIS (Was Re: IrisAda)
  5. Message-ID: <63628@mimsy.umd.edu>
  6. Date: 22 Jan 93 19:01:00 GMT
  7. References: <C16CKG.Eq8@inews.Intel.COM> <63588@mimsy.umd.edu> <1993Jan21.205719.14359@inmet.camb.inmet.com>
  8. Sender: news@mimsy.umd.edu
  9. Organization: U of Maryland, Dept. of Computer Science, Coll. Pk., MD 20742
  10. Lines: 55
  11.  
  12. In article <1993Jan21.205719.14359@inmet.camb.inmet.com> ryer@inmet.camb.inmet.com (Mike Ryer) writes:
  13. > ASIS has a cost beyond the dollars you pay for it.  It
  14. > can result in slower compilers and larger program libraries.
  15. > Our compiler (for MVS) currently generates DIANA; it would be a very simple
  16. > matter to add ASIS generation -- just send money.  
  17.  
  18. In Intermetric's case, since you already store DIANA, providing an ASIS interface
  19. to the DIANA should not add significant time, space, costs to your compiler beyond
  20. what's there to create and traverse DIANA.  DIANA is a very rich intermediate form.
  21. You are correct that a vendor which already used a lean intermediate form
  22. may have more work & tradeoffs to make to support ASIS.
  23.  
  24. One important point - ASIS is NOT an intermediate form or a data structure (like DIANA).
  25. It is a relatively simple INTERFACE that allows you to query information from
  26. whatever intermediate form the compiler uses in a standard way.  Depending upon the
  27. details of the particular intermediate form, supporting ASIS may be simple or complex.
  28. If the information is already stored in the intermediate form, the compiler should not
  29. have to be made slower and more complex (regardless of the complexity of the ASIS interface)
  30. The compiler may not need to be changed at all.  If ASIS requires some information
  31. that is not currently stored, there are several approaches.
  32.   - modify the compiler to store the needed info,
  33.   - recompute the info on demand
  34.   - not implement the particular ASIS feature
  35.     (several things have been made optional that compiler vendors typically dont store)
  36.     (there are query routines that allow tools to test if an implementation does this)
  37.  
  38. For example, source position info may not be preserved by some compilers.
  39. If its not, dont implement the package ASIS_Text that provides that info.
  40. Tools can call the routine IS_Text_Supported to check whether that info is available.
  41. Tools that dont need source position info can work.  Other tools wont & people that
  42. want those tools to run can then pressure/pay you to provide that feature.
  43.  
  44. I know one very fast lean compiler that already has an intermediate form that
  45. will easily support most of ASIS.  Most compiler vendors already provide some interface,
  46. but its always a different one.  Until we have some kind of standard, its very expensive
  47. and difficult to develop Ada tools - and when you are done they only work with
  48. one compiler.
  49.  
  50. > In my opinion, ASIS has been defined as "everything that Telesoft and Rational
  51. > happen to have in their libraries", rather than "everything that a reasonable
  52. > tool vendor needs and cannot easily compute for him/herself".
  53.  
  54. ASIS is evolving - and the latest drafts have tried to address your concerns in
  55. several ways.  Several compiler vendors have attended working group sessions and
  56. pointed out what is hard or easy for them to support.  One concept that is shaping
  57. up in 1.1 is to provide a standard interface to some information that could be computed
  58. (with difficulty) from lower level ASIS primitives.  There would be a public
  59. implementation of this higher level layer that any vendor could use - so they only
  60. have to provide the primitives.
  61.  
  62. Perhaps someone from Intermetrics could attend an ASIS working group meeting and
  63. contribute to developing ASIS into a practical standard.  
  64. -- 
  65. ---------------------------------------------------
  66. Alex Blakemore alex@cs.umd.edu   NeXT mail accepted
  67.