टीईसीओ (टेक्स्ट एडिटर): Difference between revisions

From Vigyanwiki
No edit summary
Line 28: Line 28:
|url=https://books.google.com/books?isbn=1483221105  |isbn=978-1483221106 |date=2014
|url=https://books.google.com/books?isbn=1483221105  |isbn=978-1483221106 |date=2014
|last1=Bell  |first1=C. Gordon  |last2=Mudge  |first2=J. Craig
|last1=Bell  |first1=C. Gordon  |last2=Mudge  |first2=J. Craig
|last3=McNamara  |first3=John E. }}</ref><ref>The name on the cover of DEC's DEC-10-UTECA-A-D manual is "Introduction To TECO (Text Editor And Corrector)"</ref><ref name=PDP8>{{cite book  |title=PDP 8/e small computer handbook  |date=1970  |pages=2–30}}</ref> एक चरित्र-उन्मुख [[पाठ संपादक]] और एक [[प्रोग्रामिंग भाषा]] दोनों है,<ref name=AnecD/><ref>citing Comm. of the ACM (see vol. 19, no. 12, 1976)</ref> जिसे 1962 में [[ डिजिटल उपकरण निगम ]] कंप्यूटरों पर उपयोग के लिए विकसित किया गया था, और तब से यह [[पीसी]] और [[यूनिक्स]] पर उपलब्ध हो गया है। डैनियल मर्फी (कंप्यूटर वैज्ञानिक) ने [[मैसाचुसेट्स की तकनीकी संस्था]] (एमआईटी) में एक छात्र के रूप में टीईसीओ विकसित किया।<ref name=AnecD>{{cite journal |title= टीईसीओ की शुरुआत|first= Dan|last= Murphy |date= October–December 2009 |journal= IEEE Annals of the History of Computing |volume= 31 |number= 4  
|last3=McNamara  |first3=John E. }}</ref><ref>The name on the cover of DEC's DEC-10-UTECA-A-D manual is "Introduction To TECO (Text Editor And Corrector)"</ref><ref name=PDP8>{{cite book  |title=PDP 8/e small computer handbook  |date=1970  |pages=2–30}}</ref> एक चरित्र-उन्मुख [[पाठ संपादक|टेक्स्ट संपादक]] और एक [[प्रोग्रामिंग भाषा]] दोनों है,<ref name=AnecD/><ref>citing Comm. of the ACM (see vol. 19, no. 12, 1976)</ref> जिसे 1962 में [[ डिजिटल उपकरण निगम ]] कंप्यूटरों पर उपयोग के लिए विकसित किया गया था, और तब से यह [[पीसी]] और [[यूनिक्स]] पर उपलब्ध हो गया है। डैनियल मर्फी (कंप्यूटर वैज्ञानिक) ने [[मैसाचुसेट्स की तकनीकी संस्था]] (एमआईटी) में एक छात्र के रूप में टीईसीओ विकसित किया था।<ref name=AnecD>{{cite journal |title= टीईसीओ की शुरुआत|first= Dan|last= Murphy |date= October–December 2009 |journal= IEEE Annals of the History of Computing |volume= 31 |number= 4  
|url=http://tenex.opost.com/anhc-31-4-anec.pdf | doi = 10.1109/mahc.2009.127 |pages=110–115|s2cid= 18805607}}</ref>
|url=http://tenex.opost.com/anhc-31-4-anec.pdf | doi = 10.1109/mahc.2009.127 |pages=110–115|s2cid= 18805607}}</ref>
मर्फी के अनुसार, प्रारंभिक परिवर्णी शब्द ''टेप एडिटर और करेक्टर'' था क्योंकि हमारे पीडीपी-1 पर प्रोग्राम स्रोत के भंडारण के लिए [[ कागज का टेप ]] ही एकमात्र माध्यम था। कोई हार्ड डिस्क, फ्लॉपी डिस्क, मैग्नेटिक टेप (मैग्टेप) या नेटवर्क नहीं था।<ref name=AnecD/>जब तक TECO को सामान्य उपयोग के लिए उपलब्ध कराया गया, तब तक नाम टेक्स्ट एडिटर और करेक्टर बन चुका था,<ref name=PDP8/>पीडीपी-1 संस्करण के बाद से भी
 
तब तक अन्य मीडिया का समर्थन किया।<ref name=AnecD/>बाद में इसे कई अन्य लोगों द्वारा संशोधित किया गया था<ref>{{cite web  |title=टेको|work=The Jargon File  |version=v.4.4.7   
मर्फी के अनुसार, प्रारंभिक परिवर्णी शब्द ''टेप एडिटर और करेक्टर'' था क्योंकि हमारे पीडीपी-1 पर प्रोग्राम स्रोत के भंडारण के लिए [[ कागज का टेप | कागज का टेप]] ही एकमात्र माध्यम था। कोई हार्ड डिस्क, फ्लॉपी डिस्क, मैग्नेटिक टेप (मैग्टेप) या नेटवर्क नहीं था।<ref name="AnecD" /> जब तक टीईसीओ को सामान्य उपयोग के लिए उपलब्ध कराया गया, तब तक नाम टेक्स्ट एडिटर और करेक्टर बन चुका था,<ref name="PDP8" /> पीडीपी-1 संस्करण के बाद से भी तब तक अन्य मीडिया का समर्थन किया गया था।<ref name="AnecD" /> इसके बाद में इसे कई अन्य लोगों द्वारा संशोधित किया गया था<ref>{{cite web  |title=टेको|work=The Jargon File  |version=v.4.4.7   
|publisher=[[ibiblio]]
|publisher=[[ibiblio]]
|url=http://www.catb.org/jargon/html/T/TECO.html}}</ref> और [[Emacs]] का प्रत्यक्ष पूर्वज है, जिसे मूल रूप से TECO मैक्रोज़ में लागू किया गया था।<ref>{{cite web
|url=http://www.catb.org/jargon/html/T/TECO.html}}</ref> और [[Emacs|एमएसीएस]] का प्रत्यक्ष पूर्वज है, जिसे मूल रूप से टीईसीओ मैक्रोज़ में प्रयुक्त किया गया था।<ref>{{cite web
  |url=http://www.xemacs.org/Documentation/21.5/html/internals_3.html
  |url=http://www.xemacs.org/Documentation/21.5/html/internals_3.html
  |title=A History of EMACS}}</ref><ref>{{cite book  <!---Google category = Law -->
  |title=A History of EMACS}}</ref><ref>{{cite book  <!---Google category = Law -->
Line 43: Line 43:
  |url=https://books.google.com/books?isbn=1484217039  |isbn=978-1484217030
  |url=https://books.google.com/books?isbn=1484217039  |isbn=978-1484217030
  |author=Harley Hahn  |date=2016}}</ref>
  |author=Harley Hahn  |date=2016}}</ref>




== विवरण ==
== विवरण ==
टीईसीओ न केवल एक संपादक है बल्कि टेक्स्ट हेरफेर के लिए एक [[दुभाषिया (कंप्यूटर सॉफ्टवेयर)]] प्रोग्रामिंग भाषा भी है। टेक्स्ट को खोजने और संशोधित करने के लिए मनमाने प्रोग्राम (जिन्हें मैक्रोज़ कहा जाता है) इसे बहुत शक्ति देते हैं। हालांकि, [[ नियमित अभिव्यक्ति ]] के विपरीत, भाषा [[अनिवार्य प्रोग्रामिंग]] थी, हालांकि कुछ संस्करणों में स्ट्रिंग खोज में एक या ऑपरेटर था।
टीईसीओ न केवल एक संपादक है चूँकि टेक्स्ट हेरफेर के लिए एक व्याख्या की गई प्रोग्रामिंग भाषा भी है। टेक्स्ट को खोजने और संशोधित करने के लिए इच्छानुसार कार्यक्रम (जिन्हें "मैक्रोज़" कहा जाता है) इसे महान शक्ति प्रदान करते हैं। चूँकि नियमित अभिव्यक्तियों के विपरीत, भाषा अनिवार्य थी, चूँकि कुछ संस्करणों में स्ट्रिंग खोज में "या" ऑपरेटर था।


टीईसीओ में वास्तव में [[ वाक्य - विन्यास ]] नहीं है; एक कार्यक्रम में प्रत्येक चरित्र एक अनिवार्य कमांड है, जो उसके संबंधित रूटीन को भेजा जाता है। वह दिनचर्या प्रोग्राम स्ट्रीम (स्ट्रिंग आर्ग्युमेंट्स का प्रभाव देते हुए) से आगे के पात्रों को पढ़ सकती है, प्रोग्राम काउंटर की स्थिति को बदल सकती है (नियंत्रण संरचनाओं का प्रभाव दे सकती है), या वैल्यू स्टैक पर मूल्यों को पुश कर सकती है (नेस्टेड कोष्ठकों का प्रभाव दे रही है) . लेकिन किसी टिप्पणी के बीच में कूदने जैसे संचालन को रोकने के लिए कुछ भी नहीं है, क्योंकि कोई सिंटैक्स नहीं है और कोई पार्सिंग नहीं है।
टीईसीओ में वास्तव में [[ वाक्य - विन्यास ]] नहीं है; एक कार्यक्रम में प्रत्येक चरित्र एक अनिवार्य कमांड है, जो उसके संबंधित रूटीन को भेजा जाता है। वह दिनचर्या प्रोग्राम स्ट्रीम (स्ट्रिंग आर्ग्युमेंट्स का प्रभाव देते हुए) से आगे के पात्रों को पढ़ सकती है, प्रोग्राम काउंटर की स्थिति को बदल सकती है (नियंत्रण संरचनाओं का प्रभाव दे सकती है), या वैल्यू स्टैक पर मूल्यों को पुश कर सकती है (नेस्टेड कोष्ठकों का प्रभाव दे रही है) . किंतु किसी टिप्पणी के बीच में कूदने जैसे संचालन को रोकने के लिए कुछ भी नहीं है, क्योंकि कोई सिंटैक्स नहीं है और कोई पार्सिंग नहीं है।


TECO [[ पत्र का मामला ]] और [[व्हाइटस्पेस चरित्र]] को नजरअंदाज करता है ([[टैब चरित्र]] को छोड़कर, जो एक इंसर्शन कमांड है)।<ref>{{cite web  
टीईसीओ [[ पत्र का मामला | केस]] और [[व्हाइटस्पेस चरित्र]] को अनदेखा करता है ([[टैब चरित्र]] को छोड़कर, जो एक इंसर्शन कमांड है)।<ref>{{cite web  
|quote=<tab>text$, Inserts specified text preceded by a tab.
|quote=<tab>text$, Inserts specified text preceded by a tab.
|url=http://www.avanthar.com/healyzh/teco/TecoPocketGuide.html
|url=http://www.avanthar.com/healyzh/teco/TecoPocketGuide.html
|title=TECO Pocket Guide}}</ref>
|title=TECO Pocket Guide}}</ref>
कंप्यूटर प्रोग्रामिंग पर एक व्यंग्यपूर्ण निबंध, रियल प्रोग्रामर्स डोन्ट यूज़ पास्कल, ने सुझाव दिया कि टीईसीओ प्रशंसकों के लिए एक सामान्य खेल कमांड अनुक्रम के रूप में अपना नाम दर्ज करना था, और फिर यह पता लगाने की कोशिश करें कि क्या होगा। टीईसीओ का वर्णन करने में एक ही निबंध ने YAFIYGI का संक्षिप्त नाम गढ़ा, जिसका अर्थ है कि आपने इसके लिए कहा, आपने इसे प्राप्त किया ([[WYSIWYG]] के विपरीत)।
 
कंप्यूटर प्रोग्रामिंग पर एक व्यंग्यपूर्ण निबंध, रियल प्रोग्रामर्स डोन्ट यूज़ पास्कल, ने सुझाव दिया कि टीईसीओ प्रशंसकों के लिए एक सामान्य खेल कमांड अनुक्रम के रूप में अपना नाम अंकित करना था, और फिर यह पता लगाने का प्रयाश करें कि क्या होगा। टीईसीओ का वर्णन करने में एक ही निबंध ने याफ़ीगी का संक्षिप्त नाम गढ़ा, जिसका अर्थ है कि आपने इसके लिए कहा, आपने इसे प्राप्त किया ([[WYSIWYG|वाईएसआईवाईजी]] के विपरीत)।


== प्रभाव ==
== प्रभाव ==
[[EMACS]] संपादक मूल रूप से डेविड ए. मून और गाइ एल. स्टील जूनियर द्वारा शुरू किया गया था, जिसे TECO में संपादक MACROS के एक सेट के रूप में लागू किया गया था। 1964 में MIT के [[प्रोजेक्ट मैक]] में विकसित एक डिजिटल इक्विपमेंट कॉरपोरेशन (DEC) [[PDP-6]] कार्यान्वयन के बाद TECO का अधिक व्यापक रूप से उपयोग किया जाने लगा। इस कार्यान्वयन ने [[कैथोड रे ट्यूब]] स्क्रीन पर दृश्य रूप से संपादित पाठ को लगातार प्रदर्शित किया, और एक इंटरैक्टिव ऑनलाइन संपादक के रूप में उपयोग किया गया। TECO के बाद के संस्करण विभिन्न DEC [[RS-232]] वीडियो टर्मिनलों जैसे [[VT52]] या [[VT100]] पर फुल-स्क्रीन मोड चलाने में सक्षम थे।
[[EMACS|एमएसीएस]] संपादक मूल रूप से डेविड ए. मून और गाइ एल. स्टील जूनियर द्वारा प्रारंभ किया गया था, जिसे टीईसीओ में संपादक मैक्रोज़ के एक सेट के रूप में प्रयुक्त किया गया था। 1964 में एमआईटी के [[प्रोजेक्ट मैक]] में विकसित एक डिजिटल इक्विपमेंट कॉरपोरेशन (दिसम्बर) [[PDP-6|पीडीपी-6]] कार्यान्वयन के बाद टीईसीओ का अधिक व्यापक रूप से उपयोग किया जाने लगा। इस कार्यान्वयन ने [[कैथोड रे ट्यूब]] स्क्रीन पर दृश्य रूप से संपादित टेक्स्ट को निरंतर प्रदर्शित किया था और एक इंटरैक्टिव ऑनलाइन संपादक के रूप में उपयोग किया गया। टीईसीओ के बाद के संस्करण विभिन्न दिसम्बर [[RS-232|आरएस-232]] वीडियो टर्मिनलों जैसे [[VT52|वीटी52]] या [[VT100|वीटी]][[VT100|100]] पर फुल-स्क्रीन मोड चलाने में सक्षम थे।


[[पीडीपी-1]] कंप्यूटर, [[पीडीपी-8]] (ओएस/8 के तहत), सहित कई ऑपरेटिंग सिस्टम और कंप्यूटरों के लिए टीईसीओ उपलब्ध था।<ref>{{cite web
[[पीडीपी-1]] कंप्यूटर, [[पीडीपी-8]] (ओएस/8 के तहत), सहित कई ऑपरेटिंग सिस्टम और कंप्यूटरों के लिए टीईसीओ उपलब्ध था।<ref>{{cite web
Line 65: Line 67:
|title=Doug Jones's DEC PDP-8 FAQs
|title=Doug Jones's DEC PDP-8 FAQs
|url=http://homepage.divms.uiowa.edu/~jones/pdp8/faqs
|url=http://homepage.divms.uiowa.edu/~jones/pdp8/faqs
|quote=What programming languages were supported on the PDP-8? ... TECO, the text editor, was included in the standard OS/8 distributions}}</ref> PDP-6 और [[PDP-10]] पर [[असंगत टाइमशेयरिंग सिस्टम]] (ITS), और PDP-10 पर [[TOPS-10]] और [[TOPS-20]]। टीईसीओ का एक संस्करण सभी डीईसी ऑपरेटिंग सिस्टम के साथ प्रदान किया गया था; [[RT11]] के लिए उपलब्ध संस्करण GT40 ग्राफिक्स डिस्प्ले को चलाने में सक्षम था जबकि RSTS/E के लिए उपलब्ध संस्करण को बहु-उपयोगकर्ता [[रन-टाइम सिस्टम]] के रूप में लागू किया गया था और इसे उपयोगकर्ता के पूर्ण ऑपरेटिंग वातावरण के रूप में उपयोग किया जा सकता था; उपयोगकर्ता को वास्तव में कभी भी टीईसीओ से बाहर नहीं निकलना पड़ा। VTEDIT (वीडियो टर्मिनल एडिटर) TECO मैक्रो का उपयोग आमतौर पर RSTS/E और [[VAX]] सिस्टम पर किया जाता था, जिसमें डायरेक्ट-कर्सर कंट्रोल (जैसे VT52 और VT100) में सक्षम टर्मिनल होते थे, जो समसामयिक रूप से विकसित Emacs के फंक्शन में समान फुल-स्क्रीन विज़ुअल एडिटर प्रदान करते थे।
|quote=What programming languages were supported on the PDP-8? ... TECO, the text editor, was included in the standard OS/8 distributions}}</ref> पीडीपी-6 और [[PDP-10|पीडीपी-10]] पर [[असंगत टाइमशेयरिंग सिस्टम]] (आईटीइस), और पीडीपी-10 पर [[TOPS-10|टॉप्स-10]] और [[TOPS-20|टॉप्स-20]]। टीईसीओ का एक संस्करण सभी डीईसी ऑपरेटिंग सिस्टम के साथ प्रदान किया गया था; [[RT11|आरटी11]] के लिए उपलब्ध संस्करण जीटी40 ग्राफिक्स डिस्प्ले को चलाने में सक्षम था जबकि आरएसटीएस/के लिए उपलब्ध संस्करण को बहु-उपयोगकर्ता [[रन-टाइम सिस्टम]] के रूप में प्रयुक्त किया गया था और इसे उपयोगकर्ता के पूर्ण ऑपरेटिंग वातावरण के रूप में उपयोग किया जा सकता था; उपयोगकर्ता को वास्तव में कभी भी टीईसीओ से बाहर नहीं निकलना पड़ा। वीटीईडीआईटी (वीडियो टर्मिनल एडिटर) टीईसीओ मैक्रो का उपयोग आमतौर पर आरएसटीएस/और [[VAX|वैक्स]] सिस्टम पर किया जाता था, जिसमें प्रत्यक्ष-कर्सर नियंत्रण (जैसे वीटी52 और वीटी100) में सक्षम टर्मिनल होते थे, जो समसामयिक रूप से विकसित एमएसीएस के फंक्शन में समान फुल-स्क्रीन विज़ुअल एडिटर प्रदान करते थे।
 
टीईसीओ को वीएसआई द्वारा [[OpenVMS|ओपनवीएमएस]] में सम्मिलित  किया जाना प्रसारित है, और इसे  <code>EDIT/टीईसीओ</code> कमांड के साथ प्रयुक्त किया जाता है।<ref>{{cite web|url=https://vmssoftware.com/docs/VSI_DCL_DICT_VOL_I.pdf|website=vmssoftware.com|access-date=2020-09-13|date=April 2020|title=VSI OpenVMS DCL Dictionary: A-Z}}</ref>


TECO को VSI द्वारा [[OpenVMS]] में शामिल किया जाना जारी है, और इसके साथ लागू किया गया है <code>EDIT/TECO</code> आज्ञा।<ref>{{cite web|url=https://vmssoftware.com/docs/VSI_DCL_DICT_VOL_I.pdf|website=vmssoftware.com|access-date=2020-09-13|date=April 2020|title=VSI OpenVMS DCL Dictionary: A-Z}}</ref>
पीडीपी-10 के लिए वितरित संस्करण डीईसी का वंशज [[एमएस-डॉस]]/[[ माइक्रोसॉफ़्ट विंडोज़ | माइक्रोसॉफ़्ट विंडोज़]] पर्यावरण के लिए कई आंशिक कार्यान्वयन के साथ-साथ अभी भी इंटरनेट पर उपलब्ध है।
पीडीपी-10 के लिए वितरित संस्करण डीईसी का वंशज [[एमएस-डॉस]]/[[ माइक्रोसॉफ़्ट विंडोज़ ]] पर्यावरण के लिए कई आंशिक कार्यान्वयन के साथ-साथ अभी भी इंटरनेट पर उपलब्ध है।


== इतिहास ==
== इतिहास ==
Line 80: Line 83:
  |archive-url  = https://web.archive.org/web/20080118030225/http://www.bitsavers.org/bits/DEC/pdp1/papertapeImages/20031202/MIT_TS_box1/_text/tecoBlurb.txt
  |archive-url  = https://web.archive.org/web/20080118030225/http://www.bitsavers.org/bits/DEC/pdp1/papertapeImages/20031202/MIT_TS_box1/_text/tecoBlurb.txt
  |archive-date = 2008-01-18
  |archive-date = 2008-01-18
}}</ref> लगभग 1963 में डैनियल एल. मर्फी द्वारा दो पीडीपी-1 कंप्यूटरों पर उपयोग के लिए, विभिन्न विभागों से संबंधित, दोनों एमआईटी की बिल्डिंग 26 में रखे गए थे।<ref>
}}</ref> लगभग 1963 में डैनियल एल. मर्फी द्वारा दो पीडीपी-1 कंप्यूटरों पर उपयोग के लिए विभिन्न विभागों से संबंधित, दोनों एमआईटी की बिल्डिंग 26 में रखे गए थे।<ref>
{{cite journal
{{cite journal
  |last=Murphy |first=Dan
  |last=Murphy |first=Dan
Line 90: Line 93:
  |doi=10.1109/MAHC.2009.127
  |doi=10.1109/MAHC.2009.127
  |s2cid=18805607
  |s2cid=18805607
  }}</ref> इन मशीनों पर, सामान्य विकास प्रक्रिया में छिद्रित पेपर टेप की एक सतत पट्टी पर ऑफ़लाइन स्रोत कोड तैयार करने के लिए [[फ्रीडम फ्लेक्सोराइटर]] का उपयोग शामिल था। बड़े [[आईबीएम मेनफ्रेम]] के प्रोग्रामर्स ने मुख्य पंचों का उपयोग करते हुए, [[छिद्रित कार्ड]] पर अपने स्रोत कोड को कस्टमाइज किया, जो प्रत्येक कार्ड के शीर्ष पर मानव-पठनीय [[ डॉट मैट्रिक्स ]] वर्णों को उसी समय मुद्रित करते थे, जब वे प्रत्येक मशीन-पठनीय वर्ण [[कुंजी पंच]] करते थे। इस प्रकार आईबीएम प्रोग्रामर डेक में कार्डों को भौतिक रूप से जोड़कर कोड की पंक्तियों को पढ़, सम्मिलित, हटा और स्थानांतरित कर सकते हैं। छिद्रित पेपर टेप में ऐसी कोई सुविधा नहीं थी, जिससे ऑनलाइन संपादन का विकास हुआ।
  }}</ref> इन मशीनों पर, सामान्य विकास प्रक्रिया में छिद्रित पेपर टेप की एक सतत पट्टी पर ऑफ़लाइन स्रोत कोड तैयार करने के लिए [[फ्रीडम फ्लेक्सोराइटर]] का उपयोग सम्मिलित  था। बड़े [[आईबीएम मेनफ्रेम]] के प्रोग्रामर्स ने मुख्य पंचों का उपयोग करते हुए, [[छिद्रित कार्ड]] पर अपने स्रोत कोड को कस्टमाइज किया जाता है  जो प्रत्येक कार्ड के शीर्ष पर मानव-पठनीय [[ डॉट मैट्रिक्स ]] वर्णों को उसी समय मुद्रित करते थे, जब वे प्रत्येक मशीन-पठनीय वर्ण [[कुंजी पंच]] करते थे। इस प्रकार आईबीएम प्रोग्रामर डेक में कार्डों को भौतिक रूप से जोड़कर कोड की पंक्तियों को पढ़, सम्मिलित, हटा और स्थानांतरित कर सकते हैं। छिद्रित पेपर टेप में ऐसी कोई सुविधा नहीं थी, जिससे ऑनलाइन संपादन का विकास हुआ।


पीडीपी-1 के शुरुआती संपादक का नाम [[ महँगा टाइपराइटर ]] था। स्टीफन डी। पिनर द्वारा लिखित, यह सबसे अल्पविकसित कल्पनाशील लाइन-उन्मुख संपादक था, जिसमें खोज-और-प्रतिस्थापन क्षमताओं का भी अभाव था। इसका नाम [[ विशाल टाइपराइटर ]] नामक एक पुराने, बल्कि फूला हुआ, संपादक के रूप में चुना गया था। उन दिनों में भी, ऑनलाइन संपादन डिबगिंग चक्र में समय बचा सकता था। पीडीपी-1 [[हैकर (प्रोग्रामर उपसंस्कृति)]] द्वारा लिखा गया एक अन्य प्रोग्राम [[ महँगा डेस्क कैलकुलेटर ]] था, इसी तरह से।
पीडीपी-1 के प्रारंभिक संपादक का नाम "[[ महँगा टाइपराइटर |एक्सपेंसिव]] टाइपराइटर" था। स्टीफ़न डी. पाइनर द्वारा लिखित, यह सबसे अल्पविकसित कल्पनीय लाइन-उन्मुख संपादक था, जिसमें खोज-और-प्रतिस्थापन क्षमताओं का भी अभाव था। इसका नाम "कोलोसल टाइपराइटर" कहे जाने वाले पुराने, किंतु फूले हुए संपादक पर व्यंग्यपूर्ण प्रहार के रूप में चुना गया था। उन दिनों भी, ऑनलाइन संपादन डिबगिंग चक्र में समय बचा सकता था। पीडीपी-1 हैकर्स द्वारा लिखा गया एक अन्य प्रोग्राम इसी तरह से एक्सपेंसिव डेस्क कैलकुलेटर था।


टीईसीओ का मूल घोषित उद्देश्य पीडीपी-1 का अधिक कुशल उपयोग करना था। जैसा कि मैनुअल में कल्पना की गई है, [[सिस्टम कंसोल]] पर बैठकर बड़े पैमाने पर संपादन करने के बजाय, केवल दोषपूर्ण पाठ की जांच करेगा और पाठ पर किए जाने वाले संपादन कार्यों का वर्णन करते हुए एक सुधार टेप तैयार करेगा। कोई स्रोत टेप और सुधार टेप को इसकी उच्च-गति (200 वर्ण प्रति सेकंड) रीडर के माध्यम से PDP-1 में दक्षतापूर्वक फीड करेगा। टीईसीओ चलाकर, यह तुरंत एक संपादित टेप को अपनी उच्च गति (60 वर्ण प्रति सेकेंड) पंच के साथ पंच करेगा। ऑनलाइन संपादन में कोई समय बर्बाद किए बिना, कोई तुरंत असेंबलर को लोड और चलाने के लिए आगे बढ़ सकता है।
टीईसीओ का मूल घोषित उद्देश्य पीडीपी-1 का अधिक कुशल उपयोग करना था। जैसा कि मैनुअल में कल्पना की गई है, [[सिस्टम कंसोल]] पर बैठकर बड़े मापदंड पर संपादन करने के अतिरिक्त , केवल दोषपूर्ण टेक्स्ट की जांच करेगा और टेक्स्ट पर किए जाने वाले संपादन कार्यों का वर्णन करते हुए एक सुधार टेप तैयार करेगा। कोई स्रोत टेप और सुधार टेप को इसकी उच्च-गति (200 वर्ण प्रति सेकंड) रीडर के माध्यम से पीडीपी-1 में दक्षतापूर्वक फीड करेगा। टीईसीओ चलाकर यह तुरंत एक संपादित टेप को अपनी उच्च गति (60 वर्ण प्रति सेकेंड) पंच के साथ पंच करेगा। ऑनलाइन संपादन में कोई समय व्यर्थ किए बिना, कोई तुरंत असेंबलर को लोड और चलाने के लिए आगे बढ़ सकता है।


टीईसीओ के परिष्कृत खोज अभियान इस तथ्य से प्रेरित थे कि ऑफ़लाइन फ्लेक्सोराइटर प्रिंटआउट लाइन-नंबर नहीं थे। इसलिए संपादन स्थानों को पंक्ति संख्या के बजाय संदर्भ द्वारा निर्दिष्ट करने की आवश्यकता है। सुधार टेप के लिए पर्याप्त वर्णनात्मक शक्ति प्रदान करने के लिए विभिन्न लूपिंग और सशर्त निर्माण (जो टीईसीओ [[ट्यूरिंग-पूर्ण]] बनाते हैं) शामिल किए गए थे। संक्षिप्त सिंटैक्स ने सुधार टेप तैयार करने के लिए आवश्यक कीस्ट्रोक्स की संख्या को कम कर दिया।
टीईसीओ के परिष्कृत खोज अभियान इस तथ्य से प्रेरित थे कि ऑफ़लाइन फ्लेक्सोराइटर प्रिंटआउट लाइन-नंबर नहीं थे। इसलिए संपादन स्थानों को पंक्ति संख्या के अतिरिक्त  संदर्भ द्वारा निर्दिष्ट करने की आवश्यकता है। सुधार टेप के लिए पर्याप्त वर्णनात्मक शक्ति प्रदान करने के लिए विभिन्न लूपिंग और नियमानुसार निर्माण (जो टीईसीओ [[ट्यूरिंग-पूर्ण]] बनाते हैं) सम्मिलित  किए गए थे। संक्षिप्त सिंटैक्स ने सुधार टेप तैयार करने के लिए आवश्यक कीस्ट्रोक्स की संख्या को कम कर दिया था ।


सुधार टेप एक प्रोग्राम था, और किसी अन्य प्रोग्राम की तरह ही डिबगिंग की आवश्यकता थी। सरलतम वैश्विक खोज-और-प्रतिस्थापन के नुकसान भी जल्द ही स्पष्ट हो गए। व्यवहार में, टीईसीओ संपादन ऑनलाइन किया गया था जैसा कि महंगे टाइपराइटर के साथ किया गया था (हालांकि टीईसीओ निश्चित रूप से महंगे टाइपराइटर की तुलना में अधिक फीचर-पूर्ण संपादक था, इसलिए टीईसीओ के साथ संपादन अधिक कुशल था)। मूल PDP-1 संस्करण में कोई स्क्रीन डिस्प्ले नहीं था। संपादन प्रक्रिया के दौरान पाठ की स्थिति का निरीक्षण करने का एकमात्र तरीका कमांड टाइप करना था जिससे कंसोल टाइपराइटर पर पाठ (या उसके भाग) को टाइप किया जा सके।
सुधार टेप एक प्रोग्राम था, और किसी अन्य प्रोग्राम की तरह ही डिबगिंग की आवश्यकता थी। सरलतम वैश्विक खोज-और-प्रतिस्थापन के हानि भी जल्द ही स्पष्ट हो गए। व्यवहार में, टीईसीओ संपादन ऑनलाइन किया गया था जैसा कि एक्सपेंसिव टाइपराइटर के साथ किया गया था (चूँकि टीईसीओ निश्चित रूप से एक्सपेंसिव टाइपराइटर की तुलना में अधिक फीचर-पूर्ण संपादक था, इसलिए टीईसीओ के साथ संपादन अधिक कुशल था)। मूल पीडीपी-1 संस्करण में कोई स्क्रीन डिस्प्ले नहीं था। संपादन प्रक्रिया के समय टेक्स्ट की स्थिति का निरीक्षण करने का एकमात्र तरीका कमांड टाइप करना था जिससे कंसोल टाइपराइटर पर टेक्स्ट (या उसके भाग) को टाइप किया जा सके।


1964 तक, TECO (TECO-6) का एक विशेष संस्करण MIT में PDP-6 पर लागू किया गया था। उस संस्करण ने स्क्रीन डिस्प्ले का उपयोग करके दृश्य संपादन का समर्थन किया, जो वास्तविक समय में संपादन बफ़र की सामग्री को दिखाता है, जैसे-जैसे यह बदलता है, अपडेट होता है।<ref>
1964 तक, टीईसीओ (टीईसीओ-6) का एक विशेष संस्करण एमआईटी में पीडीपी-6 पर प्रयुक्त किया गया था। उस संस्करण ने स्क्रीन डिस्प्ले का उपयोग करके दृश्य संपादन का समर्थन किया, जो वास्तविक समय में संपादन बफ़र की पदार्थ को दिखाता है, जैसे-जैसे यह बदलता है, अपडेट होता है।<ref>
{{cite web
{{cite web
  |last=Samson |first=Peter
  |last=Samson |first=Peter
Line 110: Line 113:
  |hdl=1721.1/5917
  |hdl=1721.1/5917
  |access-date=2007-09-12
  |access-date=2007-09-12
}}</ref> TECO-6 के रचनाकारों में [[रिचर्ड ग्रीनब्लाट (प्रोग्रामर)]] और [[स्टीवर्ट नेल्सन (हैकर)]] थे।<ref>
}}</ref> टीईसीओ-6 के रचनाकारों में [[रिचर्ड ग्रीनब्लाट (प्रोग्रामर)]] और [[स्टीवर्ट नेल्सन (हैकर)]] थे।<ref>
{{cite web
{{cite web
  |last=Edwards |first=Daniel J.
  |last=Edwards |first=Daniel J.
Line 122: Line 125:
  |archive-date=2007-09-28
  |archive-date=2007-09-28
}}</ref>
}}</ref>
MIT में, TECO का विकास 1971 के पतन में जारी रहा।{{Citation needed|date=October 2009}} कार्ल मिकेल्सन ने TECO-6 ग्राफ़िक कंसोल कमांड के आधार पर एक रीयल-टाइम संपादन मोड लागू किया था, लेकिन नए स्थापित डेटाप्वाइंट-3300 CRT टेक्स्ट डिस्प्ले के साथ काम कर रहा था।<ref name=datapoint>
 
एमआईटी में, टीईसीओ का विकास 1971 के पतन में जारी रहा कार्ल मिकेलसेन ने टीईसीओ-6 ग्राफिक कंसोल कमांड के आधार पर एक वास्तविक समय संपादन मोड प्रयुक्त किया था, किंतु नए स्थापित डेटापॉइंट-3300 सीआरटी टेक्स्ट डिस्प्ले के साथ काम कर रहे थे।<ref name="datapoint">
{{Cite web
{{Cite web
  |title=For the Time Sharing Computer User: Datapoint 3300
  |title=For the Time Sharing Computer User: Datapoint 3300
Line 128: Line 132:
  |publisher=[[Computer Terminal Corporation]]
  |publisher=[[Computer Terminal Corporation]]
  |access-date=2009-10-27
  |access-date=2009-10-27
}}</ref> टीईसीओ बफर कार्यान्वयन, हालांकि, एकल वर्ण डालने या कार्यों को हटाने के प्रसंस्करण के लिए बहुत अक्षम था - पीडीपी -10 का 100% संपादन किया गया। रिचर्ड ग्रीनब्लाट (प्रोग्रामर) के समर्थन से, 1972 की गर्मियों में कार्ल ने टीईसीओ बफर स्टोरेज को फिर से लागू किया और मैक्रोज़ को मूल पीडीपी-10 कोड के रूप में सुधार दिया। {{Citation needed|date=October 2009}} रीयल-टाइम मोड में प्रवेश के रूप में टाइप कर रहा था {{keypress|cntl|R}}, इसे कंट्रोल-आर मोड के रूप में जाना जाता था। उसी समय, रिक्की लिकनित्सकी ने इनपुट-टाइम मैक्रोज़ ({{keypress|cntl|]}}), जिसे कमांड स्ट्रिंग के रूप में संचालित किया गया था, निष्पादित होने के बजाय पढ़ा गया था।{{Citation needed|date=October 2009}} रीड-टाइम मैक्रोज़ ने TECO सहायक पाठ बफ़र्स, जिन्हें Q-रजिस्टर कहा जाता है, को अधिक उपयोगी बना दिया है।{{Citation needed|date=October 2009}} कार्ल ने क्यू-रजिस्टर नाम स्थान का विस्तार किया। रीड-टाइम मैक्रोज़ के साथ, एक बड़ा क्यू-रजिस्टर नाम स्थान, और कुशल बफर ऑपरेशंस, प्रत्येक कुंजी को मैक्रो से बाँधने के लिए चरण निर्धारित किया गया था।<ref name=c2wiki>
}}</ref> चूँकि टीईसीओ बफ़र कार्यान्वयन एकल वर्ण सम्मिलित करने या हटाने के कार्यों को संसाधित करने के लिए बहुत अक्षम था - संपादन में PDP-10 का 100% खर्च होता था। रिचर्ड ग्रीनब्लाट के समर्थन से, 1972 की गर्मियों में कार्ल ने टीईसीओ बफर स्टोरेज को फिर से प्रयुक्त किया और मैक्रोज़ को मूल PDP-10 कोड के रूप में सुधार किया।  चूंकि वास्तविक समय मोड में प्रवेश {{keypress|cntl|R}} टाइप करके किया जाता था, इसे नियंत्रण के रूप में जाना जाता था- आर मोड. उसी समय, रिसी लिकनेत्स्की ने इनपुट-टाइम मैक्रोज़ ({{keypress|cntl|]}}) जोड़ा, जो निष्पादित होने के अतिरिक्त कमांड स्ट्रिंग को पढ़ने के रूप में संचालित होता था। रीड-टाइम मैक्रोज़ ने टीईसीओ सहायक टेक्स्ट बफ़र्स बनाए, जिन्हें क्यू-रजिस्टर कहा जाता है, अधिक उपयोगी। कार्ल ने क्यू-रजिस्टर नाम स्थान का विस्तार किया। रीड-टाइम मैक्रोज़, एक बड़े क्यू-रजिस्टर नाम स्थान और कुशल बफर संचालन के साथ, प्रत्येक कुंजी को मैक्रो में बाइंड करने के लिए चरण निर्धारित किया गया था। ये संपादन मैक्रोज़ एमएसीएस में विकसित हुए।<ref>
{{Cite web
|date=August 16, 2010
|title=Teco Editor
|publisher=[[c2.com]]
|url=http://c2.com/cgi/wiki?TecoEditor
|access-date=2013-08-17
}}</ref> ये एडिट मैक्रोज़ Emacs में विकसित हुए।<ref>
{{Cite web
{{Cite web
  |date      = January 1978
  |date      = January 1978
Line 146: Line 143:
  |access-date = 2016-11-15
  |access-date = 2016-11-15
}}</ref>
}}</ref>
VMS कार्यान्वयन का एक लंबा इतिहास रहा है - यह TECO-8 के रूप में शुरू हुआ, जिसे PDP-8 असेंबली में कार्यान्वित किया गया। TECO-11 का उत्पादन करने के लिए इस कोड का PDP-11 असेंबली में अनुवाद किया गया था। PDP-11 अनुकूलता मोड में VAX/VMS के शुरुआती संस्करणों में TECO-11 का उपयोग किया गया था। इसे बाद में TECO32 का उत्पादन करने के लिए PDP-11 असेंबली से VAX असेंबली में अनुवादित किया गया। TECO32 को क्रमशः [[अल्फा]] और [[इटेनियम]] पर OpenVMS के साथ संगत बनाने के लिए VEST और AEST बाइनरी अनुवाद उपयोगिताओं के साथ परिवर्तित किया गया था।<ref>{{cite web|url=https://github.com/tesneddon/tecox|access-date=2020-09-13|date=2019-06-10|website=github.com|title=tecox Readme}}</ref><ref>{{cite web|url=https://comp.os.vms.narkive.com/k3rjJnUI/vax-pdp11-compatibility-mode|title=VAX PDP11 संगतता मोड|access-date=2020-09-13|date=2019-08-06|website=comp.os.vms.narkive.com}}</ref><ref>{{cite web|url=https://comp.os.vms.narkive.com/gxzatfU8/andy-museumpiece-goldstein-retirement#post26|title=एंडी गोल्डस्टीन सेवानिवृत्ति|date=2009-06-12|access-date=2020-09-13|website=comp.os.vms.narkive.com}}</ref>
 
वीएमएस कार्यान्वयन का एक लंबा इतिहास रहा है - यह टीईसीओ-8 के रूप में प्रारंभ हुआ जिसे पीडीपी-8 असेंबली में कार्यान्वित किया गया। टीईसीओ-11 का उत्पादन करने के लिए इस कोड का पीडीपी-11 असेंबली में अनुवाद किया गया था। पीडीपी-11 अनुकूलता मोड में वैक्स/वीएमएस के शुरुआती संस्करणों में टीईसीओ-11 का उपयोग किया गया था। इसे बाद में टीईसीओ32 का उत्पादन करने के लिए पीडीपी-11 असेंबली से वैक्स असेंबली में अनुवादित किया गया। टीईसीओ32 को क्रमशः [[अल्फा]] और [[इटेनियम]] पर ओपनवीएमएस के साथ संगत बनाने के लिए वेस्ट और एईएसटी बाइनरी अनुवाद उपयोगिताओं के साथ परिवर्तित किया गया था।<ref>{{cite web|url=https://github.com/tesneddon/tecox|access-date=2020-09-13|date=2019-06-10|website=github.com|title=tecox Readme}}</ref><ref>{{cite web|url=https://comp.os.vms.narkive.com/k3rjJnUI/vax-pdp11-compatibility-mode|title=VAX PDP11 संगतता मोड|access-date=2020-09-13|date=2019-08-06|website=comp.os.vms.narkive.com}}</ref><ref>{{cite web|url=https://comp.os.vms.narkive.com/gxzatfU8/andy-museumpiece-goldstein-retirement#post26|title=एंडी गोल्डस्टीन सेवानिवृत्ति|date=2009-06-12|access-date=2020-09-13|website=comp.os.vms.narkive.com}}</ref>
 




===OS/8 मूंग कमांड===
===OS/8 मूंग कमांड===
OS/8 संक्षिप्त कमांड लैंग्वेज MUNG कमांड ने निर्दिष्ट TE TECO मैक्रो को पढ़ने और निष्पादित करने के लिए TECO का आह्वान किया। वैकल्पिक कमांड लाइन मापदंडों ने अतिरिक्त अनुकूलता प्रदान की।<ref>{{cite web
OS/8 संक्षिप्त कमांड लैंग्वेज मूंग कमांड ने निर्दिष्ट टीई टीईसीओ मैक्रो को पढ़ने और निष्पादित करने के लिए टीईसीओ का आह्वान किया। वैकल्पिक कमांड लाइन मापदंडों ने अतिरिक्त अनुकूलता प्रदान की गई थी।<ref>{{cite web
|url=http://bitsavers.informatik.uni-stuttgart.de/pdf/dec/pdp8/os8/AA-H608A-TA_os8teco_mar79.pdf
|url=http://bitsavers.informatik.uni-stuttgart.de/pdf/dec/pdp8/os8/AA-H608A-TA_os8teco_mar79.pdf
|title=TECO Reference Manual digital equipment corporation}}</ref>
|title=TECO Reference Manual digital equipment corporation}}</ref>


 
==== ग्रामर के उपकरण के रूप में ====
== प्रोग्रामर के टूल == के रूप में
[[पंच कार्ड युग में कंप्यूटर प्रोग्रामिंग]] के वर्षों के समय और उसके तुरंत बाद, ऐसे स्रोत कार्यक्रम थे जो पंच कार्ड-आधारित के रूप में प्रारंभ हुए थे। टिप्पणियां अधिकांशतः पंक्तियों की एक श्रृंखला होती थीं जिनमें एकल सीमांत तारक और शीर्ष/नीचे तारांकन की पूर्ण पंक्तियां सम्मिलित  होती थीं। एक बार कार्डों को ऑनलाइन स्थानांतरित कर दिए जाने के बाद, सीमांत सितारों को पुनः प्राप्त करना एक काम था। बचाव के लिए टीईसीओ ...<ref name="WhyTeco">{{citation |title=Why Teco |author=Martin Pring |date=July 1982}}</ref><ref>He wrote this years after his colleague Carl B. Marbach became editor of a DEC-oriented periodical and wrote "Why Teco?". Both items were published together.</ref>
[[पंच कार्ड युग में कंप्यूटर प्रोग्रामिंग]] के वर्षों के दौरान और उसके तुरंत बाद, ऐसे स्रोत कार्यक्रम थे जो पंच कार्ड-आधारित के रूप में शुरू हुए थे। टिप्पणियां अक्सर पंक्तियों की एक श्रृंखला होती थीं जिनमें एकल सीमांत तारक और शीर्ष/नीचे तारांकन की पूर्ण पंक्तियां शामिल होती थीं। एक बार कार्डों को ऑनलाइन स्थानांतरित कर दिए जाने के बाद, सीमांत सितारों को पुनः प्राप्त करना एक काम था। बचाव के लिए टीईसीओ ...<ref name=WhyTeco>{{citation |title=Why Teco |author=Martin Pring |date=July 1982}}</ref><ref>He wrote this years after his colleague Carl B. Marbach became editor of a DEC-oriented periodical and wrote "Why Teco?". Both items were published together.</ref>




== एक प्रोग्रामिंग भाषा के रूप में ==
== एक प्रोग्रामिंग भाषा के रूप में ==
TECO प्रोग्रामिंग लैंग्वेज की अस्पष्टता का वर्णन रियल प्रोग्रामर्स डोंट यूज़ पास्कल के निम्नलिखित उद्धरण में किया गया है, एड पोस्ट से डेटामेशन का एक पत्र, जुलाई 1983:
टीईसीओ प्रोग्रामिंग भाषा की अस्पष्टता का वर्णन "रियल प्रोग्रामर्स डोंट यूज़ पास्कल" के निम्नलिखित उद्धरण में किया गया है, जो एड पोस्ट से डेटामेशन जुलाई 1983 को लिखा गया एक पत्र है:


{{quote|It has been observed that a TECO command sequence more closely resembles transmission line noise than readable text. One of the more entertaining games to play with TECO is to type your name in as a command line and try to guess what it does. Just about any possible typing error while talking with TECO will probably destroy your program, or even worse - introduce subtle and mysterious bugs in a once working subroutine.<ref>
{{quote|यह देखा गया है कि टीईसीओ कमांड अनुक्रम पठनीय पाठ की तुलना में ट्रांसमिशन लाइन ध्वनि से अधिक मिलता जुलता है। टीईसीओ के साथ खेलने के लिए अधिक मनोरंजक खेलों में से एक है कमांड लाइन के रूप में अपना नाम टाइप करना और यह अनुमान लगाने का प्रयास करना कि यह क्या करता है। टीईसीओ के साथ बात करते समय लगभग कोई भी संभावित टाइपिंग त्रुटि संभवतः आपके प्रोग्राम को नष्ट कर देगी, या इससे भी खराब - एक बार काम करने वाले सबरूटीन में सूक्ष्म और रहस्यमय बग प्रस्तूत कर देगी।.<ref>
{{cite journal
{{cite journal
  |last=Post |first=Ed
  |last=Post |first=Ed
Line 172: Line 170:
}}</ref>}}
}}</ref>}}


द क्राफ्ट ऑफ टेक्स्ट एडिटिंग के लेखक क्रेग फिनसेथ के अनुसार,<ref>
 
द क्राफ्ट ऑफ टेक्स्ट एडिटिंग के लेखक क्रेग फिनसेथ के अनुसार, <ref>
{{cite book
{{cite book
  |last=Finseth |first=Craig A.
  |last=Finseth |first=Craig A.
Line 180: Line 179:
  |url=http://www.finseth.com/craft
  |url=http://www.finseth.com/craft
  |isbn=978-1-4116-8297-9
  |isbn=978-1-4116-8297-9
}}</ref> टीईसीओ को [[केवल-लिखने वाली भाषा]] के रूप में वर्णित किया गया है | केवल-लिखने वाली भाषा, जिसका अर्थ है कि एक बार टीईसीओ में एक प्रोग्राम लिखे जाने के बाद, उचित दस्तावेज के बिना यह समझना बेहद मुश्किल है कि उसने क्या किया।
}}</ref> टीईसीओ को "केवल लिखने वाली" भाषा के रूप में वर्णित किया गया है, जिसका अर्थ है कि एक बार टीईसीओ में कोई प्रोग्राम लिखा जाता है, तो यह समझना बहुत कठिन है कि उपयुक्तता दस्तावेज़ीकरण के बिना उसने क्या किया है। .


इसके सिंटैक्स के बावजूद, टीईसीओ कमांड भाषा जबरदस्त शक्तिशाली थी, और एमएस-डॉस और यूनिक्स के लिए क्लोन अभी भी उपलब्ध हैं।
इसके सिंटैक्स के अतिरिक्त टीईसीओ कमांड भाषा बहुत अधिक शक्तिशाली थी, और एमएस-डॉस और यूनिक्स के लिए क्लोन अभी भी उपलब्ध हैं।


टीईसीओ आदेश वर्ण हैं (नियंत्रण-वर्णों सहित), और संकेत एक एकल तारांकन चिह्न है:
टीईसीओ आदेश वर्ण हैं (नियंत्रण-वर्णों सहित) और संकेत एक एकल तारांकन चिह्न है:
  *
  *


एस्केप कुंजी एक डॉलर चिह्न के रूप में प्रदर्शित होती है, एक बार दबाए जाने पर एक तर्क की आवश्यकता वाले कमांड के अंत को चित्रित किया जाता है और दो बार दबाए जाने पर दर्ज कमांड के निष्पादन की शुरुआत होती है:
एस्केप कुंजी एक डॉलर चिह्न के रूप में प्रदर्शित होती है, एक बार दबाए जाने पर एक तर्क की आवश्यकता वाले कमांड के अंत को चित्रित किया जाता है और दो बार दबाए जाने पर अंकित कमांड के निष्पादन की प्रारंभ होती है:
  *$$
  *$$


== उदाहरण कोड ==
== उदाहरण कोड ==
निम्नलिखित सामग्री के साथ hello.c नाम की एक फ़ाइल दी गई है:
निम्नलिखित पदार्थ के साथ hello.c नाम की एक फ़ाइल दी गई है:
<syntaxhighlight lang="c">
<syntaxhighlight lang="c">
  int main(int argc, char **argv)
  int main(int argc, char **argv)
Line 210: Line 209:
*EX$$                            Copy the remainder of the file and exit
*EX$$                            Copy the remainder of the file and exit
</syntaxhighlight>
</syntaxhighlight>
ये दो उदाहरण कार्यक्रम PDP-11 TECO उपयोगकर्ता मार्गदर्शिका से ली गई प्रत्येक पंक्ति के पहले वर्ण के आधार पर, वर्तमान पाठ बफ़र का एक सरल इंटरचेंज सॉर्ट हैं। एक [[ के लिए जाओ ]] और [[संरचित प्रोग्रामिंग]] संस्करण दिखाया गया है।
ये दो उदाहरण कार्यक्रम पीडीपी-11 टीईसीओ उपयोगकर्ता मार्गदर्शिका से ली गई प्रत्येक पंक्ति के पहले वर्ण के आधार पर, वर्तमान टेक्स्ट बफ़र का एक सरल इंटरचेंज सॉर्ट हैं। एक [[ के लिए जाओ | गोटो]] और [[संरचित प्रोग्रामिंग]] संस्करण दिखाया गया है।


=== उदाहरण 1 ===
=== उदाहरण 1 ===
  !शुरू करना! जे ओआउआ! शुरुआत में जाएं, रजिस्टर ए में पहला वर्ण लोड करें!
<syntaxhighlight>
!START! j 0aua              ! jump to beginning, load 1st char in register A !
!CONT! l 0aub                ! load first char of next line in register B !
qa-qb"g xa k -l ga 1uz '    ! if A>B, switch lines and set flag in register Z !
qbua                        ! load B into A !
l z-."g -l @o/CONT/ '        ! loop back if another line in buffer !
qz"g 0uz @o/START/ '        ! repeat if a switch was made on last pass !
</syntaxhighlight>
  !प्रारंभ करना! जे ओआउआ! प्रारंभ में जाएं, रजिस्टर ए में पहला वर्ण लोड करें!
  !संपर्क करें! एल 0aub! रजिस्टर बी में अगली पंक्ति का पहला चार लोड करें!
  !संपर्क करें! एल 0aub! रजिस्टर बी में अगली पंक्ति का पहला चार लोड करें!
  क्यूए-क्यूबी जी एक्सए के-एल गा 1यूज़ '! यदि ए> बी, लाइनों को स्विच करें और रजिस्टर जेड में ध्वज सेट करें!
  क्यूए-क्यूबी जी एक्सए के-एल गा 1यूज़ '! यदि ए> बी, लाइनों को स्विच करें और रजिस्टर जेड में ध्वज सेट करें!
Line 221: Line 228:


=== उदाहरण 2 ===
=== उदाहरण 2 ===
<syntaxhighlight>
0uz                            ! clear repeat flag !
<j 0aua l                      ! load 1st char into register A !
<0aub                          ! load 1st char of next line into B !
qa-qb"g xa k -l ga -1uz '      ! if A>B, switch lines and set flag !
qbua                            ! load B into A !
l .-z;>                        ! loop back if another line in buffer !
qz;>                            ! repeat if a switch was made last pass !
</syntaxhighlight>
  0उज़! साफ दोहराना झंडा!
  0उज़! साफ दोहराना झंडा!
  <जे 0आउआ एल! पहले चार को रजिस्टर ए में लोड करें!
  <जे 0आउआ एल! पहले चार को रजिस्टर ए में लोड करें!
Line 261: Line 277:
== बाहरी संबंध ==
== बाहरी संबंध ==
*[http://www.opost.com/dlm/ Dan Murphy's personal site]
*[http://www.opost.com/dlm/ Dan Murphy's personal site]
*[http://www.sourceforge.net/projects/teco/ Pete Siemsen's TECO collection]
*[http://www.sourceforge.net/projects/teco/ Peटीई Siemsen's टीईसीओ collection]
*[http://almy.us/teco.html Tom Almy's TECO page.]  Includes a TECO based on Pete Siemsen's TECOC and DECUS documentation.  There are MS-DOS, Windows (console), Linux, Mac OS X, and OS/2 versions.
*[http://almy.us/teco.html Tom Almy's टीईसीओ page.]  Includes a टीईसीओ based on Peटीई Siemsen's टीईसीओC and दिसम्बरUS documentation.  There are MS-DOS, Windows (console), Linux, Mac OS X, and OS/2 versions.
*[http://scienceblogs.com/goodmath/2006/09/22/worlds-greatest-pathological-l-1/ Introduction to the TECO syntax]
*[http://scienceblogs.com/goodmath/2006/09/22/worlds-greatest-pathological-l-1/ Introduction to the टीईसीओ syntax]
*[http://www.pdp8online.com/editors/teco/teco.shtml TECO Information]
*[http://www.pdp8online.com/editors/teco/teco.shtml टीईसीओ Information]
{{JargonFile}}
{{JargonFile}}
*[http://bitsavers.org/pdf/dec/pdp8/os8/AA-H608A-TA_os8teco_mar79.pdf TECO Manual (OS/8)]
*[http://bitsavers.org/pdf/dec/pdp8/os8/AA-H608A-TA_os8teco_mar79.pdf टीईसीओ Manual (OS/8)]


{{DEFAULTSORT:Text Editor And Corrector}}[[Category: सॉफ्टवेयर का इतिहास]] [[Category: मैसाचुसेट्स इंस्टीट्यूट ऑफ टेक्नोलॉजी सॉफ्टवेयर]] [[Category: OpenVMS पाठ संपादक]] [[Category: रेखा संपादक]] [[Category: पाठ-उन्मुख प्रोग्रामिंग भाषाएँ]]  
{{DEFAULTSORT:Text Editor And Corrector}}[[Category: सॉफ्टवेयर का इतिहास]] [[Category: मैसाचुसेट्स इंस्टीट्यूट ऑफ टेक्नोलॉजी सॉफ्टवेयर]] [[Category: OpenVMS पाठ संपादक]] [[Category: रेखा संपादक]] [[Category: पाठ-उन्मुख प्रोग्रामिंग भाषाएँ]]  

Revision as of 10:04, 5 July 2023

Original author(s)Dan Murphy
Initial release1962/63
Operating systemOS/8, ITS, TOPS-10, TOPS-20, RT-11, RSTS/E, RSX-11, OpenVMS, Multics
TypeText editor

टेको (/ˈtk/[1]), टेक्स्ट एडिटर और करेक्टर के लिए शॉर्टकट,[2][3][4] एक चरित्र-उन्मुख टेक्स्ट संपादक और एक प्रोग्रामिंग भाषा दोनों है,[5][6] जिसे 1962 में डिजिटल उपकरण निगम कंप्यूटरों पर उपयोग के लिए विकसित किया गया था, और तब से यह पीसी और यूनिक्स पर उपलब्ध हो गया है। डैनियल मर्फी (कंप्यूटर वैज्ञानिक) ने मैसाचुसेट्स की तकनीकी संस्था (एमआईटी) में एक छात्र के रूप में टीईसीओ विकसित किया था।[5]

मर्फी के अनुसार, प्रारंभिक परिवर्णी शब्द टेप एडिटर और करेक्टर था क्योंकि हमारे पीडीपी-1 पर प्रोग्राम स्रोत के भंडारण के लिए कागज का टेप ही एकमात्र माध्यम था। कोई हार्ड डिस्क, फ्लॉपी डिस्क, मैग्नेटिक टेप (मैग्टेप) या नेटवर्क नहीं था।[5] जब तक टीईसीओ को सामान्य उपयोग के लिए उपलब्ध कराया गया, तब तक नाम टेक्स्ट एडिटर और करेक्टर बन चुका था,[4] पीडीपी-1 संस्करण के बाद से भी तब तक अन्य मीडिया का समर्थन किया गया था।[5] इसके बाद में इसे कई अन्य लोगों द्वारा संशोधित किया गया था[7] और एमएसीएस का प्रत्यक्ष पूर्वज है, जिसे मूल रूप से टीईसीओ मैक्रोज़ में प्रयुक्त किया गया था।[8][9][10]


विवरण

टीईसीओ न केवल एक संपादक है चूँकि टेक्स्ट हेरफेर के लिए एक व्याख्या की गई प्रोग्रामिंग भाषा भी है। टेक्स्ट को खोजने और संशोधित करने के लिए इच्छानुसार कार्यक्रम (जिन्हें "मैक्रोज़" कहा जाता है) इसे महान शक्ति प्रदान करते हैं। चूँकि नियमित अभिव्यक्तियों के विपरीत, भाषा अनिवार्य थी, चूँकि कुछ संस्करणों में स्ट्रिंग खोज में "या" ऑपरेटर था।

टीईसीओ में वास्तव में वाक्य - विन्यास नहीं है; एक कार्यक्रम में प्रत्येक चरित्र एक अनिवार्य कमांड है, जो उसके संबंधित रूटीन को भेजा जाता है। वह दिनचर्या प्रोग्राम स्ट्रीम (स्ट्रिंग आर्ग्युमेंट्स का प्रभाव देते हुए) से आगे के पात्रों को पढ़ सकती है, प्रोग्राम काउंटर की स्थिति को बदल सकती है (नियंत्रण संरचनाओं का प्रभाव दे सकती है), या वैल्यू स्टैक पर मूल्यों को पुश कर सकती है (नेस्टेड कोष्ठकों का प्रभाव दे रही है) . किंतु किसी टिप्पणी के बीच में कूदने जैसे संचालन को रोकने के लिए कुछ भी नहीं है, क्योंकि कोई सिंटैक्स नहीं है और कोई पार्सिंग नहीं है।

टीईसीओ केस और व्हाइटस्पेस चरित्र को अनदेखा करता है (टैब चरित्र को छोड़कर, जो एक इंसर्शन कमांड है)।[11]

कंप्यूटर प्रोग्रामिंग पर एक व्यंग्यपूर्ण निबंध, रियल प्रोग्रामर्स डोन्ट यूज़ पास्कल, ने सुझाव दिया कि टीईसीओ प्रशंसकों के लिए एक सामान्य खेल कमांड अनुक्रम के रूप में अपना नाम अंकित करना था, और फिर यह पता लगाने का प्रयाश करें कि क्या होगा। टीईसीओ का वर्णन करने में एक ही निबंध ने याफ़ीगी का संक्षिप्त नाम गढ़ा, जिसका अर्थ है कि आपने इसके लिए कहा, आपने इसे प्राप्त किया (वाईएसआईवाईजी के विपरीत)।

प्रभाव

एमएसीएस संपादक मूल रूप से डेविड ए. मून और गाइ एल. स्टील जूनियर द्वारा प्रारंभ किया गया था, जिसे टीईसीओ में संपादक मैक्रोज़ के एक सेट के रूप में प्रयुक्त किया गया था। 1964 में एमआईटी के प्रोजेक्ट मैक में विकसित एक डिजिटल इक्विपमेंट कॉरपोरेशन (दिसम्बर) पीडीपी-6 कार्यान्वयन के बाद टीईसीओ का अधिक व्यापक रूप से उपयोग किया जाने लगा। इस कार्यान्वयन ने कैथोड रे ट्यूब स्क्रीन पर दृश्य रूप से संपादित टेक्स्ट को निरंतर प्रदर्शित किया था और एक इंटरैक्टिव ऑनलाइन संपादक के रूप में उपयोग किया गया। टीईसीओ के बाद के संस्करण विभिन्न दिसम्बर आरएस-232 वीडियो टर्मिनलों जैसे वीटी52 या वीटी100 पर फुल-स्क्रीन मोड चलाने में सक्षम थे।

पीडीपी-1 कंप्यूटर, पीडीपी-8 (ओएस/8 के तहत), सहित कई ऑपरेटिंग सिस्टम और कंप्यूटरों के लिए टीईसीओ उपलब्ध था।[12][13] पीडीपी-6 और पीडीपी-10 पर असंगत टाइमशेयरिंग सिस्टम (आईटीइस), और पीडीपी-10 पर टॉप्स-10 और टॉप्स-20। टीईसीओ का एक संस्करण सभी डीईसी ऑपरेटिंग सिस्टम के साथ प्रदान किया गया था; आरटी11 के लिए उपलब्ध संस्करण जीटी40 ग्राफिक्स डिस्प्ले को चलाने में सक्षम था जबकि आरएसटीएस/ई के लिए उपलब्ध संस्करण को बहु-उपयोगकर्ता रन-टाइम सिस्टम के रूप में प्रयुक्त किया गया था और इसे उपयोगकर्ता के पूर्ण ऑपरेटिंग वातावरण के रूप में उपयोग किया जा सकता था; उपयोगकर्ता को वास्तव में कभी भी टीईसीओ से बाहर नहीं निकलना पड़ा। वीटीईडीआईटी (वीडियो टर्मिनल एडिटर) टीईसीओ मैक्रो का उपयोग आमतौर पर आरएसटीएस/ई और वैक्स सिस्टम पर किया जाता था, जिसमें प्रत्यक्ष-कर्सर नियंत्रण (जैसे वीटी52 और वीटी100) में सक्षम टर्मिनल होते थे, जो समसामयिक रूप से विकसित एमएसीएस के फंक्शन में समान फुल-स्क्रीन विज़ुअल एडिटर प्रदान करते थे।

टीईसीओ को वीएसआई द्वारा ओपनवीएमएस में सम्मिलित किया जाना प्रसारित है, और इसे EDIT/टीईसीओ कमांड के साथ प्रयुक्त किया जाता है।[14]

पीडीपी-10 के लिए वितरित संस्करण डीईसी का वंशज एमएस-डॉस/ माइक्रोसॉफ़्ट विंडोज़ पर्यावरण के लिए कई आंशिक कार्यान्वयन के साथ-साथ अभी भी इंटरनेट पर उपलब्ध है।

इतिहास

टीईसीओ मूल रूप से एमआईटी में विकसित किया गया था[15] लगभग 1963 में डैनियल एल. मर्फी द्वारा दो पीडीपी-1 कंप्यूटरों पर उपयोग के लिए विभिन्न विभागों से संबंधित, दोनों एमआईटी की बिल्डिंग 26 में रखे गए थे।[16] इन मशीनों पर, सामान्य विकास प्रक्रिया में छिद्रित पेपर टेप की एक सतत पट्टी पर ऑफ़लाइन स्रोत कोड तैयार करने के लिए फ्रीडम फ्लेक्सोराइटर का उपयोग सम्मिलित था। बड़े आईबीएम मेनफ्रेम के प्रोग्रामर्स ने मुख्य पंचों का उपयोग करते हुए, छिद्रित कार्ड पर अपने स्रोत कोड को कस्टमाइज किया जाता है जो प्रत्येक कार्ड के शीर्ष पर मानव-पठनीय डॉट मैट्रिक्स वर्णों को उसी समय मुद्रित करते थे, जब वे प्रत्येक मशीन-पठनीय वर्ण कुंजी पंच करते थे। इस प्रकार आईबीएम प्रोग्रामर डेक में कार्डों को भौतिक रूप से जोड़कर कोड की पंक्तियों को पढ़, सम्मिलित, हटा और स्थानांतरित कर सकते हैं। छिद्रित पेपर टेप में ऐसी कोई सुविधा नहीं थी, जिससे ऑनलाइन संपादन का विकास हुआ।

पीडीपी-1 के प्रारंभिक संपादक का नाम "एक्सपेंसिव टाइपराइटर" था। स्टीफ़न डी. पाइनर द्वारा लिखित, यह सबसे अल्पविकसित कल्पनीय लाइन-उन्मुख संपादक था, जिसमें खोज-और-प्रतिस्थापन क्षमताओं का भी अभाव था। इसका नाम "कोलोसल टाइपराइटर" कहे जाने वाले पुराने, किंतु फूले हुए संपादक पर व्यंग्यपूर्ण प्रहार के रूप में चुना गया था। उन दिनों भी, ऑनलाइन संपादन डिबगिंग चक्र में समय बचा सकता था। पीडीपी-1 हैकर्स द्वारा लिखा गया एक अन्य प्रोग्राम इसी तरह से एक्सपेंसिव डेस्क कैलकुलेटर था।

टीईसीओ का मूल घोषित उद्देश्य पीडीपी-1 का अधिक कुशल उपयोग करना था। जैसा कि मैनुअल में कल्पना की गई है, सिस्टम कंसोल पर बैठकर बड़े मापदंड पर संपादन करने के अतिरिक्त , केवल दोषपूर्ण टेक्स्ट की जांच करेगा और टेक्स्ट पर किए जाने वाले संपादन कार्यों का वर्णन करते हुए एक सुधार टेप तैयार करेगा। कोई स्रोत टेप और सुधार टेप को इसकी उच्च-गति (200 वर्ण प्रति सेकंड) रीडर के माध्यम से पीडीपी-1 में दक्षतापूर्वक फीड करेगा। टीईसीओ चलाकर यह तुरंत एक संपादित टेप को अपनी उच्च गति (60 वर्ण प्रति सेकेंड) पंच के साथ पंच करेगा। ऑनलाइन संपादन में कोई समय व्यर्थ किए बिना, कोई तुरंत असेंबलर को लोड और चलाने के लिए आगे बढ़ सकता है।

टीईसीओ के परिष्कृत खोज अभियान इस तथ्य से प्रेरित थे कि ऑफ़लाइन फ्लेक्सोराइटर प्रिंटआउट लाइन-नंबर नहीं थे। इसलिए संपादन स्थानों को पंक्ति संख्या के अतिरिक्त संदर्भ द्वारा निर्दिष्ट करने की आवश्यकता है। सुधार टेप के लिए पर्याप्त वर्णनात्मक शक्ति प्रदान करने के लिए विभिन्न लूपिंग और नियमानुसार निर्माण (जो टीईसीओ ट्यूरिंग-पूर्ण बनाते हैं) सम्मिलित किए गए थे। संक्षिप्त सिंटैक्स ने सुधार टेप तैयार करने के लिए आवश्यक कीस्ट्रोक्स की संख्या को कम कर दिया था ।

सुधार टेप एक प्रोग्राम था, और किसी अन्य प्रोग्राम की तरह ही डिबगिंग की आवश्यकता थी। सरलतम वैश्विक खोज-और-प्रतिस्थापन के हानि भी जल्द ही स्पष्ट हो गए। व्यवहार में, टीईसीओ संपादन ऑनलाइन किया गया था जैसा कि एक्सपेंसिव टाइपराइटर के साथ किया गया था (चूँकि टीईसीओ निश्चित रूप से एक्सपेंसिव टाइपराइटर की तुलना में अधिक फीचर-पूर्ण संपादक था, इसलिए टीईसीओ के साथ संपादन अधिक कुशल था)। मूल पीडीपी-1 संस्करण में कोई स्क्रीन डिस्प्ले नहीं था। संपादन प्रक्रिया के समय टेक्स्ट की स्थिति का निरीक्षण करने का एकमात्र तरीका कमांड टाइप करना था जिससे कंसोल टाइपराइटर पर टेक्स्ट (या उसके भाग) को टाइप किया जा सके।

1964 तक, टीईसीओ (टीईसीओ-6) का एक विशेष संस्करण एमआईटी में पीडीपी-6 पर प्रयुक्त किया गया था। उस संस्करण ने स्क्रीन डिस्प्ले का उपयोग करके दृश्य संपादन का समर्थन किया, जो वास्तविक समय में संपादन बफ़र की पदार्थ को दिखाता है, जैसे-जैसे यह बदलता है, अपडेट होता है।[17] टीईसीओ-6 के रचनाकारों में रिचर्ड ग्रीनब्लाट (प्रोग्रामर) और स्टीवर्ट नेल्सन (हैकर) थे।[18]

एमआईटी में, टीईसीओ का विकास 1971 के पतन में जारी रहा कार्ल मिकेलसेन ने टीईसीओ-6 ग्राफिक कंसोल कमांड के आधार पर एक वास्तविक समय संपादन मोड प्रयुक्त किया था, किंतु नए स्थापित डेटापॉइंट-3300 सीआरटी टेक्स्ट डिस्प्ले के साथ काम कर रहे थे।[19] चूँकि टीईसीओ बफ़र कार्यान्वयन एकल वर्ण सम्मिलित करने या हटाने के कार्यों को संसाधित करने के लिए बहुत अक्षम था - संपादन में PDP-10 का 100% खर्च होता था। रिचर्ड ग्रीनब्लाट के समर्थन से, 1972 की गर्मियों में कार्ल ने टीईसीओ बफर स्टोरेज को फिर से प्रयुक्त किया और मैक्रोज़ को मूल PDP-10 कोड के रूप में सुधार किया। चूंकि वास्तविक समय मोड में प्रवेश cntl+R टाइप करके किया जाता था, इसे नियंत्रण के रूप में जाना जाता था- आर मोड. उसी समय, रिसी लिकनेत्स्की ने इनपुट-टाइम मैक्रोज़ (cntl+]) जोड़ा, जो निष्पादित होने के अतिरिक्त कमांड स्ट्रिंग को पढ़ने के रूप में संचालित होता था। रीड-टाइम मैक्रोज़ ने टीईसीओ सहायक टेक्स्ट बफ़र्स बनाए, जिन्हें क्यू-रजिस्टर कहा जाता है, अधिक उपयोगी। कार्ल ने क्यू-रजिस्टर नाम स्थान का विस्तार किया। रीड-टाइम मैक्रोज़, एक बड़े क्यू-रजिस्टर नाम स्थान और कुशल बफर संचालन के साथ, प्रत्येक कुंजी को मैक्रो में बाइंड करने के लिए चरण निर्धारित किया गया था। ये संपादन मैक्रोज़ एमएसीएस में विकसित हुए।[20]

वीएमएस कार्यान्वयन का एक लंबा इतिहास रहा है - यह टीईसीओ-8 के रूप में प्रारंभ हुआ जिसे पीडीपी-8 असेंबली में कार्यान्वित किया गया। टीईसीओ-11 का उत्पादन करने के लिए इस कोड का पीडीपी-11 असेंबली में अनुवाद किया गया था। पीडीपी-11 अनुकूलता मोड में वैक्स/वीएमएस के शुरुआती संस्करणों में टीईसीओ-11 का उपयोग किया गया था। इसे बाद में टीईसीओ32 का उत्पादन करने के लिए पीडीपी-11 असेंबली से वैक्स असेंबली में अनुवादित किया गया। टीईसीओ32 को क्रमशः अल्फा और इटेनियम पर ओपनवीएमएस के साथ संगत बनाने के लिए वेस्ट और एईएसटी बाइनरी अनुवाद उपयोगिताओं के साथ परिवर्तित किया गया था।[21][22][23]


OS/8 मूंग कमांड

OS/8 संक्षिप्त कमांड लैंग्वेज मूंग कमांड ने निर्दिष्ट टीई टीईसीओ मैक्रो को पढ़ने और निष्पादित करने के लिए टीईसीओ का आह्वान किया। वैकल्पिक कमांड लाइन मापदंडों ने अतिरिक्त अनुकूलता प्रदान की गई थी।[24]

ग्रामर के उपकरण के रूप में

पंच कार्ड युग में कंप्यूटर प्रोग्रामिंग के वर्षों के समय और उसके तुरंत बाद, ऐसे स्रोत कार्यक्रम थे जो पंच कार्ड-आधारित के रूप में प्रारंभ हुए थे। टिप्पणियां अधिकांशतः पंक्तियों की एक श्रृंखला होती थीं जिनमें एकल सीमांत तारक और शीर्ष/नीचे तारांकन की पूर्ण पंक्तियां सम्मिलित होती थीं। एक बार कार्डों को ऑनलाइन स्थानांतरित कर दिए जाने के बाद, सीमांत सितारों को पुनः प्राप्त करना एक काम था। बचाव के लिए टीईसीओ ...[25][26]


एक प्रोग्रामिंग भाषा के रूप में

टीईसीओ प्रोग्रामिंग भाषा की अस्पष्टता का वर्णन "रियल प्रोग्रामर्स डोंट यूज़ पास्कल" के निम्नलिखित उद्धरण में किया गया है, जो एड पोस्ट से डेटामेशन जुलाई 1983 को लिखा गया एक पत्र है:

यह देखा गया है कि टीईसीओ कमांड अनुक्रम पठनीय पाठ की तुलना में ट्रांसमिशन लाइन ध्वनि से अधिक मिलता जुलता है। टीईसीओ के साथ खेलने के लिए अधिक मनोरंजक खेलों में से एक है कमांड लाइन के रूप में अपना नाम टाइप करना और यह अनुमान लगाने का प्रयास करना कि यह क्या करता है। टीईसीओ के साथ बात करते समय लगभग कोई भी संभावित टाइपिंग त्रुटि संभवतः आपके प्रोग्राम को नष्ट कर देगी, या इससे भी खराब - एक बार काम करने वाले सबरूटीन में सूक्ष्म और रहस्यमय बग प्रस्तूत कर देगी।.[27]


द क्राफ्ट ऑफ टेक्स्ट एडिटिंग के लेखक क्रेग फिनसेथ के अनुसार, [28] टीईसीओ को "केवल लिखने वाली" भाषा के रूप में वर्णित किया गया है, जिसका अर्थ है कि एक बार टीईसीओ में कोई प्रोग्राम लिखा जाता है, तो यह समझना बहुत कठिन है कि उपयुक्तता दस्तावेज़ीकरण के बिना उसने क्या किया है। .

इसके सिंटैक्स के अतिरिक्त टीईसीओ कमांड भाषा बहुत अधिक शक्तिशाली थी, और एमएस-डॉस और यूनिक्स के लिए क्लोन अभी भी उपलब्ध हैं।

टीईसीओ आदेश वर्ण हैं (नियंत्रण-वर्णों सहित) और संकेत एक एकल तारांकन चिह्न है:

*

एस्केप कुंजी एक डॉलर चिह्न के रूप में प्रदर्शित होती है, एक बार दबाए जाने पर एक तर्क की आवश्यकता वाले कमांड के अंत को चित्रित किया जाता है और दो बार दबाए जाने पर अंकित कमांड के निष्पादन की प्रारंभ होती है:

*$$

उदाहरण कोड

निम्नलिखित पदार्थ के साथ hello.c नाम की एक फ़ाइल दी गई है:

 int main(int argc, char **argv)
 {
     printf("Hello world!\n");
     return 0;
 }

हैलो को गुडबाय में बदलने के लिए कोई निम्नलिखित टीईसीओ सत्र का उपयोग कर सकता है (ध्यान दें कि संकेत * और $ है कि ईएससी कैसे प्रतिध्वनित होता है):

*EBhello.c$$                     Open file for read/write with backup
*P$$                             Read in the first page
*SHello$0TT$$                    Search for "Hello" and print the line (pointer placed after searched string)
    printf("Hello world!\n");    The line
*-5DIGoodbye$0TT$$               Delete five characters before pointer (ie "Hello"), insert "Goodbye", and print the line
    printf("Goodbye world!\n");  The updated line
*EX$$                            Copy the remainder of the file and exit

ये दो उदाहरण कार्यक्रम पीडीपी-11 टीईसीओ उपयोगकर्ता मार्गदर्शिका से ली गई प्रत्येक पंक्ति के पहले वर्ण के आधार पर, वर्तमान टेक्स्ट बफ़र का एक सरल इंटरचेंज सॉर्ट हैं। एक गोटो और संरचित प्रोग्रामिंग संस्करण दिखाया गया है।

उदाहरण 1

!START! j 0aua               ! jump to beginning, load 1st char in register A !
!CONT! l 0aub                ! load first char of next line in register B !
qa-qb"g xa k -l ga 1uz '     ! if A>B, switch lines and set flag in register Z !
qbua                         ! load B into A !
l z-."g -l @o/CONT/ '        ! loop back if another line in buffer !
qz"g 0uz @o/START/ '         ! repeat if a switch was made on last pass !
!प्रारंभ करना! जे ओआउआ! प्रारंभ में जाएं, रजिस्टर ए में पहला वर्ण लोड करें!
!संपर्क करें! एल 0aub! रजिस्टर बी में अगली पंक्ति का पहला चार लोड करें!
क्यूए-क्यूबी जी एक्सए के-एल गा 1यूज़ '! यदि ए> बी, लाइनों को स्विच करें और रजिस्टर जेड में ध्वज सेट करें!
क्यूबुआ! बी को ए में लोड करें!
एल जेड-। g -l @o/CONT/'! लूप बैक अगर बफर में एक और लाइन!
qz g 0uz @o/START/' ! अगर पिछले पास पर स्विच किया गया था तो दोहराएं!

उदाहरण 2

0uz                             ! clear repeat flag !
<j 0aua l                       ! load 1st char into register A !
<0aub                           ! load 1st char of next line into B !
qa-qb"g xa k -l ga -1uz '       ! if A>B, switch lines and set flag !
qbua                            ! load B into A !
l .-z;>                         ! loop back if another line in buffer !
qz;>                            ! repeat if a switch was made last pass !
0उज़! साफ दोहराना झंडा!
<जे 0आउआ एल! पहले चार को रजिस्टर ए में लोड करें!
<0औब! अगली पंक्ति का पहला वर्ण B में लोड करें!
क्यूए-क्यूबी जी एक्सए के-एल जीए -1यूज़ '! अगर ए> बी, लाइनों को स्विच करें और ध्वज सेट करें!
क्यूबुआ! बी को ए में लोड करें!
एल .-z;> ! लूप बैक अगर बफर में एक और लाइन!
क्यूजेड;> ! दोहराएँ अगर एक स्विच अंतिम पास बनाया गया था!

टिप्पणियाँ

  1. "डीईसी टाइमशेयरिंग". The DEC Professional. Tee'koh
  2. "A powerful and sophisticated text editor, TECO (Text Editor and Corrector) ... Bell, C. Gordon; Mudge, J. Craig; McNamara, John E. (2014). Computer Engineering: A DEC View of Hardware Systems Design. ISBN 978-1483221106.
  3. The name on the cover of DEC's DEC-10-UTECA-A-D manual is "Introduction To TECO (Text Editor And Corrector)"
  4. 4.0 4.1 PDP 8/e small computer handbook. 1970. pp. 2–30.
  5. 5.0 5.1 5.2 5.3 Murphy, Dan (October–December 2009). "टीईसीओ की शुरुआत" (PDF). IEEE Annals of the History of Computing. 31 (4): 110–115. doi:10.1109/mahc.2009.127. S2CID 18805607.
  6. citing Comm. of the ACM (see vol. 19, no. 12, 1976)
  7. "टेको". The Jargon File. v.4.4.7. ibiblio.
  8. "A History of EMACS".
  9. Mario Biagioli; Peter Jaszi; Martha Woodmansee (2015). Making and Unmaking Intellectual Property: Creative Production. ISBN 022617249X. EMACS was originally built on top of TECO
  10. Harley Hahn (2016). हार्ले हान की Emacs फील्ड गाइड. p. 9. ISBN 978-1484217030.
  11. "TECO Pocket Guide". <tab>text$, Inserts specified text preceded by a tab.
  12. "Standard TECO Text Editor and Corrector". Standard TECO. Text Editor and Corrector for the. VAX, PDP-11, PDP-10, and. PDP-8.
  13. "Doug Jones's DEC PDP-8 FAQs". What programming languages were supported on the PDP-8? ... TECO, the text editor, was included in the standard OS/8 distributions
  14. "VSI OpenVMS DCL Dictionary: A-Z" (PDF). vmssoftware.com. April 2020. Retrieved 2020-09-13.
  15. "Summary of TECO commands". From a collection of MIT PDP-1 paper tapes at the Computer History Museum. Archived from the original on 2008-01-18. Retrieved 2007-09-12.
  16. Murphy, Dan (2009). "The Beginnings of TECO" (PDF). IEEE Annals of the History of Computing. 31 (4): 110–115. doi:10.1109/MAHC.2009.127. S2CID 18805607.
  17. Samson, Peter (July 23, 1965). "PDP-6 TECO". Memorandum MAC-M-250. p. 9. hdl:1721.1/5917. Retrieved 2007-09-12.
  18. Edwards, Daniel J. (October 29, 1964). "TECO 6". Memorandum MAC-M-191. p. 2. Archived from the original on 2007-09-28. Retrieved 2007-09-12.
  19. "For the Time Sharing Computer User: Datapoint 3300" (PDF). Computer Terminal Corporation. Retrieved 2009-10-27.
  20. "An Introduction to the EMACS Editor" (PDF). MIT. January 1978. Archived from the original (PDF) on 2020-10-27. Retrieved 2016-11-15.
  21. "tecox Readme". github.com. 2019-06-10. Retrieved 2020-09-13.
  22. "VAX PDP11 संगतता मोड". comp.os.vms.narkive.com. 2019-08-06. Retrieved 2020-09-13.
  23. "एंडी गोल्डस्टीन सेवानिवृत्ति". comp.os.vms.narkive.com. 2009-06-12. Retrieved 2020-09-13.
  24. "TECO Reference Manual digital equipment corporation" (PDF).
  25. Martin Pring (July 1982), Why Teco
  26. He wrote this years after his colleague Carl B. Marbach became editor of a DEC-oriented periodical and wrote "Why Teco?". Both items were published together.
  27. Post, Ed (July 1983). "Real Programmers Don't Use PASCAL". Datamation. 29 (7): 263–265.
  28. Finseth, Craig A. (2006). The Craft of Text Editing. Lulu.com. ISBN 978-1-4116-8297-9.


संदर्भ


बाहरी संबंध

This article is based in part on the Jargon File, which is in the public domain.