Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cdt-dev] Objective-C (was: How to extend the C99 / GCC LR Parser)

There is some support already (eg treating @ as a valid identifier) at the scanner. I think the parser needed more work because there are some tokens (such as [obj msg]) that can't be handled by a config change. 

Since then there has also been block support added to the language and properties which complicate things slightly. 

I have been hoping to spend some time looking at getting the old objc stiff hooked up with github but haven't got around to it yet. 

Alex

Sent from my (old) iPhone

On 8 Jul 2011, at 16:11, "Schaefer, Doug" <Doug.Schaefer@xxxxxxxxxxxxx> wrote:

> Hi Markus,
> 
> Any thoughts about handling Objective-C this way, or is it just too big a change? There is interest in the community to pursue it, how would you recommend they proceed?
> 
> Thanks,
> Doug.
> 
>> -----Original Message-----
>> From: cdt-dev-bounces@xxxxxxxxxxx [mailto:cdt-dev-bounces@xxxxxxxxxxx]
>> On Behalf Of Schorn, Markus
>> Sent: Friday, July 08, 2011 2:22 AM
>> To: CDT General developers list.
>> Subject: Re: [cdt-dev] How to extend the C99 / GCC LR Parser
>> 
>> Hi Sebastian,
>> While extending the parser is a valid option, it will be much easier, if you
>> manage to configure the existing parser.
>> Clearly, it is not possible to handle every language extension in that way, but
>> it may work in your case.
>> For instance, depending on what __data16 does, I would try to map it to
>> either 'short' or to the empty token.
>> 
>> To configure the existing parser you need to subclass GCCLanguage and
>> provide a customized IScannerExtensionConfiguration and/or
>> ICParserExtensionConfiguration.
>> 
>> Markus.
>> 
>> -----Original Message-----
>> From: cdt-dev-bounces@xxxxxxxxxxx [mailto:cdt-dev-bounces@xxxxxxxxxxx]
>> On Behalf Of Sebastian Wagner
>> Sent: Thursday, July 07, 2011 17:11
>> To: cdt-dev@xxxxxxxxxxx
>> Subject: [cdt-dev] How to extend the C99 / GCC LR Parser
>> Importance: Low
>> 
>> Hello all,
>> 
>> I am working on a parser for a C based language which contains some small
>> extensions, e.g. special type qualifiers. Therefore I would like to extend the
>> C99 or GCC LR Parser.
>> 
>> I read a lot of content in the web and CDT source code. I managed to
>> generate the Parser from the grammar file and I'm able to compile the
>> generated files. I also understood that today the lexer is not generated using
>> the LPG, but is a part of the preprocessor.
>> 
>> Now, nevertheless I didn't get the complete overview where I need to do
>> changes if for instance I want to add a new type qualifier "__data16". Do I
>> have to do modifications on the preprocessor and do I do that? I think
>> keywords can be added using the ScannerExtensionConfiguration, but I don't
>> know how to do this correctly. Do I also need to do adaptations to the AST?
>> 
>> It would be great if one of you could give me a short overview in which
>> modules I need to do modifications, so that I understand the behavior
>> better.
>> 
>> Thanks in advance!!
>> 
>> 
>> Sebastian Wagner
>> 
>> __________________________________________________________
>> _
>> Schon gehört? WEB.DE hat einen genialen Phishing-Filter in die Toolbar
>> eingebaut! http://produkte.web.de/go/toolbar
>> _______________________________________________
>> cdt-dev mailing list
>> cdt-dev@xxxxxxxxxxx
>> https://dev.eclipse.org/mailman/listinfo/cdt-dev
>> _______________________________________________
>> cdt-dev mailing list
>> cdt-dev@xxxxxxxxxxx
>> https://dev.eclipse.org/mailman/listinfo/cdt-dev
> _______________________________________________
> cdt-dev mailing list
> cdt-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/cdt-dev


Back to the top