22938

Синтаксичний аналіз виразів

Лекция

Информатика, кибернетика и программирование

Мова в певному алфавіті основному символів це слова записані за певними синтаксичними правилами. Синтаксичні правила подаються формулами БекусаНаура БНФ вигляду : ::= де позначає синтаксичне поняття а послідовність символів розширеного алфавіту. Вираз [] означає що послідовність символів входить або не входить в конструкцію. Синтаксичний аналізатор це програма що для заданої послідовності символів основного алфавіту розпізнає чи побудована вона у відповідності з синтаксичними правилами для даного поняття.

Русский

2013-08-04

31 KB

1 чел.

ЛАБОРАТОРНА РОБОТА  6

 

ТЕМА:  Синтаксичний аналіз виразів.

Мова в певному алфавіті (основному) символів – це слова, записані за певними синтаксичними правилами. Синтаксичні правила подаються формулами Бекуса-Наура (БНФ) вигляду :  <…> ::= ,  де  <…> - позначає синтаксичне поняття, а  - послідовність символів розширеного алфавіту. Розширений алфавіт – це основний  алфавіт, доповнений  синтаксичними поняттями та метасимволами - ‘|’, ‘[‘, ‘]’, ‘{‘, ‘}’, ‘(‘, ‘)’.  Метасимвол ‘|’ розділяє  альтернативні варіанти поняття. Вираз […] означає,  що послідовність символів входить або не входить  в конструкцію. Вираз {…} – що конструкція може повторюватись довільну кількість  раз (n>=0).  Кожному поняттю відповідає певна індуктивно визначена сукупність синтаксично правильних  слів в основному алфавіті. Означені синтаксичні правила у вигляді формул є не що іншим, як лінійною формою вже згадуваних СД Н.Вірта.  Синтаксичний аналізатор - це програма, що для заданої  послідовності символів основного алфавіту розпізнає, чи побудована вона  у відповідності з синтаксичними правилами для даного поняття. Говорять, що БНФ допускає  LА(1)-аналіз, якщо в кожній її формулі альтернативи  правої  частини розпочинаються з попарно різних символів основного алфавіту. Програма LА(1)-аналізатор  складається з сукупності рекурсивних функцій, що відповідають кожному  синтаксичному правилу і які викликають  одна одну у відповідності до правих частин своїх формул.

  

ЗАВДАННЯ

Побудувати синтаксичний аналізатор  для   поняття <хороший>:

<хороший> :: = x | [<хороший>{+<хороший>}]

Вхідна послідовність символів  вводиться з клавіатури. Основний алфавіт складають чотири символи: x , [], + .  БНФ складається з одного синтаксичного правила.  «Хорошими»  є , нпр., слова :   x (база індукції),  [x], [x+x]  і т.д. (за індуктивним переходом).  «Нехорошими» cловами - xx, [],  x+x  тощо.

/* LA(1)- аналізатор для поняття  <хороший> */

#include <stdio.h>

char ch; /* для читання символів  вхідного слова */

beautiful()

/* УВАГА! Перед викликом аналізатора  змінна ch  завжди містить  черговий  символ вхідного слова  !!! */

{ if (ch == ‘[‘) { ch=getchar();  beautiful();

                          while (ch==’+’) { ch=getchar();  beautiful();}

                            if  (ch != ‘]‘) { Err(1); /* обробка  помилкової ситуації :“Відсутня дужка ‘]’ ” */

                                                     

                                                     exit(1);} 

                                /* Заключна дужка ‘]’  є  і це означає, що   прочитано правильний варіант  альтернативи  */

                                  ch=getchar();  

                          } else  if (ch == ‘x‘)  ch=getchar();

                                                  else { Err(2); /* обробка  помилкової ситуації : Очікування  х  */

}

main ()

{  ch= getchar();

   beautiful();

   if (ch == EOF) printf (“Yes”)  

    else  Err(3); /* обробка  помилкової ситуації : Зайві символи в кінці слова   */

}

Еrr( int i)

{  switch (i) {

                          case 1:  printf (”\n Помилкова ситуація 1  ----   відсутня дужка ‘]’ “); break;

                          case 2:  printf (”\n Помилкова ситуація 2  ----   очікування  х’ ” ); break;

                          case 3:  printf (”\n Помилкова ситуація 3  ----    зайві символи в кінці слова “); break;

                      }

    exit(1);

}


 

А также другие работы, которые могут Вас заинтересовать

43703. Употребления артикля в текстах газетно-публицистического стиля 72.67 KB
  В результате образования двух соотносительных форм артикля, противопоставляемых по значению определенности и неопределенности существительного, постепенно происходит отрыв артикля от указательного местоимения и числительного и превращение в особый вид служебных слов с чисто грамматическим значением.
43704. Разработка автоматизированной информационно-справочной системы для учета нефтедобывающего оборудования и контроля выполнения ремонтных работ предприятия «НоябрьскНефтеГазАвтоматика» 1.91 MB
  Целью данного дипломного проекта является разработка автоматизированной информационно-справочной системы для учета нефтедобывающего оборудования и контроля выполнения ремонтных работ предприятия НоябрьскНефтеГазАвтоматика. Задачами данного дипломного проекта являются: изучение предметной области; разработка модели бизнеспроцессов складских операций; выявление недостатков существующих бизнеспроцессов обработки информации при приеме заказов на монтаж и ремонт...
43705. Шляхи удосконалення маркетингової діяльності та маркетингової конкурентної стратегії ТОВ «Мар-Трейд» 837.15 KB
  Стратегія блакитних океанів Основні фактори формування та реалізації маркетингових конкурентних стратегій Розділ ІІ Дослідження маркетингової діяльності та маркетингової конкурентної стратегії ТОВ МарТрейд 2. Ці дослідники запропонували різні визначення терміна “конкурентна стратегія†та види базових конкурентних стратегій описали методи їх розроблення і впровадження в умовах розвинутої економіки. У процесі дослідження були використані наступні сучасні методи дослідження: статистичного аналізу при збиранні даних що аналізуються...
43706. УКРАЇНСЬКА МОВА ЗА ПРОФЕСІЙНИМ СПРЯМУВАННЯМ. Модульний курс 4.88 MB
  Містить комплекс вправ і завдань для вироблення навичок грамотного використання засобів української мови у професійній сфері. Розроблено систему вправ, спрямованих на формування умінь аналізу наукового стилю, написання текстів різних жанрів наукового мовлення, виявлення їх особливостей та оформлення, редагування, коригування та перекладу наукових текстів.
43707. Повышение финансовой устойчивости страховой организации на примере ОСАО «РЕСО-гарантия» 22.03 MB
  Дипломная работа построена следующим образом: в первой части рассмотрены теоретические аспекты, а именно: понятие и сущность финансовой устойчивости; во второй части проведен анализ финансово-хозяйственной деятельности организации; в третьей части проведенаработка мероприятий по оптимизации финансовой устойчивости, проведена оценка эффективности внедрения предложенных мероприятий.
43708. Подсистема анализа и контроля информационных блоков автоматической системы радиовещания 984.74 KB
  Рабочая станция должна иметь достаточную производительность, быструю дисковую подсистему, достаточный объем оперативной памяти для функционирования программного обеспечения. Рабочая станция должна содержать манипулятор мышь для удобной навигации в установленном программном обеспечении, так же должна иметься клавиатура для ввода текстовой информации.
43709. ОСОБЛИВОСТІ ПРАВОВОГО СТАТУСУ ОКРЕМИХ КАТЕГОРІЙ ГРОМАДЯН ЯК СУБ’ЄКТІВ АДМІНІСТРАТИВНОГО ПРАВА 165.17 KB
  ПОНЯТТЯ ТА ЗМІСТ ПРАВОВОГО СТАТУСУ ГРОМАДЯНИНА ЯК СУБЄКТА АДМІНІСТРАТИВНОГО ПРАВА Конституція України в преамбулі закріплює прагнення Українського народу розвивати і зміцнювати демократичну соціальну правову державу. Характер їх відносин зумовлюється положенням Конституції України про те що головним обовязком держави є утвердження і забезпечення прав і свобод людини. Термін “фізична особа†ширший за термін “громадянин†оскільки включає не тільки громадян України а й громадян інших держав та осіб без громадянства. Конституція...
43710. Структура дистанционного курса (ДК) «Изготовление и испытание ПТМ» 6.4 MB
  В работе представлена структура дистанционного курса (ДК) «Изготовление и испытание ПТМ»; даны рекомендации по оформлению ДК, предложена информационная, содержательная и контрольно-мониторинговая части ДК «Изготовление и испытание ПТМ».
43711. Розробка моделі цінності інформаційних ресурсів для оптимізації побудови системи захисту інформації 302.91 KB
  Мета роботи розробка моделі цінності інформаційних ресурсів для оптимізації побудови системи захисту інформації. Обєкт дослідження цінність інформації якою володіє організація що в даній роботі позиціонується як інформаційні ресурси та входить до складу активів організації. Результатом роботи є адитивна модель цінності інформації яка включає основні елементи цінності легка для сприйняття та передбачає можливість модернізації в залежності від специфіки області в якій застосовується. Продовжити вдосконалення даної моделі можна більш...