BNF grammar for D?
Kingsley via Digitalmars-d
digitalmars-d at puremagic.com
Tue Dec 16 16:35:49 PST 2014
On Tuesday, 16 December 2014 at 23:25:02 UTC, Kingsley wrote:
> On Monday, 27 October 2014 at 22:40:20 UTC, landaire wrote:
>> On Monday, 27 October 2014 at 22:35:16 UTC, Jeremy Powers via
>> Digitalmars-d wrote:
>>> This looks eerily familiar...
>>>
>>> I took a stab at an Intellij plugin a long time ago, and
>>> happened to pick
>>> the same name:
>>>
>>> https://github.com/elendel-/intelliD
>>>
>>> Been meaning to pick back up again, but haven't had the
>>> chance... was
>>> waiting for the Eclipse plugin code to mature, then got
>>> distracted. Feel
>>> free to take anything that looks useful.
>>>
>>>
>>> Brian Schott (Hackerpilot) has done a lot of useful work
>>> grammar wise. See:
>>>
>>> https://github.com/Hackerpilot/DGrammar
>>>
>>> An interesting path to take for an intellij plugin would be
>>> to use his
>>> DCD/libdparse for all the heavy lifting, with the plugin just
>>> farming out
>>> the work to external daemon process(es). That would avoid
>>> having yet
>>> another lexer/parser implementation to keep up to date.
>>>
>>
>> I actually forked yours originally to get it running in IDEA
>> 14, then decided to mess with the lexer since it was causing
>> some problems and went off from there. I saw it was somewhat
>> inactive and tried contacting you, but couldn't find any of
>> your contact info anywhere! Glad to see you turned up here.
>
> Hi guys,
>
> I have been working on an intellij plugin which is here:
> https://github.com/kingsleyh/DLanguage
>
> I only started learning D a couple of weeks ago and I haven't
> written an intellij plugin before - and also I'm not very
> familiar with parsing/lexing.
>
> On my first pass - I got all the infrastructure working - e.g.
> run configurations, project creation, file creation etc. And
> I'm working on a BNF and JFlex by hand - but I realise it will
> take some time - so I have a branch which implements the DDT
> parser/lexer so I could get something working while I work on
> the bnf - however it breaks the contextual run configurations -
> which is pretty much essential for the plugin to be useful.
>
> I'd like to get the DDT parser/lexer working but I'm not really
> sure where to go from where I am now. My DDT branch is called
> with_ddt.
>
> If anyone has any pointers to what I need to do next that would
> be very helpful - even in terms of reading or reference
> material. I guess it all comes down to the DParserDefinition
> class - as my master branch uses a FlexAdapter which gives
> access to the context. But in the with_ddt branch its just
> using the DParser - which I think needs to have the hooks into
> the AST tree implemented or something like that.
>
> Anyway let me know if you have any pointers or offers of help :)
>
> --K
Actually I guess what I need is a way to make the PSI structure.
I'm not sure how I would do that with the DDT code I have
imported.
More information about the Digitalmars-d
mailing list