Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
бАКАЛАВР_РАБОТА.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
2.13 Mб
Скачать

5.3 Семантический анализатор

На рис. 5.3 приведена входная программная модельcдвумяошибками в 3, 4 строке:интервал счётчика iне покрывает весь массивy, а при значенияхсчётчикаj индекс переменной выходит за границу массиваy в строке 19.

N = 20; k = 100; C2 = 16;

phi = 2;

count i = [1-5];

countj = [1-9];

arrayy[20]; // объявлениемассива

// начальные условия

y[2*i -1] = 0;

y[2*i] = 1;

// макросспараметром

macro alpha[i] = 2*pow(i/N - 1, 3)/C2;

macro beta[i] = 2*pow(i/N - 1, 4)/C2;

// явноезаданиеправыхчастейСДУ

y'[1] = alpha[1]*(y[3]- phi)*N/2 + beta[1]*(phi - 2*y[1] + y[3])*N*N - k*y[1]*y[2];

y'[2] = -k*y[2]*y[1];

y'[19] = -k*y[20]*y[19] ; y'[20] = -k*y[19]*y[20] ;

// алгоритмическая форма задания правых частей СДУ

y'[2*j-1] = alpha[j]*(y[2*j + 1] - y[2*j - 3])*N/2 + beta[j]*(y[2*j - 3] - 2*y[2*j-1] + y[2*j+1]) *N*N - k*y[2*j -1]*y[2*j];

y'[2*j] = -k*y[2*j]*y[2*j-1];

// гибридность

change_phi [TIME>= 5] is

phi~=0;

frominit;

Рисунок 5.3 – Входная программная модель

Языковой процессор выдаст следующие диагностики:

line:18 error: out of range array: y

warning: initial values to define a not completely

Заключение

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

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

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

Дальнейшие исследования и разработку следует вести в следующих направлениях:

– добавление возможности описыватьмногомерные задачи, т.е. возможность использовать программные конструкции по нескольким индексам (два и более);

– интеграция в инструментальную среду ИСМА.

Список использованных источников

1 WallingfordE. TranslationofProgrammingLanguages[Электронныйресурс] /WallingfordE. // Режимдоступа: http://www.cs.uni.edu/~wallingf/teaching/155/sessions/

2 Ахо А.В. Компиляторы: принципы, технологии, инструменты: Пер. с англ. / А.В. Ахо, М.С. Лам, Р. Сети, Дж.Д. Ульман. – М.: Издательский дом «Вильямс», 2011. – 1175 с.

3 Страуструп Б. Язык программирования С++.– СПб:Бином, 2008. – 1104 с.

4ГаммаЭ. Приемы объектно-ориентированного проектирования / Э.Гамм, Р. Хелм, Р. Джонсон, Д. Влиссидес. – СПб: Питер, 2008. – 366 с.

5Александреску А. Современное проектирование на С++. – М.:Издательский дом «Вильямс», 2002. – 336 с.

6Шорников Ю.В. Теория и практика языковых процессоров: Учебное пособие. – Новосибирск: Изд-во НГТУ, 2004. – 203 с.

7 Новиков А.Е., Новиков Е.А., Шорников Ю.В. Аппроксимация матрицы Якоби в (2,2)-методе решения жестких систем // ДАН ВШ РФ, №1 (10), 2008. - С.30 - 44.

8 Grune D. Parsing Techniques – A Practical Guide /D. Grune, G. H. J. Jacobs. ­– EllisHorwood, 1990. – 320 pp.

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

10 ШорниковЮ.В. Прикладное математическое, алгоритмическое и программноеобеспечение компьютерного анализа гибридных систем[текст]: дисс… докт. техн. наук / Ю.В. Шорников, 2009.

11 ТомиловИ.Н. Синтаксически ориентированные и графические средства описания и анализа моделей гибридных систем[текст]: дисс… канд. техн. наук / И.Н. Томилов, 2010.