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