Cтраница 2
Материал этого приложения основан на определении языка Норе [70] и включает части, взятые непосредственно из текста этого определения. [16]
Язык Паскаль почти соответствует приведенному выше определению языка программирования с сильной типизацией. Убрать слово почти из предыдущего предложения не позволяют, например, следующие два обстоятельства: наличие в языке Паскаль механизма записей с вариантами и возможность передачи в качестве параметров имен процедур и функций. Хотя в язык Си введены типы данных, тем не менее он очень далеко отстоит от языков программирования с сильной типизацией. Язык Си был разработан для того, чтобы дать возможность программисту активно использовать механизм трактовки представления значения как данных различных типов. Поэтому в языке Си обеспечивается несколько различных способов, позволяющих трактовать представление значения как данных различных типов, например, такие механизмы, как объединения, указатели, передача параметров, именование компонентов ( полей) структур. [17]
Полное описание способности систем к синхронизации предполагает определение языка ( языков) Арнольда. [18]
Контекстно-свободные и регулярные грамматики используются в основном для определения языков программирования и при разработке компиляторов. [19]
В каждом языке имеются элементы, не конкретизируемые при определении языка; они должны наполниться конкретным содержанием при реализации данного языка на конкретной машине. [20]
Говорят, что язык допускает статическую проверку типа, если определение языка требует наличия в программе описаний типа позволяющих транслятору выполнить во время трансляции проверку соответствия типов и странслировать универсальные операции исходной программы в специфические операции объектной программы. Альтернативой является динамическая проверка типа, осуществляемая универсальными операциями во время выполнения программы. [21]
Именно подобные грамматики были выбраны нами в качестве моделей для определения языков программирования. [22]
Все возможные строки, порожденные грамматикой (6.4) в соответствии с определением языка (6.3) показаны на рис. 6.4. Каждый символ на рис. 6.4 означает операцию, а ветвь графа - последовательность операций, т е, сценарий. [23]
J и К, закреплены за целыми числами уже с момента определения языка в 50 - х годах; В Паскале тип переменной закрепляется на этапе написания программы. В некоторых языках тип переменной определяется на этапе трансляции. В Лиспе тип определяется по ходу выполнения программы. [24]
Библиотека элементов Icircuit. [25] |
Второй и на сегодняшний день наиболее широко распространенный подход заключается в определении небольшого языка целиком в рамках LATgX a. Примером такого подхода может служить пакет nassflow Йоханнеса Брамса, предназначенный для рисования блок-схем или диаграмм Насси-Шнайдермана с помощью окружения picture. В последующих главах приведено несколько примеров такого подхода. [26]
Для описания грамматики необходимо разработать подходящий формализм, с помощью которого формулируются определения языка. Этот определяющий язык называется метаязыком, а язык, определяемый им - объектным языком, или просто языком. Формальное определение метаязыка не будет приведено здесь, поскольку для него понадобился бы метаметаязык, однако можно надеяться, что последующие примеры в достаточной мере пояснят понятие метаязыка. [27]
В Фортране в свою очередь за частью имен переменных тип закреплен уже в определении языка с 1950 - х годов ( имена, начинающиеся на буквы I, J и KF. Закрепление типа обычно осуществляется при написании программы в момент описания переменой, и его нельзя изменить в ходе работы программы. [28]
В начале главы мы подчеркивали, что в логике второго порядка не изменяются ни определение языка, ни определение ик-терпретации. Языком по-прежнему называется счетное множество нелогических символов, а под интерпретацией мы понимаем то же самое, что понимали все время ( ср. Изменения претерпевают понятия формулы и предложения: большее число выражений теперь считается формулами и предложениями. И описание условий, приводимое в гл. [29]
Аналогично большинство учебников программирования исходит из допущения, что содержание программирования заключается только в знании алгоритмов и определений языков, описываемых на их страницах. [30]