[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Proposal: ObjectiveC parser framework
From: |
Stefan Urbanek |
Subject: |
Re: Proposal: ObjectiveC parser framework |
Date: |
Wed, 23 Jul 2003 21:06:34 +0200 |
On 2003-07-23 20:25:51 +0200 Alexander Malmberg <alexander@malmberg.org> wrote:
Stefan Urbanek wrote:
Hi,
First, excuse me for a little flood today.
What do you think about extracting objective-c parsing code from
autogsdoc into a separate framework?
afaict, autogsdoc is highly specific to extracting only the information
that it needs. I doubt that it'd be worthwhile to try to extend it much.
<snip>
Note that there are many ways of parsing code. Mostly, it hinges on
whether you want to parse things properly, or if you'd rather deal with
code in the form that the developer sees it. A proper parser is "better"
in the sense that it will properly parse all code, but it comes at the
price of the code not necessarily looking much like the code the
developer sees, and generating code from the parsed form is very hard or
impossible.
true.
A crude way of classifying them would be to look at whether they run cpp
on the source or not.
no problem. there should be more parsers fror the framework. each parser
parsing information you need.
parser = [DKSourceParser properObjectiveCParser];
or
parser = [DKSourceParser documentationObjectiveCParser];
each should generate class/object trees with different level of information
completeness. This will enable others to create various parsers that can parse,
for example, additional 'attributes' of some variables, say:
@interface MyClass
{
NSString *myString; /* ATTRIBUTES: retained */
}
@end
Even i am not going to use such oddities, there shold be someone who would like
to have such thing.
I had autogsdoc in mind, because it is kind of parser, that canm give you some
basic information about source files (name of class, ivars, methods and even
the documentation). That is quite sufficient to generate basic class
definitions.
The parser does not to have to be perfect. it just have to fit your needs for
particuliar task.
(rest snipped).
Stefan
p.s.: any voulenteers with free time to create a prototype? can be a nice objc
programming practice.