home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #19 / NN_1992_19.iso / spool / comp / compiler / 1472 < prev    next >
Encoding:
Internet Message Format  |  1992-08-30  |  3.5 KB

  1. Path: sparky!uunet!ulowell!news.bbn.com!olivea!mintaka.lcs.mit.edu!spdcc!iecc!compilers-sender
  2. From: Paul.Klint@cwi.nl (Paul Klint)
  3. Newsgroups: comp.compilers
  4. Subject: Re: Online Bibliography for Macro Processors for HL languages sought.
  5. Keywords: macros, bibliography, specification
  6. Message-ID: <92-08-172@comp.compilers>
  7. Date: 28 Aug 92 14:32:05 GMT
  8. References: <92-08-152@comp.compilers>
  9. Sender: compilers-sender@iecc.cambridge.ma.us
  10. Reply-To: Paul.Klint@cwi.nl (Paul Klint)
  11. Organization: CWI, Amsterdam
  12. Lines: 73
  13. Approved: compilers@iecc.cambridge.ma.us
  14.  
  15. daniel@dolores.stanford.edu (Daniel Weise) writes:
  16. > I've been doing research on adding syntax macros to modern languages.
  17. > ...
  18. > PS. if anyone is working in this field (it's only been abandoned
  19. > now for about 15 years!), I'd like to know of it.
  20. >
  21. > PPS. "Syntax Macros" are macros that run during parse time, and where
  22. > the matching, substitutions, and manipulations are based on AST's, not
  23. > on character strings.
  24.  
  25. Well Daniel, in a disguise you might not recognize at first sight, we have
  26. been working on this topic over the last years. Instead of extending a
  27. *programming* language with syntax definition facilities, we added syntax
  28. definition facilities to a *specification* language (ASF) based on
  29. conditional rewrite rules.
  30.  
  31. The rewite rules themselves are based on the matching and replacement of
  32. abstract terms (= trees).  The syntactic extensions are obtained as
  33. follows:
  34.     (1) The desired syntax is defined. The definition formalism used
  35.         (SDF)---and its implementation---are based on general
  36.         context-free parsing and thus allows you to define an
  37.         arbitrary context-free grammar.
  38.     (2) The mapping between concrete and abstract syntax is implicit,
  39.         i.e., there is a fixed correspondence between strings and
  40.         abstract syntax trees.
  41.  
  42. The resulting formalism (ASF+SDF) has the complete expressive power of
  43. conditional rewrite rules with additional benefits of user-defined syntax.
  44. We use it to define the formal syntax and semantics of "formal languages"
  45. (e.g., programming and specification languages, application languages).
  46.  
  47. At the implementation level, we use lazy/incremental techniques for the
  48. generation of scanners and parsers. In this way, ASF+SDF specifications
  49. can be edited interactively while their corresponding implementation is
  50. kept up-to-date.
  51.  
  52. You can find further information on this work in:
  53.  
  54.     J. A. Bergstra, J. Heering, and P. Klint (eds),
  55.     Algebraic Specification,
  56.     ACM Frontier Series, The ACM Press in cooperation with
  57.     Addison-Wesley, 1989.
  58.     (See in particular Chapters 6-9).
  59.  
  60.     J. Heering, P.R.H. Hendriks, P. Klint and J. Rekers,
  61.     The syntax definition formalism SDF -- reference manual,
  62.     SIGPLAN Notices 24(11):43-75, 1989.
  63.  
  64.     J. Heering, P. Klint and J. Rekers,
  65.     Incremental generation of parsers,
  66.     IEEE Transaction on software engineering 16(12):1344-1351,1990.
  67.  
  68.     J. Heering, P. Klint and J. Rekers,
  69.     Incremental generation of lexical scanners,
  70.     to appear in october issue of ACM TOPLAS, 1992.
  71.  
  72.     P. Klint,
  73.     A meta-environment for generating programming environments,
  74.     In J.A. Bergstra and L.M.G. Feijs (eds), Proceedings of the
  75.     METEOR workshop on Methods Based on Formal Specification,
  76.     Springer LNCS Vol. 490, 105-124, 1991.
  77.     (Revised version submitted to ACM TOSEM)
  78.  
  79.     J. Rekers,
  80.     Parser generation for interactive environments,
  81.     PhD Thesis, University of Amsterdam, 1992.
  82.  
  83.  
  84. Paul Klint
  85. -- 
  86. Send compilers articles to compilers@iecc.cambridge.ma.us or
  87. {ima | spdcc | world}!iecc!compilers.  Meta-mail to compilers-request.
  88.