在Emacs中的Verilog文件中嵌入Python代码



我正在进行一个项目,需要在Verilog文件中嵌入Python。Python并不是真正用于正常意义上的执行,因为它将由辅助工具读取。Python将编写具有一些固定分界的块(如org.babel中的#+BEGIN_SRC)。

module name ();
#+BEGIN_SRC python
def my_function ():
...
#+END_SRC
always @(posedge clk)
...
endmodule

在Emacs中,这会造成严重破坏,尽管Python模式和Verilog模式运行良好,但当将两者组合在同一个文件中时,事情会像预期的那样迅速崩溃。缩进和语法高亮显示一样被彻底破坏了。我知道这是一件非常奇怪的事情,我也知道在正常情况下几乎肯定不会有任何真正的必要这样做,但对于这种特殊情况来说,这是必要的。

我的问题是:Emacs中是否有在同一文件中指定多个主要模式的功能。例如,是否有某种方法可以使用Verilog模式作为主要模式来编写文件,但在预定义的块中使用Python模式,然后在文件重置时忽略这些块。

这里列出了许多可能性:

http://emacswiki.org/emacs/MultipleModes

我使用了多模式乳胶和haskell,它工作正常

最新更新