OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Вторник, 19 Март, 2024 07:36

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 234 ]  На страницу Пред.  1 ... 8, 9, 10, 11, 12  След.
Автор Сообщение
 Заголовок сообщения: Re: Оберон-07
СообщениеДобавлено: Пятница, 30 Сентябрь, 2011 12:17 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 18:55
Сообщения: 2272
Откуда: Россия, Нижний Новгород
Евгений Темиргалеев писал(а):
В сях есть что-то типа stack_alloc. В аде, может быть, можно размещать b, c: ARRAY LEN(a)...
В C# тоже есть, но в ансэйфе
Код:
private static unsafe void P (byte* a, int n)
{
   byte* tmp = stackalloc byte[n];
   //...
}


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оберон-07
СообщениеДобавлено: Пятница, 30 Сентябрь, 2011 14:26 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Да, в Аде в локальных объявлениях можно в качестве значений (размеров) использовать свойства пришедших фактических параметров.

В принципе, никаких изменений в синтаксис не нужно - и технически не сложно, разрешить LEN от параметра ставить размером локального массива.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оберон-07
СообщениеДобавлено: Пятница, 30 Сентябрь, 2011 15:06 

Зарегистрирован: Пятница, 20 Июль, 2007 17:26
Сообщения: 710
Откуда: Псков
Илья Ермаков писал(а):
Да, в Аде в локальных объявлениях можно в качестве значений (размеров) использовать свойства пришедших фактических параметров.

В принципе, никаких изменений в синтаксис не нужно - и технически не сложно, разрешить LEN от параметра ставить размером локального массива.

Позвольте вопрос , а что это нельзя делать? Вроде бы по описанию синтаксиса Оберона-07 прошелся и препятствий не заметил.

ArrayType = ARRAY length {"," length} OF type.
length = ConstExpression.
ConstExpression = expression.
expression = SimpleExpression [relation SimpleExpression].
SimpleExpression = ["+" | "-"] term {AddOperator term}.
term = factor {MulOperator factor}.
factor = number | string | NIL | TRUE | FALSE |set | designator [ActualParameters] | "(" expression ")" | "~" factor.
designator = qualident {selector}.
qualident = [ident "."] ident.
ident = letter {letter | digit}.
ActualParameters = "(" [ExpList] ")" .


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оберон-07
СообщениеДобавлено: Пятница, 30 Сентябрь, 2011 16:03 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
albobin писал(а):
Илья Ермаков писал(а):
...разрешить LEN от параметра ставить размером локального массива.
Позвольте вопрос , а что это нельзя делать? Вроде бы по описанию синтаксиса Оберона-07 прошелся и препятствий не заметил.

ArrayType = ARRAY length {"," length} OF type.
length = ConstExpression.
LEN от открытого массива во время компиляции не вычислить --- не вписывается в семантику ConstExpression.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оберон-07
СообщениеДобавлено: Пятница, 30 Сентябрь, 2011 16:04 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Илья Ермаков писал(а):
В принципе, никаких изменений в синтаксис не нужно - и технически не сложно, разрешить LEN от параметра ставить размером локального массива.
Насчёт сложности я бы не спешил делать выводы. Влепить может и не сложно. Только может такой прибамбас выйти, что его размеры себя не окупят в качестве языкового механизма.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оберон-07
СообщениеДобавлено: Пятница, 30 Сентябрь, 2011 17:21 

Зарегистрирован: Пятница, 20 Июль, 2007 17:26
Сообщения: 710
Откуда: Псков
Евгений Темиргалеев писал(а):
length = ConstExpression. LEN от открытого массива во время компиляции не вычислить --- не вписывается в семантику ConstExpression.

ForStatement = ... [ BY ConstExpression] . Здесь тоже во время компиляции должно быть вычислимо?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оберон-07
СообщениеДобавлено: Пятница, 30 Сентябрь, 2011 19:10 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Речь о вспомогат. переменных на стеке с неопределенным начальным значением.
Таковы локальные переменные.
В этой логике обсуждаемые вспомогат. массивы нужно объявлять среди локальных переменных.

Как объявить их длину?
Если разрешить выражения -- то компилятору нужно отслеживать операнды и включить в код проверку длина>0 в ран-тайме.

Если просто LEN(a), где a обязан быть параметром?
Но возможна некая путаница с многомерными массивами.

Если VAR b: ARRAY AS a;
так чтобы b полностью дублировал a по структуре и размерам?

Можно пофантазировать о распространении этого способа и на другие ситуации. Группы "подобных" массивов часто встречаются.
Тогда, возможно, получилось бы упрощение правил передачи массивов в качестве параметров.
Но это похоже на описание типов. С другой стороны, массивовые типы и так стоят несколько особняком в системе типов. Это, скорее, предтипы -- что-то между атомарными типами и записями.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оберон-07
СообщениеДобавлено: Пятница, 30 Сентябрь, 2011 19:40 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
albobin писал(а):
Евгений Темиргалеев писал(а):
length = ConstExpression. LEN от открытого массива во время компиляции не вычислить --- не вписывается в семантику ConstExpression.

ForStatement = ... [ BY ConstExpression] . Здесь тоже во время компиляции должно быть вычислимо?
Да, раз ConstExpression.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оберон-07
СообщениеДобавлено: Пятница, 30 Сентябрь, 2011 20:14 

Зарегистрирован: Пятница, 20 Июль, 2007 17:26
Сообщения: 710
Откуда: Псков
Евгений Темиргалеев писал(а):
Да, раз ConstExpression.

Спасибо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оберон-07
СообщениеДобавлено: Среда, 25 Июль, 2012 07:14 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Николай Вальтерович прислал новую ревизию репорта.

Предупреждал же: надо к этим новостям относится спокойней.

Типичное ползание оптимизирующего алгоритма по точке оптимума.

Мое предложение -- опираться на опыт обучения 11-летних.


Вложения:
Oberon07.Report.doc.7z [21.95 КБ]
Скачиваний: 709
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оберон-07
СообщениеДобавлено: Среда, 25 Июль, 2012 12:07 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Info21 писал(а):
Николай Вальтерович прислал новую ревизию репорта.

Николай Вальтерович писал(а):
I have made an addition to Oberon-7:
I added the basic type BYTE.
It is fully compatible with INTEGER, of which it denotes the subrange 0 ...
255.
Overflow may occur upon assignment of an integer to a variable of type BYTE.

I have removed the type LONGREAL.
Which standard is used is left open to every implementation.

Furthermore, there are again only 2 kinds of parameters,
the CONST case is dropped.
However, I introduce the restriction that assignments to elements of a structured parameter are forbidden, unless it is a VAR parameter.
(As a result, structured parameter can always be passed by reference).
I append the updated Report.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оберон-07
СообщениеДобавлено: Среда, 25 Июль, 2012 13:05 

Зарегистрирован: Пятница, 20 Июль, 2007 17:26
Сообщения: 710
Откуда: Псков
Я тут 'diff'ом по текстам прошёлся. Ещё добавлено:

11.1 The Module SYSTEM
Proper procedures:
COPY(src, dst, n) all INTEGER copy n consecutive words from src to dst


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оберон-07
СообщениеДобавлено: Среда, 25 Июль, 2012 13:50 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Пока конвертировал "старый" репорт из pdf в odc, чтобы в ББ сравнить, уже всё огласили. :) В любом случае, пригодится (http://oberoncore.ru/library/wirth_the_ ... on_revised).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оберон-07
СообщениеДобавлено: Среда, 12 Март, 2014 09:13 

Зарегистрирован: Пятница, 13 Март, 2009 16:36
Сообщения: 987
Откуда: Казань
Вышла новая ревизия языка Oberon-07 (1.10.2013 / 10.3.2014).
Изменились некоторые формулировки, а также изменились следующие вещи:
1) При записи вещественных чисел не поддерживается символ D и LONGREAL.
2) SET принимает значения от 0 до зависимо_от_реализации. Раньше было до 31.
3) Добавились некоторые предопределенные функции, которые должны быть реализованы при работе с RISC процессором.


Вложения:
Комментарий к файлу: Новая ревизия Оберон-07 от 3.10.2014.
Oberon07.Report_20140310.pdf [68.27 КБ]
Скачиваний: 724
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оберон-07
СообщениеДобавлено: Среда, 12 Март, 2014 15:26 

Зарегистрирован: Пятница, 25 Сентябрь, 2009 13:10
Сообщения: 1177
Откуда: Мариуполь
albobin писал(а):
Я тут 'diff'ом по текстам прошёлся.
Хотелось бы иметь список ревизий для сравнения как это сделано в МедиаВики.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оберон-07
СообщениеДобавлено: Среда, 12 Март, 2014 18:52 

Зарегистрирован: Вторник, 29 Ноябрь, 2011 08:46
Сообщения: 35
Rifat писал(а):
Вышла новая ревизия языка Oberon-07 (1.10.2013 / 10.3.2014)
А почему 10.03.2014? Это явно дата скачивания документа, а не заливки.

На "том, чье имя нельзя называть" форуме сообщение о новой версии идет от 26.02.2014.
Я скачал документ через Download Master со включенной опцией "Получать дату и время создания файла с сервера", его время еще более раннее - 22 февраля 2014 г., 06:36:12.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оберон-07
СообщениеДобавлено: Среда, 12 Март, 2014 18:58 
Администратор

Зарегистрирован: Вторник, 15 Ноябрь, 2005 01:14
Сообщения: 4695
Откуда: Россия, Орёл
ddn1 писал(а):
Rifat писал(а):
Вышла новая ревизия языка Oberon-07 (1.10.2013 / 10.3.2014)
А почему 10.03.2014? Это явно дата скачивания документа, а не заливки.

Так в документе.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оберон-07
СообщениеДобавлено: Среда, 12 Март, 2014 19:21 

Зарегистрирован: Вторник, 29 Ноябрь, 2011 08:46
Сообщения: 35
Борис Рюмшин писал(а):
ddn1 писал(а):
А почему 10.03.2014? Это явно дата скачивания документа, а не заливки.

Так в документе.
А у меня ее нет, только дата старой версии.
Документ опять обновился! Новый залит - 11 марта 2014 г., 09:26:52.

Отличия:
Oberon07.Report.pdf 22 февраля 2014 г., 06:36:12 писал(а):
Revision 1.10.2013
factor. The letter E is pronounced as "times ten to the power of". A real number is of type REAL.
SET the sets of integers between 0 and 31
DeclarationSequence = [CONST {ConstantDeclaration ";"}]

Oberon07.Report.pdf 11 марта 2014 г., 09:26:52 писал(а):
Revision 1.10.2013 / 10.3.2014
factor. The letter E is pronounced as "times ten to the power of".
SET the sets of integers between 0 and an implementation-dependent limit
DeclarationSequence = [CONST {ConstDeclaration ";"}]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оберон-07
СообщениеДобавлено: Среда, 12 Март, 2014 19:33 
Администратор

Зарегистрирован: Вторник, 15 Ноябрь, 2005 01:14
Сообщения: 4695
Откуда: Россия, Орёл
ddn1 писал(а):
Документ опять обновился! Новый залит - 11 марта 2014 г., 09:26:52.

Вот о нём речь и идёт.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оберон-07
СообщениеДобавлено: Пятница, 11 Март, 2016 14:56 

Зарегистрирован: Пятница, 25 Сентябрь, 2009 13:10
Сообщения: 1177
Откуда: Мариуполь
Вышла новая уточнённая версия с правками от 4.3.2016. Сравнений с предыдущими пока не делал.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 234 ]  На страницу Пред.  1 ... 8, 9, 10, 11, 12  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB