Интерпретация блок-схем

// процедуры в списке функций)

struct VARIABLE* variable;// если это не переменная то variable==NULL

// если переменной не существует в таблице

// переменных то variable == NULL

struct CONSTANTA* constanta;//указатель на таблицу констант

// если это не константа то constanta==NULL

// если такой константы не существует в таблице

// констант то constanta == NULL

struct SVERTKA* next;// указатель на следующий элемент свертки

int result;// счетчик числа операндов операций или функции

};

Заключение

Данная работа представляет собой транслятор с языка блок схем.

Система состоит из оболочки, графического редактора блок-схем, встроенного текстового редактора, интерпретатора, пошагового отладчика и конвертора на язык Си.

Система отлажена и протестирована на серии примеров. Система реализована в двух вариантах:

Под операционную систему MS-Dos,

Под операционные системы Windows NT, Windows 95, Windows 98.

Размер исполняемого файла в среде MS-Dos 300 Кбайт, в среде Windows 900 Кбайт.

Результаты данной работы были представлены на 6ой международной научно-практической конференции “Новые информационные технологии в университетском образовании”, которая проходила в городе Новосибирске с 17 по 19 марта 1999 года. На конференции был сделан доклад (тезисы опубликованы).

Система создавалась с целью обучения студентов первого курса ФПМиК основам программирования. Предполагается её активное использование.

Литература

Лебедев В.Н. Введение в системы программирования. - М: Статистика, 1975.-315с.

Грис Д. Конструирование компиляторов для цифровых вычислительных машин, - М: Мир, 1975.-544с.

Касьянов В.Н. , Поттосин И.В. Методы построения трансляторов.- Новосибирск: Наука, 1986. -343с.

Ахо А., Ульман Дж. Теория синтаксического анализа, перевода и компиляции в 2-х томах. - М: Мир, 1978.

Соловьёв А.С. Интерпретатор языка блок-схем. // Материалы научно-практической конференции “Новые информационные технологии в университетском образовании”. - Новосибирск: Издательство ИДМИ, 1999.-227с.

Демин А.Ю., Гусев А.В. Визуальное программирование программ на основе блок-схем. // Материалы научно-практической конференции “Новые информационные технологии в университетском образовании” Новосибирск: Издательство ИДМИ, 1999.-227с.

Паронджанов В.Д. Язык программирования “ДРАКОН” // Программирование. – 1995. - №3.

Паронджанов В.Д. Учись рисовать ясные блок-схемы. - М: “Радио и связь”, 1995.

Рейсдорф Кент, Хендерсон Кен Освой самостоятельно Borland C++Builder. - Москва: ЗАО “Издательство БИНОМ”, 1998.-704с.

Lee C.Y. An algorithm for path connetion and its applications. // “IRE Trans.”, V.EC-10 - № 3.

Приложение

Приложение 1: Примеры блок-схем

MS-Dos версия:

Windows версия:

Пример 1. Нахождение максимума из двух чисел.

Пример 2. Сортировка методом пузырька (Windows версия).

Пример3. Вычислительная программа (MS-Dos версия)

Приложение 2: Матрицы переходов анализаторов

Матрица лексического анализатора (сканера)

0

(

)

+

-

/

*

<

>

=

^

|

!

[

]

,

;

&

.

(

0

‘’

0

1

2

22

22

9

12

14

15

17

24

14

18

23

22

22

22

22

22

3

-9

E

0

4

6

1

1

1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

-1

-1

-1

0

-1

-1

2

-1

2

-1

0

0

0

0

0

0

0

0

0

0

-1

0

0

0

0

3

-1

-1

0

-1

-1

3

-1

3

-1

0

0

0

0

0

0

0

0

0

0

-1

0

0

0

0

-1