के साथ लिस्प कोड को संकलित करना मुझे बाइट कोड या फ़ाइल को उस मामले के लिए एक fasl फ़ाइल में लिस्प कोड की फ़ाइल संकलित करते समय पढ़ने मैक्रोज़ के बारे में समझने में कुछ परेशानी हो रही है। या शायद मैं इसे समझता हूं लेकिन पता नहीं। मैं बस वास्तव में उलझन में हूँ।रीड मैक्रोज़
जब आप रीड मैक्रो का उपयोग करते हैं, तो क्या आपको स्रोत उपलब्ध नहीं होना चाहिए?
यदि आप करते हैं, तो आपको स्रोत कोड निष्पादित करना होगा जो पढ़ने वाले मैक्रो का कार्य करता है। यदि आप नहीं करते हैं, तो जब आप read-char
जैसी सामग्री कर सकते हैं तो वे कैसे काम कर सकते हैं?
कि ऐसा करने के लिए, यदि आप पढ़ मैक्रो उपयोग aforedefined चर करना चाहते हैं, तो आप इसे से पहले सभी कोड को क्रियान्वित किया जाना है, इसलिए इस क्रम जो सब कुछ को खराब करता हो जाता है।
यदि आप इससे पहले कोड नहीं चलाते हैं, तो इसके ऊपर परिभाषित सामग्री उपलब्ध नहीं होगी।
फ़ंक्शन मैक्रोज़ को परिभाषित करने वाले फ़ंक्शंस या कंपाइलर मैक्रोज़ के बारे में क्या? मुझे लगता है कि वे तब तक काम नहीं करेंगे जब तक कि आप require
या load
फ़ाइल या कुछ संकलित नहीं करते हैं। लेकिन अगर वे संकलित किए गए थे, तो वे उनका उपयोग करने में सक्षम नहीं होंगे?
यदि मेरे कुछ अनुमान सही हैं, तो इसका मतलब है कि "मैक्रोज़ के लिए कौन सी डेटा उपलब्ध होगी" और "मैक्रोज़ फ़ंक्शन के लिए कौन सी मैक्रोज़ उपलब्ध होगी" इस पर निर्भर करता है कि आप एक संपूर्ण फ़ाइल को संकलित कर रहे हैं या नहीं बाद में चलाएं या एक समय में एक फ़ाइल को एक पंक्ति का अर्थ दें (यानी, पढ़ना, संकलन करना और एक अभिव्यक्ति का मूल्यांकन करना)।
संक्षेप में, ऐसा लगता है कि एक पंक्ति को एक रूप में संकलित करने के लिए जहां इसे आगे मैक्रो प्रोसेसिंग के बिना निष्पादित किया जा सकता है या जो भी हो, आपको पिछली पंक्तियों को पढ़ना, संकलित करना और चलाने की ज़रूरत है।
फिर कि इन सवालों तुतलाना संकलन, उसकी व्याख्या नहीं के रूप में यह में आता है जहां प्रत्येक पंक्ति चला सकते हैं पर लागू होते हैं याद रखें।
क्षमा करें मेरी पर्यटन के लिए, लेकिन मैं लिस्प के लिए नया हूँ और अधिक पता है कि यह कैसे करना चाहते हैं काम करता है।
असल में, एसबीसीएल में व्याख्या मोड है, यह डिफ़ॉल्ट रूप से बंद हो गया है: http://www.sbcl.org/manual/Interpreter.html –
सामान्य लिस्प संकलन वृद्धिशील है, लेकिन फ़ाइलों का संकलन थोड़ा अलग परिभाषित किया गया है। –
@Rainer क्या आप विस्तृत कर सकते हैं? मैं इसके साथ परिचित नहीं हूं –