[00:24:19] <_valexey_> Нужен?
[00:27:47] <_valexey_> Импортощамещали импортозамещали да не импортозаместили :-)
[01:38:56] <kpmý> .lem
[01:38:57] <тихий бот> kpmý, Земля замерзает и все гибнут.
[01:39:14] <kpmý> .lem
[01:39:15] <тихий бот> kpmý, Земля сгорает и почти все гибнут.
[03:06:03] <kpmý> log
[03:06:04] <тихий борт> kpmý, логи там ↑
[03:06:05] <Жаба> kpmý, Logs here: http://77.108.99.102:8080/oberon@conference.jabber.ru/
[03:06:42] <kpmý> .set;log;http\://lun.kpmy.ru:8080/log насладись 500
[03:06:43] <тихий борт> kpmý, "log" assigned
[03:06:44] <kpmý> log
[03:06:44] <Жаба> kpmý, Logs here: http://77.108.99.102:8080/oberon@conference.jabber.ru/
[03:06:45] <тихий борт> kpmý, http://lun.kpmy.ru
[03:06:52] <kpmý> .set;log;http\://lun.kpmy.ru\:8080/log насладись 500
[03:06:53] <тихий борт> kpmý, "log" assigned
[03:06:58] <kpmý> log
[03:06:58] <Жаба> kpmý, Logs here: http://77.108.99.102:8080/oberon@conference.jabber.ru/
[03:06:59] <тихий борт> kpmý, http://lun.kpmy.ru:8080/log насладись 500
[03:09:29] <kpmý> .lem
[03:09:30] <тихий борт> kpmý, no such command
[03:09:38] <kpmý> хм
[03:41:04] <kpmý> .lem
[03:41:07] <тихий борт> kpmý, Земля подвергается нашествию огромных роботов которые ведут себя дружелюбно, но их никто не понимает и являются нерадиоактивными и могут быть уничтожены атомной бомбой.
[03:46:14] <kpmý> .lem
[03:46:15] <тихий бот> kpmý, Земля замерзает и все гибнут.
[03:46:17] <kpmý> log
[03:46:18] <тихий бот> kpmý, http://lun.kpmy.ru:8080/log насладись 500
[03:46:18] <Жаба> kpmý, Logs here: http://77.108.99.102:8080/oberon@conference.jabber.ru/
[14:14:16] <_valexey_> log
[14:14:17] <Жаба> _valexey_, Logs here: http://77.108.99.102:8080/oberon@conference.jabber.ru/
[14:14:17] <тихий бот> _valexey_, http://lun.kpmy.ru:8080/log насладись 500
[19:27:14] <kpmý> в интерпретаторе осталось самое сложное - указатели и методы
но это для случая одного модуля
два и более модулей еще только предстоит
[19:27:36] <kpmý> ну и еще с типами непонятно, как поэффективнее оформить типы данных
[19:28:10] <kpmý> сейчас там просто указатель на что угодно, в go это interface{}, что угодно кладешь, потом надеешься, что типы совпадут
[19:28:22] <kpmý> отчасти так и есть, ведь дерево уже проверено компилятором.
[19:28:30] <kpmý> но хотелось бы чего-то более надежного
[19:32:56] <sda> а hello world может сказать уже?
[19:40:43] <kpmý> не, для этого как раз нужны модули
[19:45:14] <kpmý> ну то есть, сейчас можно передать набор байт наружу, через спец процедуру, и таким образом я планирую оформить общение, но в самом КП пока нет модуля Log чтобы выводить строчки в консоль
[19:49:54] <sda> я подзабыл, ты программу по AST интерпретируешь? а откуда ты ее берешь, ведь кодогенератор ее переводит в код целевой платформы и он сохраняется потом?
[19:53:15] <kpmý> в OP2 сначала генерируется AST
[19:53:31] <kpmý> а ББшный компилятор как раз по OP2 сделан
[19:54:09] <kpmý> http://obertone.ru/doku.php/bb/dev я тут описывал
[19:55:10] <kpmý> а дерево лежит в DevCPT
[19:55:30] <kpmý> я нашел как-то раз модуль, который это дерево превращает обратно в КП
[19:55:41] <kpmý> для проверки компилера, наверное
[19:56:08] <kpmý> ну и потом понял, что дерево полноценное, а значит его можно использовать для интерпретации, как предлагал Франц
[19:56:42] <kpmý> только у него там упор идет на эффективное хранение этого дерева для мгновенного превращения в инструкции процессора.
[19:58:13] <sda> не планируешь как в juice хранить AST в файле или всегда нужно будет компиляцию запускать?
[19:59:08] <kpmý> я с самого начала в файл скидываю.
[19:59:22] <kpmý> надо кстати juice глянуть, а то я реп скачал, а глянуть не успел
[19:59:29] <kpmý> может портировать для ББ
[20:03:34] <sda> я вот думаю насколько сложно создать универсальную форму AST, чтобы хранить описание программы, по которой потом можно программу генерировать? просто в каждом компиляторе эти структуры заточенные под себя...
[20:03:55] <kpmý> да, я тоже не слышал про универсальный AST
[20:04:07] <kpmý> разве что в лиспе)
[20:04:30] <kpmý> https://github.com/kpmy/fw/blob/master/doc/ast.pdf?raw=true вот кстати AST для ББ
[20:05:52] <kpmý> в моем интерпретаторе мне интересна принципиальная оторванность от ББ. только чистый КП, без SYSTEM и прочей мути.
[20:06:50] <kpmý> потом с этим КП можно экспериментировать, сливать в llvm, гонять в браузере.
[20:07:05] <sda> я думаю, что там не вся инфа будет нужна, например поля с конкретными адресами, которые проставить должен будет кодогенератор...
[20:08:23] <kpmý> ну да, в основном нужна инфа о том, что хранит и ожидает от потомков конкретный узел
[20:10:41] <kpmý> интересно, что AST сам по себе довольно простой
[20:12:28] <sda> идея простая, а до конкретной реализации дойдешь - столько проблем вылезет..
[20:24:13] <kpmý> много неявного получается. в ББ например есть узел Вызов. У него слева указатель на процедуру, а справа список переменных, которые передаются процедуре, при этом нужно полезть в узел Процедура, там обратиться к объекту ЛокальнаяПроцедура, вытащить у нее список параметров, в каждый параметр засунуть значение.
[20:26:26] <kpmý> при этом связки просто узлов и объектов ни о чем толком не говорят
[20:40:13] <Kemet> AST OP2 да и вообще Виртовских компилеров это содом и гоморрар
[20:51:44] <kpmý> покажи уже аст А2 :)
[20:55:25] <kpmý> а у вирта вроде вообще нет AST, он напрямую гонит
[21:03:34] <sda> Хорошо бы получить такую форму представления, чтобы можно было с помощью линкера объединять несколько модулей в один. Думаю, надо будет пронумеровывать все элементы, чтобы из одинаковых имен не было колизий: в одном модуле имеются объекты 1 2 3, во втором 1 2 3 4 5, после объединения 1 2 3 4 5 6 7 8
[21:12:03] <kpmý> в ast можно не париться про имя, все равно объекты, которые представляют переменные - разные
[21:35:36] <Kemet> kpmý: Так в репе А2 глянь
[21:38:34] <Kemet> kpmý: https://github.com/metacore/A2OS/blob/master/source/FoxSyntaxTree.Mod
[21:43:26] <kpmý> да там сенокос
[22:01:31] <Kemet> Где
[22:07:27] <kpmý> в модуле
[22:10:50] <kpmý> не, ну, конечно если люди ставили цель сделать идеальный AST, то у них получилось лучше чем просто утилитарный AST ББ
[22:11:09] <kpmý> в ББ короче все работает, значит они сделали годный AST
[22:27:08] <alexey.veselovsky> http://www.opennet.ru/opennews/art.shtml?num=41430
[22:27:52] <kpmý> винда-то будет опенсорс
[22:27:54] <kpmý> ?
[22:27:56] <тихий бот> тварь я дрожащая, или тот, кому надо?
[22:28:03] <alexey.veselovsky> reactos!!11
[22:54:33] <kpmý> http://habrahabr.ru/post/247589/ хорошо быть поравалитиком
[22:57:07] <alexey.veselovsky> ыгы. я с ним на расстоянии 2-х рукопожатий ;-)
[22:57:27] <kpmý> уау
[22:58:29] <alexey.veselovsky> :-)
[23:55:26] <geniepro> > — Никто не хотел моего участия в своих проектах. А я не хотел, чтобы кто-либо участвовал в моих, — сказал он. (Пажитнов)
да уж, эта фраза о многом говорит...