Emacs自定义语法分析

Emacs custom syntactic analysis

在 emacs 中,句法分析出奇的少。

例如,如果我希望缩进参数名称不同于函数声明中的类型,如下所示:

void myfunction(
    int
        test
);

int 被认为是 arglist-introtest 被认为是 arglist-cont。但是,如果我添加更多参数,它们都将被视为 arglist-cont,因此缩进 arglist-cont 不会达到预期的效果。

所以这就是我想知道的:是否可以为 emacs 进行我自己的语法分析,以便它能够识别和区分这样的情况(顺便说一下,这不是唯一的情况)?如果是,怎么做?

是的,当然可以随便写。 Emacs 是 free software,它自带源码,所以你可以随意修改它们。

但是,请注意 Emacs 的使用非常广泛,包括一些非常聪明的人 hackers。这意味着 Emacs 限制 通常 (但当然,并非总是如此!)背后有充分的理由(在您的情况下,原因是 C 语法非常复杂)。这意味着做你想做的事可能比你想象的要难。当然,这并不是说它会让您气馁!

PS。您问的是“是否有可能 进行我自己的句法分析”,而不是“如何 做到这一点”:-)

PPS。至于“how”,你得从cc-engine.el开始。