2013-11-15 6 views
5

सामान्य लिस्प में मैक्रोज़ पढ़ें, "मैक्रोज़ पढ़ें" हैं जिनका प्रयोग लिस्प कोड में सिंटैक्स को पार्स करने के लिए किया जा सकता है।योजना

  1. क्या यह संभव है/शुद्ध योजना में इसे कैसे कार्यान्वित किया जाए?
  2. कौन सा और कार्यान्वयन इस का समर्थन करता है?
+1

शुद्ध योजना नहीं है, लेकिन रैकेट में उन्हें है: http://docs.racket-lang.org/reference/Reader_Extension.html – uselpa

+1

चूंकि एक पाठक मैक्रो को आपके पार्सर में हुक की आवश्यकता होगी, तो शायद इसे लागू करने की आवश्यकता होगी आप जिस योजना का उपयोग कर रहे हैं। आईई, आप इसे शुद्ध योजना में लागू नहीं कर सकते हैं जबतक कि आप अपना खुद का पार्सर नहीं बना रहे। –

उत्तर

2

दिमाग में आने वाला एकमात्र अर्द्ध पोर्टेबल तरीका SRFI-10 रीडर मैक्रोज़ का सीमित रूप है। इन्हें एक तेज संकेत और एक अल्पविराम से शुरू करना है, और फिर एक सूची अभिव्यक्ति जो एक प्रतीक के साथ शुरू होती है जो रीड-टाइम कन्स्ट्रक्टर की पहचान करती है।

चिकन रीडर मैक्रो हुक के रूप में arbitrary characters का उपयोग करने के लिए समर्थन भी प्रदान करता है।