Описание - семантика - язык - Большая Энциклопедия Нефти и Газа, статья, страница 1
У эгоистов есть одна хорошая черта: они не обсуждают других людей. Законы Мерфи (еще...)

Описание - семантика - язык

Cтраница 1


Описание семантики языка Паскаль в [ Д20 ] не всегда выполнено аккуратно и полно. Примерами последнего могут служить области действия для меток ( § 9.1.3 [ Д20 ]), отмена запрета присваивания значений нелокальным переменным внутри функций, некоторые продукции, связанные с типами ( разд.  [1]

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

Единого общепринятого формального метода описания семантики языков программирования на сегодняшний день не существует. Описание языка обычно состоит из формального описания синтаксиса и неформального описания семантики языка.  [3]

Чтобы сформулировать условия верификации, необходимо аксиоматическое описание семантики языка программирования. Гипотетический язык, на котором написана изображенная на рис. 17.2 программа, сводится к операторам двух типов ( присваивание и принятие решения), так что нужно описать, как должны изменяться утверждения при рассмотрении этих операторов. Эти аксиомы должны отвечать на такой вопрос: если некоторое утверждение истинно после оператора программы, какое утверждение должно быть истинным перед оператором. Другими словами, вы отменяете присваивание, заменяя в утверждении все вхождения переменной, указанной слева от знака присваивания, выражением справа.  [4]

Однако блоки синтаксического анализа составляют не более 20 - 30 % компилятора, поэтому для полного решения проблемы автоматического создания трансляторов необходимо разработать практичный стандартный способ описания семантики языков программирования, допускающий формальное преобразование в язык машины.  [5]

И еще нам хотелось бы отметить в заключение, что [ Д20 ] имеет бесценное дополнение в виде аксиоматического описания языка Паскаль [81], в котором строго описана семантика языка Паскаль, занимающее всего 9 страниц. Более того, описание семантики языка Паскаль в [81] очень легко читается.  [6]

Контекстно-свободная грамматика, с каждым нетерминальным символом которой связан набор атрибутов и для каждого правила которой указан способ вычисления атрибутов символа в левой части по атрибутам компонент правой части. Атрибуты используются для задания контекстных условий или для описания семантики языка.  [7]

Единого общепринятого формального метода описания семантики языков программирования на сегодняшний день не существует. Описание языка обычно состоит из формального описания синтаксиса и неформального описания семантики языка.  [8]

Для строгого решения этих вопросов, а также других, таких как вопрос о сохраняющих смысл оптимизациях, рассмотренных в ч III данной книги, каждый язык программирования должен быть обеспечен математической семантикой. Функциональные языки программирования вследствие прочного теоретического фундамента хорошо подходят для этого Имеют место несколько альтернативных подходов к формальной семантике Операционная семантика предписывает, как вычисляются выражения в терминах переходов между состояниями, определенным. Конец последовательности переходов представляет некоторую полностью редуцированную величину Другой подход, который был использован для описания семантики императивных языков, является аксиоматическим. В этом случае каждому типу синтаксического оператора соответствует аксиома Имея набор допущений, представляющих состояние выполнения программы в точке непосредственно перед выполняемым оператором, набор допущений в точке непосредственно после его выполнения может быть выведен из аксиомы, связанной с этим оператором. Однако, поскольку в декларативной программе ие существует естественного понятия точка программы ( если ее последовательность вычислений не представлена ясно), аксиоматический подход трудно применить для функциональных языков.  [9]

Эти ресурсы и операции могут соответствовать реальным компонентам ЭВМ или имитироваться операционной средой. Абстрактная машина может не учитывать некоторые возможности реальной ЭВМ. Возможно определение абстрактной машины без ее реального воплощения для описания семантики языка или доказательств свойств программ.  [10]

Единого общепринятого формального метода описания семантики языков программирования на сегодняшний день не существует. Описание языка обычно состоит из формального описания синтаксиса и неформального описания семантики языка. К ним относится, например, определение языка Алгол-68, которое было предложено на формальном языке W-грамматик. Потребность в строгом, формальном языке описания семантики языков программирования обусловлена необходимостью исключить вероятность появления двусмысленных толкований отдельных конструкций и механизмов языка, необходимостью стандартизировать язык, уменьшить расхождения между различными реализациями языка и тем самым повысить мобильность программ.  [11]

Многими авторами отмечалось, что задание грамматики языков программирования в виде БНФ недостаточно для адекватного построения вывода анализируемой части программы, так как БНФ-фрагменты часто сопровождаются различными ограничениями, учитывающими зависимость контекстов. Например, программа, хотя и правильная по форме, может не восприниматься транслятором, если не все метки команд переходов в этой программе соответствуют меткам операторов. Флойд, доказавший, что множество программ языка АЛГОЛ-60, удовлетворяющих правилам и ограничениям грамматики этого языка, не является КС-языком. В связи с этим возникает вопрос об адекватных методах синтаксического разбора предложений языков программирования, учитывающих зависимость между отдельными фрагментами предложения. В общем случае, если требовать очень многого, то это уже вопрос описания семантики языка, если же требовать малого, то некоторые ограничения, легко учитываемые на синтаксическом уровне, придется отнести к описанию семантики, что затруднит ее понимание. До-нован заметил по этому поводу, что вопрос о том, что описывают канонические системы, специфицирующие контекстно-зависимые части языка программирования, синтаксис языка или его семантику, является академическим. Действительная цель состоит в том, чтобы использовать описание языка для получения каких-то результатов, касающихся языка и его трансляции.  [12]

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



Страницы:      1