Табличку я принял за табличку приоритетов, но это не она. Теперь возьмём для простоты таблицу приоритетов для Си из русской википедии (если в ней ошибка, то ругайте не меня, а википедию) и увидим, как различается понятие "операции" в Обероне и в Си, и сколько в Обероне приоритетов операций, если их назвать в Си. Я сразу скажу, что рекламный характер заявления про простоту Оберона не отменяется, и действительно тут есть подмена понятий, только не у меня. В Си, точка, круглые и квадратные скобки считаются операциями, а в Обероне их не стали так называть. Тем не менее, в синтаксис они входят. Подмена понятий - стандартный рекламный ход и, конечно же, обман. То, что я не разобрался, это, конечно, плохо, но я и не думал, что Вы так в это вцепитесь.
То, что концы с концами в рекламе не сходятся, видно хотя бы по тому, что в определении О2 пункт называется "операции", далее называются 4 группы операций и сразу за этим идёт табличка, в которой перечислены разные элемента синтаксиса, в том числе и те, которые операциями не названы. Тогда вопрос к автору документа: где здесь логика? Почему под заголовком "операции" размещена табличка, в которой "не операции". Я не вникал в такие глубины рекламы а принял всё за чистую монету, что меня и обмануло. Спасибо, Константин, что помогли проникнуть в эти глубины, хотя неясно, зачем мне было нужно тратить на это время. Далее, эта табличка и не содержит полного синтаксиса выражения. Т.е. вообще сложно определить смысл этой таблички и почему она находится именно в этом месте. Возможно, у Вас это получится лучше, чем у меня, а на мой взгляд выглядит, что документ просто не особо проработан с точки зрения терминологии, логики и структуры. Если бы я эту работу принимал, я бы его отправил на доработку, а Вы?
Итак, сравниваем понятие операций в Си (С++ сложнее, не буду тратить время), где 15 строчек и в Обероне и видим, что в Си операциями считаются:
Код:
. - точка - в Обероне не операция и не в табличке
- операция "запятая" - в Обероне не операция, частично не в табличке (в табличке только для множеств), а входит в понятие СписокВыражений
- обращение по индексу - в Обероне входит в понятие "Обозначение"
- постфиксные круглые скобки - в Обероне входит в понятие "Обозначение"
- разыменование указателя - в Обероне входит в понятие "Обозначение"
Негусто получилось. Вам крупно повезло, что в группе с наивысшим приоритетом у Си затесались префиксные ++ и -- - поэтому, даже если мы всё вышеперечисленное запихнём в Обозначение по аналогии с Обероном, то строчка не исчезнет. Но тем не менее, одна строчка всё же бесспорно требует справедливости - это строчка с операцией "запятая". Нужно либо включить её в список операций в Обероне, либо исключить её из списка операций в Си, если мы хотим сравнивать языки в одинаковых терминах, что является единственно честным подходом.
Во всяком случае, если кто-то говорит, что "оберон лучше Си, потому что в нём меньше приоритетов операций", должен не умалчивать о том, что понятие операции в нём определено по-другому (вот тут, я надеюсь, правда о том, что называется операцией в Си:
https://en.wikipedia.org/wiki/Operators ... nd_C%2B%2B ). Если составить сравнение честно, то оно будет звучать примерно так:
"В Обероне по-другому определили понятие операций и упростили синтаксис. За счёт этих двух факторов количество приоритетов снизилось с 15 до 4". А уж каждый читатель сам будет оценивать, насколько хорошо было сделано, что произвели замену понятий (не путать с подменой - подмена была в телеге). По идее, для меня всегда плохо пахнет, когда берут старое понятие и придают ему другой смысл. Равно так же плохо пахнет, когда берут явление, для которого уже есть понятие, и придумывают для него новое понятие. Это - два рекламных инструмента, которые очень любят в США. Но тут надо лезть в определение языка Алгол и тогда станет ясно, кто был первый с понятием операции и кто менял смысл. Но это выходит за рамки моих интересов. Я же изначально не хотел лезть в эту терминологию, потому что она мутная и говорил о сложности самих правил, а не о том, как называть элементы. Потому что от названия элементов суть синтаксиса не меняется.