Experiences with gentle: Efficient compiler construction based on logic programming
Gentle [Schröer 89] is a compiler description language in the tradition of two level grammars [Koster 71] and logic programming [Warren 80]. It provides a common declarative notation for high level description of analysis, transformation, and synthesis. Imperative constructs like global variables and dynamic arrays, needed for efficient compiler construction, are introduced as well. A tool has been implemented to check the wellformedness of Gentle descriptions, and to generate very fast (generation speed 260.000 lines per minute) very efficient compilers (compilation speed nearly 90.000 line per minute on Dec 3100 workstation). The language and a supporting tool were designed and implemented by F.W. Schröer in 1989.
- [Koster 71]C.H.A Koster. Affix grammers. In J.E.L Peck, editor, ALGOL 68 Implementation, pages 95–109. North Holland, 1971.Google Scholar
- [Schröer 89]F.W. Schröer. Gentle. In J. Grosch, F.W. Schröer, and W.M. Waite, editors, Three Compiler Specifications, GMD — Studien Nr. 166, pages 31–36. Gesellschaft für Mathematik und Datenverarbeitung, Forschungsstelle Karlsruhe, August 1989.Google Scholar
- [Vollmer 91]Jürgen Vollmer. A tutorial on gentle. Arbeitsberichte der GMD Nr 508, GMD, German National Research Center for Computer Science, Vincenz-Prießnitz-Straße 1, D-7500 Karlsruhe-1, February 1991.Google Scholar
- [Warren 80]David H.D. Warren. Logic programming and compiler writing. Software-Practice and Experience, 10:97–125, 1980.Google Scholar