home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1992 March / Source_Code_CD-ROM_Walnut_Creek_March_1992.iso / usenet / altsrcs / 2 / 2312 < prev    next >
Encoding:
Internet Message Format  |  1990-12-28  |  4.0 KB

  1. From: ericv@phoibos.cs.kun.nl (Eric Vos)
  2. Newsgroups: alt.sources
  3. Subject: GLAMMAR: text to text translator generator
  4. Message-ID: <2556@wn1.sci.kun.nl>
  5. Date: 14 Dec 90 15:05:50 GMT
  6.  
  7.  
  8. Archive site: phoibos.cs.kun.nl  (131.174.81.1)
  9. Archive directory: pub/GLASS/glammar.tar.Z
  10.  
  11. (Call for beta test sites)
  12.  
  13.        GLAMMAR  ---- text to text translator generator.
  14.  
  15. Now available for anonymous ftp on "phoibos.cs.kun.nl",
  16.  at the University of Nijmegen (Netherlands).
  17. Glammar is a powerful and efficient text to text translator generator
  18.  for unix based systems.
  19. Glammar descriptions are translated to C.
  20. Applications range from front ends for compilers
  21. to the description of natural languages.
  22. Here is the introduction from the manual (+- 100 pages)  of the 
  23. distribution (included in "dvi" format).
  24.  
  25.  
  26. ++++++++++++++++++
  27.                  1.Glammar: Front end compiler compiler
  28.  
  29.   A number of tools have been developed specifically to help construct transla-
  30. tors. These tools range from scanner and parser generators to complex systems ,
  31. variously called compiler-generators, translator-writing systems or compiler 
  32. compilers. They all require a specification of the source language and target 
  33. machine to produce a compiler for the source language that produces code for 
  34. the target machine. In Glammar, the description of both, the source language and
  35. the associated target machine code, are specified in one same descriptive 
  36. language. The primary advantage of glammar as a compiler compiler is its struct-
  37. ural simplicity. There is no need for the user to make double, losely connected,
  38. specifications, nor the need to program in the traditional imperative style.
  39.   Glammar is perhaps better being defined as syntax-directed text to text \
  40. translation tool or as a pattern transformation language. Usage is not limited 
  41. to the development of (front ends for) compilers.
  42.  
  43.  
  44.              2.EAG,  a language description language
  45.  
  46.   EAG is an acronym of Extended Affix Grammars.  These grammars are an
  47. extension of context free grammars.  We assume the reader has at least some
  48. basic knowledge of context-free grammars. The extensions are:
  49.  
  50.    (1)Affix expressions labeling nonterminals. This allows nonterminals to yield
  51.       results. The results are composed of results of the members of a nontermi-
  52.       nal together with constants and metanonterminals. Second affixes can be
  53.       used for affix directed parsing which make it possible to describe context
  54.       sensitive languages.
  55.    (2)A metalevel.  The metalevel acts as an abstraction mechanism and
  56.       concerning the Glammar lattice feature it can be used as a very efficient
  57.       unification mechanism.
  58.  
  59.  
  60.                    3. Should you use Glammar
  61.  
  62.   Glammar is most generally defined as a pattern transformation language.
  63. Patterns and their transformations are specified together in one uniform 
  64. descriptive language. A grammar defining a pattern need not to be regular, LL 
  65. or LR.  It may even be ambiguous. For simple grammars a parser created by 
  66. glammar is about as efficient as a YACC generated parser.  More complex ones 
  67. usually have more C code in their YACC implementation and therefore gain some 
  68. speed in comparison with Glammar .
  69.   The best comparison is to PROLOG's Definite Claus Grammars. Some differ-
  70. ences are that Glammar
  71.  
  72.     - uses flow symbols
  73.     - has an automatic memorizing option (absolute necessary for linguistic
  74.       grammars)
  75.     - offers finite lattices as a metagrammar (with some well defined operators)
  76.       for very fast unification and finally
  77.     - treats backtracking quite different.
  78.     - directly translates to C.
  79.  
  80.   Glammar is used extensively by people designing and testing grammars for
  81. English, American and Spanish. Glammar is also used in several Esprit projects
  82. at the KU Nijmegen. It is used to implement a parser for Comma (COMputable 
  83. MAthematics) and has been used to implement Glass (General LAnguage for System 
  84. Semantics).
  85.  
  86. ++++++++++++++++++
  87.  
  88. Problems, bugs or comments can be reported to  ericv@cs.kun.nl
  89.  
  90. Enjoy,
  91.  Eric Voss.
  92.