2013-12-22 50 views
2

我正在嘗試使用ELisp語法 - 表註釋設置Haskell樣式註釋,但我無法完全理解。ELisp語法表註釋Haskell樣式註釋

在Haskell,有2種基本類型的評論

--表示單行註釋結束與\n

{-表示多行註釋與-}結束應當注意的是,這些可以嵌套

多行註釋可以做到這樣:

(defvar my-syntax-table 
    (let ((st (make-syntax-table))) 
    (modify-syntax-entry ?{ ". 1n" st) 
    (modify-syntax-entry ?- ". 23n" st) 
    (modify-syntax-entry ?} ". 4n" st) 
    st)) 

單行註釋可以做到這樣:

(defvar my-syntax-table 
    (let ((st (make-syntax-table))) 
    (modify-syntax-entry ?- ". 12" st) 
    (modify-syntax-entry ?\n ">" st) 
    st)) 

基礎上documentation,我可以設置使用b替代。但是,b適用於序列的第二個字符,在這兩種情況下都是-。因此,當我嘗試將這些替代品結合使用時,就不可能做多行和單行的評論。

我已經看到這樣做,所以我知道這是可能的。但是,我不知道該怎麼做。任何幫助表示讚賞。

回答

1

Haskell的模式使用

 (modify-syntax-entry ?\{ "(}1nb" table) 
     (modify-syntax-entry ?\} "){4nb" table) 
     (modify-syntax-entry ?- "_ 123" table))) 
     (modify-syntax-entry ?\n ">" table)