рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ ВЫСОКОГО УРОВНЯ

ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ ВЫСОКОГО УРОВНЯ - Курсовой Проект, раздел Программирование, Федеральное Агентство По Образованию Российской Федерации ...

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ Российской Федерации

Государственное образовательное учреждение

Высшего профессионального образования

Санкт-Петербургский государственный университет

Аэрокосмического приборостроения

 

МЕТОДИЧЕСКИЕ УКАЗАНИЯ К ВЫПОЛНЕНИЮ КУРСОВОГО ПРОЕКТА

ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ ВЫСОКОГО УРОВНЯ

 

 

Санкт-Петербург

  Рецензент: В.П.Попов  

Задание на курсовой проект

 

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

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

Предусмотреть возможность функционирования вышеуказанных моделей для двух вариантов организации областей видимости символических имен: статического и динамического; полагая, что характерными структурами исходной программы для них являются соответственно:

- блочная структура, позволяющая зафиксировать области видимости для подпрограмм на этапе компиляции с учетом вложенности блоков;

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

 

Требования к организации входных данных

 

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

 

Требования к организации выходных данных

 

Выходные данные следует представить двумя файлами:

- файл результатов моделирования работы компилятора,

- файл результатов моделирования выполнения программы.

Результаты моделирования работы компилятора представить множеством списков идентификаторов для множества подпрограмм.

Предусмотреть диагностику исходной программы на наличие в ней ошибок двух типов:

- двойное описание имени,

- использование неописанного имени.

Ошибки первого типа могут быть обнаружены на этапе компиляции для программы со статически определяемой областью видимости, и на обоих этапах моделирования (компиляции и выполнения) – для программы с динамически определяемой областью видимости. Ошибки второго типа обнаруживаются на этапе моделирования выполнения программы.

Результаты моделирования выполнения программы для статически определяемой области видимости в зависимости от варианта задания представить:

- последовательностью состояний стека времени выполнения с указателями статической цепи(SCP);

- последовательностью состояний дисплея.

Для динамически определяемой области видимости результаты моделирования выполнения программы в зависимости от варианта задания представить:

- последовательностью состояний стека времени выполнения;

- последовательностью состояний центральной таблицы имен.

Кроме того, каждая порция информации (состояние стека, дисплея или таблицы) о выполнении подпрограммы должны сопровождаться списком псевдонимов для выполняющейся подпрограммы.

 

Тестовый пример

 

Входные данные

1) Программа блочной структуры

program p;

var a,b,c:integer;

procedure d(var e:integer; f:integer);

var a,g:integer;

procedure h;

var b,i:integer;

begin

end;

begin

h;

end;

begin

d(a,c);

d(b,c);

end.

 

2) Программа, не имеющая вложенных блоков

int a(int& b; int c)

{ int d,e;

}

int f(int g,h)

{ int i,j;

a(i,j);

a(i,i);

a(h,i);

 

}

int main()

{ int d,h;

f(d,h);

a(d,d);

a(h,h);

}

 

Выходные данные

 

Программа 1 в условиях статически определяемой области видимости имен

Результаты компиляции

 

Таблица имен программы p Таблица имен программы d

a integer e integer

b integer f integer

c integer a integer

d:procedure g integer

b integer

c integer

h:procedure

Таблица имен программы h

b integer

i integer

a integer

g integer

e integer

f integer

c integer

 

Результаты моделирования выполнения (последовательность состояний стека)

 

Выполнение блока p Выполнение блока d

 

Выполнение блока h Выполнение блока d

   

Выполнение блока p Выполнение блока d

Выполнение блока h Выполнение блока d

 

Выполнение блока p

  Результаты моделирования выполнения (последовательность состояний дисплея)  

Выполнение блока p Выполнение блока d

Ссылка на данные блока p Ссылка на данные блока p

Ссылка на данные блока d

Список псевдонимов Список псевдонимов

- -

Выполнение блока h Выполнение блока d

Ссылка на данные блока p Ссылка на данные блока p

Ссылка на данные блока d Ссылка на данные блока d

Ссылка на данные блока h

 

Список псевдонимов Список псевдонимов

- -

Выполнение блока p Выполнение блока d

Ссылка на данные блока p Ссылка на данные блока p

Ссылка на данные блока d

 

Список псевдонимов Список псевдонимов

- b,e

Выполнение блока h Выполнение блока d

Ссылка на данные блока p Ссылка на данные блока p

Ссылка на данные блока d Ссылка на данные блока d

Ссылка на данные блока h

 

Список псевдонимов Список псевдонимов

- b,e

Выполнение блока p

Ссылка на данные блока p

 

Список псевдонимов

-

 

 

Программа 2 в условиях динамически определяемой области видимости имен

Результаты компиляции

 

Таблица имен программы a

b адрес int

c int

d int

e int

 

Таблица имен программы f

g int

h int

i int

j int

Таблица имен программы main

d int

h int

 

Результаты моделирования выполнения (последовательность состояний стека)

 

Выполнение блока main Выполнение блока f Выполнение блока a

 

Выполнение блока f Выполнение блока a Выполнение блока f

Выполнение блока a Выполнение блока f Выполнение блока main

Выполнение блока a Выполнение блока main Выполнение блока a

Выполнение блока main

h Список псевдонимов
d -

Результаты моделирования выполнения (последовательность состояний центральной таблицы имен)

 

Выполнение блока main

Выполнение блока f

Выполнение блока a

Выполнение блока f

Выполнение блока a

Выполнение блока f

Выполнение блока a

Выполнение блока f

Выполнение блока main

Выполнение блока a

Выполнение блока main

Выполнение блока a

Выполнение блока main

Варианты задания

 

Код варианта задания определяется тремя компонентами:

- форма вывода результатов моделирования выполнения программы для статически определяемой области видимости (S – состояния стека, D – состояния дисплея);

- форма вывода результатов моделирования выполнения программы для динамически определяемой области видимости (S – состояния стека, T – состояния таблицы);

- синтаксис языка исходной программы (P –Pascal, C - C).

 

Таблица вариантов

№ вар.
Код вар. STP STC DTP DTC SSP SSC DSP DSC

 

Содержание пояснительной записки

 

Введение

1.Постановка задачи

2.Описание программной модели

2.1.Структура программы

2.2.Алгоритмы функционирования блоков

2.3.Описание структур данных программы

2.4.Интерфейс программной модели

3.Результаты тестирования программы

Заключение

Литература

Приложение

 

Пояснения к используемой терминологии

Активация подпрограммы создается при каждом вызове этой подпрограммы. Под записью активации подпрограммы в рамках данного документа будем понимать… В условиях статически определяемой области видимости нелокальные ссылки каждой подпрограммы определяются во время…

Рекомендации по методике проектирования

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

График выполнения курсового проекта

 

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

 

1. Вирт Н. Алгоритмы и структуры данных. - М.: Мир,1989. - 360с.

2. Подбельский В.В. Язык С++. – М.: Финансы и статистика, 2003.-560с.

3. Пратт Т., Зелковиц М. Языки программирования: разработка и реализация. – СПб.: Питер, 2002. -688с.

4. Фаронов В.В. Турбо Паскаль 7.0. Начальный курс. Учебное пособие. - М.: «Нолидж», 1997. - 616с.

 

СОДЕРЖАНИЕ

1. Задание на курсовой проект. 2

2. Тестовый пример. 2

3. Варианты задания. 2

4. Содержание пояснительной записки. 2

5. Пояснения к используемой терминологии. 2

6. Рекомендации по методике проектирования. 2

7. График выполнения курсового проекта. 2

БИБЛИОГРАФИЧЕСКИЙ СПИСОК.. 2

 

– Конец работы –

Используемые теги: Программирование, языках, высокого, уровня0.055

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ ВЫСОКОГО УРОВНЯ

Что будем делать с полученным материалом:

Если этот материал оказался полезным для Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Еще рефераты, курсовые, дипломные работы на эту тему:

Все языки программирования делятся на языки низкого, высокого и сверхвысокого уровня
ОГЛАВЛЕНИЕ ВВЕДЕНИЕ ЗАДАНИЕ ЗАДАНИЕ... ВВЕДЕНИЕ...

Применение языков программирования высокого уровня для реализации численных методов
Повышается уровень подготовки студентов вузов, которые уже с первых курсов приобщаются к использованию ЭВМ и простейших численных методов, не… В связи с этим можно констатировать, что применение ЭВМ приобрело массовый… И здесь на помощь пользователю приходят описания языков программирования высокого уровня далее ЯВУ и численные методы…

ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ ВЫСОКОГО УРОВНЯ
На сайте allrefs.net читайте: ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ Российской Федерации...

ЭЛЕКТРОННЫЙ СБОРНИК ЗАДАНИЙ ПО ДИСЦИПЛИНАМ «ИНФОРМАТИКА» И «ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ВЫСОКОГО УРОВНЯ»
МОСКОВСКИЙ АВТОМОБИЛЬНО ДОРОЖНЫЙ ИНСТИТУТ... ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ... КАФЕДРА...

ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ ВЫСОКОГО УРОВНЯ ЛАБОРАТОРНЫЙ ПРАКТИКУМ
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ... ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ИНСТИТУТ...

Два объекта истории русского языка: живой язык диалектный и литературный язык
Новые общественные функции приобретает русский язык по мере сложения новой исторической общности советского народа он становится межнациональным... Современный период... Горшкова Хабургаев ИГРЯ...

Грамматика как языковой уровень. Морфология и смежные уровни языка; морфология и фонология; основные понятия морфонологии; морфология и синтаксис
Термин морфология состоит из двух древнегреческих корней и буквально означает учение о форме Он имеет два основных значения... Система механизмов языка обеспечивающая построение и понимание его... раздел грамматики изучающий закономерности функционирования и развития этой системы...

Понятие литературный язык. Место литературного языка среди других форм существования языка
Литературный язык это язык государственных и культурных учреждений школьного обучения радио и телевидения науки публицистики художественной... Современный литературный язык многофункционален Он используется в различных... Основные сферы использования литературного языка телевидение и кино наука и образование печать и радио...

В первом семестре рассматриваются основные конструкции языка Си и базовая технология программирования структурное программирование
В первом семестре рассматриваются основные конструкции языка Си и базовая технология программирования структурное программирование... Структурное программирование это технология создания программ позволяющая... Компиляторы и интерпретаторы Трансляторы бывают...

Грамматика как языковой уровень. Морфология и смежные уровни языка; морфология и фонология; основные понятия морфонологии; морфология и синтаксис
Термин quot морфология quot состоит из двух древнегреческих корней и буквально означает quot учение о форме quot Он имеет два основных... Система механизмов языка обеспечивающая построение и понимание его... раздел грамматики изучающий закономерности функционирования и развития этой системы...

0.045
Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • По категориям
  • По работам