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

2. शब्दावली से परिचित हो जाते हैं. कंपाइलर लेखकों अक्सर अपरिचित शब्दावली का उपयोग करते हैं. आगे बढ़ने से पहले कंपाइलर्स पर पढ़ें. आपको जानने के लिए आवश्यक सब कुछ जानना सुनिश्चित करें.

3. तय करें कि आपकी भाषा क्या समस्या है. क्या यह एक डोमेन-विशिष्ट समस्या को संबोधित कर रहा है, या यह एक सामान्य उद्देश्य भाषा है?

4. अपनी भाषा के अर्थशास्त्र और इसकी अवधारणाओं के बारे में सोचें.

5. कुछ विशिष्ट कार्यों के बारे में सोचें जो कोई आपकी भाषा के साथ प्रदर्शन करने में सक्षम होना चाहता है. उदाहरण के लिए, `वे एक पंक्ति का पालन करने के लिए एक रोबोट को निर्देशित करना चाहते हैं` या `वे अपेक्षाकृत पोर्टेबल डेस्कटॉप प्रोग्राम बनाना चाहते हैं` या `वे इसके साथ वेब अनुप्रयोग बनाना चाहते हैं`.

6. उपरोक्त उदाहरणों के लिए सिंटैक्स विचारों (भाषा का पाठ) के साथ प्रयोग.

7. सिंटैक्स के लिए एक औपचारिक व्याकरण लिखें.

8. तय करें कि भाषा का अर्थ या संकलित किया जाएगा या नहीं. इसका अर्थ यह है कि व्याख्या की गई दुनिया में आपका उपयोगकर्ता आमतौर पर आपके प्रोग्राम को एक संपादक में संपादित करेगा, और संकलित दुनिया में रहते हुए इसे सीधे चलाएगा, आपका उपयोगकर्ता आपके प्रोग्राम को संपादित करेगा, इसे संकलित करेगा, परिणामी निष्पादन योग्य को कहीं भी बचाएगा और इसे चलाएं.

9. फ्रंट एंड स्कैनर और पार्सर लिखें या एक उपकरण ढूंढें जो आपकी सहायता करता है.

10. ऑब्जेक्ट कोड या मध्यवर्ती प्रतिनिधित्व लिखने के लिए पार्सर जानकारी का उपयोग करें. पार्सर एक एएसटी बनाएँ, फिर तीन एड्रेस कोड या उसके बड़े भाई एसएसए का उपयोग करके एएसटी से अपना ऑब्जेक्ट कोड बनाएं, फिर अपने कार्यों, वैश्विक चर, आदि को परिभाषित करने के लिए एक प्रतीक तालिका बनाएं.

1 1. निष्पादक या कोड जनरेटर लिखें जो सब कुछ एक साथ बांध देगा.

12. भाषा का परीक्षण करने के लिए कई परीक्षण कार्यक्रम लिखें.

13. विचार करें कि उपयोगकर्ता अपने स्वयं के कार्यक्रमों को कैसे डीबग करेगा.

14. यदि आपकी भाषा एक मानक पुस्तकालय का उपयोग करती है, तो आप इसे लिखना चाहेंगे. यदि आपको इसकी आवश्यकता हो तो कचरा कलेक्टर या अन्य रनटाइम सुविधाओं के साथ.

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