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

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


Сообщения - Romiras

Страницы: 1 2 [3] 4 5 ... 18
31
Общий раздел / Re: Oberon-07/13: заметки
« : Ноябрь 21, 2014, 11:21:34 pm »
Блин. А я уже отчёт перечитываю несколько раз.
Спасибо.

Кстати, я тут попробовал компилировать модуль с новым компилятором с Гитхаба
MODULE test;
IMPORT JS;
BEGIN
    JS.alert("Hello, World!")
END test.
ReferenceError: require is not defined

32
Общий раздел / Re: Project Oberon Compiler online.
« : Ноябрь 21, 2014, 11:21:24 pm »
Вообще не пашет, даже сообщений нет

33
Общий раздел / Re: Oberon-07/13: заметки
« : Ноябрь 21, 2014, 08:29:34 pm »
А что в этом модуле не так?
MODULE TestRecord;

  TYPE
    Buffer* = POINTER TO BufDesc;
    BufDesc* = RECORD
      len*: INTEGER;
    END;

END TestRecord.

34
Общий раздел / Re: Oberon-07/13: заметки
« : Ноябрь 21, 2014, 08:40:02 am »
Был удивлён, что в новом Обероне (07) нельзя создавать псевдонимы зарезервированным типам. Например, для обеспечения совместимости с другими компиляторами.
Вследствие этого такой код уже невозможен:

MODULE Test;
  TYPE
    LONGINT = INTEGER;

    Buffer* = POINTER TO BufDesc;
    BufDesc* = RECORD
      len*: LONGINT;
    END;

END Test.

35
Общий раздел / Re: Компилятор Coco/R онлайн
« : Ноябрь 19, 2014, 04:17:49 pm »
Я бы посоветовал сделать вообще без сервера - COCO/R, насколько я помню, написан практически на себе самом, то есть не так сложно сделать его порт на Oberon, и затем запускать его прямо в браузере.
Тоже об этом думал. На самом деле порт на Оберон не нужно делать, он уже есть - https://github.com/romiras/coco-r-oberon - написан на ОС Оберон. Поэтому нужно сначала обеспечить инфраструктуру текстового интерфейса, эмулирующую Oberon v4. Или же реализовать без этих средств.

36
Общий раздел / Компилятор Coco/R онлайн
« : Ноябрь 19, 2014, 01:32:59 pm »
Намедни, в ходе экспериментов с компилятором Coco/R, подумал:
каким образом можно дать на веб-сайте возможность динамически создавать компилятор на основе грамматики ATG при помощи Coco/R и тут же экспериментировать с входными данными?

Я представляю такую цепочку действий:

  • На входе, в текстовом поле: грамматика ATG

COMPILER Spreadsheet
(* Grammar for a very simple spreadsheet *)

IGNORE CHR(9) .. CHR(13)
IGNORE CASE

COMMENTS FROM "(*" TO "*)"

CHARACTERS
  letter     = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" .
  digit      = "0123456789" .

TOKENS
  identifier = letter .
  number     = digit { digit} .

PRODUCTIONS
  Spreadsheet = { Command } "QUIT" .
  Command     = [ Expression ]
                ("UP" | "DOWN" | "LEFT" | "RIGHT" | "HOME" | "GOTO" Cell |
                "ENTER" ) .
  Expression  = [ "+" | "-" ] Term { "+" Term | "-" Term } .
  Term        = Factor { "*" Factor | "/" Factor | "%" Factor } .
  Factor      = number | Cell | "(" Expression ")" .
  Cell        = identifier number .

END Spreadsheet.
    [/li]
  • Кнопка "Создать компилятор".
    При нажатии на сервер отправляется запрос с телом грамматики. Сервер запускает Coco/R, проверяет на наличие ошибок
    и возвращает ответ:
    a) позиции ошибок для исправления, если таковые имеются
    b) созданные Scanner(.Mod) + Parser(.Mod), если ошибок нет
  • При получении результатов с сервера:

    a) Ошибки в грамматике помечаются.
    b) Компилятор собирается прямо в браузере при помощи OberonJS. Сообщение об успешности сборки и готовности к работе.
  • Следующий этап заключается в экспериментах над входом для свежего компилятора в режиме онлайн.

    В следующее поле вводится вход (некоторый синтаксис, понимаемый собранным компилятором), который тут же способен интерпретировать его как программу.

Что можно добавить:
возможность вносить изменения в созданные сканер и парсер прямо в текстовых полях, затем отдельной операцией собирать компилятор и тогда тестировать новый синтаксис.

37
Общий раздел / А тем временем...
« : Октябрь 03, 2014, 09:31:21 am »
В соседнем форуме началось с обсуждения дополнительного модуля: Feature #9: adding module Characters , а закончилось пересмотром сообщения об языке КП.

38
Общий раздел / Re: Юмор
« : Сентябрь 24, 2014, 11:15:45 am »
жесть

39
Общий раздел / Re: Oberon-07/13: заметки
« : Сентябрь 19, 2014, 12:40:21 am »
Тут ещё один проект есть, наверно в чём-то похожий...
Называется LLJS

40
Общий раздел / Re: Вопросы по OberonJS
« : Сентябрь 17, 2014, 10:19:42 pm »
Цитата: Роман М.
Расскажите что-нибудь из опыта отладки заковыристых мест при одновременной работе с OberonJS и JavaScript.
Чуть позже либо я, либо Влад что-нибудь расскажем :-) А какого рода заковыристые места интересуют? Баги самого компилятора oberonjs (а они там еще есть, кодогенерация не всегда вполне корректная на сложном коде) и отлов соответственно последствий в сгенерированном коде, или вопросы работы со внешним API жабаскриптовым?
В данном случае я имел в виду при "взаимоотношении" между имеющейся кодовой базой на JS и новым кодом, написанным на OberonJS. Возможно, будут некоторые особенности из-за скомпилированного кода.

41
Общий раздел / Re: AyaCompiler - Oberon-07 for AMD-64
« : Сентябрь 11, 2014, 01:08:46 pm »
Там ещё статья в Вики есть: https://github.com/congdm/AyaCompiler/wiki/Niklaus-Wirth-was-right-after-all

Сборщик мусора можно попробовать реализовать с помощью Boehm GC.

Кто-то разбирался, готов ли импорт модулей как таковой? Ведь для этого предварительно нужно создавать символьные файлы модулей.

42
Не могу согласиться. IDE для турбопаскаля 7 всё-таки поудобнее была.
Помнится, в последние годы, когда я ещё в ДОСе работал, в качестве IDE я использовал ДОС Навигатор -- многооконный редактор с вертикальным выделением -- ваще супер было для тех времён ))

О! Хорошо что напомнил - надо его будет поднять, и попользовать. Он же до сих пор жив и есть под все платформы. Возможно в плане IDE он сможет стать для меня тем, чем не смог стать FAR.
Интерфейс ДОС Навигатора (DN) был крут в те времена отчасти потому что существовал такой фреймворк как Turbo Vision. В своё время я мог создать на нём разные интерфейсы (в Turbo Pascal 7.0) довольно быстро и результат был очень хороший. Поддерживались события мыши, клавиатурные сокращения, валидация полей, опции окон/диалогов и прочее - весьма круто для тех времён.
А ещё мне в руки как-то попала программа, кажется она называлась App Editor (ae.exe) - позволяла "рисовать" интерфейс прямо как в Дельфи, перетаскивая элементы на форму и настраивать обработчики событий. Формы сохранялись в ресурсные файлы, которые подгружались во время работы программы.

Исходники DN находятся в репозитории https://github.com/romiras/turbo-pascal-archive/tree/master/Files/Dos%20Navigator

Хотя, надо отметить, с Turbo Vision требовалось работать весьма осторожно. Помню, как опробовав Delphi 3 после TV, почувствовал как с плеч свалился огромный груз -  о многих вещах уже не требовалось заботиться, за тебя их выполнял Delphi.

43
Программирую микроконтроллеры с прошлого века, а именно 1987 года: 8080, Z80, 8051, Atmega161, AT91Sam3, PIC18, MSP430, STM32. Начинал с ассемблера. Далее желанный Си.  В интернете сейчас, словно лампочек на ночном небе, проектов для микроконтроллеров. И, нет НИ КАКОЙ ПЕРЕНОСИМОСТИ исходных кодов из проектов даже на Си! Каждый новый проект вынужден делать несколько месяцев. Иногда сроки проекта пересекают период больше года. Медленно. Очень медленно. Рукодство часто смотри косо на программеров. Переносимости практически нет, а значит  опять строить проект приходтся с нуля с пустой тратой драгоценного времени.
За счёт каких качеств Оберона код должен получиться переносимым, в отличие от Си?

45
Общий раздел / Re: The Swift Programming Language
« : Июнь 03, 2014, 12:56:12 pm »
Рождение одного языка не означает смерть для другого. Язык Си хоронят ой как давно.

Страницы: 1 2 [3] 4 5 ... 18