Непейвода Н.Н. Программирование. Раздел 1

Непейвода Н.Н. Программирование. Страница 64

[1] Считать определением языка соответствие между структурными единицами текста и правилами интерпретации. Это также односто­ронний взгляд, поскольку структурные единицы должны соединиться в синтаксически правильную систему, но он раскрывает вторую сто­рону языка —семантику.

Определение 2.1.1.

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

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

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

Конец определения 2.1.1.

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

При создании описания языка следует стремиться к выполнению следу­ющих требований:

к понятности для программиста и умеренной сложности описания;

к точности и полной определенности для построения транслятора или интерпретатора.

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

Новости

  • 1
  • 2
Prev Next

Ракета "Ангара-А5В" в ближайшее десятилетие не полетит

24.01.2016

Ракета "Ангара-А5В" в ближайшее десятилетие не полетит

Роскосмос не планирует в течение ближайшего десятилетия осуществлять пуск тяжёлой ракеты-носителя А...

Ученые РФ опровергли выводы исследований о вреде ГМО

24.01.2016

Ученые РФ опровергли выводы исследований о вреде ГМО

Исследователи из Института проблем передачи информации (ИППИ РАН) проанализировали несколько самых п...

Летающие "Крокодилы"

24.01.2016

Летающие "Крокодилы"

20 удивительных фактов о боевом вертолете Ми-24.Этот вертолет стал таким же узнаваемым символом сове...

В Аргентине описали новый вид динозавра-гиганта

24.01.2016

О ранее неизвестном виде динозавра, относящемуся к инфраотряду зауроподов, рассказали аргентинские п...

Реклама