Cтраница 1
Определение языка Алгол 60 явилось важным событием в истории развития языков программирования. [1]
Определение языков оригинала и перевода рассматривается как направление перевода. Чтобы выбрать направление перевода, используют кнопку Направление перевода на панели инструментов Перевод. [2]
Такое определение языка как произвольного подмножества множества V чересчур общо, чтобы быть полезным. Например, в языках программирования множество операторов должно быть определено четкими правилами; анализ выражений на языке также обычно проводится по явным правилам. Математическая лингвистика занимается языками, которые рекурсивно порождаются специальными правилами порождения, составляющими синтаксис языка. [3]
В определениях языков обычно не накладывается очень строгих ограничений на время связывания. Язык конструируется так, что какое-то конкретное связывание можно сделать, например, во время трансляции, но действительное время его выполнения фактически определяется только реализацией языка. Например, Алгол позволяет, вообще говоря, определять тип переменных во время компиляции, но в конкретной реализации этого языка тип может проверяться и во время выполнения. Таким образом, определение Алгола допускает проверку типов во время компиляции, но не требует этого. Обычно при разработке языка устанавливается наиболее раннее время, когда в процессе обработки программы может быть выполнено некоторое конкретное связывание, но в любой реализации языка выполнение данного связывания может быть отложено до более позднего времени. Как правило, в большинстве реализаций языка основная масса связываний выполняется в одно и то же время. Если в языке допускаются связывания во время компиляции, то откладывание их на время выполнения, вероятно, приведет к менее эффективной работе программы без выигрыша в гибкости. Связывания обычно целесообразно выполнять как можно раньше. [4]
При определении языка блок-схем программ следует исходить из требований, определяемых положением этого языка между верхним и нижнем уровнем системы автоматизации программирования. С одной стороны, он должен стыковываться по структуре и изобразительным средствам с языком алгоритмов, для обеспечения простого установления соответствия между входом и выходом транслятора верхнего уровня, а с другой стороны, давать возможность полностью определять структуру и последовательность операторов для установления связи с результатом трансляции на язык автокода. [5]
При определении свободных языков иерархических сетей появляются варианты. [6]
В определениях языков программирования структуры данных и процедуры рассматриваются часто как различные виды вычислительных ресурсов. [7]
Обычный способ определения языка, будь то естественный ( естественная речь) или язык программирования, состоит в задании множества правил ( продукций), образующих грамматику. Эти правила описывают те последовательности слов, которые считаются корректными ( допустимыми. Грамматика позволяет осуществлять грамматический анализ фразы, а значит, и явно описать ее структуру. [8]
Существуют различные способы определения языка. Если язык содержит лишь конечное сравнительно небольшое количество цепочек, то их можно просто перечислить. [9]
Рассмотрим другой метод определения языка, основанный на использовании множества строк приемлемых некоторым распознающим устройствам, автоматам. [10]
Одна из трудностей определения языка высокого уровня для системного программирования состоит в том, что многие особенности программирования зависят от конкретной машины. Например, в некоторых ЭВМ длина слова 8 бит, тогда как в других - 32 бита. Хотя эти различия нельзя игнорировать, понятие модуля делает возможным стандартизированный подход к машинно-зависимым особенностям. Все машинно-зависимые особенности сведены в один стандартный библиотечный модуль. Когда Модула-2 реализуется на новой ЭВМ, поставщику нужно просто поставить со своим пакетом программного обеспечения машинно-зависимый модуль. В этой главе будет дан обзор этих стандартных модулей. Мы также дадим обзор средств Модулы-2 для обработки конкретных ячеек машинной памяти ( это часто требуется для управления устройствами ввода-вывода) и рассмотрим библиотечные программы, поддерживающие параллельные процессы. Параллельные процессы - метод обработки, позволяющий выполнять более одной функции одновременно путем переключения с одной функции на другую, так что ЭВМ полностью используется. [11]
В то время как материальное определение языка требует однозначного расположения понятий и знаков, определения формальной теории языков связаны исключительно с особенностями языка, как такового. [12]
В настоящей главе дается синтаксическое и семантическое определение языка написания компилятора. В последующих разделах будут приведены константы XPL ( которые не описываются явно с помощью этой грамматики), представляющие условные обозначения ( идентификаторы), и, наконец, подробные сведения относительно операторов каждого типа. [13]
Главной работой, предшествующей определению языков системы, является унификация действий, информации и механизмов управления по способу организации, структуре и форме представления. [14]
До настоящего времени этот метод определения языка исследован недостаточно глубоко. В работе Минского обсуждаются системы Поста ( Post), Шмульян ( Smullyan) дает изложение формальных математических свойств подобных систем. [15]