Oberon space

General Category => Общий раздел => Тема начата: Romiras от Ноябрь 19, 2014, 01:32:59 pm

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

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

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.

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