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