Ббк 32. 973-018 г рецензент канд физ мат наук, Ф. А. Мурзин


Парадигматическая характеристика ядра языка Pascal, поддерживающего методику структурного программирования


Download 278.16 Kb.
bet19/68
Sana12.10.2023
Hajmi278.16 Kb.
#1700499
TuriКурс лекций
1   ...   15   16   17   18   19   20   21   22   ...   68
Bog'liq
FIT-Gor-PP3

Парадигматическая характеристика ядра языка Pascal, поддерживающего методику структурного программирования



Параметр

Конкретика

Эксплуатационная прагматика ЯП

Язык учебного назначения, созданный для обучения студентов методам программирования решений задач,
готовых для эффективной реализации при поддержке автоматным моделированием.

Особенности системы понятий

Программа и данные – раздельные сущности. Выполнение программы сводится к шагам изменения состояний памяти, хранящей данные. Используемые в
программе идентификаторы подчинены иерархии



8 Вспомогательные семантики, их описание относительно концептуальных языков.
9 Структуры данных и традиционно подразумеваемые механизмы реализации
10 Роль языка в формировании поддерживаемой им парадигмы и/или перечень поддерживаемых парадигм.






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

Перечень понятий, распознаваемых на уровне абстрактного синтаксиса.

Скаляр, вектор, значение, ключевые слова, константа, переменная, тип данных, операция, выражение, операнд, элемент вектора, сравнение, действие, последовательность действий, ветвление, цикл, определение процедуры/функции, вызов
процедуры/функции.

Базовые средства ЯП.

TRUE, FALSE, перечислимые значения, :=, a[i ], IF,
WHILE, PROCEDURE, st1 ; st2 .

Семантические расширения

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

Регистры абстрактной машины

Стеки промежуточных результатов, локальных переменных и параметров, выполняемой процедуры и
вектор памяти (S E C M).

Категории команд абстрактной машины

Засылки в стек, вычисления над стеком и памятью,
пересылки из стека и локальных переменных, ветвления, передачи управления, вызовы процедур.

Реализационная прагматика

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

Парадигматическая специфика

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

Средства и методы программирования складывались на фоне быстрого расширения сферы применения компьютерных технологий и стремительного взлѐта эффективности элементной базы. Наряду с
расслоением парадигм программирования в зависимости от глубины и общности технических решений по организации процессов обработки данных происходит их интеграция в рамках новых языков программирования, всѐ более полно поддерживающих жизненный цикл программ. В результате обнаружились явные сложности классификации языков программирования и определения их принадлежности конкретной парадигме программирования.
Рассмотрение технических особенностей языков и систем программирования через их парадигматическую характеристику может дать достаточно лаконичные формы их определения относительно ряда простых концептуальных языков.
ЛЕКЦИЯ 3. ЯЗЫКИ НИЗКОГО УРОВНЯ

Методика парадигматической характеристики ЯП иллюстрируется на материале языков низкого уровня (ЯНУ). Программирование или кодирование на ЯНУ ассоциируется с одноуровневыми структурами данных, обусловленными архитектурой и оборудованием11. При хранении данных и программ используется общая глобальная память с произвольным доступом. В принципе достижима предельная эффективность программ, но их отладка осложнена сочетанием «низкий старт – высокий финиш». Иными словами, легко достичь успеха в первых упражнениях, но трудно создать программный продукт и обеспечить его квалифицированное сопровождение. Для ЯНУ характерна однозначность соответствия между программой и процессом, порождаемым при ее реализации. Поэтому анализ операционной семантики ЯНУ можно выполнить на уровне абстрактной машины (АМ), вполне определяющей свойства программ и процессов, подготовленных с помощью ЯНУ. Как правило, при определении абстрактной машины ЯНУ достаточно трех регистров, назначение которых соответствует реализации понятий «результат», «программа», «память» или


«результат», «контекст», «программа».
Традиционно к ЯНУ относят машинно-зависимые языки ассемблера, макропроцессоры, машинно-ориентированные языки, языки управления процессами. Для таких ЯНУ характерно, что все действия в программе выражены явно. Программа – произвольная смесь команд, соседство которых практически не ограничивается. Доступны любые фрагменты данных и программ. Предопределены все базовые средства по представлению значений и структур данных в памяти и схема управления их обработкой, что позволяет четко относить ЯНУ к конкретной парадигме. Представляют интерес и другие подходы к машинно-ориентированному эффективному программированию. Язык Forth – пример организации вычислений над стеком. Его можно рассматривать как язык-ядро с возможностью практически неограниченного проблемно-ориентированного
расширения.
Операционная семантика ЯНУ обычно содержит целочисленную арифметику, ограниченную разрядностью адресов или машинных слов, использует работу с общими, глобальными идентификаторами, поддерживает последовательное управление вычислениями и осуществляет организацию структур данных по принципу соседства элементов,


11 Ассемблер «Эльбрус» и автокод «Инженер» – контрпримеры, показывающие недостаточность чисто приаппаратной оценки уровня языка [14].
расположенных в памяти (вектора, строки, стеки, очереди, файлы). Можно рассчитывать, что так определена базовая часть учебного концентра (элементарного уровня) любого ЯП. Другие вспомогательные семантики языков ассемблера, макропроцессора, вычислений над стеком и управления процессами, машинно-зависимых и машинно-независимых машинно- ориентированных ЯП могут рассматриваться как расширения такой базовой части. Здесь не рассмотрены СУБД, языки работы с сайтами и ряд других средств создания распределѐнных систем.




    1. Download 278.16 Kb.

      Do'stlaringiz bilan baham:
1   ...   15   16   17   18   19   20   21   22   ...   68




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling