यूनिक्स V7 ed(1)
स्रोत कोड बस कुछ टिप्पणियों, इस उच्च शिक्षाप्रद हैडर टिप्पणी है, जिनमें से एक के साथ एक आदिम 1,762 लाइन सी कार्यक्रम है:
/*
* Editor
*/
यह देखते हुए कि स्रोत कोड स्वयं कोई तर्क प्रदान नहीं करता है, आप केवल इसे प्रोग्राम के लेखक से प्राप्त करने जा रहे हैं।
ed
मूल रूप से PD Thom-11 असेंबली में केन थॉम्पसन द्वारा लिखा गया था , लेकिन आपको वास्तव में सी पर पोर्ट करने वाले से बात करने की आवश्यकता होगी। वह डेनिस रिची हो सकता है , क्योंकि उसने यूनिक्स के लिए सी बनाया था, और सी का इस्तेमाल करने वाले कई लोगों में से एक था। गैर-पीडीपी मशीनों के लिए यूनिक्स को पोर्टेबल बनाएं। डॉ रिची अब इस तरह के सवालों के जवाब देने के लिए नहीं है।
कोड के मेरे पढ़ने से पता चलता है कि यह संपादित दस्तावेज़ की इन-कोर कॉपी की सामग्री को आज़माने और संरक्षित करने के लिए किया गया था । आप देखेंगे कि अन्य पाठ संपादक भी नहीं मरते हैं Ctrl-C।
यहाँ क्या ed
है Ctrl-C:
onintr()
{
signal(SIGINT, onintr);
putchr('\n');
lastc = '\n';
error(Q);
}
(हां, के एंड आर सी । हमें स्टीनकिन के रिटर्न प्रकार के निर्दिष्ट या पैरामीटर घोषणाओं की आवश्यकता नहीं है।)
अंग्रेजी में अनुवादित ed
:
सिग्नल हैंडलर को फिर से पंजीकृत करता है।
(यूनिक्स को 1980 के दशक के मध्य में 4.3BSD तक ऑटो-रीसेटिंग सिग्नल नहीं मिला ।)
एक नई लाइन लिखता है, और यह याद रखता है कि ऐसा उसने वैश्विक चर के माध्यम से किया था lastc
।
( ed.c
लगभग साठ वैश्विक चर हैं।)
error()
फ़ंक्शन को कॉल करता है, जो प्रसिद्ध रूप से प्रिंट की तुलना में बहुत कम करता है ?
, उपयोगकर्ता के दृष्टिकोण से।
दूसरे शब्दों में, यह कह रहा है, "आप वास्तव में ऐसा करने का मतलब नहीं था, क्या आपने?"