Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2008-04-14-02-21-Наталья-.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
825.86 Кб
Скачать

4.6. Построение атрибутного дмп-процессора.

Основная подграмматика.

Функция F

Функция G

Подграмматика выражений.

Функция F

Функция G

Подграмматика логических выражений.

Функция F

Функция G

Подграмматика операторов.

Функция F

Функция G

Подграмматика типов.

Функция F

Функция G

Подграмматика переменных.

Функция F

Функция G

4.7. Тестирование атрибутного дмп-процессора

Тестирование атрибутного ДМП-процессора заключается в моделировании его работы. Для простых языковых конструкций, когда длина текста и их число невелики, а тестирование выполняется отдельно для каждой конструкции, начиная с простейших, работа эта не только необходима, но и реально выполнима.

Результаты тестирования ДМП-процессора рекомендуется описывать при помощи конфигураций, форма которых зависит от применяемого метода синтаксического анализа.

void main()

{ int a;

a=5;

cout >> a;

}

Магазин

Входная цепочка

Выход (тетрады)

_|_

void main()

{ int a;

a=5;

cout >> a;

}

Void main()

_|_

{ int a;

a=5;

cout >> a;

}

{

Void main ()

_|_

int a;

a=5;

cout >> a;

}

int

{

Void main ()

_|_

a;

a=5;

cout >> a;

}

;

a

{

Void main ()

_|_

a=5;

cout >> a;

}

Per

{

Void main ()

_|_

a=5;

cout >> a;

}

Ob

{

Void main ()

_|_

a=5;

cout >> a;

}

;

5

=

a

Ob

{

Void main ()

_|_

cout >> a;

}

Pri

Ob

{

Void main ()

_|_

cout >> a;

}

=

a

5

PO

Ob

{

Void main ()

_|_

cout >> a;

}

=

a

5

Op

Ob

{

Void main ()

_|_

Cout >> a;

}

=

a

5

;

a

>>

cout

Op

Ob

{

Void main ()

_|_

}

=

a

5

;

Sv

>>

cout

Op

Ob

{

Void main ()

_|_

}

=

a

5

;

Svy

>>

cout

Op

Ob

{

Void main ()

_|_

}

=

a

5

Vyv

Op

Ob

{

Void main ()

_|_

}

=

a

5

cout

a

Op

Op

Ob

{

Void main ()

_|_

}

=

a

5

cout

a

}

Op

Op

Ob

{

Void main ()

_|_

=

a

5

cout

a

S

_|_

=

a

5

cout

a

Выводы

В ходе выполнения данной курсовой работы нами разработан некий язык программирования, являющийся подмножеством языка С. Мы научились задавать и описывать синтаксис и семантику рассматриваемого языка, получили первичные навыки по проектированию лексических анализаторов и построению транслирующих грамматик. Познакомились с основными методами транслирования и получили навыки по проектированию ДМП-процессоров заданной конфигурации.

Список литературы

  1. Опалева Э.А., Самойленко В.П., Семенова О.Н. Формальные методы описания перевода: Учеб. пособие /СПбГЭТУ. СПб., 2000.

  2. Опалева Э.А., Самойленко В.П., Семенова О.Н. Методы синтаксического анализа: Метод. указания к лабораторным работам/ СПбГЭТУ. СПб., 1995.

  3. Опалева Э.А. Самойленко В.П. Языки программирования и методы трансляции: учебное пособие /bhv , 2005.-480с.

  4. Axo А., Сети Р., Ульман Д. Компиляторы. Принципы, технологии, инструменты.: Пер. с англ.-М.: Издательский дом «Вильямс», 2003.-768с.