Грамматика ложбана/18.16

From Lojban
Jump to navigation Jump to search

Оглавление

Обратная польская нотация

В этом разделе обсуждаются следующее cmavo:
cmavo selma'o значение
fu'a FUhA флаг обратной польской записи

До сих пор условные обозначения Ложбана отображали довольно знакомые виды математического дискурса. Использование префиксных операторов могло показаться странным, когда они применялись к "+", но когда они применялись к "f", они выглядели как обычная запись функций. Теперь наступает резкий перелом. Обратная польская (ОП) нотация представляет собой нечто совершенно иное; даже математики нечасто используют ее. (Единственное распространенное применение ОП – это некоторые виды калькуляторов и реализация некоторых языков программирования).

В ОП записи оператор следует за операндами. (Польская нотация, в которой оператор предшествует операндам, – это другое название префиксной, mekso продуманой мысли такого рода, которое объясняется в разделе 18.6.) Количество операндов для каждого оператора всегда фиксировано. Никакие круглые скобки не требуются и не разрешаются. В Ложбане ОП нотация всегда явно обозначается fu'a в начале выражения; терминатор отсутствует. Вот простой пример:

18.110) li fu'a reboi ci su'i du li mu
        Число (ОП) два, три, плюс равно числу пять

Операнды – re и ci; оператор – su'i.

Вот более сложный пример:

18.111) li fu'a reboi ci pi'i voboi mu pi'i su'i du li rexa
        Число (ОП) (два, три, умножить), (четыри пять умножить) плюс равно числу два-шесть

Здесь операнды первого pi'ire и ci; операнды второго pi'ivo и mu (при необходимости вставляется boi), а операнды su'ireboi ci pi'i, или 6, и voboi mu pi'i, или 20. Как видите, в мире обратной польской нотации легко заблудиться; с другой стороны, ее особенно легко понять механическому слушателю (который имеет глубокий умственный запас и не теряется).

Операндами оператора ОП могут быть любые допустимые операнды mekso, включая операнды со скобками mekso, которые могут содержать любой допустимый синтаксис, будь то ОП или что-то более традиционное.

В Ложбане операторы ОП всегда разбираются ровно с двумя операндами. А как быть с операторами, которые требуют только один операнд или более двух операндов? Простое решение дают нулевой операнд tu'o и нулевой оператор ge'a. Однооперандный оператор, например va'a, в обратной польской записи всегда выглядит как tu'o va'a. Оператор tu'o предоставляет второй операнд, который семантически игнорируется, но грамматически необходим. Аналогично, трехоперандная версия gei в обратной польской записи выглядит как ge'a gei , где ge'a эффективно объединяет 2-й и 3-й операнды в один операнд. Вот несколько примеров:

18.112) li fu'a ciboi muboi vu'u du li fu'a reboi tu'o va'a
        Число (ОП) (три, пять, минус) равно числу (ОП) два нуль смена-знака
        3 - 5 = -2

18.113) li cinonoki'oki'o du li fu'a biboi ciboi panoboi ge'a gei
        Число три-ноль-ноль-разделитель-разделитель равно числу (ОП) 8, (3, 10, нуль-оп) научная-запись
        300 000 000 = 3 × 108

Далее