টপ ডাউন এবং বটম আপ পার্সিং এর মধ্যে মূল পার্থক্য হল টপ ডাউন পার্সিং স্টারিং সিম্বল থেকে ইনপুট স্ট্রিং এ পার্সিং করে যেখানে নিচের ডাউন পার্সিং ইনপুট স্ট্রিং থেকে প্রারম্ভিক চিহ্নে পার্সিং করে। তদুপরি, টপ ডাউন এবং বটম আপ পার্সিংয়ের মধ্যে আরেকটি গুরুত্বপূর্ণ পার্থক্য হল টপ ডাউন পার্সিং বাম সবথেকে ডেরাইভেশন ব্যবহার করে এবং নিচের নিচে পার্সিং ডান সবচেয়ে ডেরাইভেশন ব্যবহার করে।
উচ্চ-স্তরের ভাষা কম্পিউটার প্রোগ্রাম লিখতে সাহায্য করে। এগুলি প্রোগ্রামার দ্বারা বোঝা সহজ কিন্তু কম্পিউটার দ্বারা নয়। অতএব, উচ্চ-স্তরের প্রোগ্রামটি মেশিন কোডে রূপান্তরিত হয়।কম্পাইলারের কাজ হল মানুষের পাঠযোগ্য সোর্স কোডকে মেশিন রিডেবল মেশিন কোডে রূপান্তর করা। একটি প্রোগ্রাম মেশিন কোডে রূপান্তর করার জন্য বেশ কয়েকটি ধাপ অতিক্রম করে। এই পুরো প্রক্রিয়াটিকে ভাষা প্রক্রিয়াকরণ সিস্টেম বলা হয়। তার মধ্যে একটি সংকলন। সিনট্যাক্স বিশ্লেষক বা পার্সার কম্পাইলারে থাকে এবং এটি পার্সিং কাজটি সম্পাদন করে।
টপ ডাউন পার্সিং কি?
প্রতিটি প্রোগ্রামিং ভাষার ভাষাকে উপস্থাপন করার জন্য কিছু নিয়ম রয়েছে। সিনট্যাক্স বিশ্লেষক বা পার্স ইনপুট স্ট্রিং নেয় এবং এটি ব্যাকরণের প্রযোজনা অনুযায়ী কিনা তা পরীক্ষা করে। অন্য কথায়, ব্যাকরণকে পার্স ট্রি ব্যবহার করে সেই স্ট্রিং তৈরি করা উচিত।
টপ ডাউন পার্সিং এ, পার্সিং প্রারম্ভিক চিহ্ন থেকে হয় এবং প্রদত্ত ইনপুট স্ট্রিং এ পৌঁছাবে। নিম্নলিখিত ব্যাকরণ উত্পাদন নিয়ম বিবেচনা করুন. ইনপুট স্ট্রিং (w) হল cad৷
S -> cAd
A -> ab /a
টপ ডাউন পার্সিং করার পর পার্স ট্রিটি নিম্নরূপ।
চিত্র ০১: টপ ডাউন পার্সিং সহ ট্রি ১ পার্স করুন
S গ A d উৎপন্ন করে এবং A একটি b উৎপন্ন করে। স্ট্রিংটি ক্যাবডি। এটি প্রয়োজনীয় স্ট্রিং নয়। সুতরাং, ব্যাকট্র্যাকিং করতে হবে, যা অন্য বিকল্পগুলি ব্যবহার করতে হবে।
একইভাবে, S উৎপন্ন করে c A d. A-এর জন্য অন্য অপশন প্রয়োগ করলে a আসবে। এখন এটি প্রয়োজনীয় স্ট্রিং দেয়। অতএব, পার্সার এই ইনপুট স্ট্রিং গ্রহণ করে। টপ ডাউন পার্সিং করার পর পার্স ট্রিটি নিম্নরূপ।
চিত্র 02: টপ ডাউন পার্সিং সহ ট্রি 2 পার্স করুন
যখন ইনপুট স্ট্রিং (w) abbcde হয়
নিম্নলিখিত ব্যাকরণ উৎপাদনের নিয়মগুলি বিবেচনা করুন।
S -> aABe
A -> Abc/b
B -> d
টপ ডাউন পার্সিংয়ে, S -> aABe (A -> Abc প্রতিস্থাপন)
S -> aAbcBe (প্রতিস্থাপন A -> b)
S -> abbcBe (বি->d প্রতিস্থাপন)
S -> abbcde
সাবস্টিটিউশন প্রথমে বাম সবথেকে ভেরিয়েবল দিয়ে শুরু হয় এবং তারপর পরবর্তী ডান পজিশনে ইত্যাদি। অতএব, এটি একটি বাম সবচেয়ে ডেরিভেশন পদ্ধতি অনুসরণ করে। তদ্ব্যতীত, একটি ভেরিয়েবল থাকলে কোন উৎপাদন নিয়ম বেছে নেবেন তা নির্ধারণ করা গুরুত্বপূর্ণ৷
বটম আপ পার্সিং কি?
বটম আপ পার্সিং অন্যভাবে হয়। পার্সিং ইনপুট স্ট্রিং থেকে শুরুর চিহ্ন পর্যন্ত ঘটে। নিম্নলিখিত ব্যাকরণ উত্পাদন নিয়ম বিবেচনা করুন এবং ইনপুট স্ট্রিং wɛ cad হতে দিন
S -> cAd
A -> ab /a
বটম আপ পার্সিং করার পর পার্স ট্রিটি নিম্নরূপ।
চিত্র 03: বটম আপ পার্সিং সহ ট্রি পার্স করুন
প্রদত্ত স্ট্রিংটি ক্যাড। A দ্বারা উত্পন্ন হয়। c, A এবং d একত্রিত করে শুরুর প্রতীক S.
যখন ইনপুট স্ট্রিং(w) abbcde হয়
নিম্নলিখিত ব্যাকরণ উৎপাদনের নিয়মগুলি বিবেচনা করুন।
S -> aABe
A -> Abc/b
B -> d
নিচের উপরে পার্সিং, S -> aABe (বি->d প্রতিস্থাপন)
S -> aAde (A -> Abc প্রতিস্থাপন)
S -> aAbcde (Substuting A -> b)
S -> abbcde
প্রতিস্থাপন প্রথমে ডান সবচেয়ে ভেরিয়েবল দিয়ে শুরু হয় এবং তারপর পরবর্তী বাম অবস্থানে চলে যায় ইত্যাদি। অতএব, এটি একটি বাম মোট ডেরিভেশন পদ্ধতি অনুসরণ করে৷
টপ ডাউন এবং বটম আপ পার্সিংয়ের মধ্যে পার্থক্য কী?
টপ-ডাউন পার্সিং হল একটি পার্সিং কৌশল যা প্রথমে পার্স ট্রির সর্বোচ্চ স্তরের দিকে তাকায় এবং একটি আনুষ্ঠানিক ব্যাকরণের নিয়ম ব্যবহার করে পার্স ট্রির নিচে কাজ করে। বটম আপ পার্সিং হল একটি পার্সিং কৌশল যা প্রথমে পার্স ট্রির সর্বনিম্ন স্তরের দিকে তাকায় এবং একটি আনুষ্ঠানিক ব্যাকরণের নিয়মগুলি ব্যবহার করে পার্স ট্রি পর্যন্ত কাজ করে৷পার্সিং শুরুর চিহ্ন থেকে ইনপুট স্ট্রিং পর্যন্ত হয়, টপ ডাউন পার্সিং এ। অন্যদিকে, পার্সিং হয় ইনপুট স্ট্রিং থেকে শুরুর চিহ্ন পর্যন্ত, নিচের দিকে পার্সিং-এ।
এছাড়াও, টপ ডাউন পার্সিং-এর প্রধান সিদ্ধান্ত হল স্ট্রিং তৈরি করার জন্য কোন প্রোডাকশন রুল ব্যবহার করতে হবে তা নির্বাচন করা যখন নিচের নিচে পার্সিং-এর প্রধান সিদ্ধান্ত হল স্ট্রিং কমাতে কখন প্রোডাকশন নিয়ম ব্যবহার করা হবে তা নির্বাচন করা। প্রারম্ভিক প্রতীক পান। তদুপরি, টপ ডাউন পার্সিং বাম সর্বাধিক ডেরাইভেশন ব্যবহার করে এবং নীচের নিচে পার্সিং ডান সর্বাধিক ডেরিভেশন ব্যবহার করে।
সারাংশ – টপ ডাউন বনাম বটম আপ পার্সিং
টপ ডাউন এবং বটম আপ পার্সিংয়ের মধ্যে পার্থক্য হল টপ ডাউন পার্সিং স্টারিং সিম্বল থেকে ইনপুট স্ট্রিং পর্যন্ত পার্সিং করে যখন নিচের নিচে পার্সিং ইনপুট স্ট্রিং থেকে প্রারম্ভিক চিহ্নে পার্সিং করে।