2013-11-15 48 views
5

在通用Lisp中,有「讀取宏」可用於將語法解析爲Lisp代碼。在方案中讀取宏

  1. 是否可以/如何在純Scheme中實施?
  2. 哪些和如何實現支持這?
+1

不是純粹的方案,但球拍有它們:http://docs.racket-lang.org/reference/Reader_Extension.html – uselpa

+1

由於閱讀器宏需要掛鉤到您的解析器,它可能需要由您正在使用的計劃。 IE,你可能無法在純方案中實現它,除非你正在構建你自己的解析器。 –

回答

2

想到的唯一的半便攜式方式是通過SRFI-10的有限形式的閱讀器宏。這些必須以一個尖銳的符號和一個逗號開始,然後是一個以標識讀取時間構造函數的符號開頭的列表表達式。

CHICKEN還提供對使用arbitrary characters作爲閱讀器宏鉤子的支持。