আমি একটি বিদ্যমান ভাষার (অভ্যন্তরীণ ডিএসএল) শীর্ষে আপনার ডিএসএল তৈরি করার পরামর্শ দেব। আমি পাইথনের সাথে কয়েকবার এটি করেছি, এমন একটি সিস্টেম তৈরি করেছি যেখানে ডিএসএলের গ্রাহক একটি পাইথন ফাইলটি লিখেছেন যা সিস্টেমের জন্য একটি কনফিগারেশন ফাইল হিসাবে ব্যবহৃত হয়। কনফিগারেশন ফাইলটি কনস্ট্রাক্টস (ক্লাস, ফাংশন) ব্যবহার করে যা আমি সংজ্ঞায়িত করেছি। এই নির্মাণগুলি ডিএসএল গঠন করে।
আইএমও, পাইথনের মতো একটি ভাষা (হোস্ট সিস্টেমটি যদি নেট বা জাভা হয় তবে আয়রন পাইথন বা জাইথন) বা রুবি (আয়রণরবি, জেবি) জাভা বা সি # এর চেয়ে আপনার ডিএসএলকে বেস করার জন্য ভাল।
আমার ক্ষেত্রে হোস্ট সিস্টেমগুলিও (সি) পাইথন ছিল, সুতরাং ডিএসএল-এর জন্য পাইথন বেছে নেওয়া স্বাভাবিক বিষয়।
কিছু উপকার:
- বিল্ডিংয়ের ব্যয় কম। আপনার বাস্তবায়নের জন্য অনেক কম। পার্সার / সংকলক / দোভাষীকে বাস্তবায়নে সময় ব্যয় করার পরিবর্তে আপনি সমস্যার দিকে মনোযোগ দিতে পারেন।
- হোস্ট ভাষার অ্যাক্সেস: আপনার ভাষাতে বিদ্যমান ভাষা / প্ল্যাটফর্মের সম্পূর্ণ শক্তিতে অ্যাক্সেস থাকবে।