मुझे लगता है कि विचार Post systems पर वापस जाता है, स्ट्रिंग्स के साथ पुनः लिखना ("यदि आप यह स्ट्रिंग देखते हैं, तो उस स्ट्रिंग के साथ इसे बदलें")। पोस्ट सिस्टम ट्यूरिंग-सक्षम हैं, और इस प्रकार कुछ भी गणना कर सकते हैं (प्रोग्राम ग्रंथों सहित!)। इन पर एमिल पोस्ट का पेपर 1 9 43 का दिनांक है, लेकिन माना जाता है कि उन्होंने 1 9 20 के दशक में मूल अवधारणा को किया था।
The General Purpose Macro Processor, पहले व्यापक रूप से उपयोग किए जाने वाले लोगों में से एक, शुरुआती 60 के दशक में उपलब्ध था।
TRAC इसी अवधि के लिए एक और प्रारंभिक मैक्रो प्रोसेसर है। History of Computer Languages (TRAC) का कहना है कि इसे 1 9 5 9 में डिजाइन किया गया था।
ये दोनों ट्यूरिंग-सक्षम मैक्रो प्रोसेसर हैं।
SNOBOL इसी अवधि से भी तिथियां हैं।
तथ्य यह है कि शुरुआती 60 के दशक में बहुत सामान्य प्रयोजन मैक्रो प्रोसेसर का निर्माण किया जा रहा था, मुझे संकेत मिलता है कि प्रेरणा प्रदान करने के लिए पहले विशेष उद्देश्य वाले मैक्रो प्रोसेसर बनाए गए थे। मुझे यकीन है कि इस बिंदु से पहले असेंबलरों में मैक्रो प्रोसेसर का उपयोग किया जा रहा था, लेकिन मेरे पास विशिष्ट सबूत नहीं हैं।
मुझे पता है कि COBOL को तथाकथित COPY libs कहा जाता है, जो मैक्रोज़ के बीच एक क्रॉस हैं और फ़ाइलों को शामिल करते हैं। मुझे नहीं पता कि यह कब COBOL में पेश किया गया था, लेकिन लैंगेज 1 9 58 में वापस चला गया।
यह ध्यान देने योग्य है कि LISP मैक्रोज़ को पेड़-टू-पेड़ रीराइट्स का एक विशेष मामला माना जा सकता है ("अगर आप एक एस-अभिव्यक्ति देखते हैं जो इस तरह दिखता है, इसे एक एस-अभिव्यक्ति द्वारा प्रतिस्थापित करें जो ऐसा लगता है ")। पेड़ को तारों के रूप में आसानी से मॉडलिंग किया जा सकता है (देखें: "LISP" :) और इस प्रकार LISP मैक्रोज़ स्ट्रिंग रीराइटिंग का एक विशेष मामला है।
पेड़-पुनर्लेखन का सामान्यीकृत मामला अब Program Transformation Systems का आधार है, जो प्रोग्राम टेक्स्ट पर बड़े पैमाने पर परिवर्तन कर सकता है।
स्रोत
2010-06-17 21:14:04
धन्यवाद - मैं कोडांतरक मैक्रो और पोस्ट प्रणाली के बारे में भूल गया था। यह बहुत उपयोगी है - और मैं "पहली उच्च स्तरीय भाषा" को शामिल करने के लिए अपने प्रश्न को भी संपादित करूंगा - जो अभी तक स्पष्ट नहीं है कि यह COBOL था या नहीं। – Jay