From: Otto Wyss
Subject: wyoEditor and language class browser
Date: 
Message-ID: <1gjel5q.g6fqfz132f4yfN%otto.wyss@orpatec.ch>
I've written an editor (see "http://freshmeat.net/projects/wyoeditor/")
which has a state table driven class browsern. Currently only C++ is
supported but it would be nice if other languages were as well. But for
that I need the help from people with intim knowledge of their language
and hopefully some knowledge of C or C++ as well.

The class browser is a rather hackish solution so far it works quite
nicely for C++. But it has the following restrictions:
- it analyses always just one line and starts anew on the next line
- currently each file is kept separate, might be change in the future
- it's very picky about correct syntax
- the language has to be supported by Scintilla edit control

If you are interested and think it's possbile for your language, first
look if you understand the class browser. The state table "AnalyseInfo"
can be viewed here
"http://cvs.sourceforge.net/viewcvs.py/wxguide/wxGuide/editor/src/prefs.
cpp?view=markup", the analyser inside "ProcessIdentTable" can be viewed
here
"http://cvs.sourceforge.net/viewcvs.py/wxguide/wxGuide/editor/src/edit.c
pp?view=markup".

You may just tell me the relevant syntax parts, or figure out the
complete state table and submit it via the feedback formular here
"http://wxguide.sourceforge.net/index.php?page=feedback.php".

If you have more questions please ask them here, I'm not subscribed but
I read the newsgroup.

O. Wyss

-- 
See a huge pile of work at "http://wyodesktop.sourceforge.net/"

From: Matthew Danish
Subject: Re: wyoEditor and language class browser
Date: 
Message-ID: <20040831202451.GQ8087@mapcar.org>
On Tue, Aug 31, 2004 at 10:05:56PM +0200, Otto Wyss wrote:
> If you have more questions please ask them here, I'm not subscribed
> but I read the newsgroup.

Your self-admittedly ``hackish'' solution is going to be fairly useless
when applied to Lisp.  There are a number of problems with what you
propose:

(1) Lisp isn't line-oriented, it's s-expression oriented.  You should
use the Lisp reader to parse Lisp, not some ad-hoc parsing mechanism.

(2) In the presence of Lisp macros, forms defining classes can be quite
different-looking than expected.  The best way to query for class
information is by asking the Lisp environment directly, since it is
image-based.  Properties of classes can be obtained through parts of the
Meta Object Protocol that are either standard or present in some system
library.

(3) Lisp is a lot more dynamic than C++, and has different notions about
classes and objects.  This will probably conflict with assumptions made
in a C++-centric class browser.  Of course, if you are looking to clean
out these assumptions (if it is possible), this might be one way.

(4) No Lisp programmer is going to want to edit C++ code ;-)

(5) Support for s-expressions and integration with a Lisp environment is
essential for any Lisp editor, to do real work.  You have a long way to
go, to catch up to the capabilities of say, Emacs with SLIME.

Good luck,

-- 
;;;; Matthew Danish -- user: mrd domain: cmu.edu
;;;; OpenPGP public key: C24B6010 on keyring.debian.org
From: David Steuber
Subject: Re: wyoEditor and language class browser
Date: 
Message-ID: <87fz623i09.fsf@david-steuber.com>
Matthew Danish <·······@andrew.cmu.edu> writes:

> (4) No Lisp programmer is going to want to edit C++ code ;-)

Back in my C++ daze, I thought just the opposite. Now I find that Lisp
is the only language I want to program in.

> (5) Support for s-expressions and integration with a Lisp environment is
> essential for any Lisp editor, to do real work.  You have a long way to
> go, to catch up to the capabilities of say, Emacs with SLIME.

Doesn't everyone have that catch up problem?  Or is there something
better than Emacs + SLIME out there?  I mean for standard machines
like my Mac or an x86 Linux machine of course.

-- 
An ideal world is left as an excercise to the reader.
   --- Paul Graham, On Lisp 8.1
From: Otto Wyss
Subject: Re: wyoEditor and language class browser
Date: 
Message-ID: <1gjgen6.crsg7kuufwboN%otto.wyss@orpatec.ch>
Matthew Danish <·······@andrew.cmu.edu> wrote:

> On Tue, Aug 31, 2004 at 10:05:56PM +0200, Otto Wyss wrote:
> > If you have more questions please ask them here, I'm not subscribed
> > but I read the newsgroup.
> 
> Your self-admittedly ``hackish'' solution is going to be fairly useless
> when applied to Lisp.  There are a number of problems with what you
> propose:
> 
Thanks for the informations.

O. Wyss

-- 
How to enhance your code, see "http://freshmeat.net/projects/wxguide/"