русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Понятие языков программирования


Дата добавления: 2015-06-12; просмотров: 1067; Нарушение авторских прав


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

Алфавит – фиксированный для данного языка набор основных символов, допускаемых для составления текста программы на этом языке.

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

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

Языки высоко уровня – языки программирования, ориентированные на решение прикладных задач.

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

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

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

-конструкция команд содержит виды обработки данных, и задаются в удобном виде

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

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

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



Поэтому необходимы приемы описание конструкций языков программирование типа: «Оператором присваивания называется …», причем продолжение подобной фразы на естественный язык чаще всего оказывается либо слишком громоздким, либо неоднозначным, либо и тем, и другим одновременно.

Для строгого и точного описания синтаксиса языка программирования, как правило, используют специальные метаязыки(языки для описания других языков). Наиболее распространенными метаязыками являются металингвистические формулы Бэкуса – Наура(язык БНФ) и синтаксические диаграммы Вирта.

Язык БНФ(называется также языком нормальных форм) представляет компактную форму в виде некоторых формул, похожих на математические. Для каждого понятия языка существует единственная метаформула (нормальная форма). Она состоит из левой и правой частей. В левой части указывается определяемое понятие, а в правой – задается множество допустимых конструкций языка, которые объединяются в это понятие. В формуле используют специальные метасимволы в виде угловых скобок, в которых заключено определяемое понятие (в левой части формулы) или ранее определенное понятие (в ее правой части), а разделение левой и правой частей указывается метасимволом «::=», смысл которого эквивалентен словами «по определению есть».

Например, метаформулы

<переменная>::=А|B

<выражение>::=<переменная>|<переменная>+<переменная>|<переменная>-<переменная>

означают, что в том (сугубо модельном) языке, на который эта метаформула распространяется, под термином <переменная> понимается любая из букв А или В, а под термином <выражение> - любая из следующих десяти записей: А; В; А+А; А+В; В+А; В+В; А-А; А-В; В-А; В-В. Знак | следует читать «или».

Правая часть метаформулы может содержать правило построения допустимых последовательностей.

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

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

Для сравнения с метаформулами приведем несколько примеров.

Синтаксическая диаграмма.

<переменная>::=

А

 
 
В

 


эквивалентна метаформуле <переменная>::= А | B.

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

 



<== предыдущая лекция | следующая лекция ==>
Классификация языков программирования | Грамматика языков программирования


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

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


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.032 сек.