टीसॉर्ट

टीसॉर्ट प्रोग्राम यूनिक्स और यूनिक्स जैसे प्लेटफार्मों पर एक कमांड लाइन इंटरफेस उपयोगिता है, जो अपने इनपुट पर सांस्थितिक सॉर्ट करता है।, यह पोसिक्स1 मानक का हिस्सा है।

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

ध्यान दें कि निम्नलिखित विवरण टीसॉर्ट के फ्रीबीएसडी कार्यान्वयन के व्यवहार का वर्णन कर रहा है और जीएनयू सुविधाओं का उल्लेख करता है जहां वे उपस्थित हो सकते हैं। अन्य कार्यान्वयन या संस्करण भिन्न हो सकते हैं.

वाक्यविन्यास
tsort [-dlq] [FILE] फ्रीबीएसडी विकल्प हो सकते हैं: -d        turn on debugging

-l        search for and display the longest cycle.

-q        Do not display informational messages about cycles.

जीएनयू केवल निम्नलिखित विकल्प प्रदान करता है: --help    display help message and exit

--version display version information and exit पोसिक्स द्वारा कोई विकल्प निर्धारित नहीं हैं।

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

दूसरे शब्दों में: एक निर्देशित चक्रीय आरेख (निर्भरता आरेख के रूप में प्रयुक्त) के लिए, टीसॉर्ट शीर्षों की एक सूची तैयार करता है ताकि सभी किनारों 'a->b' के लिए, 'a' सूची में 'b' से पहले आए।

उदाहरण
टीसॉर्ट एक निर्देशित चक्रीय आरेख के शीर्षों को इस तरह से सूचीबद्ध करता है कि सभी क्रम/दिशा संबंधों का सम्मान किया जाता है:

आह्वान आरेख़
टीसॉर्ट किसी स्रोत फ़ाइल में फलन को पुनर्व्यवस्थित करने में मदद कर सकता है ताकि जितना संभव हो उतना उपयोग करने से पहले परिभाषित किया जा सके (निम्नलिखित को इस प्रकार समझें: main आह्वान करता है parse_options, tail_file और tail_forever; tail_file आह्वान करता है pretty_name, और इसी तरह। नतीजा यह है कि dump_remainder को पहले start_lines दूसरा, आदि परिभाषित किया जाना चाहिए):

पुस्तकालय
पारंपरिक एलडी (यूनिक्स) (यूनिक्स लिंकर) के लिए आवश्यक है कि उसके लाइब्रेरी इनपुट को सांस्थितिक क्रम में क्रमबद्ध किया जाए, क्योंकि यह एक ही पास में फाइलों को संसाधित करता है। यह स्थिर पुस्तकालय (*.a) और गतिशील पुस्तकालय (*.so) दोनों पर लागू होता है, और स्थैतिक पुस्तकालयों की स्तिथि में अधिमानतः भीतर निहित व्यक्तिगत ऑब्जेक्ट फ़ाइलों के लिए है। बीएसडी यूनिक्स विशिष्ट एआर (यूनिक्स) और रैनलिब कमांड इनवोकेशन (/usr/share/mk/bsd.lib.mk से) के एक सामान्य भाग के रूप में टीसॉर्ट का उपयोग करता है: यहाँ lorder (लाइब्रेरी ऑर्डर) का उपयोग प्रतीक तालिका का निरीक्षण करके अंतर-फ़ाइल निर्भरता सूची उत्पन्न करने के लिए किया जाता है।

उपयोग नोट्स
श्वेत स्थान विभाजकों की विनिमेयता पर ध्यान दें ताकि निम्नलिखित इनपुट समतुल्य हों:

समान वस्तुओं के जोड़े एक शीर्ष की उपस्थिति का संकेत देते हैं, लेकिन क्रमबद्ध नहीं (इसलिए निम्नलिखित किनारों के बिना एक शीर्ष का प्रतिनिधित्व करता है):

a asammilit

कड़ाई से कहें तो ऐसे आरेख़ का कोई सांस्थितिक ऑर्डर नहीं होता है जिसमें एक या अधिक चक्र (आरेख़ सिद्धांत) सम्मिलित हो। हालाँकि टीसॉर्ट एक चेतावनी मुद्रित करता है और जीएनयू टीसॉर्ट चक्र पहचान (आरेख सिद्धांत) को सत्देरर ('टीसॉर्ट:' से प्रारम्भ होने वाली पंक्तियाँ) पर मुद्रित करता है:

यह भी देखें

 * सॉर्ट (यूनिक्स)
 * मेक (सॉफ्टवेयर)
 * सांस्थितिक सॉर्टिंग
 * यूनिक्स कमांड की सूची
 * आह्वान आरेख़

बाहरी संबंध
manual page of टीसॉर्ट on
 * FreeBSD,
 * OpenBSD,
 * NetBSD,
 * AIX,
 * Solaris,
 * HP-UX
 * dep-trace Orders basic dependencies and unfolds nested ones. (basic: without 2D graphical presumption)