Операторы - это подмножество операторов? - PullRequest
1 голос
/ 26 мая 2020

В основном во всех языках высокого уровня (насколько я знаю) у нас есть две основные категории языковых механизмов для создания программы: операторы и выражения.

Обычно операторы представлены некоторым подмножеством ключевых слов языка: if / else / switch, for / foreach / while, {} (или BEGIN / END), et c.

Выражения представлены литералами (которые представляют некоторые данные) и операторами: литералы: 1, 2 , -100, testTest и т. Д .; операторы: +, -, /, *, ==, ===, et c.

Если подумать глубже, мы можем заметить, что утверждения обычно отвечают на вопрос «что?» а выражения - на вопрос «как?». Утверждения представляют действия, выражения представляют контекст действий.

Затем мы можем снова заглянуть в части выражений: литералы и операторы. Операторы - это тоже действия.

И вот мой вопрос: являются ли операторы подмножеством операторов?

PS Как правило, я понимаю, что операторы и выражение используются вместе для достижения некоторой цели программирования. Разделение этих категорий носит в основном теоретический характер.

1 Ответ

0 голосов
/ 29 мая 2020

В общем, «оператор» описывает своего рода синтаксическую форму c, которая может использоваться для создания выражения, оператора или некоторого другого класса языковой сущности. Итак, технически ответ на ваш вопрос - «нет».

Например, Haskell использует оператор | для генерации алгебры c типа spe c, что не является ни выражение или утверждение:

data Maybe a = Just a | Nothing
...