我想使用 Quasiquotes 將我的新語言添加到 Haskell,但語言本身|]用作關鍵字。
有沒有辦法,如何:
a) Escape |],所以它被傳遞給我的語言
b)讓我的語言的決議器決定,什么時候準參考結束
謝謝。
uj5u.com熱心網友回復:
簡短的回答:稍微修改嵌入式語言。
QuasiQuoters的用戶指南解釋說,不能對 進行轉義|]:
參考的
?string?結束于雙字符序列的第一次出現"|]"。絕對不進行轉義。如果您想將該字符序列嵌入到字串中,您必須發明自己的轉義約定(例如,使用字串"|~]"代替),并將您的參考函式解釋"|~]"為"|]".
您的決議器無法確定準參考器何時結束,因為子字串被傳遞給在該部分之后和該部分之前開始的準參考器。[quasiquoter|……|]
因此,您應該稍微改變您的語言,例如使用翻譯|~](不被視為準引號字串的結尾)的前處理器來|]代替。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/418701.html
標籤:
上一篇:如何使用鏈繼承C 解決這個問題?
