Принцип квалификации
Эта статья нуждается в дополнительных цитатах для проверки . ( июнь 2024 г. ) |
В теории языков программирования принцип квалификации гласит, что любой семантически значимый синтаксический класс может допускать локальные определения. Другими словами, можно включить блок в любой синтаксический класс при условии, что фразы этого класса определяют какой-либо тип вычислений. ( Ватт 1990 )
Общие примеры этого принципа включают в себя:
- команда блока — команда, содержащая локальное объявление, которое используется только для выполнения этой команды. В следующем отрывке из программы на языке C :
tmp
Объявленная переменная является локальной для команды окружающего блока:
if (a > b) {
int tmp;
tmp = a;
a = b;
b = tmp;
}
- выражение блока — выражение, содержащее локальное объявление, которое используется только для вычисления этого выражения. В следующем фрагменте программы ML локальная декларация
g
может использоваться только во время вычисления следующего выражения:
let
val g = 9.8
in
m * g * h
end
- Объявление блока — это объявление, содержащее локальное объявление, привязки, созданные с помощью него, используются только для разработки объявления блока. В следующем отрывке из программы ML локальное объявление функции
leap
, используя вспомогательную функциюmultiple
:
local
fun multiple (n: int, d: int) =
(n mod d = 0)
in
fun leap (y: int) =
(multiple (y,4)
andalso not multiple (y, 100))
orelse multiple (y,400)
end
Ссылки
[ редактировать ]- Ватт, Дэвид А. (1990) [1990]. «Привязки». Концепции и парадигмы языка программирования . Прентис Холл. стр. 82–83. ISBN 0-13-728874-3 .