emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: asking for advice for changing the cfengine.el progmode to support C


From: Ted Zlatanov
Subject: Re: asking for advice for changing the cfengine.el progmode to support CFEngine 3.x
Date: Thu, 30 Jun 2011 13:28:20 -0500
User-agent: Gnus/5.110018 (No Gnus v0.18) Emacs/24.0.50 (gnu/linux)

On Thu, 30 Jun 2011 12:11:16 -0400 Stefan Monnier <address@hidden> wrote: 

>> As it is, except for highlighting string interpolation, it's great for
>> everyday work.  So I want to know if there's any reason to pursue
>> SMIE--what more can it do for this mode--and if there are any other
>> comments on the code.  If not, I'll remove the unnecessary parts, commit
>> it, and make a note in cfengine.el about the newer version.

SM> I don't have time to look further into it.  The strength of SMIE is that
SM> it structures the indentation code in a way that makes it fairly robust
SM> (in terms of indentation when the style is unusual, such as newlines
SM> placed at unexpected places) once it works and also that the most
SM> difficult part is the parsing, but that this then can be used for more
SM> than indentation (e.g. for structural navigation, for blink-matching,
SM> hopefully in the future it will also be used for alignment (in the
SM> sense of M-x align)).

Well, that's why I did the work of extracting the full cfengine 3.x
grammar, so you could see if SMIE made sense or a standard parser was
better.  But it really seems like modifying the standard syntax tables
plus a little bit of indentation logic works OK without SMIE, so I was
asking what else would I get if I put the extra work into writing a SMIE
grammar.

SM> But SMIE is far from perfect and is not meant to be "the one and
SM> only way to do it", so if it doesn't work for you, don't use it.

I want to learn it and use it.  It's just not easy, so please have
patience.  I'm learning OPGs from scratch.

Ted




reply via email to

[Prev in Thread] Current Thread [Next in Thread]