पास्कल (प्रोग्रामिंग भाषा)

पास्कल अनिवार्य प्रोग्रामिंग और प्रक्रियात्मक प्रोग्रामिंग प्रोग्रामिंग भाषा है, जिसे निकलॉस विर्थ द्वारा संरचित प्रोग्रामिंग और डेटा संरचना का उपयोग करके अच्छी प्रोग्रामिंग प्रथाओं को प्रोत्साहित करने के उद्देश्य से छोटी, कुशल भाषा के रूप में डिज़ाइन किया गया है। इसका नाम फ्रांसीसी गणितज्ञ, दार्शनिक और भौतिक विज्ञानी ब्लेस पास्कल के सम्मान में रखा गया है।

पास्कल को ऐल्गॉल 60 भाषा की तर्ज पर विकसित किया गया था। विर्थ ऐल्गॉल एक्स प्रयासों के भाग के रूप में भाषा को सुधारने की प्रक्रिया में सम्मिलित था और उसने ऐल्गॉल डब्लू नाम का एक संस्करण प्रस्तावित किया। जिसे स्वीकार नहीं किया गया, और ऐल्गॉल एक्स प्रक्रिया फंस गई। 1968 में, विर्थ ने ऐल्गॉल एक्स प्रक्रिया को छोड़ने और ऐल्गॉल डब्लू को और उत्तम बनाने का निर्णय लिया, जिसे 1970 में पास्कल के रूप में जारी किया गया था।

ऐल्गॉल के अदिश (कंप्यूटर विज्ञान) और सरणियों के शीर्ष पर, पास्कल जटिल डेटा प्रकारों को परिभाषित करने और गतिशील और पुनरावर्ती डेटा संरचनाओं जैसे सूचीयों (सार डेटा प्रकार), ट्रीज (डेटा संरचना) और ग्राफ़ (सार डेटा प्रकार) के निर्माण में सक्षम बनाता है। पास्कल के पास सभी वस्तुओं पर शक्तिशाली टाइपिंग है, जिसका अर्थ है कि प्रकार के डेटा को स्पष्ट रूपांतरणों के बिना दूसरे में परिवर्तित या व्याख्या नहीं किया जा सकता है। सी (और सी-परिवार में अधिकांश भाषाओं) के विपरीत, पास्कल किसी भी स्तर की गहराई तक स्थिर प्रक्रिया परिभाषाओं की अनुमति देता है, और सबरूटीन्स (प्रक्रियाओं और कार्यों) के अंदर अधिकांश प्रकार की परिभाषाओं और घोषणाओं की भी अनुमति देता है। कार्यक्रम इस प्रकार वाक्य-विन्यास की दृष्टि से एकल प्रक्रिया या कार्य के समान है। यह ऐल्गॉल 60 की ब्लॉक संरचना के समान है, लेकिन स्वैच्छिक ब्लॉक कथन से केवल प्रक्रियाओं और कार्यों तक सीमित है।

1970 के दशक में पास्कल विशेष रूप से बढ़ते मिनीकंप्यूटर बाजार में बहुत सफल हो गया। 1970 के दशक के अंत में क्षेत्र के उभरने के साथ ही कई माइक्रो कंप्यूटरों के लिए संकलक भी उपलब्ध थे। यह 1980 के दशक में विश्वविद्यालय स्तर के प्रोग्रामिंग पाठ्यक्रमों में एक शिक्षण भाषा के रूप में व्यापक रूप से इस्तेमाल किया गया था और उसी अवधि के दौरान व्यावसायिक सॉफ्टवेयर लिखने के लिए उत्पादन सेटिंग्स में भी इसका इस्तेमाल किया गया था। 1980 के दशक के अंत और 1990 के दशक के प्रारंभ में इसे C (प्रोग्रामिंग भाषा) द्वारा विस्थापित कर दिया गया क्योंकि यूनिक्स- आधारित सिस्टम, विशेष रूप से C ++ की रिलीज़ के साथ लोकप्रिय हो गये थे।

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

पहले के प्रयास
1960 के दशक के दौरान कंप्यूटर भाषा डिजाइन के अधिकांश इतिहास को ऐल्गॉल 60 भाषा में खोजा जा सकता है। ऐल्गॉल को 1950 के दशक के दौरान स्पष्ट रूप से एल्गोरिदम का वर्णन करने में सक्षम होने के स्पष्ट लक्ष्य के साथ विकसित किया गया था। इसमें संरचित प्रोग्रामिंग के लिए कई विशेषताएं सम्मिलित थीं जो आज तक भाषाओं में सामान्य हैं।

इसकी शुरुआत के कुछ ही समय बाद, 1962 में विर्थ ने यूलर (प्रोग्रामिंग भाषा) पर हेल्मुट वेबर के साथ अपने शोध प्रबंध पर काम करना शुरू किया। यूलर ऐल्गॉल के सिंटैक्स और कई अवधारणाओं पर आधारित था लेकिन व्युत्पन्न नहीं था। इसका प्राथमिक लक्ष्य गतिशील सूचियों और प्रकारों को जोड़ना था, जिससे इसे लिस्प (प्रोग्रामिंग भाषा) जैसी भूमिकाओं में इस्तेमाल किया जा सके। इस भाषा को 1965 में प्रकाशित किया गया था।

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

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

पास्कल
पास्कल ऐल्गॉल डब्लू के प्रयासों से प्रभावित था, जिसमें संरचित तरीके से प्रोग्रामिंग सिखाने और सिस्टम सॉफ्टवेयर के विकास के स्पष्ट लक्ष्य थे। छात्रों की पीढ़ी ने स्नातक पाठ्यक्रमों में पास्कल को परिचयात्मक भाषा के रूप में इस्तेमाल किया।

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

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

पास्कल के वेरिएंट का उपयोग अनुसंधान परियोजनाओं से लेकर पीसी गेम और अंतः स्थापित प्रणाली तक सब कुछ के लिए किया गया है। नए पास्कल अनुभाषक मौजूद हैं जिनका व्यापक रूप से उपयोग किया जाता है।

वस्तु पास्कल
लिसा पर काम के दौरान, लैरी टेस्लर ने पास्कल को प्रोग्रामिंग प्रतिमान बनाने के लिए भाषा में वस्तु अभिमुखित एक्सटेंशन जोड़ने के विचार पर विर्थ के अनुरूप शुरुआत की। बहु-प्रतिमान प्रोग्रामिंग भाषा। इसने शुरुआत में 1983 में पेश किए गए क्लैस्कल का नेतृत्व किया। जैसा कि लिसा कार्यक्रम फीका पड़ गया और इसे मैकिंटोश द्वारा बदल दिया गया, और संस्करण बनाया गया और ऑब्जेक्ट पास्कल नाम दिया गया। इसे 1985 में मैकऐप आवेदन संरचना के भाग के रूप में मैक पर पेश किया गया था, और 1990 के दशक की शुरुआत में एप्पल की मुख्य विकास भाषा बन गई।

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

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

सीडीसी पास्कल अनुभाषक का दूसरे मेनफ्रेम में पहला सफल पोर्ट 1972 में क्वीन यूनिवर्सिटी ऑफ बेलफास्ट (क्यूयूबी) में वेल्श और क्विन द्वारा पूरा किया गया था। लक्ष्य इंटरनेशनल कंप्यूटर लिमिटेड (आईसीएल) आईसीटी 1900 श्रृंखला थी। बदले में यह संकलक सूचना कंप्यूटर सिस्टम्स (ICS) मल्टीम मिनीकंप्यूटर के लिए पास्कल संकलक का जनक था। ग्लासगो विश्वविद्यालय में कंप्यूटिंग साइंस विभाग में काम कर रहे फाइंडले, कपल्स, कैवोरास और डेविस द्वारा सिस्टम प्रोग्रामिंग भाषा के रूप में पास्कल का उपयोग करने की दृष्टि से मल्टीम पोर्ट विकसित किया गया था। ऐसा माना जाता है कि मल्टीम पास्कल जो 1973 की गर्मियों में पूरा हुआ था, संभवतः पहला 16-बिट कार्यान्वयन हो सकता है।

1977 में क्यूयूबी में वेल्श एट अल द्वारा एक पूरी तरह से नया कंपाइलर पूरा किया गया था। इसने एक स्रोत-भाषा डायग्नोस्टिक फीचर (प्रोफाइलिंग ट्रेसिंग और टाइप-अवेयर फॉर्मेटेड पोस्टमॉर्टम डंप को शामिल करना) की पेशकश की, जिसे ग्लासगो विश्वविद्यालय में फाइंडले और वाट द्वारा लागू किया गया था। इस कार्यान्वयन को 1980 में साउथेम्प्टन विश्वविद्यालय और ग्लासगो विश्वविद्यालय पर आधारित टीम द्वारा आईसीएल 2900 श्रृंखला में पोर्ट किया गया था। मानक पास्कल मॉडल कार्यान्वयन भी इस संकलक पर आधारित था, जिसे 1984 में मैनचेस्टर विश्वविद्यालय में वेल्श और हे द्वारा अनुकूलित किया गया था, जिससे बीएसआई 6192/आईएसओ 7185 मानक के अनुरूपता के लिए कठोरता से जांच की जा सके और एक पोर्टेबल सार मशीन के लिए कोड उत्पन्न किया जा सके।

उत्तरी अमेरिका में लिखा गया पहला पास्कल कंपाइलर पीडीपी-11 के लिए डोनाल्ड बी. गिल्लीज के तहत इलिनोइस विश्वविद्यालय में बनाया गया था और देशी मशीन कोड उत्पन्न किया गया था।

पास्कल-पी प्रणाली
भाषा को तेजी से प्रचारित करने के लिए, ज़्यूरिख में अनुभाषक पोर्टिंग किट बनाया गया था जिसमें अनुभाषक सम्मिलित था जो वर्चुअल स्टैक मशीन के लिए तथाकथित पी-कोड उत्पन्न करता था, अर्थात्, कोड जो उस कोड के पास्कल पी सिस्टम के लिए दुभाषिया के साथ स्वयं को यथोचित कुशल व्याख्या के लिए उधार देता है। पी-सिस्टम कंपाइलर्स को पास्कल-पी1, पास्कल-पी2, पास्कल-पी3 और पास्कल-पी4 नाम दिया गया था। पास्कल-पी1 पहला संस्करण था, और पास्कल-पी4 ज्यूरिख से आने वाला आखिरी संस्करण था। पास्कल-पी1 नाम के संस्करण को पास्कल-पी के लिए मौजूद कई अलग-अलग स्रोतों के तथ्य के बाद गढ़ा गया था। पोर्टेबिलिटी बढ़ाने के लिए अनुभाषक को फिर से डिजाइन किया गया और पास्कल-पी2 के रूप में जारी किया गया। इस कोड को बाद में पास्कल-पी 2 और पास्कल-पी 4 के साथ पिछड़ा संगत मध्यवर्ती कोड के साथ पास्कल-पी 3 बनने के लिए बढ़ाया गया था जो पिछड़े संगत नहीं था।

पास्कल-पी4 अनुभाषक-इंटरप्रेटर को अभी भी मूल पास्कल के साथ संगत सिस्टम पर चलाया और संकलित किया जा सकता है। चूँकि, यह केवल पास्कल भाषा के सबसेट को स्वीकार करता है।

ज़्यूरिख समूह के बाहर बनाया गया पास्कल-पी5, पूर्ण पास्कल भाषा को स्वीकार करता है और इसमें आईएसओ 7185 अनुकूलता सम्मिलित है।

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

पास्कल-पी5 अनुभाषक पर आधारित अनुभाषक, जिसने नेटिव बाइनरी ओएस/360 ऑब्जेक्ट फाइल फॉर्मेट बनाया, आईबीएम सिस्टम/370 मेनफ्रेम कंप्यूटर के लिए ऑस्ट्रेलियाई परमाणु ऊर्जा आयोग द्वारा जारी किया गया; आयोग के नाम के संक्षिप्त नाम के बाद इसका नाम एएईसी पास्कल 8000 अनुभाषक रखा गया।

ऑब्जेक्ट पास्कल और टर्बो पास्कल
एप्पल कंप्यूटर ने 1982 में लिसा वर्कशॉप के लिए अपना लिसा पास्कल बनाया, और 1985 में एप्पल मैकिटोश और मैकिटोश प्रोग्रामर वर्कशॉप में अनुभाषक को पोर्ट किया। 1985 में लैरी टेस्लर ने निकलॉस विर्थ के परामर्श से ऑब्जेक्ट पास्कल को परिभाषित किया और इन एक्सटेंशन को दोनों में सम्मिलित किया गया। लिसा पास्कल और मैक पास्कल अनुभाषक।

1980 के दशक में, एंडर्स हेल्सबर्ग ने नैसकॉम-2 के लिए ब्लू लेबल पास्कल अनुभाषक लिखा था। आईबीएम पीसी के लिए इस अनुभाषक के पुन: कार्यान्वयन का विपणन कॉम्पास पास्कल और पॉलीपास्कल के नाम से किया गया था, इससे पहले कि इसे बोरलैंड द्वारा अधिग्रहित किया गया और टर्बो पास्कल का नाम बदल दिया गया।

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

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

टर्बो पास्कल और यूनिट या मॉड्यूल संरचनाओं के साथ अन्य डेरिवेटिव मॉड्यूलर प्रोग्रामिंग भाषा हैं। चूंकि, यह स्थिर मॉड्यूल अवधारणा या विशिष्ट प्रतीकों के योग्य आयात और निर्यात प्रदान नहीं करता है।

अन्य प्रकार
सुपर पास्कल वैरिएंट है जो गैर-संख्यात्मक लेबल, रिटर्न कथन और अभिव्यक्तियों को प्रकारों के नाम के रूप में जोड़ता है।

टीएमटी पास्कल 32-बिट डॉस संरक्षित मोड, ओएस/2 और विन32 ऑपरेटिंग सिस्टम के लिए पहला बोरलैंड-संगत अनुभाषक था। टीएमटी पास्कल भाषा पहली ऐसी भाषा थी जिसने फंक्शन और ऑपरेटर ओवरलोडिंग की अनुमति दी थी।

विस्कॉन्सिन-मैडिसन, ज़्यूरिख, कार्लज़ूए और वुपर्टल के विश्वविद्यालयों ने पास्कल-एससी  और पास्कल-एक्सएससी रेफरी> और पास्कल-एक्सएससी (वैज्ञानिक संगणना के लिए विस्तार) संकलक विकसित किए, जिनका उद्देश्य संख्यात्मक संगणनाओं की प्रोग्रामिंग करना था। पास्कल-एससी के लिए विकास आईएसओ 7185 पास्कल स्तर 0 का समर्थन करते हुए 1978 में शुरू हुआ, लेकिन बाद के स्तर पर स्तर 2 समर्थन जोड़ा गया। पास्कल-एससी ने मूल रूप से जेड80 प्रोसेसर को लक्षित किया था, लेकिन बाद में इसे डॉस (x86) और 68000 के लिए फिर से लिखा गया। पास्कल-एक्सएससी को कई बार यूनिक्स (लिनक्स, सनओएस, एचपी-यूएक्स, एआईक्स) और माइक्रोसॉफ्ट/में पोर्ट किया गया है। IBM (DOS with EMX (प्रोग्रामिंग वातावरण), OS/2, Windows) ऑपरेटिंग सिस्टम। यह इंटरमीडिएट सी स्रोत कोड उत्पन्न करके संचालित होता है जिसे बाद में मूल निष्पादन योग्य में संकलित किया जाता है। पास्कल-एससी भाषा के कुछ एक्सटेंशन जीएनयू पास्कल द्वारा अपनाए गए हैं।

पास्कल सोल को 1983 के आसपास एक फ्रांसीसी टीम द्वारा सोल नामक यूनिक्स जैसी प्रणाली को लागू करने के लिए डिजाइन किया गया था। यह मानक पास्कल स्तर -1 (पैरामीटरयुक्त सरणी सीमा के साथ) था, लेकिन परिभाषा ने फ्रेंच में वैकल्पिक खोजशब्दों और पूर्वनिर्धारित पहचानकर्ताओं की अनुमति दी और सिस्टम प्रोग्रामिंग को आसान बनाने के लिए भाषा में कुछ एक्सटेंशन शामिल थे (उदाहरण के लिए lseek के बराबर)। संदर्भ>माइकल गिएन, द एसओएल ऑपरेटिंग सिस्टम, यूसेनिक्स समर '83 सम्मेलन, टोरंटो, ओएन, (जुलाई 1983), पीपी. 75-78 बाद में सोल टीम एक वितरित ऑपरेटिंग डिजाइन करने के लिए कोरसोस परियोजना में चली गई। प्रणाली। संदर्भ>cs.berkeley.edu 

आईपी ​​पास्कल माइक्रोपोलिस (कंपनी) डॉस का उपयोग करते हुए पास्कल प्रोग्रामिंग भाषा का कार्यान्वयन था, लेकिन Z80 पर चल रहे सीपी/एम-80 में तेजी से स्थानांतरित किया गया था। 1994 में इसे 80386 मशीन प्रकारों में स्थानांतरित कर दिया गया था, और आज यह विंडोज़/एक्सपी और लिनक्स कार्यान्वयन के रूप में मौजूद है। 2008 में, सिस्टम को एक नए स्तर पर लाया गया और परिणामी भाषा को पास्कलिन (पास्कल के कैलकुलेटर के बाद) कहा गया। इसमें ऑब्जेक्ट्स, नेमस्पेस कंट्रोल, गतिशील सरणी और कई अन्य एक्सटेंशन शामिल हैं, और आम तौर पर सी शार्प (प्रोग्रामिंग लैंग्वेज) | सी # के समान कार्यक्षमता और टाइप सुरक्षा की सुविधा है। यह एकमात्र ऐसा कार्यान्वयन है जो मूल पास्कल कार्यान्वयन के साथ भी संगत है, जिसे आईएसओ 7185 के रूप में मानकीकृत किया गया है।

भाषा निर्माण
पास्कल, अपने मूल रूप में, एक विशुद्ध रूप से प्रक्रियात्मक भाषा है और इसमें ALGOL जैसी नियंत्रण संरचनाओं की पारंपरिक सरणी शामिल है जैसे कि आरक्षित शब्द,  ,  ,  ,  , और  , एक बयान या एक पर लेकर  -  बयान ब्लॉक। पास्कल में डेटा स्ट्रक्चरिंग कंस्ट्रक्शन भी हैं जो मूल ALGOL 60 टाइप सिस्टम में शामिल नहीं हैं, जैसे रिकॉर्ड (कंप्यूटर साइंस), वेरिएंट, पॉइंटर (कंप्यूटर प्रोग्रामिंग), प्रगणित प्रकार और सेट (कंप्यूटर साइंस) और प्रोसीजर पॉइंटर्स। इस तरह के निर्माण सिमुला 67, ALGOL 68, निकलॉस विर्थ के अपने ALGOL W और C. A. R. होरे के सुझावों से आंशिक रूप से विरासत में मिले या प्रेरित थे।

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

यहाँ बहुत ही सरल हैलो, वर्ल्ड के लिए उपयोग किए जाने वाले स्रोत कोड का उदाहरण है! कार्यक्रम:

डेटा प्रकार
पास्कल में प्रकार की घोषणा का उपयोग उन मानों की श्रेणी को परिभाषित करने के लिए किया जाता है जो उस प्रकार का चर भंडारण करने में सक्षम है। यह संचालन के सेट को भी परिभाषित करता है जो कि उस प्रकार के चर पर किए जाने की अनुमति है। पूर्वनिर्धारित प्रकार हैं:

मूल प्रकार (बूलियन को छोड़कर) के लिए अनुमत मानों की श्रेणी कार्यान्वयन परिभाषित है। कुछ डेटा रूपांतरणों के लिए कार्य प्रदान किए जाते हैं। के रूपांतरण के लिए  को , निम्नलिखित कार्य उपलब्ध हैं:   (जो बैंकर की राउंडिंग का उपयोग करके पूर्णांक को गोल करता है) और   (शून्य की ओर गोल)।

प्रोग्रामर को पास्कल की प्रकार घोषणा सुविधा का उपयोग करके पूर्वनिर्धारित प्रकारों के संदर्भ में अन्य सामान्य रूप से उपयोग किए जाने वाले डेटा प्रकारों (जैसे बाइट, स्ट्रिंग, आदि) को परिभाषित करने की स्वतंत्रता है, उदाहरण के लिए बाइट और स्ट्रिंग जैसे अक्सर उपयोग किए जाने वाले प्रकार पहले से ही कई कार्यान्वयनों में परिभाषित किए गए हैं।

आम तौर पर सिस्टम डेटा को स्टोर करने के लिए वर्ड (कंप्यूटर आर्किटेक्चर) का उपयोग करेगा। उदाहरण के लिए, byte प्रकार को मशीन पूर्णांक में संग्रहीत किया जा सकता है - 32 बिट्स शायद - 8-बिट मान के बजाय। पास्कल में भाषा तत्व नहीं होते हैं जो बुनियादी भंडारण प्रकारों को अधिक विस्तृत रूप से परिभाषित करने की अनुमति देते हैं। यह क्षमता कई पास्कल एक्सटेंशन और फॉलो-ऑन भाषाओं में सम्मिलित थी, जबकि अन्य, जैसे मोडुला -2, ने 16-बिट पूर्णांक जैसे अधिकांश मशीन डेटा प्रकारों को कवर करने के लिए बिल्ट-इन सेट का विस्तार किया। packed }} कीवर्ड प्रत्येक तत्व के लिए शब्द (कंप्यूटर आर्किटेक्चर) का उपयोग करने के बजाय संरचित डेटा प्रकारों के भंडारण की सबसे कुशल विधि का उपयोग करने के लिए संकलक को बताता है: सेट, सरणियाँ और रिकॉर्ड। पैकिंग उन मशीनों तक पहुँच को धीमा कर सकती है जो किसी शब्द के भागों तक आसान पहुँच प्रदान नहीं करती हैं।

सबरेंज प्रकार
किसी भी क्रमिक डेटा प्रकार (वास्तविक को छोड़कर कोई भी सरल प्रकार) की उपश्रेणियाँ भी बनाई जा सकती हैं:

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

प्रकार की घोषणा
प्रकार की घोषणाओं का उपयोग करके प्रकारों को अन्य प्रकारों से परिभाषित किया जा सकता है: इसके अलावा, जटिल प्रकारों का निर्माण सरल प्रकारों से किया जा सकता है:

फ़ाइल प्रकार
जैसा कि ऊपर दिए गए उदाहरण में दिखाया गया है, पास्कल कम्प्यूटर फाइल घटकों का क्रम है। हर फाइल में बफर वेरिएबल होता है जिसे f^ द्वारा दर्शाया जाता है। प्रक्रियाएं (पढ़ने के लिए) प्राप्त करती हैं और (लिखने के लिए) बफर चर को अगले तत्व में ले जाती हैं। पढ़ें इस तरह पेश किया जाता है कि पढ़ें (एफ, एक्स) एक्स के समान है: = एफ ^; प्राप्त करें (च); लिखना इस तरह पेश किया गया है कि लिखना (एफ, एक्स) एफ ^ : = एक्स के समान है; पुट (एफ); प्ररूप text चार की फ़ाइल के रूप में पूर्वनिर्धारित है। जबकि बफ़र चर का उपयोग अगले वर्ण के निरीक्षण के लिए किया जा सकता है (पूर्णांक पढ़ने से पहले अंक की जाँच करें), इससे प्रारंभिक कार्यान्वयन में इंटरैक्टिव कार्यक्रमों के साथ गंभीर समस्याएं होती हैं, लेकिन बाद में आलसी I/O अवधारणा के साथ हल किया गया था।

जेन्सेन और विर्थ पास्कल में, स्ट्रिंग्स को वर्णों के पैक्ड सरणियों के रूप में दर्शाया गया है; इसलिए उनकी निश्चित लंबाई होती है और आमतौर पर अंतरिक्ष-गद्देदार होते हैं।

सूचक प्रकार
पास्कल सूचक (कंप्यूटर प्रोग्रामिंग) के उपयोग का समर्थन करता है: यहाँ चर NodePtr डेटा प्रकार नोड, रिकॉर्ड के लिए सूचक है। घोषित होने से पहले पॉइंटर्स का उपयोग किया जा सकता है। यह आगे की घोषणा है, इस नियम का अपवाद है कि चीजों को इस्तेमाल करने से पहले घोषित किया जाना चाहिए।

नया रिकॉर्ड बनाने के लिए और रिकॉर्ड में फ़ील्ड a और b को मान 10 और वर्ण A असाइन करने के लिए, और पॉइंटर c को नल पॉइंटर (पास्कल में NIL) पर इनिशियलाइज़ करने के लिए, कथन होंगे: इसका उपयोग करके भी किया जा सकता है  बयान, इस प्रकार है: with कथन के दायरे के अंदर, a और b रिकॉर्ड पॉइंटर NodePtr के सबफ़ील्ड को संदर्भित करते हैं न कि रिकॉर्ड नोड या पॉइंटर प्रकार pNode को।

लिंक्ड सूचियाँ, स्टैक (सार डेटा प्रकार) और कतार (सार डेटा प्रकार) रिकॉर्ड में सूचक प्रकार फ़ील्ड (c) को सम्मिलित करके बनाया जा सकता है।

पॉइंटर्स की विशेषता वाली कई भाषाओं के विपरीत, पास्कल केवल पॉइंटर्स को गतिशील रूप से बनाए गए वेरिएबल्स को संदर्भित करने की अनुमति देता है जो अज्ञात हैं, और उन्हें मानक स्थिर या स्थानीय चरों को संदर्भित करने की अनुमति नहीं देता है। पॉइंटर्स के पास संबंधित प्रकार भी होना चाहिए, और प्रकार के लिए सूचक किसी अन्य प्रकार के सूचक के साथ संगत नहीं है (उदाहरण के लिए सूचक सूचक के साथ पूर्णांक के साथ संगत नहीं है)। यह अन्य सूचक कार्यान्वयनों के साथ अंतर्निहित प्रकार के सुरक्षा मुद्दों को समाप्त करने में मदद करता है, विशेष रूप से जो PL/I या C (प्रोग्रामिंग भाषा) के लिए उपयोग किए जाते हैं। यह लटकने वाले संकेतक के कारण होने वाले कुछ जोखिमों को भी हटा देता है, लेकिन डिस्पोजल फ़ंक्शन का उपयोग करके संदर्भित स्थान को गतिशील रूप से हटाने की क्षमता (जिसका सी (प्रोग्रामिंग भाषा) में पाए जाने वाले मुफ्त लाइब्रेरी फ़ंक्शन के समान प्रभाव होता है) का अर्थ है कि पॉइंटर्स के लटकने का जोखिम है समाप्त नहीं किया गया जैसा कि जावा और सी # जैसी भाषाओं में है, जो कचरा संग्रह (कंप्यूटर विज्ञान) प्रदान करते हैं (लेकिन जो मेमोरी लीक की संबंधित समस्या को समाप्त नहीं करते हैं)।

इनमें से कुछ प्रतिबंध नई बोलियों में हटाए जा सकते हैं।

नियंत्रण संरचना
पास्कल संरचित प्रोग्रामिंग भाषा है, जिसका अर्थ है कि नियंत्रण का प्रवाह मानक कथन (प्रोग्रामिंग) में संरचित है, आमतौर पर 'गोटो (कमांड)' कमांड के बिना।

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

डिफ़ॉल्ट रूप से, पैरामीटर मान द्वारा पारित किए जाते हैं। यदि 'var' पैरामीटर के नाम से पहले है, तो इसे संदर्भ द्वारा पारित किया जाता है।

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

कथन विभाजक के रूप में अर्धविराम
पास्कल ने ऐल्गॉल भाषा से कई भाषा सिंटैक्स सुविधाओं को अपनाया, जिसमें अर्धविराम का उपयोग कथन विभाजक के रूप में किया गया। यह अन्य भाषाओं, जैसे कि PL/I और C (प्रोग्रामिंग भाषा) के विपरीत है, जो अर्धविराम को कथन टर्मिनेटर के रूप में उपयोग करते हैं। से पहले किसी अल्पविराम की आवश्यकता नहीं है  रिकॉर्ड प्रकार की घोषणा, ब्लॉक या केस कथन का कीवर्ड; से पहले   दोहराए गए कथन का कीवर्ड; और इससे पहले   if कथन का कीवर्ड।

पास्कल के प्रारंभिक संस्करणों में अतिरिक्त अर्धविराम की उपस्थिति की अनुमति नहीं थी। चूँकि, 1973 की संशोधित रिपोर्ट में ऐल्गॉल जैसे खाली बयानों को जोड़ना और बाद में ISO 7185:1983 में भाषा में परिवर्तन अब इनमें से अधिकांश मामलों में वैकल्पिक अर्धविरामों की अनुमति देता है। के ठीक पहले अर्धविराम की अभी भी अनुमति नहीं है  if कथन में कीवर्ड, क्योंकि   कथन का अनुसरण करता है, कथन क्रम का नहीं। स्थिर ifs के मामले में, अर्धविराम का उपयोग झूलने वाली और समस्या से बचने के लिए नहीं किया जा सकता है (जहां आंतरिक if में कोई और नहीं है, लेकिन बाहरी अगर है) तो अर्धविराम के साथ स्थिर को समाप्त करके - यह इसके बजाय दोनों को समाप्त कर देता है खंड। इसके बजाय, स्पष्ट  ... ब्लॉक का प्रयोग करना चाहिए।

संकलक और दुभाषिया
सामान्य उपयोग के लिए कई पास्कल संकलक और दुभाषिए उपलब्ध हैं:


 * डेल्फी (सॉफ्टवेयर) एम्बरकाडेरो (पूर्व में बोरलैंड/कोडगियर) का प्रमुख त्वरित अनुप्रयोग विकास (आरएडी) उत्पाद है। यहमाइक्रोसॉफ्ट Windows, macOS, iOS और Android (ऑपरेटिंग सिस्टम) के लिए एप्लिकेशन बनाने के लिए पास्कल से निकली ऑब्जेक्ट पास्कल भाषा (बोरलैंड द्वारा 'डेल्फी' कहा जाता है) का उपयोग करता है। D8 से D2005, D2006, और D2007 तक मौजूद .NET समर्थन को समाप्त कर दिया गया है, और नई भाषा (प्रिज्म, जो ऑक्सीजन की रीब्रांडेड है, नीचे देखें) द्वारा प्रतिस्थापित किया गया है जो पूरी तरह से पिछड़े संगत नहीं है। हाल के वर्षों में यूनिकोड समर्थन और सामान्य प्रोग्रामिंग को जोड़ा गया (D2009, D2010, डेल्फी XE)।
 * फ्री पास्कल क्रॉस-प्लेटफ़ॉर्म सॉफ़्टवेयर है। क्रॉस-प्लेटफॉर्म अनुभाषक ऑब्जेक्ट पास्कल में लिखा गया है (और सेल्फ-होस्टिंग (अनुभाषक) है। सेल्फ-होस्टिंग)। इसका उद्देश्य सुविधाजनक और शक्तिशाली संकलक प्रदान करना है, जो पुराने अनुप्रयोगों को संकलित करने और नए विकसित करने का साधन बनने में सक्षम है। यह जीएनयू जनरल पब्लिक लाइसेंस (जीएनयू जीपीएल) के तहत वितरित किया जाता है, जबकि पैकेज और रनटाइम पुस्तकालय (कम्प्यूटिंग) संशोधित जीएनयू लेसर जनरल पब्लिक लाइसेंस (जीएनयू एलजीपीएल) के तहत आते हैं। टर्बो पास्कल, डेल्फी और मैक पास्कल के लिए अनुकूलता मोड के अलावा, इसके पास ऑपरेटर ओवरलोडिंग जैसी विस्तारित सुविधाओं के समर्थन के साथ अपने स्वयं के प्रक्रियात्मक और वस्तु अभिमुखित सिंटैक्स मोड हैं। यह कई प्लेटफॉर्म और ऑपरेटिंग सिस्टम को सपोर्ट करता है। वर्तमान संस्करणों में आईएसओ मोड भी है।
 * Turbo51 माइक्रोकंट्रोलर्स के Intel 8051 परिवार के लिए Turbo पास्कल 7 सिंटैक्स के साथ मुफ़्त पास्कल अनुभाषक है।
 * ऑक्सीजन (प्रोग्रामिंग भाषा) (पूर्व नाम क्रोम) .NET Framework|.NET और मोनो (सॉफ्टवेयर) प्लेटफॉर्म के लिए ऑब्जेक्ट पास्कल अनुभाषक है। यह बनाया गया था और RemObjects सॉफ़्टवेयर द्वारा बेचा जाता है, और कुछ समय के लिए Embarcadero द्वारा डेल्फी प्रिज्म के बैकएंड अनुभाषक के रूप में बेचा जाता है।
 * काइलिक्स (सॉफ्टवेयर) डेल्फी (सॉफ्टवेयर) का वंशज था, जिसमें लिनक्स ऑपरेटिंग सिस्टम और उत्तम ऑब्जेक्ट लाइब्रेरी का समर्थन था। यह अब समर्थित नहीं है। अनुभाषक और आईडीई अब गैर-व्यावसायिक उपयोग के लिए उपलब्ध हैं।
 * GNU पास्कल अनुभाषक (GPC) जीएनयू संकलक संग्रह (GCC) का पास्कल अनुभाषक है। अनुभाषक सी में लिखा गया है, रनटाइम लाइब्रेरी ज्यादातर पास्कल में है। जीएनयू जनरल पब्लिक लाइसेंस के तहत वितरित, यह कई प्लेटफॉर्म और ऑपरेटिंग सिस्टम पर चलता है। यह एएनएसआई/आईएसओ मानक भाषाओं का समर्थन करता है और इसमें आंशिक टर्बो पास्कल बोली समर्थन है। अधिक उल्लेखनीय चूक में से पूरी तरह से टर्बो पास्कल-संगत (लघु) स्ट्रिंग प्रकार की अनुपस्थिति है। बोर्लैंड डेल्फी और अन्य भाषा रूपों के लिए समर्थन काफी सीमित है। चूँकि, मैक-पास्कल के लिए कुछ समर्थन है।
 * वर्चुअल पास्कल विटाली मिरानोव द्वारा 1995 में बोरलैंड पास्कल सिंटैक्स के साथ संगत देशी OS/2 संकलक के रूप में बनाया गया था। फिर, यह व्यावसायिक रूप से fPrint द्वारा विकसित किया गया था, जिसमें Win32 समर्थन जोड़ा गया था, और 2000 में यह फ्रीवेयर बन गया। आज यह Win32, OS/2, और Linux के लिए संकलन कर सकता है, और ज्यादातर बोरलैंड पास्कल और डेल्फी के साथ संगत है। विकास 4 अप्रैल, 2005 को रद्द कर दिया गया था।
 * P4 संकलक, बाद के कई पास्कल-कार्यान्वित-में-पास्कल संकलक के लिए आधार। यह पूर्ण पास्कल का सबसेट लागू करता है।
 * P5 संकलक P4 का ISO 7185 (पूर्ण पास्कल) रूपांतरण है।
 * स्मार्ट मोबाइल स्टूडियो HTML5/जावास्क्रिप्ट अनुभाषक का पास्कल है
 * टर्बो पास्कल 1980 और 1990 के दशक के दौरान पीसी के लिए प्रमुख पास्कल अनुभाषक था, जो अपने शक्तिशाली एक्सटेंशन और बेहद कम संकलन समय दोनों के कारण लोकप्रिय था। टर्बो पास्कल कॉम्पैक्ट रूप से लिखा गया था और डिस्क तक पहुंच के बिना मेमोरी से संकलित, चला और डिबग कर सकता था। धीमी फ़्लॉपी डिस्क ड्राइव उस समय प्रोग्रामरों के लिए सामान्य थी, जो टर्बो पास्कल की गति के लाभ को और बढ़ा देती थी। वर्तमान में, टर्बो पास्कल (5.5 तक) के पुराने संस्करण बोरलैंड की साइट से मुफ्त डाउनलोड के लिए उपलब्ध हैं।
 * आईपी पास्कल भाषा पास्कलिन (पास्कल के कैलकुलेटर के नाम पर) को लागू करता है, जो अत्यधिक विस्तारित पास्कल कॉम्पिटिटर हैआईएसओ 7185 के अनुसार मूल पास्कल के साथ योग्य। इसमें नेमस्पेस नियंत्रण के साथ मॉड्यूल सम्मिलित हैं, जिसमें सेमाफोर, ऑब्जेक्ट्स, रनटाइम, ओवरलोड, ओवरराइड्स और कई अन्य एक्सटेंशन पर आवंटित किसी भी आयाम के गतिशील सरणी के साथ समांतर टास्किंग मॉड्यूल सम्मिलित हैं। आईपी ​​पास्कल में अंतर्निहित पोर्टेबिलिटी लाइब्रेरी है जो पास्कल भाषा के अनुरूप कस्टम है। उदाहरण के लिए, 1970 के मूल पास्कल से मानक टेक्स्ट आउटपुट एप्लिकेशन को विंडो में काम करने के लिए फिर से संकलित किया जा सकता है और इसमें ग्राफिकल निर्माण भी जोड़ा जा सकता है।
 * पास्कल-XT को सीमेंस ने अपने मेनफ्रेम कंप्यूटर ऑपरेटिंग सिस्टम BS2000 और SINIX के लिए बनाया था।
 * PocketStudio पाम OS और MC68xxx प्रोसेसर के लिए पास्कल सबसेट अनुभाषक और RAD टूल है, जिसके कुछ एक्सटेंशन पाम OS API के साथ इंटरफेसिंग में सहायता करते हैं। यह दृश्य रूप डिजाइनर, वस्तु निरीक्षक और स्रोत कोड संपादक के साथ डेल्फी और लाजर जैसा दिखता है।
 * मिडलेट पास्कल - पास्कल अनुभाषक और आईडीई जो विशेष रूप से मोबाइल के लिए सॉफ्टवेयर बनाने के लिए डिज़ाइन किए गए छोटे और तेज़ जावा बाइटकोड उत्पन्न करता है।
 * वेक्टर पास्कल SIMD इंस्ट्रक्शन सेट जैसे MMX और AMD 3d Now के लिए भाषा है, जो सभी Intel और AMD प्रोसेसर और Sony के PlayStation 2 इमोशन इंजन को सपोर्ट करती है।
 * मॉर्फिक पास्कल पूरी तरह से ऑब्जेक्ट पास्कल (सर्वर और ब्राउज़र दोनों तरफ) में लिखे गए वेब एप्लिकेशन के विकास की अनुमति देता है।
 * WDSibyl - Win32 और OS/2 के लिए विज़ुअल डेवलपमेंट एनवायरनमेंट और पास्कल अनुभाषक।
 * पीपी अनुभाषक, पाम ओएस के लिए अनुभाषक जो सीधे हैंडहेल्ड कंप्यूटर पर चलता है।
 * सीडीसी 6000 पास्कल अनुभाषक पहले (सीडीसी 6000) पास्कल अनुभाषक का स्रोत कोड है।
 * पास्कल-एस
 * Amigaपास्कल, Amiga कंप्यूटर के लिए मुफ़्त पास्कल अनुभाषक है।
 * OpenVMS के लिए VSI पास्कल (OpenVMS के लिए पूर्व में HP पास्कल, कॉम्पैक पास्कल, DEC पास्कल, VAX पास्कल और मूल रूप से VAX-11 पास्कल ) पास्कल अनुभाषक है जो OpenVMS सिस्टम पर चलता है। यह Tru64 के तहत भी समर्थित था। OpenVMS के लिए VSI पास्कल ISO/IEC 7185:1990 पास्कल के साथ-साथ कुछ ISO/IEC 10206:1990 विस्तारित पास्कल के साथ संगत है, और इसके अपने एक्सटेंशन भी सम्मिलित हैं। अनुभाषक अनुभाषक # फ्रंट एंड परम आनंद में लागू किया गया है।
 * स्टोनी ब्रुक पास्कल+ डॉस और ओएस/2 के लिए 16-बिट (बाद में 32-बिट) ऑप्टिमाइज़िंग अनुभाषक था, जिसे टर्बो पास्कल के सीधे प्रतिस्थापन के रूप में विपणन किया गया था, लेकिन उत्पादन कोड जो कम से कम दो बार तेजी से निष्पादित हुआ।

आईडीई

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

पुस्तकालय

 * फ्री पास्कल अनुभाषक के साथ जीयूआई एप्लिकेशन बनाने के लिए डब्ल्यूओएल लाइब्रेरी।

आईएसओ/आईईसी 7185:1990 पास्कल
1983 में, भाषा को अंतर्राष्ट्रीय मानक IEC/ISO 7185 में मानकीकृत किया गया था और अमेरिकी ANSI/IEEE770X3.97-1983, और ISO 7185:1983 सहित कई स्थानीय देश-विशिष्ट मानक। ये दो मानक केवल इसमें भिन्न थे कि आईएसओ मानक में अनुरूप सरणियों के लिए स्तर 1 विस्तार सम्मिलित था (सरणी जहां सरणी की सीमाएं रन टाइम तक ज्ञात नहीं हैं), जहां एएनएसआई ने इस विस्तार के लिए मूल (विर्थ संस्करण) की अनुमति नहीं दी थी। भाषा। 1989 में, मूल दस्तावेज़ में पाई गई विभिन्न त्रुटियों और अस्पष्टताओं को ठीक करने के लिए ISO 7185 को संशोधित किया गया (ISO 7185:1990)।

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

निकलॉस विर्थ ने स्वयं 1974 की भाषा को मानक के रूप में संदर्भित किया, उदाहरण के लिए, सीडीसी 6000 संकलक की मशीन विशिष्ट विशेषताओं से इसे अलग करने के लिए। इस भाषा को पास्कल रिपोर्ट में प्रलेखित किया गया था, पास्कल उपयोगकर्ता पुस्तिका और रिपोर्ट का दूसरा भाग।

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

भाषा के आईबीएम पीसी संस्करण यूसीएसडी पास्कल के आगमन के साथ भिन्न होने लगे, व्याख्यात्मक कार्यान्वयन जिसमें कई चूक और परिवर्तनों के साथ भाषा के कई विस्तार सम्मिलित थे। बोरलैंड की बोली सहित कई यूसीएसडी भाषा की विशेषताएं आज भी जीवित हैं।

आईएसओ/आईईसी 10206:1990 विस्तारित पास्कल
1990 में, ISO/IEC 10206 के रूप में विस्तारित पास्कल मानक बनाया गया था, जो तकनीकी सामग्री  में समान हैआईईईई/एएनएसआई 770X3.160-1989 के लिए  रेफरी> 2019 तक, Freeपास्कल Compiler में विस्तारित पास्कल के समर्थन की योजना है। रेफरी>

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

यूसीएसडी पास्कल, प्रोफेसर केनेथ बाउल्स के तहत, पास्कल-पी 2 किट पर आधारित था, और परिणामस्वरूप पास्कल-पी भाषा प्रतिबंधों में से कई को साझा किया। यूसीएसडी पास्कल को बाद में एप्पल पास्कल के रूप में अपनाया गया, और वहां कई संस्करणों के माध्यम से जारी रखा गया। चूंकि यूसीएसडी पास्कल ने वास्तव में पास्कल-पी किट में पास्कल के सबसेट पास्कल को वापस मानक पास्कल निर्माणों को जोड़कर विस्तारित किया, यह अभी भी पास्कल की पूर्ण मानक स्थापना नहीं थी।

1990 के दशक की शुरुआत में, एलन बर्न्स (प्रोफेसर) और ज्योफ डेविस ने पास्कल-एफसी विकसित किया, जो पीएल/0 (निकलॉस की पुस्तक एल्गोरिदम + डेटा स्ट्रक्चर्स = प्रोग्राम्स) का विस्तार है। पास्कल-एफसी को समवर्ती प्रोग्रामिंग (जैसे सेमाफोर, मॉनिटर, चैनल, रिमोट-इनवोकेशन और संसाधन) के लिए शिक्षण उपकरण के रूप में उपयोग करने के लिए कई निर्माण जोड़े गए थे। संगामिति प्रदर्शित करने में सक्षम होने के लिए, संकलक आउटपुट (प्रकार की पी-कोड मशीन | पी-कोड) को तब वर्चुअल मशीन पर निष्पादित किया जा सकता है। यह आभासी मशीन न केवल सामान्य - निष्पक्ष - वातावरण का अनुकरण करती है, बल्कि चरम स्थितियों (अनुचित मोड) का भी अनुकरण कर सकती है।

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

बोरलैंड के ऑब्जेक्ट पास्कल और डेल्फी (सॉफ़्टवेयर) और गैर-बोरलैंड निकट-संगतताओं सहित श्रिंक-रैप्ड टर्बो पास्कल संस्करण 3 और बाद के अवतार, शेयरवेयर लेखकों सहित प्रोग्रामर के साथ लोकप्रिय हो गए, और इसलिए पास्कल कोड की SWAG लाइब्रेरी में बड़ी मात्रा में कोड हैं। डेल्फी जैसे संस्करणों को ध्यान में रखकर लिखा गया है।

इस श्रेणी में सॉफ्टवेयर उत्पाद (संकलक, और आईडीई/रैपिड एप्लीकेशन डेवलपमेंट (आरएडी)):
 * टर्बो पास्कल - TURBO.EXE वर्जन 7 तक, और विंडोज (TPW) के लिए टर्बो पास्कल और टर्बो पास्कल#एप्पल मैकिटोश।
 * कंप्यूटर की अटारी एसटी श्रृंखला के लिए शुद्ध पास्कल और हाईस्पीड पास्कल 2 पास्कल भाषा पर्यावरण।
 * टर्बो पास्कल - टर्बो पास्कल लाइन का पेशेवर संस्करण जो डॉस और विंडोज दोनों को लक्षित करता है।
 * ऑब्जेक्ट पास्कल - पास्कल भाषा का विस्तार जिसे पास्कल के आविष्कारक निकलॉस विर्थ के परामर्श से लैरी टेस्लर के नेतृत्व में टीम द्वारा एप्पल कंप्यूटर में विकसित किया गया था; इसकी विशेषताओं को बोरलैंड के टर्बो पास्कल #एप्पल मैकिटोश और 1989 में DOS के लिए टर्बो पास्कल 5.5 में जोड़ा गया था।
 * डेल्फी (सॉफ्टवेयर) - ऑब्जेक्ट पास्कल अनिवार्य रूप से इसकी अंतर्निहित भाषा है।
 * फ्री पास्कल अनुभाषक (FPC) - फ्री पास्कल ने पास्कल प्रोग्रामर, बोरलैंड पास्कल और बाद में, डेल्फी की वास्तविक मानक बोली को अपनाया। फ्रीपास्कल भी दोनों आईएसओ मानकों का समर्थन करता है।
 * पास्कलABC.NET - संकलक और IDE सहित नई पीढ़ी की पास्कल प्रोग्रामिंग भाषा।
 * काइलिक्स (सॉफ्टवेयर) अनुभाषक और आईडीई है जिसे पहले बोरलैंड द्वारा बेचा जाता था, लेकिन बाद में बंद कर दिया गया। यह डेल्फी (सॉफ्टवेयर) सॉफ्टवेयर विकास पर्यावरण और सी ++ बिल्डर का लिनक्स संस्करण है।
 * लाजर (आईडीई) - फ़ंक्शन में काइलिक्स के समान, फ्री पास्कल अनुभाषक का उपयोग करके आरएडी के लिए मुफ्त क्रॉस-प्लेटफ़ॉर्म विज़ुअल आईडीई है, जो अलग-अलग डिग्री के ऑब्जेक्ट पास्कल की बोलियों का समर्थन करता है।
 * वर्चुअल पास्कल - VP2/1 OS/2 और विंडोज 32 के लिए पूरी तरह से बोरलैंड पास्कल- और बोरलैंड डेल्फी-संगत 32-बिट पास्कल अनुभाषक है (रास्ते में लिनक्स संस्करण के साथ)।
 * सिबिल ओपन सोर्स डेल्फी जैसा आईडीई और अनुभाषक है; कार्यान्वयन में सम्मिलित हैं:
 * डब्ल्यूडीसिबिल माइक्रोसॉफ्ट Windows और OS/2 के लिए, स्पीडसॉफ्ट नाम की कंपनी द्वारा जारी किया गया व्यावसायिक बोरलैंड पास्कल संगत वातावरण जिसे बाद में सिबिल नाम के डेल्फी-जैसे रैपिड एप्लिकेशन डेवलपमेंट (RAD) वातावरण में विकसित किया गया और फिर GPL के तहत ओपन सोर्स किया गया जब वह कंपनी बंद हो गई। ;
 * ओपन सिबिल, जो चालू परियोजना है, OS/2 और eCS के लिए ओपन-सोर्स सॉफ़्टवेयर टूल है जो मूल रूप से स्पीडसॉफ्ट के WDsybl सिबिल पोर्टेबल कंपोनेंट क्लासेस (SPCC) और सिबिल विज़ुअल डेवलपमेंट टूल (SVDE) स्रोतों पर आधारित था, लेकिन अब इसका कोर आईबीएम सिस्टम ऑब्जेक्ट मॉडल (SOM), WPS और OpenDoc है।

संबंधित मानकों की सूची

 * मानकीकरण के लिए अंतर्राष्ट्रीय संगठन 8651-2:1988 सूचना प्रसंस्करण प्रणाली - कंप्यूटर ग्राफिक्स - ग्राफिकल कर्नेल सिस्टम (जीकेएस) भाषा बाइंडिंग - भाग 2: पास्कल

रिसेप्शन
पास्कल ने कंप्यूटिंग समुदाय में महत्वपूर्ण और मानार्थ दोनों तरह की प्रतिक्रियाएं उत्पन्न कीं।

प्रारंभिक आलोचना
1980 के दशक और 1990 के दशक की शुरुआत में बहुत लोकप्रिय होने के बावजूद, पास्कल के कार्यान्वयन, जिसने विर्थ की भाषा की प्रारंभिक परिभाषा का बारीकी से पालन किया, की व्यापक रूप से आलोचना की गई क्योंकि यह शिक्षण के बाहर उपयोग के लिए अनुपयुक्त था। ब्रायन कर्निघन, जिन्होंने सी (प्रोग्रामिंग भाषा) को लोकप्रिय बनाया, ने 1981 की शुरुआत में अपने लेख व्हाई पास्कल इज़ नॉट माई फेवरेट प्रोग्रामिंग भाषा में पास्कल की अपनी सबसे उल्लेखनीय आलोचनाओं को रेखांकित किया। कर्निघन द्वारा वर्णित सबसे गंभीर समस्या यह थी कि सरणी आकार और स्ट्रिंग लंबाई प्रकार का भाग थे, इसलिए ऐसा फ़ंक्शन लिखना संभव नहीं था जो चर-लंबाई सरणियों या यहां तक ​​कि स्ट्रिंग को पैरामीटर के रूप में स्वीकार करे। इसने लिखना असंभव बना दिया, उदाहरण के लिए, सॉर्टिंग लाइब्रेरी। कर्निघन ने बूलियन अभिव्यक्तियों के मूल्यांकन के अप्रत्याशित क्रम, खराब पुस्तकालय समर्थन और स्थैतिक चर की कमी की भी आलोचना की और कई छोटे मुद्दों को उठाया। साथ ही, उन्होंने कहा कि भाषा प्रतिबंधों और सीमाओं से बचने (जानबूझकर और जबरन अनदेखा) करने के लिए कोई सरल निर्माण प्रदान नहीं करती है। अन्य स्रोतों से अधिक सामान्य शिकायतें नोट किया गया कि घोषणाओं का दायरा मूल भाषा परिभाषा में स्पष्ट रूप से परिभाषित नहीं किया गया था, जिसके कभी-कभी सूचक प्रकारों को परिभाषित करने के लिए आगे की घोषणाओं का उपयोग करते समय गंभीर परिणाम होते थे, या जब रिकॉर्ड घोषणाओं ने पुनरावर्ती डेटा प्रकार का नेतृत्व किया, या जब पहचानकर्ता हो सकता है या नहीं हो सकता है गणना सूची में उपयोग किया जाता है। और कठिनाई यह थी कि, ऐल्गॉल 60 की तरह, भाषा ने अपने मापदंडों के अपेक्षित प्रकार को पूर्वनिर्धारित करने के लिए मापदंडों के रूप में पारित प्रक्रियाओं या कार्यों की अनुमति नहीं दी।

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

यह भी देखें

 * अदा (प्रोग्रामिंग भाषा)
 * समवर्ती पास्कल
 * पास्कल और डेल्फी की तुलना
 * पास्कल और सी की तुलना
 * मोडुला-2
 * ओबेरॉन (प्रोग्रामिंग भाषा)
 * ऑब्जेक्ट पास्कल
 * पास्कलकेस
 * मानक एमएल

अग्रिम पठन

 * Niklaus विर्थ: The Programming Language पास्कल. 35–63, Acta Informatica, Volume 1, 1971.
 * C. A. R. Hoare: "Notes on data structuring". In O.-J. Dahl, E. W. Dijkstra and C. A. R. Hoare, editors, Structured Programming, pages 83–174. Academic Press, 1972.
 * C. A. R. Hoare, Niklaus विर्थ: An Axiomatic Definition of the Programming Language पास्कल. 335–355, Acta Informatica, Volume 2, 1973.
 * Kathleen Jensen and Niklaus विर्थ: पास्कल – User Manual and Report. Springer-Verlag, 1974, 1985, 1991, ISBN 0-387-97649-3 and ISBN 3-540-97649-3.
 * Niklaus विर्थ: Algorithms + Data Structures = Programs. Prentice-Hall, 1975, ISBN 0-13-022418-9.
 * Niklaus विर्थ: An assessment of the programming language पास्कल. 23–30 ACM SIGPLAN Notices Volume 10, Issue 6, June 1975.
 * N. विर्थ, and A. I. Wasserman, ed: Programming Language Design. IEEE Computer Society Press, 1980
 * D. W. Barron (Ed.): पास्कल – The Language and its Implementation. John Wiley 1981, ISBN 0-471-27835-1
 * Peter Grogono: Programming in पास्कल, Revised Edition, Addison-Wesley, 1980
 * Richard S. Forsyth: पास्कल in Work and Play, Chapman and Hall, 1982
 * N. विर्थ, M. Broy, ed, and E. Denert, ed: पास्कल and its Successors in Software Pioneers: Contributions to Software Engineering. Springer-Verlag, 2002, ISBN 3-540-43081-4
 * N. विर्थ: Recollections about the Development of पास्कल. ACM SIGPLAN Notices, Volume 28, No 3, March 1993.