प्रोग्रामिंग भाषा कैसे बनाएं

कई लोगों को प्रोग्रामिंग भाषाओं के साथ कठिनाइयों या निराशा होती है जो वे हर दिन उपयोग करते हैं. कुछ चीजें चाहते हैं कि चीजें अधिक अमूर्त रूप से संभाली जाएंगी, जबकि अन्य लोगों को अपनी इच्छाओं को लागू करने वाली सुविधाओं को नापसंद करते थे `मानक`. चाहे आप एक पेशेवर हों या सिर्फ एक शौकिया हो, कई बार आप खुद को एक नई प्रोग्रामिंग भाषा बनाना चाहते हैं.

कदम

  1. एक प्रोग्रामिंग भाषा चरण 1 शीर्षक वाली छवि
1. प्रौद्योगिकी से परिचित हो जाते हैं. यदि आप कंप्यूटर का उपयोग करने का तरीका नहीं जानते हैं, तो आप प्रोग्रामिंग भाषा नहीं बना सकते हैं.
  • एक प्रोग्रामिंग भाषा चरण 2 शीर्षक वाली छवि
    2. शब्दावली से परिचित हो जाते हैं. कंपाइलर लेखकों अक्सर अपरिचित शब्दावली का उपयोग करते हैं. आगे बढ़ने से पहले कंपाइलर्स पर पढ़ें. आपको जानने के लिए आवश्यक सब कुछ जानना सुनिश्चित करें.
  • एक प्रोग्रामिंग भाषा चरण 3 शीर्षक वाली छवि
    3. तय करें कि आपकी भाषा क्या समस्या है. क्या यह एक डोमेन-विशिष्ट समस्या को संबोधित कर रहा है, या यह एक सामान्य उद्देश्य भाषा है?
  • एक प्रोग्रामिंग भाषा चरण 4 शीर्षक वाली छवि
    4. अपनी भाषा के अर्थशास्त्र और इसकी अवधारणाओं के बारे में सोचें.
  • क्या आप प्रत्यक्ष सूचक पहुंच की अनुमति देने वाले हैं या नहीं?
  • आपकी भाषा के डेटा प्रकार क्या हैं?
  • क्या यह एक स्थिर या गतिशील भाषा है?
  • आपका मेमोरी मॉडल क्या है? क्या आप एक कचरा कलेक्टर या मैन्युअल मेमोरी प्रबंधन का उपयोग करने जा रहे हैं? (यदि आप कचरा कलेक्टर का उपयोग करते हैं, तो एक लिखने के लिए तैयार करें या अपनी भाषा में मौजूदा एक को अनुकूलित करें.)
  • कैसे सहमति को संभालने जा रहे हैं? क्या आप एक साधारण थ्रेडिंग / लॉकिंग मॉडल या लिंडा या अभिनेता मॉडल की तरह कुछ और जटिल उपयोग करने जा रहे हैं? (चूंकि आजकल कंप्यूटर के पास कई कोर हैं.)
  • क्या भाषा में एम्बेडेड आदिम कार्य हैं या सब कुछ लाइब्रेरी से आएगा?
  • आपकी भाषा का प्रतिमान या प्रतिमान क्या है? कार्यात्मक? वस्तु के उन्मुख? प्रोटोटाइप (जावास्क्रिप्ट की तरह)? पहलू उन्मुख? टेम्पलेट उन्मुख? या कुछ पूरी तरह से नया?
  • आपकी भाषा मौजूदा पुस्तकालयों और भाषाओं (मुख्य रूप से सी) के साथ इंटरफ़ेस कैसे जा रही है? यदि आप डोमेन-विशिष्ट भाषा बना रहे हैं तो यह बिंदु महत्वपूर्ण है.
  • अंत में, इन सवालों के कुछ उत्तरों का उत्तर दूसरे चरण द्वारा दिया जा रहा है और आपको अगले चरण का उत्तर देने में मदद करेगा.
  • एक प्रोग्रामिंग भाषा चरण 5 शीर्षक वाली छवि
    5. कुछ विशिष्ट कार्यों के बारे में सोचें जो कोई आपकी भाषा के साथ प्रदर्शन करने में सक्षम होना चाहता है. उदाहरण के लिए, `वे एक पंक्ति का पालन करने के लिए एक रोबोट को निर्देशित करना चाहते हैं` या `वे अपेक्षाकृत पोर्टेबल डेस्कटॉप प्रोग्राम बनाना चाहते हैं` या `वे इसके साथ वेब अनुप्रयोग बनाना चाहते हैं`.
  • एक प्रोग्रामिंग भाषा चरण 6 शीर्षक वाली छवि
    6. उपरोक्त उदाहरणों के लिए सिंटैक्स विचारों (भाषा का पाठ) के साथ प्रयोग.
  • अपनी भाषा को संदर्भ-मुक्त भाषा श्रेणी में रखने के लिए सावधान रहें या इसके अंदर कुछ. आपका पार्सर जनरेटर और आप बाद में इसकी सराहना करेंगे.
  • एक प्रोग्रामिंग भाषा चरण 7 शीर्षक वाली छवि
    7. सिंटैक्स के लिए एक औपचारिक व्याकरण लिखें.
  • एक प्रोग्रामिंग भाषा चरण 8 शीर्षक वाली छवि
    8. तय करें कि भाषा का अर्थ या संकलित किया जाएगा या नहीं. इसका अर्थ यह है कि व्याख्या की गई दुनिया में आपका उपयोगकर्ता आमतौर पर आपके प्रोग्राम को एक संपादक में संपादित करेगा, और संकलित दुनिया में रहते हुए इसे सीधे चलाएगा, आपका उपयोगकर्ता आपके प्रोग्राम को संपादित करेगा, इसे संकलित करेगा, परिणामी निष्पादन योग्य को कहीं भी बचाएगा और इसे चलाएं.
  • एक प्रोग्रामिंग भाषा चरण 9 शीर्षक वाली छवि
    9. फ्रंट एंड स्कैनर और पार्सर लिखें या एक उपकरण ढूंढें जो आपकी सहायता करता है.
  • साथ ही, इस बारे में सोचें कि आपका कंपाइलर / दुभाषिया आपके उपयोगकर्ता को गलत प्रोग्राम और सिंटैक्स त्रुटियों के बारे में कैसे चेतावनी देगा.
  • एक प्रोग्रामिंग भाषा चरण 10 शीर्षक वाली छवि
    10. ऑब्जेक्ट कोड या मध्यवर्ती प्रतिनिधित्व लिखने के लिए पार्सर जानकारी का उपयोग करें. पार्सर एक एएसटी बनाएँ, फिर तीन एड्रेस कोड या उसके बड़े भाई एसएसए का उपयोग करके एएसटी से अपना ऑब्जेक्ट कोड बनाएं, फिर अपने कार्यों, वैश्विक चर, आदि को परिभाषित करने के लिए एक प्रतीक तालिका बनाएं.
  • साथ ही, आपकी भाषा के आधार पर, आप अपने वर्गों के लिए वर्चुअल पॉइंटर टेबल या सूचना तालिका भी बनाना चाहते हैं (प्रतिबिंब या आरटीटीआई का समर्थन करने के लिए).
  • एक प्रोग्रामिंग भाषा चरण 11 शीर्षक वाली छवि
    1 1. निष्पादक या कोड जनरेटर लिखें जो सब कुछ एक साथ बांध देगा.
  • एक प्रोग्रामिंग भाषा चरण 12 शीर्षक वाली छवि
    12. भाषा का परीक्षण करने के लिए कई परीक्षण कार्यक्रम लिखें.
  • आप उन कार्यक्रमों को बनाना चाहते हैं जो आपके औपचारिक व्याकरण के बोझ को तनाव देते हैं ताकि यह देखने के लिए कि आपका कंपाइलर आपकी परिभाषा के अंदर सबकुछ स्वीकार करता है और इसके बाहर की हर चीज को अस्वीकार करता है.
  • एक प्रोग्रामिंग भाषा चरण 13 शीर्षक वाली छवि
    13. विचार करें कि उपयोगकर्ता अपने स्वयं के कार्यक्रमों को कैसे डीबग करेगा.
  • एक प्रोग्रामिंग भाषा चरण 14 शीर्षक वाली छवि
    14. यदि आपकी भाषा एक मानक पुस्तकालय का उपयोग करती है, तो आप इसे लिखना चाहेंगे. यदि आपको इसकी आवश्यकता हो तो कचरा कलेक्टर या अन्य रनटाइम सुविधाओं के साथ.
  • विशेष रूप से, यदि आप एक कंपाइलर लिखते हैं, तो आपको उस कोड की आवश्यकता होगी जो ऑपरेटिंग सिस्टम उपयोगकर्ता कोड चलाने के लिए निष्पादित करेगा (उदाहरण के लिए, सभी वैश्विक चर आवंटित).
  • एक प्रोग्रामिंग भाषा चरण 15 शीर्षक वाली छवि
    15. इसके लिए विनिर्देश के साथ अपनी भाषा प्रकाशित करें और इसमें कुछ उदाहरण आप इसमें क्या कर सकते हैं.
  • दस्तावेज़ों को यह मत भूलना कि आप मौजूदा पुस्तकालयों, भाषाओं और रनटाइम सुविधाओं और / या मानक पुस्तकालय का उपयोग करने के तरीके के साथ कैसे एकीकृत कर सकते हैं.
  • वीडियो

    इस सेवा का उपयोग करके, कुछ जानकारी YouTube के साथ साझा की जा सकती है.

    टिप्स

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

    सोचें कि क्या आपको वास्तव में एक नई भाषा की आवश्यकता है, और आपकी भाषा में आपकी भाषा क्या है जो अन्य भाषाओं में नहीं है (यह सुविधाओं या एकल सुविधा का संयोजन हो सकता है).
  • भाषा लिखना मुश्किल है यदि आप नहीं जानते कि आप क्या कर रहे हैं. यह भी बहुत अभ्यास करता है.
  • भाषा के डिजाइन में कुछ समय बिताने के लिए तैयार करें, क्योंकि आपके पास संकलक लिखने और डिजाइन बिंदु के पीछे लिखने के बाद आपकी भाषा को बदलने का मौका नहीं मिलेगा.
  • कई भाषाओं के संघ में अपनी सुविधाओं को आधार बनाने की कोशिश न करें, जैसे कि आपकी भाषा भाषा एक्स, भाषा वाई और भाषा जेड का संघ होगा. इतिहास ने हमें दिखाया है कि इस तरह से बनाई गई भाषाओं को कभी भी सफलता नहीं मिलेगी, या हर कोई प्रोग्रामिंग पीएल / 1 के बजाय कुछ के आधार पर होगा.
  • चीजें आप की आवश्यकता होगी

    • धीरज.
    • भाषा सुविधाओं और भाषा डिजाइन के बारे में ज्ञान (आप डेविड ए से प्रोग्रामिंग भाषा डिजाइन अवधारणाओं को पढ़ना चाह सकते हैं. वाट).
    • कंपाइलर सिद्धांत के बारे में ज्ञान (चूंकि आप अपनी भाषा के लिए एक कंपाइलर / दुभाषिया लिखेंगे और आपका कार्यान्वयन संदर्भ कार्यान्वयन होगा).
    • आपकी भाषा के लिए उपयोग करता है (याद रखें कि सी या लिस्प जैसी कुछ सबसे अधिक उपयोग की जाने वाली भाषाओं को कुछ विशिष्ट करने या प्रतीकात्मक गणना करने जैसे कुछ विशिष्ट करने के लिए बनाया गया था).
    सामाजिक नेटवर्क पर साझा करें:
    समान