ISO 7185:1990 कहते हैं में § 6.1.8 इस बारे में टिप्पणी:
एक कमेंटरी कहाँ वर्णों और पंक्तियों की विभाजन के किसी भी क्रम होगा, जिसमें न} और न ही *), निर्माण
('{' | '(*') कमेंटरी ('*)' | '}')
टिप्पणी होगी यदि न तो {nor the (* एक चरित्र के भीतर होता है ट्राइंग या एक टिप्पणी के भीतर।
नोट
- एक टिप्पणी इस प्रकार
{
साथ शुरू कर सकते हैं और *)
के साथ समाप्त, या (*
के साथ शुरू और }
के साथ समाप्त।
- अनुक्रम
(*)
एक टिप्पणी में नहीं हो सकता है, भले ही अनुक्रम {)
कर सकते हैं।
इसके अनुसार, अनिवार्य रूप से केवल एक तरह की टिप्पणी है। यद्यपि आप {
या (*
के साथ कोई टिप्पणी प्रारंभ कर सकते हैं, फिर भी आप अन्य टिप्पणियों को "लपेटने" के लिए वर्णों के विभिन्न सेटों का उपयोग नहीं कर सकते हैं। दूसरी तरफ, टर्बो पास्कल में दो प्रकार की टिप्पणियां होती हैं, जो ब्रेसिज़ का उपयोग करती हैं और जो ब्रांड्स का उपयोग करती हैं।
आप एक ब्रेस शैली टिप्पणी है और (*{}*)
बनाने के लिए एक कोष्ठक शैली टिप्पणी में संलग्न हैं, आईएसओ का कहना है टिप्पणी *)
बचे है, जो अपने कोड में एक सिंटैक्स त्रुटि हो जाएगा के साथ (*{}
है, जबकि टर्बो पास्कल का कहना है टिप्पणी (*{}*)
है जिसमें कोई टेक्स्ट शेष नहीं है।
न तो शैली आपको टिप्पणी डिलीमीटरों के एक और सेट में पहले से ही लिपटे टिप्पणी को लपेटने देती है। ऐसा इसलिए है क्योंकि एक बार जब आप कोई टिप्पणी लपेटते हैं, तो "आंतरिक" टिप्पणी को अब टिप्पणी के रूप में माना जाता है। यह सिर्फ साधारण पाठ है। यदि आपके पास {(**)}
है और आप इसे (*{(**)}*)
बनाने के लिए एक कोष्ठक-शैली टिप्पणी में लपेटना चाहते हैं, तो आईएसओ और टर्बो पास्कल दोनों कहते हैं कि (*{(**)
}*)
के साथ छोड़ दिया गया है।
एफपीसी और ओबीजेएफपीसी मोड में, नि: शुल्क पास्कल घोंसले की टिप्पणियों का समर्थन करता है, इसलिए मेरा सबसे हालिया उदाहरण किसी बचे हुए पाठ के साथ वैध टिप्पणी के रूप में स्वीकार नहीं किया जाएगा। The FPC documentation on the matter वास्तव में यह प्रदर्शित नहीं करता है, यद्यपि।
{ Comment 1 (* comment 2 *) }
(* Comment 1 { comment 2 } *)
{ comment 1 // Comment 2 }
(* comment 1 // Comment 2 *)
// comment 1 (* comment 2 *)
// comment 1 { comment 2 }
लेकिन टर्बो पास्कल (या डेल्फी, अंतिम दो पंक्तियों के लिए) है, जो हम पहले से ही स्थापित कर लिया है नहीं समर्थन नेस्टिंग, सभी की स्वीकार करेंगे करता है: यह माना जाता है कि नेस्ट टिप्पणियों के छह उदाहरण देता है पूरी तरह से मान्य टिप्पणियों के रूप में! एफपीसी वास्तव में नेस्टेड टिप्पणियों का समर्थन करता है, लेकिन उन उदाहरणों ने इसका वर्णन नहीं किया है।
{ Comment 1 { comment 2 } }
(* Comment 1 (* comment 2 *) *)
{ Comment 1 (* comment 2 { comment 3 } *) }
मैं भी लोगों का तर्क था कि पांचवें वेतन आयोग के तीसरे और चौथे उदाहरण वास्तव में दावा करने के लिए जवाबी कि पांचवें वेतन आयोग नेस्टेड टिप्पणियों का समर्थन करता है कर रहे हैं: यहाँ नेस्टेड टिप्पणियों के कुछ उदाहरण हैं। उन दो लाइनों को पूरी तरह से टिप्पणियां नहीं होनी चाहिए। लाइन के बीच में //
एक टिप्पणी प्रस्तुत करता है जो लाइन के अंत तक समाप्त नहीं होता है (ईओएल)। ईओएल }
और *)
के बाद आता है, इसलिए जब भी हम ब्रेस या ब्रांडेसिस डिलीमीटर तक पहुंचते हैं, तब भी आंतरिक, स्लैश-स्टाइल टिप्पणी समाप्त नहीं हो सकती है। जैसे <a> <b> </a> </b>
अनुचित रूप से नेस्टेड एक्सएमएल है, हमने अनुचित रूप से नेस्टेड टिप्पणियां निभाई हैं: { // } EOL
।
आगे के प्रयोग के बाद, मैंने निष्कर्ष निकाला कि एफपीसी में, केवल उसी प्रकार के घोंसला की टिप्पणियां हैं। उदाहरण के लिए, {
के साथ कोई टिप्पणी खोलने के बाद, (*
वर्ण विशेष होने के लिए बंद हो जाते हैं। एफपीसी ब्रेस-स्टाइल टिप्पणी के अंदर एक कंस्ट्रैसिस-स्टाइल टिप्पणी नहीं खोल पाएगा।यदि ऐसा हुआ, तो {(*}
अनियमित ब्रांडेसिस टिप्पणी के कारण एक वाक्यविन्यास त्रुटि होगी। हम यह कहकर यह समझा सकते हैं कि जब टिप्पणियां विषम होती हैं तो आंतरिक टिप्पणियों को समाप्त करना वैकल्पिक होता है, लेकिन यह कहने का एक सरल स्पष्टीकरण है कि आंतरिक टिप्पणी बिल्कुल टिप्पणी के रूप में नहीं मिली है। एक बार जब आप एक ब्रेस-स्टाइल टिप्पणी खोल देते हैं, तो केवल ब्रेसिज़ का अर्थ होता है। इसके अलावा, //
वास्तव में ब्रेसिज़ के अंदर होने पर स्लैश-स्टाइल टिप्पणी शुरू नहीं करता है। यह एक आसान स्पष्टीकरण है कि कहने के लिए कि एफपीसी स्लैश-स्टाइल टिप्पणियों को अनुचित रूप से घोंसला करने की अनुमति देता है। आप या तो कह सकते हैं कि स्लैश-स्टाइल टिप्पणियां बिल्कुल घोंसला नहीं करती हैं, या स्लैश-स्टाइल टिप्पणियां अन्य स्लैश-स्टाइल टिप्पणियों में घूमती हैं एक एकल ईओएल टर्मिनेटर साझा करें।
आपका असाइनमेंट शायद आपके लिए टर्बो पास्कल शैली का उपयोग करने के लिए था, जहां टिप्पणी डिलीमीटरों से मेल खाना चाहिए। यह निश्चित रूप से आपको मुफ्त पास्कल शैली का उपयोग करने की उम्मीद नहीं करता था क्योंकि यह असाइनमेंट को पूरा करना असंभव बना देता था - एक डीएफए मनमाने ढंग से नेस्टेड संरचनाओं को स्वीकार नहीं कर सकता है।
यह एक सवाल है कि आप अपने प्रशिक्षक से पूछना चाहिए की तरह लगता है। अपनी पाठ्यपुस्तक भी देखें। –
@ मेरे प्रशिक्षक केरोब केडीडी और मैंने प्रश्न पोस्ट करने से पहले इस बारे में बात की थी, और मुझे पहले से ही उसकी पसंद के हल होने की समस्या है। पुस्तक हमें इस मुद्दे में इस गहरे जाने के लिए नहीं ढूंढ रही थी, लेकिन मुझे पूरी तरह से होना पसंद है। इसके अतिरिक्त, जैसा कि मैंने प्रश्न में कहा है, पुस्तक गैर-विशिष्ट है कि पास्कल के किस संस्करण पर विचार किया जाना चाहिए, और चूंकि पुस्तक एक कंपाइलर पुस्तक है और पास्कल पुस्तक नहीं है, इसलिए भाषा के टिप्पणी सम्मेलनों को स्पष्ट रूप से परिभाषित नहीं किया गया है, और यही वह है जो मैं अपने प्रश्न, और स्पष्ट परिभाषा में देख रहा हूं। – ubiquibacon