Leksik analizator qanday vazifalarni bajaradi, qanday qilib leksik analizator manba faylidan oq bo'shliqlarni olib tashlaydi?
Leksik analizator qanday vazifalarni bajaradi, qanday qilib leksik analizator manba faylidan oq bo'shliqlarni olib tashlaydi?

Video: Leksik analizator qanday vazifalarni bajaradi, qanday qilib leksik analizator manba faylidan oq bo'shliqlarni olib tashlaydi?

Video: Leksik analizator qanday vazifalarni bajaradi, qanday qilib leksik analizator manba faylidan oq bo'shliqlarni olib tashlaydi?
Video: Vistubilulyar Analizator. FIZIOLOGIYASI 2024, Aprel
Anonim

The leksik analizatorning vazifasi (yoki ba'zan oddiy skaner deb ataladi) tokenlarni yaratishdir. Bu shunchaki butun kodni skanerlash (chiziqli tarzda, masalan, massivga yuklash orqali) boshidan oxirigacha belgilar bo'yicha va ularni tokenlarga guruhlash orqali amalga oshiriladi.

Xuddi shunday, odamlar leksik analizatorning vazifalari nimadan iborat?

Kompilyatorning birinchi bosqichi sifatida asosiy vazifa ning leksik analizator manba dasturning kirish belgilarini o‘qish, ularni leksemalarga guruhlash va manba dasturdagi har bir leksema uchun tokenlar ketma-ketligini chiqish sifatida hosil qilishdir. Tokenlar oqimi manzilga yuboriladi tahlil qiluvchi sintaksis uchun tahlil.

Ikkinchidan, leksik analizatorning chiqishi nima? (I) The chiqish ning a leksik analizator belgilar hisoblanadi. (II) printf("i=%d, &i=%x", i, &i)dagi tokenlarning umumiy soni; 10. (III) Belgilar jadvali massiv, xesh-jadval, daraxt va bog'langan ro'yxatlar yordamida amalga oshirilishi mumkin.

Shunday qilib, leksik analizatorda qanday xatolarni tiklash mumkin?

Xatoni tiklash ichida Leksik analizator Mana, eng keng tarqalgan bir nechta xatolarni tiklash texnikasi: Qolgan kiritishdan bitta belgini olib tashlaydi. Vahima rejimida biz yaxshi shakllangan tokenga erishmagunimizcha, ketma-ket belgilar har doim e'tiborga olinmaydi. Qolgan kiritishga etishmayotgan belgini kiritish orqali.

Leksik analizatorni qanday amalga oshiramiz?

Leksik tahlil bolishi mumkin amalga oshirildi Deterministik chekli avtomatlar bilan.

  1. Leksik analizator avval intni o'qiydi va uni haqiqiy deb topadi va token sifatida qabul qiladi.
  2. max u tomonidan o'qiladi va o'qigandan so'ng haqiqiy funktsiya nomi deb topiladi (
  3. int ham token, keyin yana i boshqa token sifatida va nihoyat;

Tavsiya: