Курсовая работа: Разработка и отладка формального языка

1) выделение синтаксических единиц;

2) определение всех синтаксических ошибок (если они есть);

3) преобразование таблицы стандартных символов (ТСС) в некоторую внутреннюю форму представления программы(ВФПП).

Схема программы синтаксического анализатора

Схема программы синтаксического анализа методом простого предшествования приведена в графическом приложении (лист1).

Принятые обозначения:

X – массив символов анализируемой цепочки;

MP – матрица простого предшествованя;

P – множество правил грамматики, которые описывают язык;

ST – стек для определения хвоста основы;

ST1 – стек для определения головы основы;

TL – текущая литера;

NTL – номер текущей литеры;

OSN – массив, в котором будет накапливаться основа;

NOSN – количество символов в массиве OSN (текущее количество символов в основе);

A->, где  – правая часть правила, которая совпадает с массивом OSN, A – левая часть правила, на которую заменяется основа;

REZ – результат.

Чтобы выделить основу необходимо сначала найти конец основы, а затем ее начало, после чего выделяется основа (блоки J2 – O8).

Если после выделения строки OSN находится правило, у которого правая часть правила совпадает с OSN то, переменной REZ присваивается 1, если такого правила нет – ошибка, синтаксический анализ может быть прекращен или нужно исправить ошибку (блок R8).

Операции выполняемые над строковыми переменными:

st.push(i) – поместить элемент i в стек;

st.pop() – удалить элемент из стека;

st.top() – получить доступ к вершине стека;

st.nst() – определить количество элементов в стеке.

Работа данного алгоритма представлена в таблице синтаксического анализа в графическом приложении (лист1).

Заключение

В процессе выполнения курсовой работы были разработаны синтаксический и лексический анализаторы, семантические процедуры для сканера, а также был разработан алгоритм, реализующий синтаксический анализ методом простого предшествования. В целом язык оправдал надежды, возложенные на него в начале работы, и получился довольно стройным и гибким.

К-во Просмотров: 675
Бесплатно скачать Курсовая работа: Разработка и отладка формального языка