Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Побудова функції передування по заданій КС-граматики

Реферат Побудова функції передування по заданій КС-граматики





в). Введення рядка закінчується натисканням клавіші Enter . Для визначення в програмі нетермінала використовуються символи '<' і '>' Безпосередньо між якими знаходиться нетермінал, знак або '|', знак привласнити ': ='. Новий рядок обов'язково повинна починатися з нетермінала і наступним символом (і) ': ='.

Для початку аналізу введеної КС-граматики потрібно натиснути клавішу F5 або вибрати в меню пункт "Запуск" (меню викликається натисканням F9 ). Перед тим як почати побудову матриці передування проводиться синтаксичний аналіз введеного тексту.


Можливі помилки при введенні граматики:


Після символу '|' повинен обов'язково слідувати термінал або нетермінал.



В 

У граматиці описаний нетермінал , але він ніде не використовується (відсутнє у правій частині).







В 

У граматиці відсутній опис нетермінала (відсутнє у правій частині)






Якщо граматика введена вірно, то починається побудова матриці (алгоритм описаний вище). При виникненні помилки (один або кілька (не) терміналів мають більш ніж одне відношення передування) виводиться повідомлення і у відповідну клітинку записується символ Х .

Після цього виконується лінеаризація матриці за допомогою графа: для спрощення алгоритму в матриці спочатку ведеться пошук відносин = при знаходженні таких виконується склеювання відповідних вершин. Ця операція позбавляє нас від рутинних дій пов'язаних з В«перестановкоюВ» зв'язків. Також спрощується опис графа в програмі: потреба в зберіганні зв'язків відсутній - необхідно лише зберігати кількість входять і виходять ребер. При побудові векторів граф, перевіряється на циклічність (при існуванні циклу виводиться повідомленні про неможливість побудови функції передування).


5. Текст програми

Program KP;

Uses TpCrt, Graph, GrText, DataUnit;

Const Txt = 'За заданої КС-граматики побудувати відношення простого '+

'або операторного передування і функцію передування, '+

' використовуючи граф лінеаризації і алгоритм перерахунку з візуалізацією '+

'кроків побудови графа ';

Errors: array [0 .. 10] of String [34] = {помилки}

('КС-граматика синтаксично вірна ', {0}

'Очікується ~ "<" ', {1}

'Очікується ~">" ', {2}

'Очікується ~ ": =" ', {3}

'Потрібен нетермінал ', {4}

'Потрібен термінал ', {5}

'Невизначений нетермінал ', {6}

'Невикористовуваний нетермінал ', {7}

'Потрібен термінал або нетермінал ', {8}

' Многоопределенний нетермінал ', {9}

'Знайдено неприпустимі символи '); {10}

menu: a...


Назад | сторінка 9 з 17 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Автоматизація розв'язання задачі на находженіе матриці в складі іншої м ...
  • Реферат на тему: Сортування рядків матриці в програмі Pascal
  • Реферат на тему: Розробка програми для аналізу прямокутної матриці
  • Реферат на тему: Алгоритм розмальовки графа
  • Реферат на тему: Особливість дізнання у справах, за якими обов'язково провадження попере ...