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