Rambler's Top100
"Knowledge itself is power"
F.Bacon
Поиск | Карта сайта | Помощь | О проекте | ТТХ  
 Базарная площадь
  
О разделе

Основная страница

Группы обсуждений


Тематический каталог обсуждений

Архив

 
 К н и г и
 
Книжная полка
 
 
Библиотека
 
  
  
 


Поиск
 
Поиск по КС
Поиск в статьях
Яndex© + Google©
Поиск книг

 
  
Тематический каталог
Все манускрипты

 
  
Карта VCL
ОШИБКИ
Сообщения системы

 
Форумы
 
Круглый стол
Новые вопросы

 
  
Базарная площадь
Городская площадь

 
   
С Л С

 
Летопись
 
Королевские Хроники
Рыцарский Зал
Глас народа!

 
  
ТТХ
Конкурсы
Королевская клюква

 
Разделы
 
Hello, World!
Лицей

Квинтана

 
  
Сокровищница
Подземелье Магов
Подводные камни
Свитки

 
  
Школа ОБЕРОНА

 
  
Арсенальная башня
Фолианты
Полигон

 
  
Книга Песка
Дальние земли

 
  
АРХИВЫ

 
 

Сейчас на сайте присутствуют:
 
  
 
Во Флориде и в Королевстве сейчас  14:34[Войти] | [Зарегистрироваться]
Обсуждение темы:
Мысли об Обероне

На базарной площади довольно часто можно слышать высказывания об Обероне. Мне кажется, что на базарной площади пора появиться ветке об этой системе и языке, что-то вроде "Мысли об Обероне". Что это такое, перспективы этой системы, что полезного можно извлечь из него для программирования на Дельфи (например) и др.

Ivan

Количество сообщений на странице

Порядок сортировки сообщений
Новое сообщение вверху списка (сетевая хронология)
Первое сообщение вверху списка (обычная хронология)

Перейти на конкретную страницу по номеру


Всего в теме 4531 сообщение


Ссылки по теме "Оберон" и "Компонентный паскаль"



Отслеживать это обсуждение


Смотрите также обсуждения:
Free Pascal, Oberon, BlackBox
  • Разработка препроцессора gpre для delphi\freepascal.
  • Component Pascal и среда разработки BlackBox
  • FreePascal: реальная альтернатива или OpenSource — блажь?

  • <<<... | 2621—2612 | 2611—2602 | 2601—2592 | ...>>>
    Всего сообщений в теме: 4531; страниц: 454; текущая страница: 193


    № 2611   11-08-2005 08:07 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 2568« (Руслан Богатырев)
    ___________________________

    О книге "The School of Niklaus Wirth"

    В открытом доступе есть еще одна глава из книги Школа Никлауса Вирта: искусство простоты" (The School of Niklaus Wirth: The Art of Simplicity, 2000).

    3. Compiler Construction -- The Art of Niklaus Wirth
    Hanspeter Moessenboeck
    Pages: 55–68

    http://www.ssw.uni-linz.ac.at/Research/Papers/Moe00b.html

    Лежит в Postscript. В PDF легко преобразовать через Adobe Acrobat Professional.

    Обязательно стоит прочитать.

    Там есть интересный кусок про раздельную компиляцию (Separate Compilation) и обоснование того, почему в Оберонах произошел столь революционный отказ от явных DEFINITION-модулей.


    № 2610   11-08-2005 07:30 Ответить на это сообщение Ответить на это сообщение с цитированием
    В продолжение темы совместимости разных реализаций Oberon, Oberon-2 и Component Pascal.

    Небезызвестный Гюнтер Дотцель (Guenter Dotzel), руководитель проектов по созданию компиляторов Modula-2/Oberon-2 для DEC Alpha и VAX (OpenVMS), на своем сайте http://www.zel.org постарался систематизировать такую информацию.

    http://www.zel.org/oberon/osci.htm

    Она похоже не совсем верна, но может служить неким ориентиром.



    № 2609   11-08-2005 06:51 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 2608« (Иван Горячев)
    ___________________________
    xc12.html


    № 2608   11-08-2005 06:15 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 2606« (Trurl)
    ___________________________
    А где этот Table 14 находится? В документации к XDS (linux) я её в упор не нахожу...


    № 2607   11-08-2005 05:22 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 2603« (Руслан Богатырев)
    ___________________________
    Супер!

    А без этого нельзя. Надо думать о будущем заранее. Потому что это как раз та вещь, которую в будущем поменять будет абсолютно невозможно. Более того, обратите внимание на исходный код блэкбоксовского модуля Stores, а именно на все процедуры чтения/записи хранилища:

    PROCEDURE (VAR rd: Reader) ReadInt* (OUT x: INTEGER), NEW;
      VAR le, be: ARRAY 4 OF BYTE; (* little endian, big endian *)
    BEGIN
      rd.rider.ReadBytes(le, 0, 4);
      IF Kernel.littleEndian THEN
        x := SYSTEM.VAL(INTEGER, le)
      ELSE
        be[0] := le[3]; be[1] := le[2]; be[2] := le[1]; be[3] := le[0];
        x := SYSTEM.VAL(INTEGER, be)
      END
    END ReadInt;


    Все блэкбоксовские данные всегда хранятся в little-endian варианте. При загрузке/выгрузке хранилища числа автоматически конвертируются в соответствующее представление чисел текущего процессора.


    № 2606   11-08-2005 01:50 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 2596« (Иван Горячев)
    ___________________________
    >>>Кстати, XDS отнюдь не является хорошим выбором. Пусть меня поправят старшие товарищи, но у него кажись вообще нет 8-байтного целого и двубайтовое целое реализуется только через SYSTEM.

    Table 14. Representation of Oberon-2 basic types
    Oberon-2 type  Bits Representation
    SHORTINT        8  signed
    INTEGER        16  signed
    LONGINT        32  signed
    CHAR          8   unsigned
    BOOLEAN        8   unsigned byte
                        0 for FALSE, 1 for TRUE
    REAL         32  80x87 single-precision data format
    LONGREAL      64  80x87 double-precision data format
    LONGLONGREAL  80  80x87 extended-precision data format
    SET            32  packed set



    Longreal* = 10 байт; (*не понимаю, зачем упорно игнорировать Интеловский Extended. но пока = Real*)
    По стандарту этот самый Extended может использоваться только для промежуточных результатов.


    № 2605   10-08-2005 17:19 Ответить на это сообщение Ответить на это сообщение с цитированием
    А вот и ответ на вопрос, зачем в Component Pascal порушили систему базовых типов для Оберонов. Читаем у Пфистера:

    The Component Pascal base types are a superset of the Java base types.


    № 2604   10-08-2005 17:10 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 2602« (Сергей Губанов)
    ___________________________

    Речь идет о возможности ослабления контроля языка на уровне передачи параметров. Есть ли средства-заменители ARRAY OF BYTE в Component Pascal?

    Быть может, что тип ANYREC всех ближе к тому что Вы ищете, хотя он уже совсем из другой оперы...

    ANYREC ну совсем из другой оперы. ANYREC аналог ANYREC = ABSTRACT RECORD END;


    № 2603   10-08-2005 17:05 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 2599« (Сергей Губанов)
    ___________________________

    ...совместимость всех типов с ARRAY OF BYTE на уровне формальных параметров?

    Это невозможно из-за различного порядка следования байтов в представлении чисел на машинах с разными архитектурами little-endian и big-endian.

    Супер! Т.е. Пфистер сотоварищи изъяли мощный механизм совместимости в Оберонах, в том числе и для работы с разными базовыми типами, во имя пресловутой переносимости для разных процессорных архитектур. Интересно, а на каких таких специфических архитектурах с разным порядком представления битов сейчас доступен Component Pascal (или это для закрытых коммерческих проектов)?

    Читаем обоснование для BITS у Пфистера ("The Evolution of Oberon-2 to Component Pascal"):

    BITS is a new standard function that converts an INTEGER value to a SET value, such that BITS(1) yields {0}. For example, this allows to write more portable device drivers, since it doesn't depend on the processor's bit ordering (which differs for 68k and PowerPC, for example).

    При этом они узаконили в языке низкоуровневый тип BYTE, вынеся его из SYSTEM.



    № 2602   10-08-2005 08:49 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 2600« (Руслан Богатырев)
    ___________________________

    Речь идет о возможности ослабления контроля языка на уровне передачи параметров. Есть ли средства-заменители ARRAY OF BYTE в Component Pascal?

    Быть может, что тип ANYREC всех ближе к тому что Вы ищете, хотя он уже совсем из другой оперы...


    <<<... | 2621—2612 | 2611—2602 | 2601—2592 | ...>>>
    Всего сообщений в теме: 4531; страниц: 454; текущая страница: 193




    Отслеживать это обсуждение

    Дополнительная навигация:
    Количество сообщений на странице

    Порядок сортировки сообщений
    Новое сообщение вверху списка (сетевая хронология)
    Первое сообщение вверху списка (обычная хронология)

    Перейти на конкретную страницу по номеру
      
    Время на сайте: GMT минус 5 часов

    Если вы заметили орфографическую ошибку на этой странице, просто выделите ошибку мышью и нажмите Ctrl+Enter.
    Функция может не работать в некоторых версиях броузеров.

    Web hosting for this web site provided by DotNetPark (ASP.NET, SharePoint, MS SQL hosting)  
    Software for IIS, Hyper-V, MS SQL. Tools for Windows server administrators. Server migration utilities  

     
    © При использовании любых материалов «Королевства Delphi» необходимо указывать источник информации. Перепечатка авторских статей возможна только при согласии всех авторов и администрации сайта.
    Все используемые на сайте торговые марки являются собственностью их производителей.

    Яндекс цитирования