Понятие спецификации языка программирования. Синтаксис языка программирования.
456.50K
Category: informaticsinformatics

2.2.6 Понятие спецификации языка программирования. Синтаксис языка программирования. Стиль программирования

1. Понятие спецификации языка программирования. Синтаксис языка программирования.

2.

Язык программирования – один из способов
записи алгоритмов; совокупность набора символов
системы, правил образования и истолкования
конструкций из символов для задания алгоритмов с
использованием символов естественного языка.

3.

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

4.

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

5.

6.

Языки программирования, ориентированные на
команды процессора и учитывающие его особенности,
называют языками низкого уровня.
«Низкий уровень» не означает неразвитый, имеется
ввиду, что операторы этого языка близки к машинному
коду и ориентированы на конкретные команды
процессора.
Языком самого низкого уровня является ассемблер.

7.

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

8.

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

9.

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

10.

Спецификация языка программирования — это
предмет документации, который определяет язык
программирования, чтобы пользователи и разработчики
языка могли согласовывать, что означают программы на
данном языке.
Спецификации обычно являются подробными и формальными и
в основном используются разработчиками языка, в то время как
пользователи обращаются к ним в случае двусмысленности:
например, спецификация языка C++ часто цитируется
пользователями из-за сложности.
Сопутствующая документация включает справочник по языку
программирования, который специально предназначен для
пользователей, и логическое обоснование языка программирования,
которое объясняет, почему спецификация написана именно так;
последние обычно более неформальны, чем спецификации.

11.

Не все основные языки программирования имеют
спецификации; языки могут существовать и быть популярными в
течение десятилетий без спецификации.
Язык может иметь одну или несколько реализаций,
поведение которых является стандартом, но при этом данное
поведение не документировано в спецификации. Perl —
известный пример языка без спецификации.
Язык может быть реализован, а затем стандартизован, или
стандартизован, а после этого реализован, или же два этих
процесса могут развиваться вместе, что является в настоящее
время обычной практикой.
Это связано с тем, что реализация и спецификация
обеспечивают проверку друг друга: для написания спецификации
требуется точно указать поведение реализации, а реализация
проверяет, что спецификация является возможной,
целесообразна и последовательна.

12.

Спецификация языков программирования может
принимать несколько форм, среди которых:
явное определение синтаксиса и семантики языка;
описание поведения компилятора (иногда
называемого «транслятором;
эталонная реализация, иногда написанная на
указанном языке.

13.

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

14.

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

15.

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

16.

Контрольные вопросы
1. Что такое язык программирования?
2. Функции языков программирования?
3. Их исполнение?
4. Может ли язык программирования использовать
специальные конструкции для определения и
манипулирования структурами данных?
5. Классы языков программирования?
6. Перечислите список языков программирования.
7. К какому языку программирования относится Basic?
8. Назовите язык процедурного программирования.
9. В каком виде сохраняются данные в современных
цифровых компьютерах?
10.Перечислите основные структуры данных.
English     Русский Rules