home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #30 / NN_1992_30.iso / spool / comp / sys / amiga / programm / 17428 < prev    next >
Encoding:
Internet Message Format  |  1992-12-16  |  2.9 KB

  1. Path: sparky!uunet!olivea!spool.mu.edu!agate!stanford.edu!rutgers!concert!sas!mozart.unx.sas.com!walker
  2. From: walker@twix.unx.sas.com (Doug Walker)
  3. Newsgroups: comp.sys.amiga.programmer
  4. Subject: Re: SAS 6.1 and IDIR problems
  5. Message-ID: <BzCuvn.Lx9@unx.sas.com>
  6. Date: 16 Dec 92 13:59:47 GMT
  7. References: <BynD5B.35w@srgenprp.sr.hp.com> <Bz3zDo.1Jx@unx.sas.com> <JRAJA.92Dec15231111@vipunen.hut.fi>
  8. Sender: news@unx.sas.com (Noter of Newsworthy Events)
  9. Distribution: inet
  10. Organization: SAS Institute Inc.
  11. Lines: 47
  12. Originator: walker@twix.unx.sas.com
  13. Nntp-Posting-Host: twix.unx.sas.com
  14.  
  15.  
  16. In article <JRAJA.92Dec15231111@vipunen.hut.fi>, jraja@vipunen.hut.fi (Jarno Tapio Rajahalme) writes:
  17. |> What about adding _new_ include files to gst automagically? This would
  18. |> ease up thing in the start phase of developing new code. You could
  19. |> start with an empty gst which would then grow up with no changes to sc
  20. |> options.
  21.  
  22. |> | Address: Jarno Rajahalme            | EMail:                              |
  23.  
  24. This would indeed be a nice feature, but there are some extremely
  25. difficult technical problems in adding to an existing GST.  Most of
  26. them have to do with incomplete structure tags (in fact, most of
  27. the technical problems we did have had to do with incomplete
  28. structure tags.)  If header file A uses a structure tag but never
  29. defines it, then we have an incomplete definition in the GST; if
  30. later you add header file B that does define it, we have to 
  31. backpatch all references, but ONLY if the .c file includes both
  32. header file A and header file B, and use the incomplete definition
  33. otherwise.
  34.  
  35. Also, it is possible that the new file contains #defines or structure
  36. definitions that actually CONFLICT with the information already in
  37. the GST.  In this case, I have to make sure that the .c file being
  38. included doesn't include both .h files, because this would never
  39. work without GSTs.  This implies that I have to be able to tell which
  40. symbols will affect the other .h file, which, given C's preprocessor,
  41. is a near-impossible task.
  42.  
  43. With the current setup, what's in the GST is basically determined by
  44. the state of the symbol table after one compile; this state is
  45. guaranteed to be consistent, or an error would have been generated
  46. during the GST's creation.  It is much, much more difficult to "guess"
  47. at what errors WOULD have been produced when adding a new file and
  48. produce them without actually reading the old file!
  49.  
  50. In the current GST implementation, there are the beginnings of a
  51. technique to handle this.  We couldn't explore it fully in the time
  52. available for 6.0, but hopefully someday we will be able to.
  53.  
  54. -- 
  55.   *****
  56. =*|_o_o|\\=====Doug Walker, Software Distiller====== BBS: (919)460-7430 =
  57.  *|. o.| ||                                          1200/2400/9600 Dual
  58.   | o  |//     For all you do, this bug's for you!
  59.   ====== 
  60. usenet: walker@unx.sas.com                            bix: djwalker 
  61. Any opinions expressed are mine, not those of SAS Institute, Inc.
  62.