[comp.compilers] structure editors

dalamb@qucis.queensu.ca (David Lamb) (07/05/89)

Can anyone point me to references in the open literature that supplies
evidence one way or the other on the following question:

I've heard people claim that "structure editors" that provide only
editing operations corresponding to creating portions of an abstract
syntax tree are inferior in user-friendliness to "text editors" that
let people type the way they're used to, especially if the "text
editor" provides operations that let you fill in boilerplate when you
choose to do so.  Is there any evidence, other than anecdotal, one way
or the other on this question?

I'm hoping to invest some of my research assistants' time this year in
extending my batch-style compilation tools to assist in building
interactive compiler-like programs, so would like to decide which
approach to take fairly soon.

David Alex Lamb
Department of Computing and Information Science
Queen's University
Kingston, Ontario, Canada K7L 3N6
(613) 545-6067

ARPA Internet:	David.Lamb@cs.cmu.edu
		dalamb@qucis.queensu.ca
uucp:   	...!utzoo!utcsri!qucis!dalamb

[This used to be quite a hot topic of debate.  Personally, I tend toward
the text approach, see "Z - the 95% program editor," by Steve Wood in the
proceedings of an ACM text processing conference about 1981.  The arguments
in favor of the structure editors is that the editor always knows what's going
on, the program being edited is always syntactically correct except for leaf
nodes that haven't been filled in yet.  The argument in favor of the text
approach is that there are a lot of operations that are easy to do as text
editing but hard as structure editing, e.g. changing (a-b)-c to a-(b-c), and
the cost of parsing on demand is low enough not to be a problem.  I've seen
plenty of papers describing various kinds of editors, but none trying to
compare them.  Has anyone else?  -John]
--
Send compilers articles to compilers@ima.isc.com or, perhaps, Levine@YALE.EDU
Plausible paths are { decvax | harvard | yale | bbn}!ima
Please send responses to the originator of the message -- I cannot forward
mail accidentally sent back to compilers.  Meta-mail to ima!compilers-request

brad@looking.on.ca (Brad Templeton) (07/05/89)

I wrote the only structure editor to make a major venture in the commercial
market (Alice Pascal) and from that I learned a couple of things:

	a) You have to mix structure and text.  An incremental parser for
	   expressions is not too bad on the implementation side, and does
	   most of the basic problems.

	b) A few simple transmog operators for the larger structures can
	   do the rest.

	c) True incremental parsing is usually slow unless you really work
	   on it.  Not ok for the PC style machines found in many labs.

	d) Don't try a structure editor to the mass market.  Stick to your
	   niche.
---
Brad Templeton, Looking Glass Software Ltd.  --  Waterloo, Ontario 519/884-7473
[I looked at Alice Pascal when it came out, and although it did what it did
very well, somehow its improvements over conventional development editors
were never compelling enough to make me want to switch.  Oh, well.  -John]
--
Send compilers articles to compilers@ima.isc.com or, perhaps, Levine@YALE.EDU
Plausible paths are { decvax | harvard | yale | bbn}!ima
Please send responses to the originator of the message -- I cannot forward
mail accidentally sent back to compilers.  Meta-mail to ima!compilers-request

skoenig@a.gp.cs.cmu.edu (Sven Koenig) (11/12/90)

I am trying to survey completed and on-going projects for building
programming language source text editors (structure editors), both of
the template approach variety (like Gandalf or the Cornell Program
Synthesizer) and of the recognizer approach variety (i.e. based on
incremental syntax analysis), and integrating them in a programming
environment. At the same time I am trying to get an overview over
methods for doing incremental syntax analysis and incremental semantic
analysis.

I would like to get an as complete overview as possible. Any pointers
to the literature (in English or German) are greatly appreciated.

Thanks,

Sven  (skoenig@cs.cmu.edu)
-- 
Send compilers articles to compilers@iecc.cambridge.ma.us or
{ima | spdcc | world}!esegue!compilers.  Meta-mail to compilers-request.

G.Moretti@massey.ac.nz (Giovanni Moretti) (11/14/90)

Sven
My masters thesis was on the implementation of a syntax directed
editor that would parse an Extended  BNF definition of a language and
thereafter act as a template-oriented structure editor for the
language.  It worked quite well with syntaxes for Pascal, LISP,
SNOBOL and a hardware description language being used as examples.

The thesis was entitled:

    "GED - A Generalised Syntax Editor" by G.S.Moretti, 
    Massey University, 
    Palmerston North, 
    New Zealand, 1984.

The syntax was extended to allow the embedding of prettyprinting
commands.  

I'm unfamiliar with the procedure for getting hold of a copy of the thesis.
As far as I know, its the sort of thing that libraries have special
arrangements for :-). 

Cheers
Giovanni

-- 
Giovanni Moretti, Consultant       | G.Moretti@massey.ac.nz, Pkt-ZL2BOI@ZL2BFJ
Computer Centre,  Massey University| Ph 64 63 69099 x8398, FAX 64 63 505607
Palmerston North, New Zealand      | 
-- 
Send compilers articles to compilers@iecc.cambridge.ma.us or
{ima | spdcc | world}!esegue!compilers.  Meta-mail to compilers-request.