Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - igor

Страницы: [1] 2 3 ... 30
1
Общий раздел / Re: Числа в Обероне
« : Ноябрь 26, 2014, 07:12:59 am »
Репорты Оберон-2 и КП, п. 8.2
Про эти языки в этой теме речь и не шла. С тем же успехом можно ссылаться на стандарт С++
В этой части в языке никаких изменений нет.
Репорт Оберон-07, рев. 10.3.2014, п.8.2:
Цитировать
The operator ~ has the highest precedence, followed by
multiplication operators, addition operators, and relations. Operators of the same precedence
associate from left to right.
DIV относится к мультипликативным операциям (см. в этом же пункте далее).

2
Общий раздел / Re: Числа в Обероне
« : Ноябрь 25, 2014, 08:21:53 am »
Тогда что должно дать в результате выражение
-10 DIV 3

-10 DIV 3 = 0 - (10 DIV 3)
Это исходя из какого пункта репорта?
Репорты Оберон-2 и КП, п. 8.2

3
ps Специалистов по предметной области отродясь не видал. Возможно они существуют, но в реальности в предметную область приходится вникать программисту (руководителю, а частенько и кодеру).
Хорошие специалисты по предметной области сами пишут себе ПО. Я придерживаюсь точки зрения, что программирование - это общетехническая дисциплина, такая же как мамематика или физика для инженеров. (Это, конечно, не означает, что программисты не нужны)

4
Кто-нибудь разбирался как оно по Вирту должно быть?
А чем не устраивает описание реализации от самого Вирта? "Построение компиляторов", гл. 12.

5
Общий раздел / Re: Популярность языков в 2013
« : Январь 13, 2014, 08:49:26 am »
На этот раз это результаты опроса в твиттере.

А чего, оберонов там совсем нет, или я не нашел?
Простите, а что такое "обероны"?.. Язык программирования? Не, не слышал...   :) :) :)

6
http://www.inf.ethz.ch/personal/wirth/ProjectOberon/Sources/Checkers.Mod.txt
Обрати внимание на то где объявляется переменная цикла, а где сам цикл. Зачем???
Не вижу никакого криминала. Вот если бы переменная i экспортировалась для чтения и записи, тогда да. А так, это внутренние дела суверенного модуля в центре Европы:) (начитался новостей  :) )

7
...сведения, что виртовский (или какой-то другой) компилятор использует эту особенность для восстановления после ошибок? Или это все-таки было придумано по ходу дела?
Я точно помню, что читало про это где-то в 2006-2008 годах.
Свою стратегию восстановления после ошибок Вирт неплохо описал в "Построении компиляторов" (см. п.7.9 Устранение синтаксических ошибок). Правда, среди точек синхронизации он не называет терминаторы процедур (это конечно не означает, что на практике он никогда их не использует для восстановления).

8
Общий раздел / Re: English
« : Ноябрь 14, 2013, 02:11:21 pm »
Ага. Как пишет Замяткин, "при изучении языка нужно создать в центральной нервной системе языковой центр". То есть чужой язык должен стать как бы своим. Вот я, например, для того чтобы понять английскую фразу, сначала перевожу её на русский, и только после этого начинаю впитывать (нет языкового центра). И наоборот, для того чтобы что-то сказать по-английски, я сначала формулирую фразу по-русски, и после этого её перевожу. Так вот, в идеале этих трансляций туда-сюда быть не должно.

Помню в армии со мной служил один таджик, который неплохо говорил (хоть и с акцентом) и понимал по-русски. Однажды я услышал как он пел песню на своём родном языке. Я из любопытства спросил его, о чём поётся в этой песне. Каково же было моё удивление, когда он в ответ сначала долго мычал, морщил лоб, а потом сказал: "Ну... понимаещь... дэвущька, красывый, горы... эээ". (Там было три куплета).  :)  Сейчас я понимаю, что когда он общался со мной по-русски он никогда в уме не транслировал текст на свой таджикский и обратно. Вот у него точно сформировался новый языковой центр.

9
Общий раздел / Re: English
« : Ноябрь 14, 2013, 10:06:22 am »
Читая на обероновских форумах англоязычные сообщения русскоязычных пользователей, я сделал одно интересное наблюдение.Такие сообщения, в отличие от английских сообщений носителей языка, мне очень легко переводить. Для этого достаточно тупо заменить все английские слова на соответствующие русские, и получаем предложение на чистейшем русском языке, при этом иногда даже удаётся уловить какие-то тонкие нюансы, чего со мной не случается при переводе исконной английской речи. Примеры приводить не стану, дабы не показывать пальцем на конкретных лиц.  :)
Получается, что русскоязычный чел частенько "выдаёт" себя с потрохами, когда пытается говорить по-английски, а думать продолжает по-русски. Интересно, испытывают ли от этого какой-нибудь дискомфорт те, кому предназначаются эти послания.

10
Можно в принципе делать так:
1. В модуле первый уровень без отступа (для IMPORT, CONST, VAR, TYPE, PROCEDURE, BEGIN)
А я уже давно так делаю.

11
Общий раздел / Re: [Oberon rev 2013] operator =,<,>,<=,>=
« : Ноябрь 08, 2013, 03:14:46 pm »
По каким-нибудь там "плюсам" репорт (стандарт) можно до самой пенсии зубрить, да так и не успеть.  :D

12
Общий раздел / Re: [Oberon rev 2013] CASE
« : Ноябрь 08, 2013, 10:14:31 am »
Также в отчете не сказано о том, что метки не могут пересекаться. Возможно, Никлаус Вирт действительно невнимательно отредактировал отчет, такое с ним случалось и прежде.
Посмотрел репорт 2013 года, - и правда, - нигде не сказано, что метки выбора не должны дублироваться. И всё же я думаю, что если задать Вирту прямой вопрос, то он ответит: "Конечно, не могут дублироваться".
Как писал Патрик:
Цитата: Patrik Reali
Оригинальное сообщение о языке [7] чрезвычайно короткое, автор полагается на здравый смысл и интуицию читателя.

13
Общий раздел / Re: Раскручиваем компилятор O7
« : Ноябрь 08, 2013, 09:56:38 am »
Не сложности, а даже невозможности :-) Идеальную хэш-функцию не построить в общем случае.
К счастью, в нашем случае с ключевыми словами таких проблем не возникает. Хотя, надо сказать, что нет гарантии того, что какой-либо автор компилятора у себя в коде всё сделал правильно. :-)

14
Общий раздел / Re: Раскручиваем компилятор O7
« : Ноябрь 08, 2013, 09:28:51 am »
Так и с CASE'ом тоже самое -- придётся анализировать, в каких диапазонах находятся эти метки и диапазоны меток, сортировать их, решать, можно ли сделать всё одной таблицей переходов или же придётся делать несколько таблиц переходов, или вообще проще IF-ами всё сравнивать...
Особой разницы для автора компилятора нет...
Да, пожалуй. Значения меток выбора в общем случае могут быть сильно разряжены и располагаться неравномерно. С построением таблицы переходов могут возникнуть сложности:
VAR a: LONGINT;
CASE a OF
| -100500: ... ;
| 0, 1: ... ;
| 100500: ... ;
END

15
Общий раздел / Re: Раскручиваем компилятор O7
« : Ноябрь 08, 2013, 08:03:09 am »
Ну вот, простейшая хеш-таблица вышла )))
Так и есть :-)

---------
К слову сказать, этот пример иллюстрирует, что оператор CASE это всё-таки нечто большее, чем просто синтаксический сахар. В случае использования равноценного многоветочного IF компилятору пришлось бы проанализировать условия во всех ветках для того чтобы понять сможет ли он сгенерировать эффективную таблицу переходов, или придётся генерировать код как для обычного IF'а.

Страницы: [1] 2 3 ... 30