একটি আভিধানিক বিশ্লেষক কিভাবে কাজ করে?
একটি আভিধানিক বিশ্লেষক কিভাবে কাজ করে?
Anonim

আভিধানিক বিশ্লেষণ হল একটি কম্পাইলারের প্রথম ধাপ। দ্য আভিধানিক বিশ্লেষক সোর্স কোডে যেকোন হোয়াইটস্পেস বা মন্তব্যগুলি সরিয়ে এই সিনট্যাক্সগুলিকে টোকেনের একটি সিরিজে ভেঙে দেয়। যদি আভিধানিক বিশ্লেষক একটি টোকেন অবৈধ খুঁজে পায়, এটি একটি ত্রুটি তৈরি করে। দ্য আভিধানিক বিশ্লেষক কাজ করে সিনট্যাক্সের সাথে ঘনিষ্ঠভাবে বিশ্লেষক.

অনুরূপভাবে, একটি আভিধানিক বিশ্লেষক কি করে?

লেক্সার, যাকে আভিধানিক বিশ্লেষক বা টোকেনাইজারও বলা হয়, এমন একটি প্রোগ্রাম যা ভেঙে দেয় ইনপুট সোর্স কোড লেক্সেমগুলির একটি ক্রমানুসারে। এটা পড়ে ইনপুট অক্ষর অনুসারে সোর্স কোড অক্ষর, লেক্সেমগুলিকে স্বীকৃতি দেয় এবং লেক্সেমগুলিকে বর্ণনা করে টোকেনগুলির একটি ক্রম আউটপুট করে।

একইভাবে, আভিধানিক এবং সিনট্যাক্স বিশ্লেষকের মধ্যে পার্থক্য কী? প্রধান আভিধানিক বিশ্লেষণের মধ্যে পার্থক্য এবং সিনট্যাক্স বিশ্লেষণ তাই কি আভিধানিক বিশ্লেষণ সোর্স কোডটি একবারে একটি অক্ষর পড়ে এবং এটিকে অর্থপূর্ণ লেক্সেম (টোকেন) এ রূপান্তর করে সিনট্যাক্স বিশ্লেষণ সেই টোকেনগুলি নেয় এবং আউটপুট হিসাবে একটি পার্স ট্রি তৈরি করে।

পরবর্তীকালে, প্রশ্ন হল, আভিধানিক বিশ্লেষকের আউটপুট কী?

(I) দ আউটপুট এর a আভিধানিক বিশ্লেষক টোকেন হয়। (II) printf-এ মোট টোকেনের সংখ্যা("i=%d, &i=%x", i, &i); 10. (III) অ্যারে, হ্যাশ টেবিল, ট্রি এবং লিঙ্ক করা তালিকা ব্যবহার করে সিম্বল টেবিল বাস্তবায়ন করা যেতে পারে।

কিভাবে একটি Lexer কাজ করে?

দ্য লেক্সার শুধু অর্থহীন স্ট্রিংকে "নম্বর লিটারাল", "স্ট্রিং লিটারাল", "আইডেন্টিফায়ার", বা "অপারেটর" এর মতো জিনিসের সমতল তালিকায় পরিণত করে, এবং করতে পারে করতে সংরক্ষিত শনাক্তকারী ("কীওয়ার্ড") সনাক্ত করা এবং হোয়াইটস্পেস বাতিল করার মতো বিষয়গুলি। আনুষ্ঠানিকভাবে, ক লেক্সার কিছু নিয়মিত ভাষার সেট চিনতে পারে।

প্রস্তাবিত: