Related articles |
---|
Make an editor for a language dfsgm@tin.it (Davide Marino) (1999-02-27) |
Re: Make an editor for a language dwight@pentasoft.com (1999-02-28) |
Re: Make an editor for a language anton@mips.complang.tuwien.ac.at (1999-03-02) |
Re: Make an editor for a language maratb@CS.Berkeley.EDU (Marat Boshernitsan) (1999-03-02) |
Re: Make an editor for a language heinrich@idirect.com (Kenn Heinrich) (1999-03-02) |
Re: Make an editor for a language dontspamger@informatik.uni-bremen.de (George Russell) (1999-03-04) |
Re: Make an editor for a language mzraly@world.std.com (1999-03-04) |
From: | anton@mips.complang.tuwien.ac.at (Anton Ertl) |
Newsgroups: | comp.compilers |
Date: | 2 Mar 1999 14:06:50 -0500 |
Organization: | Institut fuer Computersprachen, Technische Universitaet Wien |
References: | 99-02-130 |
Keywords: | tools |
"Davide Marino" <dfsgm@tin.it> writes:
> I need make an editor for a programming language. It would be capable
> of color tokens according their lexical value. ...
One idea for dealing with this for an FSA-based scanner is to remember
the state between any two characters. After a change, you start
running the FSA from the first changed character, and then continue
until the state synchronizes with the stored state. You can defer
this operation for off-screen stuff until it becomes on-screen.
If your lexical analysis requires something like lex' lookahead
feature, things become complicated, though. And I have no idea how to
coerce lex/flex to support this scheme.
> My idea is to mantain in
> memory all the text in this form:
>
> - there is a double linked list with one element for each line of text
> with a link to the line after and before.
I tried that and failed. A much better representation in my
experience is the plain character array with a hole at the cursor.
AFAIK emacs uses this data structure; I have also seen it described in
several places, but don't remember where.
- anton
--
M. Anton Ertl Some things have to be seen to be believed
anton@mips.complang.tuwien.ac.at Most things have to be believed to be seen
http://www.complang.tuwien.ac.at/anton/home.html
Return to the
comp.compilers page.
Search the
comp.compilers archives again.