Xref: utzoo comp.lang.c:20548 comp.editors:904 Path: utzoo!attcan!uunet!mcvax!hp4nl!phigate!prle!prles2!cstw01!meulenbr From: meulenbr@cstw01.prl.philips.nl (Frans Meulenbroeks) Newsgroups: comp.lang.c,comp.editors Subject: Re: survey of query for syntax directed editors Message-ID: <642@prles2.UUCP> Date: 10 Aug 89 09:22:21 GMT References: <640@prles2.UUCP> Sender: nobody@prles2.UUCP Reply-To: meulenbr@cstw01.prl.philips.nl (Frans Meulenbroeks) Organization: Centre for Software Technology, Philips Eindhoven Lines: 75 Oops. I noticed that I forgot a few messages in my survey. Here they are. Frans Meulenbroeks (meulenbr@cst.prl.philips.nl) Centre for Software Technology ( or try: ...!mcvax!phigate!prle!cst!meulenbr) ------------------------------------- From hp4nl!hp4nl.nluug.nl!cs.nott.ac.uk!al@phigate Fri Aug 4 08:13:01 1989 Hi! John Wilson and I wrote a syntax-directed editor (PED) in the late 1970's and early 1980's. A few details have been added and improved since then, but basically it's been collecting dust. It runs under UNIX and is language- independent -- each language you use it for needs abstract and concrete (or combined) syntax specifications. So far it has such specifications for Pascal, C, Modula-2, Ada, and Algol 68 (without formats). The Pascal specification is the only really polished one, though. Improving the specification has a great impact on the use of the editor. I am using PED as a test-bed for other ideas, but we have no plans to release it as we haven't the manpower to polish it up and to fill in all the missing areas (no code generation!). In any case there are better examples around now. PED is a pure synthesising editor; although there's a parser for Pascal programs, there is no incremental parsing in PED. More modern syntax-directed editors allow either text input or structure specification at any stage. In structure mode, errors are prevented; in text mode, they are immediately detected. See, for example, "The PSG System: From Formal Language Definitions To Interactive Programming Environments" by Rolf Bahlke and Gregor Snelting (Technical University of Darmstadt) in ACM Transactions on Programming Languages and Systems, Vol 8, No 4, October 1986, pp. 547-576. I wouldn't recommend using a pure synthesising editor for C. With Pascal, the long names used as syntactic signposts (e.g. "procedure", "begin") make pure synthesis likely to save keystrokes; not so in C. Also, in Pascal, the rigid outer syntax forces a top-down expansion that the syntax-directed editor can lead; in C, there is so much choice at the top level that the editor cannot provide a visible skeleton framework for the program expansion. I think this effect arises when the syntax is less constraining generally -- you wouldn't find syntax-directed editors very helpful in assembly-language programming. I expect you know about the work at Carnegie Mellon and at Cornell. Good luck with your enquiry, Anne Lomax. ------------------------------------------------------------------------------ Dr Anne Lomax | JANET: al@uk.ac.nott.cs Computer Science Department | ARPA: al%nott.cs@ucl-cs.arpa University of Nottingham, U.K. | UUCP: mcvax!ukc!nott.cs!al ------------------------------------------------------------------------------ ------------------------------------ From hp4nl!hp4nl.nluug.nl!cs.glasgow.ac.uk!jack@phigate Fri Aug 4 13:16:21 1989 There is a thing called "Leif" which is a syntax-directed editor generator that outputs macro packages for Gnu Emacs. It's in the comp.sources.unix archives somewhere. best wishes - jack -- Jack Campin * Computing Science Department, Glasgow University, 17 Lilybank Gardens, Glasgow G12 8QQ, SCOTLAND. 041 339 8855 x6045 wk 041 556 1878 ho INTERNET: jack%cs.glasgow.ac.uk@nsfnet-relay.ac.uk USENET: jack@glasgow.uucp JANET: jack@uk.ac.glasgow.cs PLINGnet: ...mcvax!ukc!cs.glasgow.ac.uk!jack Frans Meulenbroeks (meulenbr@cst.prl.philips.nl) Centre for Software Technology ( or try: ...!mcvax!phigate!prle!cst!meulenbr)