OberonCore https://forum.oberoncore.ru/ |
|
Ofront+: транслятор Оберон-языков в Си для ARM, x64 и x86 https://forum.oberoncore.ru/viewtopic.php?f=30&t=6344 |
Страница 12 из 17 |
Автор: | budden [ Вторник, 17 Август, 2021 18:28 ] |
Заголовок сообщения: | Re: Ofront+: транслятор Оберон-языков в Си для ARM, x64 и x8 |
Ну хорошо, больше не буду мешать, тем более, что мне нечего добавить к вышесказанному. |
Автор: | Trurl [ Вторник, 17 Август, 2021 19:01 ] |
Заголовок сообщения: | Re: Ofront+: транслятор Оберон-языков в Си для ARM, x64 и x8 |
Oleg N. Cher писал(а): Пока что обоснования по поводу ухудшения диагностики ошибок из-за отсутствия ";" прозвучали, но они лично для меня неубедительны. Позиция ошибки, что ли, уплывает в отчёте? Нет, она не уплывает, остаётся такой же. А после ошибки? Если собираетесь останавливаться на первой, проблем нет. |
Автор: | Trurl [ Вторник, 17 Август, 2021 19:07 ] |
Заголовок сообщения: | Re: Ofront+: транслятор Оберон-языков в Си для ARM, x64 и x8 |
Илья Ермаков писал(а): Учитывая, что в 99% случаев на практике оператор заканчивается на конце строки, то аналогия с предложениями неподходящая. Почему же? Предки наши писали вообще без знаков препинания и их вполне это устраивало. Да и в речи мы ими не пользуемся, то есть, смысловую нагрузку они не несут. |
Автор: | adimetrius [ Вторник, 17 Август, 2021 19:32 ] |
Заголовок сообщения: | Re: Ofront+: транслятор Оберон-языков в Си для ARM, x64 и x8 |
А каков посыл к тому, чтобы выпиливать ";" как разделитель операторов? Для чего это? И еще, я правильно понял, что где-то там есть 4 страницы, описывающие формальные правила, позволяющие отказаться от ";" как разделителя? Т.е. Language Report для Оберон-3 подрастет на 3-4 страницы? |
Автор: | Oleg N. Cher [ Вторник, 17 Август, 2021 20:04 ] |
Заголовок сообщения: | Re: Ofront+: транслятор Оберон-языков в Си для ARM, x64 и x8 |
Trurl писал(а): А после ошибки? Если собираетесь останавливаться на первой, проблем нет. А в чём проблема, если не собираемся останавливаться на первой?У меня одного стойкое ощущение, что контраргументы просто высосаны из пальца? adimetrius писал(а): А каков посыл к тому, чтобы выпиливать ";" как разделитель операторов? Для чего это? Устал повторять: так исходники смотрятся чище. А запутать и сделать малочитаемыми можно и с разделителем.adimetrius писал(а): И еще, я правильно понял, что где-то там есть 4 страницы, описывающие формальные правила, позволяющие отказаться от ";" как разделителя? Т.е. Language Report для Оберон-3 подрастет на 3-4 страницы? Нет, Вы неправильно поняли. Фразу "; необязательный разделитель" нет смысла рассусоливать на 4 страницы.Это в Go всё иначе. Я полагаю, что Language Report для Оберон-3 никогда не будет создан. Это так, самопальное творчество. Не беспокойтесь очень по этому поводу. |
Автор: | adimetrius [ Вторник, 17 Август, 2021 23:21 ] |
Заголовок сообщения: | Re: Ofront+: транслятор Оберон-языков в Си для ARM, x64 и x8 |
Oleg N. Cher писал(а): У меня одного стойкое ощущение, что контраргументы просто высосаны из пальца? Это вы так обесцениваете контраргументы? Oleg N. Cher писал(а): adimetrius писал(а): А каков посыл к тому, чтобы выпиливать ";" как разделитель операторов? Для чего это? Устал повторять: так исходники смотрятся чище. Что 4 страницы не понадобится - понял. Еще про аргументы: мне субъективно не нравится текст без разделителей, поэтому я подыскиваю объективные аргументы против такой грамматики. Пример меньшей устойчивости: TYPE P = PROCEDURE (): P; VAR p, q: P; p := q R() И вот я случайно, редактируя, удаляю букву R, и смысл программы меняется. Пример, конечно, надуманный, но все же он есть. |
Автор: | Oleg N. Cher [ Среда, 18 Август, 2021 02:22 ] |
Заголовок сообщения: | Re: Ofront+: транслятор Оберон-языков в Си для ARM, x64 и x8 |
adimetrius писал(а): Это вы так обесцениваете контраргументы? Ну да, именно. Потому что цитаты из каких-то священных писаний про то, что из-за отсутствия будет трудно выделять несколько ошибок подряд, не выдерживают проверки практикой. А они всё равно священны.А там без разницы, есть ли ";" - потому что он в коде OP2 проверяется только для того, чтобы сгенерировать ошибку при его отсутствии! adimetrius писал(а): Субъективный критерий, вы не находите? Неа, не нахожу. Чище есть чище. Вы же не пишете после каждого предложения трёхточие? Оно нужно редко. А точка часто. А в Обероне проще объяснить, что разделитель необязателен, чем объяснять, где его можно опустить (перед END и т.д.). Экономятся ценные страницы.adimetrius писал(а): И вот я случайно, редактируя, удаляю букву R, и смысл программы меняется. Пример, конечно, надуманный, но все же он есть. Антон, вот я случайно удаляю скобки в R() и вызов функции превращается в обращение к переменной или константе. Ну вот как теперь с этим жить? А можно ещё придумать подобных примеров.
|
Автор: | Wlad [ Среда, 18 Август, 2021 08:31 ] | ||
Заголовок сообщения: | Re: Ofront+: транслятор Оберон-языков в Си для ARM, x64 и x8 | ||
Смолтокеры смотрят на все эти околоточкосзапятённые страдания с лёгкой иронией...
|
Автор: | Trurl [ Среда, 18 Август, 2021 08:50 ] |
Заголовок сообщения: | Re: Ofront+: транслятор Оберон-языков в Си для ARM, x64 и x8 |
Wlad писал(а): Смолтокеры смотрят на все эти околоточкосзапятённые страдания с лёгкой иронией... В фортране тоже никаких проблем c ";". |
Автор: | Trurl [ Среда, 18 Август, 2021 08:58 ] |
Заголовок сообщения: | Re: Ofront+: транслятор Оберон-языков в Си для ARM, x64 и x8 |
Код: a := calc(n+1) 1 + calc(n+2) + calc(n+3)
|
Автор: | Trurl [ Среда, 18 Август, 2021 09:03 ] |
Заголовок сообщения: | Re: Ofront+: транслятор Оберон-языков в Си для ARM, x64 и x8 |
Oleg N. Cher писал(а): Устал повторять: так исходники смотрятся чище. А мне кажется, наоборот. Но если нравится, можно и двоеточие убрать по примеру го. |
Автор: | Oleg N. Cher [ Среда, 18 Август, 2021 09:23 ] |
Заголовок сообщения: | Re: Ofront+: транслятор Оберон-языков в Си для ARM, x64 и x8 |
Так. Ни двоеточий, ни запятых я убирать не буду. А в Вашем коде постом повыше ошибка. |
Автор: | adimetrius [ Среда, 18 Август, 2021 11:03 ] |
Заголовок сообщения: | Re: Ofront+: транслятор Оберон-языков в Си для ARM, x64 и x8 |
Oleg N. Cher писал(а): adimetrius писал(а): Это вы так обесцениваете контраргументы? Ну да, именно. Для меня это признак конца дискуссии. |
Автор: | Wlad [ Среда, 18 Август, 2021 12:39 ] |
Заголовок сообщения: | Re: Ofront+: транслятор Оберон-языков в Си для ARM, x64 и x8 |
Trurl писал(а): В фортране тоже никаких проблем c ";". не, ну Вы - сравнили! Я, конечно, понимаю, что Фортран - заслуженная числодробительная кувалда, но как-то её с самОй квинтэссенцией выражения и поддержки принципов ООП, рядом ставить... как-то несколько не эстетично даже! Не говоря о приличиях...
|
Автор: | Trurl [ Среда, 18 Август, 2021 20:58 ] |
Заголовок сообщения: | Re: Ofront+: транслятор Оберон-языков в Си для ARM, x64 и x8 |
Oleg N. Cher писал(а): А в Вашем коде постом повыше ошибка. Ну дык! И как её обработает компилятор? |
Автор: | Александр Ильин [ Четверг, 19 Август, 2021 02:02 ] |
Заголовок сообщения: | Re: Ofront+: транслятор Оберон-языков в Си для ARM, x64 и x8 |
Илья Ермаков писал(а): В современных правилах, например, . не ставится в конце заголовка. Перед ) не ставятся, даже если внутри скобки несколько предложений. Илья, я что-то сомневаюсь насчёт точки перед скобкой. Можете ссылку на правило найти?
|
Автор: | Илья Ермаков [ Четверг, 19 Август, 2021 12:06 ] |
Заголовок сообщения: | Re: Ofront+: транслятор Оберон-языков в Си для ARM, x64 и x8 |
Александр Ильин писал(а): Илья Ермаков писал(а): В современных правилах, например, . не ставится в конце заголовка. Перед ) не ставятся, даже если внутри скобки несколько предложений. Илья, я что-то сомневаюсь насчёт точки перед скобкой. Можете ссылку на правило найти?Хм, может быть. я и ошибся: https://orfogrammka.ru/%D0%BF%D1%83%D0% ... %BC%D0%B8/ "2. Точка, вопросительный и восклицательный знаки, многоточие ставятся перед закрывающей скобкой , если они относятся к конструкции, заключенной в скобках:" По поводу вопросительного, восклицательного и многоточия-то понятно - они ставятся и перед закрывающей скобкой. Что-то практического употребления точки перед скобкой не могу припомнить. Дико смотрится. Видимо, если я использовал скобки в центре предложения - и внутри них есть несколько предложений. Ааа аааа (Ааа. Ббб.) оооооо. Но если внутри скобок нужна бы точка, но за скобкой кончается внешнее предложение, то совсем странно выглядит: .). |
Автор: | Александр Ильин [ Четверг, 19 Август, 2021 19:39 ] |
Заголовок сообщения: | Re: Ofront+: транслятор Оберон-языков в Си для ARM, x64 и x8 |
Илья Ермаков писал(а): Александр Ильин писал(а): Илья Ермаков писал(а): В современных правилах, например, . не ставится в конце заголовка. Перед ) не ставятся, даже если внутри скобки несколько предложений. Илья, я что-то сомневаюсь насчёт точки перед скобкой. Можете ссылку на правило найти?Хм, может быть. я и ошибся В скобках (когда они используются) точки ставятся в том случае, когда предложение началось и закончилось в скобках. (Вот так, например.) Другими словами, скобки могут быть вокруг одного или нескольких предложений. (В этом случае каждое предложение пишется как обычно. Со всеми знаками препинания, с большой буквы и т. д.) Либо же скобки могут быть внутри предложения (тогда это просто альтернатива выделению запятыми или тире с двух сторон, а не самостоятельное предложение), и тогда содержимое не выделяется заглавными буквами и прочим. Можно сделать восклицание (sic!) или вопрошание (но зачем?), однако не с заглавной буквы. Нельзя (внутри скобок закончить одно предложение и начать другое. Это ошибка.). Если нужно взять в скобки несколько предложений, они все должны начать и закончиться полностью внутри скобок. Это насколько я знаю. Буду рад, если кто-то поправит или дополнит. |
Автор: | Wlad [ Пятница, 20 Август, 2021 03:03 ] |
Заголовок сообщения: | Re: Ofront+: транслятор Оберон-языков в Си для ARM, x64 и x8 |
Коллеги, а - что, вообще, здесь происходит? Вы послушайте только себя!: Один "о моде" и "тенденциях" "на счёт употребления точки с запятой" говорит, другой - про какие-то "необязательность их написания" и "равнозначность с концом строки"... Вы - о чём? КАКАЯ "мода"? КАКИЕ ""тенденции"? КАКАЯ "необязательность"???? Вы - об оберонах? Я почему и привёл табличку с синтаксисом pharo! Просто - как образец однозначного и минималистичного описания синтаксиса языка, с ясными и чёткими идеями и целями. Если и это - не иллюстрация, то - пожалте, - можно ещё меньше: https://github.com/pavel-krivanek/pharoMaterials/blob/master/postcard/pharo%20syntax%20postcard%20-%20a4.pdf Заметьте, что там - совершенно ни при чём "мода"или "необязательность", при совершенно ясном и непротиворечивом, законченном синтаксисе. Относительно оберонов - просто по идеологии их построения, НЕ ДОЛЖНО появляться даже намёка на мысль о "необязательности" какого-то элемента синтаксиса. Он - либо обязательно ставится в данном месте, либо, никто даже не заикается о возможности его появления здесь. Дикси. |
Автор: | Oleg N. Cher [ Пятница, 20 Август, 2021 09:45 ] |
Заголовок сообщения: | Re: Ofront+: транслятор Оберон-языков в Си для ARM, x64 и x8 |
Trurl писал(а): Ну дык! И как её обработает компилятор? Да так же, как и с ";" обработал бы, тем более, что ";" там нет.Wlad писал(а): Относительно оберонов - просто по идеологии их построения, НЕ ДОЛЖНО появляться даже намёка на мысль о "необязательности" какого-то элемента синтаксиса. Он - либо обязательно ставится в данном месте, либо, никто даже не заикается о возможности его появления здесь. Извините, а как насчёт необязательности ";" перед END?И интересно было бы услышать Вашу мысль по поводу убирания таки засоряющего исходник разделителя и восприятия "слитых в кучу" конструкций типа a := b b := a c := d - мы ведь не будем заставлять программиста "мельчить", разнося это по разным строкам? Получается, что этот разделитель нужен больше человеку - из-за особенностей восприятия. А не компилятору. |
Страница 12 из 17 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |