Разлика между анализиране отгоре надолу и отдолу нагоре

Съдържание:

Разлика между анализиране отгоре надолу и отдолу нагоре
Разлика между анализиране отгоре надолу и отдолу нагоре

Видео: Разлика между анализиране отгоре надолу и отдолу нагоре

Видео: Разлика между анализиране отгоре надолу и отдолу нагоре
Видео: ПРЕЛЕСТЬ! Вы отдохнёте на этом изделии. Непременно свяжите ЭТУ 👉 летнюю тунику, платье крючком 2024, Юли
Anonim

Ключовата разлика между синтактичния анализ отгоре надолу и отдолу нагоре е, че синтактичният анализ отгоре надолу извършва синтактичния анализ от началния символ към входния низ, докато парсингът отдолу надолу извършва синтактичния анализ от входния низ до началния символ. Освен това, друга важна разлика между синтактичния анализ отгоре надолу и отдолу нагоре е, че синтактичният анализ отгоре надолу използва най-лявата деривация, а отдолу надолу - най-дясната деривация.

Езиците от високо ниво помагат при писането на компютърни програми. Те са по-лесни за разбиране от програмиста, но не и от компютъра. Следователно програмата от високо ниво преобразува в машинен код. Задачата на компилатора е да преобразува четимия от човека изходен код в машинно четим машинен код. Програмата преминава през няколко стъпки, за да преобразува в машинен код. Целият този процес се нарича Система за езикова обработка. Една от тях е компилацията. Синтаксисният анализатор или анализаторът е в компилатора и изпълнява задачата за анализиране.

Какво е анализиране отгоре надолу?

Всеки език за програмиране има набор от правила за представяне на езика. Синтаксисният анализатор или анализаторът взема входния низ и проверява дали е според граматичните продукции. С други думи, граматиката трябва да създаде този низ, използвайки дърво за анализ.

При анализ отгоре надолу, анализът се извършва от началния символ и ще достигне дадения входен низ. Обмислете следните правила за създаване на граматика. Входящият низ (w) е cad.

S -> cAd

A -> ab /a

Дървото на анализ след извършване на анализ отгоре надолу е както следва.

Разлика между анализиране отгоре надолу и отдолу нагоре
Разлика между анализиране отгоре надолу и отдолу нагоре
Разлика между анализиране отгоре надолу и отдолу нагоре
Разлика между анализиране отгоре надолу и отдолу нагоре

Фигура 01: Разбор на дърво 1 с разбор отгоре надолу

S произвежда c A d и A произвежда b. Низът е cabd. Това не е задължителният низ. Така че е необходимо да се направи обратно проследяване, което означава да се използват другите алтернативи.

Подобно, S произвежда c A d. Прилагането на другата опция за A ще даде a. Сега дава необходимия низ. Следователно анализаторът приема този входен низ. Дървото на анализ след извършване на анализ отгоре надолу е както следва.

Разлика между разбор отгоре надолу и отдолу нагоре Фигура 2
Разлика между разбор отгоре надолу и отдолу нагоре Фигура 2
Разлика между разбор отгоре надолу и отдолу нагоре Фигура 2
Разлика между разбор отгоре надолу и отдолу нагоре Фигура 2

Фигура 02: Разбор на дърво 2 с разбор отгоре надолу

Когато входният низ (w) е abbcde

Разгледайте следните правила за създаване на граматика.

S -> aABe

A -> Abc/b

B -> d

При анализ отгоре надолу, S -> aABe (заместване на A -> Abc)

S -> aAbcBe (Заместване на A -> b)

S -> abbcBe (Заместване на B ->d)

S -> abbcde

Заместването започва първо с най-лявата променлива и след това до следващата дясна позиция и така нататък. Следователно, той следва най-левия метод на извеждане. Освен това е важно да решите какво производствено правило да изберете, когато има променлива.

Какво е синтактичен анализ отдолу нагоре?

При отдолу нагоре разборът се случва по друг начин. Анализът се извършва от входния низ до началния символ. Обмислете следните правила за създаване на граматика и нека входният низ е w ɛ cad

S -> cAd

A -> ab /a

Дървото за анализ след извършване на анализ отдолу нагоре е както следва.

Ключова разлика между разбор отгоре надолу и отдолу нагоре Фигура 03
Ключова разлика между разбор отгоре надолу и отдолу нагоре Фигура 03
Ключова разлика между разбор отгоре надолу и отдолу нагоре Фигура 03
Ключова разлика между разбор отгоре надолу и отдолу нагоре Фигура 03

Фигура 03: Дърво на анализ с анализиране отдолу нагоре

Даденият низ е cad. A се генерира от A. c, A и d се комбинират, за да получат началния символ S.

Когато въведеният низ(w) е abbcde

Разгледайте следните правила за създаване на граматика.

S -> aABe

A -> Abc/b

B -> d

При анализ отдолу нагоре, S -> aABe (Заместване на B ->d)

S -> aAde (заместване на A -> Abc)

S -> aAbcde (Заместване на A -> b)

S -> abbcde

Заместването започва първо с най-дясната променлива и след това се премества към следващата лява позиция и така нататък. Следователно следва метод за извличане на ляв мот.

Каква е разликата между анализиране отгоре надолу и отдолу нагоре?

Разборът отгоре надолу е стратегия за разбор, която първо разглежда най-високото ниво на дървото на разбора и работи надолу по дървото на разбора, като използва правилата на формалната граматика. Разборът отдолу нагоре е стратегия за разбор, която първо разглежда най-ниското ниво на дървото на разбора и работи нагоре по дървото на разбора, като използва правилата на формалната граматика. Анализът се извършва от началния символ до входния низ, при анализ отгоре надолу. От друга страна, анализът се извършва от входния низ до началния символ, при анализ отдолу нагоре.

Освен това, основното решение при синтактичния анализ отгоре надолу е да изберете какво производствено правило да използвате, за да конструирате низа, докато основното решение при синтактичния анализ отдолу надолу е да изберете кога да използвате производствено правило, за да намалите низа до вземете началния символ. Освен това синтактичният анализ отгоре надолу използва най-лявата деривация, а долният надолу използва най-дясната деривация.

Разлика между анализ отгоре надолу и отдолу нагоре в таблична форма
Разлика между анализ отгоре надолу и отдолу нагоре в таблична форма
Разлика между анализ отгоре надолу и отдолу нагоре в таблична форма
Разлика между анализ отгоре надолу и отдолу нагоре в таблична форма

Резюме – Разбор отгоре надолу срещу отдолу нагоре

Разликата между синтактичния анализ отгоре надолу и отдолу нагоре е, че синтактичният анализ отгоре надолу извършва синтактичния анализ от началния символ към входния низ, докато синтактичният анализ отдолу надолу извършва синтактичния анализ от входния низ до началния символ.

Препоръчано: