2011-05-07 92 views
1

我希望通過emacs編譯hSpice pva。 但是,編譯模式不能正確解析輸出。爲emacs編譯模式捕獲pva多行編譯器輸出

這是錯誤消息中的PVA編譯器生成(在pvaE部分):

Parsing include file 'include/constants.vams' 
Parsing include file 'include/disciplines.vams' 
*pvaE* Syntax error, unsupported syntax or illegal keyword at/before 'vco_cal_dec' 
    file "/my/path/to/file/veriloga.va", line# 226 

    (ari_var>=0 ari_var<= 7) : ari_var2=16; 
      ^

這是無法捕捉上述輸出編譯模式設置:

(defvar verilog-compilation-error-regexp-alist '("^\*pvaE\* .+\n\s+file \"\\(.+\\)\", line# \\([0-9]+\\)" 1 2)) 
(add-to-list 'compilation-error-regexp-alist verilog-compilation-error-regexp-alist) 

幫助固定這正則表達式將非常感謝!

回答

1

字符串中的空格語法錯誤。應該是「\\ s- +」而不是「\ s +」。

+0

另外'\ *'應該是'\\ *'。在Emacs中,字符串文字語法和regexp語法完全獨立,因此您需要在正則表達式中使用反斜槓,並使用另一個反斜槓來保護字符串文字。 – Gilles 2011-05-08 10:01:42

+0

仍然不起作用... – 2011-05-09 12:24:24