ПО, ЭВМ и АСУ из Таможенного Союза

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » ПО, ЭВМ и АСУ из Таможенного Союза » базовые определения » Неассоциативность


Неассоциативность

Сообщений 1 страница 11 из 11

1

Ранее писали, что операция '-' (минус) не ассоциативна. Так вот это совсем не то же самое, что "неассоциативная"! (Надо было придумать третий корень).

Неассоциативные операции, это, например, операции сравнения: '<', '>', "==".

Можно ли бы было придумать операцию "в диапазоне"?
конст1 <= пер < конст2
да, но не придумали (точнее не мейнстрим).
а ведь в математике для этого есть специальный синтаксис:
пер ∈ [конст1,конст2)

"неассоциативность" - нельзя записывать несколько операций подряд без явного указания порядка выполнения (при помощи скобок или грамматики).
Это означает, что порядок выполнения операций с одинаковым приоритетом не определён, но это не означает, что нельзя записывать несколько операций подряд.
Если операция неассоциативная, но порядок выполнения указан в грамматике, то всё нормально.
А если неассоциативная и не указан, то это "неразрешимая ассоциативность" (non-associativity ?).

Отредактировано Лис (2023-03-18 21:08:50)

0

2

Операция '-' (минус) является левоассоциативной и неассоциативной одновременно.
Это означает, что если в выражении несколько таких операций, то вычисляться они должны слева-направо, а менять порядок вычисления на "справа-налево" нельзя.

Операция '<" (сравнения, в частности "меньше") является неассоциативной.
Это означает, что в выражении просто не может быть несколько таких операций подряд.

Почему тогда было не определить термин "ассоциативность", как возможность записывать несколько операций подряд (это на арность похоже)?

0

3

Мне кажется, что возникло смешение терминов. Ассоциативность это строгий математический термин. Право- и левоассоциативность к нему практически не имеют никакого отношения. Право- и левоассоциативные операции в математическом смысле могут быть и ассоциативными и нет. И термины лишь определяют порядок выполнения действий при равном приоритете операций.

Отредактировано Евгений (2023-03-18 21:14:08)

0

4

Наша задача создать хорошопонимаемые русскоязычные тексты учебных пособий. В частности, слова придумать удобные.

Удобные - это значит вызывающие помогающие (а не мешающие) ассоциации, не смешивающиеся где не надо.

Отредактировано Лис (2023-03-18 21:20:50)

0

5

Левоочередная и правоочередная операции)

0

6

Евгений написал(а):

Левоочередная и правоочередная операции)

Да, да, я тоже так подумал ("левовычисляемая", "правовычисляемая" и "равнорезультатная").
Слово "операция" само неоднозначное, значит нужно два разных слова (словосочетания), которые разделят значения.

0

7

Математические операции, которые делятся на:
арифметические (действия)
логические
изменения приоритета (скобки) и тд...

0

8

Операция изменения приоритета не является бинарной или унарной (чего это унарной не является?),
поэтому свойства ассоциативности, сочетаемости и коммутативности не применимы к ней.

Но у неё есть другие:
1) идемпотентность
2) дистрибутивность
3) необратимость
операция изменения приоритета не является обратимой

0

9

Если в простых терминах, то левоассоциативные операции это те, которые обязаны выполняться слева направо при одинаковом приоритете операций.

Правоассоциативные - те, что выполняются при одинаковом приоритете справа налево.

Ассоциативные - те, что позволяют выбрать любой порядок выполнения, при равном приоритете.

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

0

10

Я хочу написать GLL-парсер для EBNF-выражений.

Он построит сразу все деревья разбора. И там будут как левые деревья, так и правые деревья.

Для того, чтобы выкинуть ненужные деревья, я хочу указать в грамматике свойства операций.

Даже рассмотрев все эти слова я пока не могу этого сделать.

Отредактировано Лис (2023-03-18 22:06:19)

0

11

А как на счет нескольких человеко-лет? Может сначала более простой вариант?

0


Вы здесь » ПО, ЭВМ и АСУ из Таможенного Союза » базовые определения » Неассоциативность