Xref: utzoo comp.editors:281 comp.software-eng:720 Path: utzoo!utgpu!attcan!uunet!lll-winken!lll-lcc!ames!ucsd!ucsbcsl!bertrand From: bertrand@hub.ucsb.edu (Bertrand Meyer) Newsgroups: comp.editors,comp.software-eng Subject: Re: Language-based editors Summary: Multi-language structural editor: Cepage Message-ID: <729@hub.ucsb.edu> Date: 31 Jul 88 02:31:11 GMT References: <2135@mhres.mh.nl> Organization: University of California, Santa Barbara Lines: 53 This is a follow-up to <2135@mhres.mh.nl>, where ml@mhres.mh.nl (Marco Luiten) writes: > I am looking for product information about language-based editors. > > (...) > > I only know of one such product: The Synthesizer Generator from the > Cornell University. > > 1. How and where can I order this Synthesizer Generator? > 2. Are there any similar products available? I believe our Cepage editor fulfils the stated criteria. This is a commercial product. Cepage is certainly WYSIWIG (although it works for character-oriented terminals and does not use graphics or the mouse for the moment). It supports both structural (menu-driven) entry and keyboard input (which is parsed). For keyboard-driven input, a text editor is included. In this mode, you may skip parsing if you want to enter temporarily incorrect input; you can come back later on, correct or complete your entry, and have it parsed then. An important aspect of the Wysiwig aspect is the presence of a completely automatic algorithm for document formating (including indentation, adaptation to the available window space, layout etc.). The algorithm was described in a rather extensive article by myself, J-M Nerson and Soon-Hae Ko in Science of Computer Programming, 1985. (Sorry, I don't have the exact issue and page numbers offhand but they should be easy to find.) The article describes the formatting algorithm and provides parts of a formal proof. The most original aspect of Cepage is the ease of adaptation to any language. Grammars are described in a simple formalism called LDL (Language Description Language). There is no restriction such as LR (k) or similar. Grammars can be written quickly and then changed easily, to accommodate local variants or specific programming or documentation styles. The system comes with pre-written grammars for Pascal, C, Troff, Lisp, Ada, Fortran. As the Troff example shows, the applications of Cepage are not restricted to programming languages; for example you can apply it to standardized technical documentation. The system is written in the Eiffel object-oriented language and runs wherever Eiffel runs, which means Unix (Sun, Apollo, Ultrix, HP etc.) and, soon, VAX-VMS. Various references have been published on an older version of Cepage, including the one mentioned above and a paper called ``Cepage: A Software Design Tool'' that I published in Computer Language, September 1986. We have more up-to-date reports of which I can send copies on request. Bertrand Meyer Interactive Software Engineering Inc. 270 Storke Road Suite 7 Goleta, CA 93117 - (805) 685-1006