Forth http://www.fforum.winglion.ru/ |
|
Quark: build 28 (и документация) http://www.fforum.winglion.ru/viewtopic.php?f=23&t=2645 |
Страница 3 из 5 |
Автор: | gudleifr [ Пт дек 30, 2011 01:00 ] |
Заголовок сообщения: | Re: Quark: build 28 (и документация) |
Хищник писал(а): В любом случае, я вирус в кварк не компилировал, о чем могу ответственно заявить. А в zip каких-нибудь активно-рекламных оглавлений не добавлял? Обычно на это ругается.Хищник писал(а): Да без проблем. Тогда наводящий вопрос: какова доля Forth в твоем IDE?
|
Автор: | Hishnik [ Пт дек 30, 2011 01:12 ] |
Заголовок сообщения: | Re: Quark: build 28 (и документация) |
gudleifr писал(а): А в zip каких-нибудь активно-рекламных оглавлений не добавлял? Обычно на это ругается. Не знаю. Распаковывается из него нормально. gudleifr писал(а): Тогда наводящий вопрос: какова доля Forth в твоем IDE? В proton? Он написан полностью на Lazarus и к Форту вообще не имеет отношения. Это просто способ использовать компонент SynEdit, который мне понравился больше всех из увиденных компонентов редакторов. Из редактора текст передается в quark.dll построчно. |
Автор: | gudleifr [ Пт дек 30, 2011 01:14 ] |
Заголовок сообщения: | Re: Quark: build 28 (и документация) |
Хищник писал(а): ... Спасибо за ответ.
|
Автор: | dynamic-wind [ Пт дек 30, 2011 11:41 ] |
Заголовок сообщения: | Re: Quark: build 28 (и документация) |
Цитата: Quark: build 28 (и документация) Рано или поздно будет Quark: build XY (+ исходники и документация). |
Автор: | Hishnik [ Пт дек 30, 2011 12:56 ] |
Заголовок сообщения: | Re: Quark: build 28 (и документация) |
dynamic-wind писал(а): Рано или поздно будет Quark: build XY (+ исходники и документация). Нет, исходников не будет. Это моя принципиальная позиция. В ученики я ни к кому из фортеров не собираюсь (а значит, и сдавать код на проверку некому), специалисты моего уровня и сами напишут, а кто хочет освоить - пускай учится, начиная с основ, а не скачивая тонны исходников. |
Автор: | diver [ Пт дек 30, 2011 16:35 ] |
Заголовок сообщения: | Re: Quark: build 28 (и документация) |
Лично я за повышение доли документации в поставках форт-систем. Если есть описание слов, есть описания расширений и прикладных библиотек, зачем прокапывать мегабайты чужого кода? время лишнее? Вопрос о возможных скрытых ошибках тоже несколько надуман - даже если и есть ошибка, и видно где она в исходнике - не факт, что под рукой окажется средство его быстренько перекомпилировать. Так или иначе выявленный баг придется либо обходить, либо писать свой кусок кода, работающий как надо - а уж переопределение слова в форте ну точно не проблема. Для Фортов под операционки типа Windows/Linux более актуально наличие способов вызова системных или сторонних библиотек, работа с той же графикой. Для встраиваемых систем - на крайний случай можно добавить регистровую модель форт-машины... Например, отсутствие исходников LPCForth (от MPE для LPC21xx контроллеров) нисколько не мешает его успешно применять |
Автор: | gudleifr [ Пт дек 30, 2011 17:21 ] |
Заголовок сообщения: | Re: Quark: build 28 (и документация) |
Я скажу за себя. Когда писал первый FOBOS (1989?), взял Баранова и Ноздрунова. Ну, понятно, ассемблерные начала пришлось писать самому, но вот остальные слова тупо передрал с них. Это плохо? Но если бы я начал плодить свои слова, то у меня бы и не Forth получился бы? К тому же, я хоть немного разобрался в Forth-парадигмах... Экранный редактор взял у Броуди (уже и не помню, были ли там исходники). Второй написал сам. Третий редактор взял у Келли и Спайса (там, вроде, исходники были). Это злостный плагиат? Или нормальный обмен наработками? Потом нарыл книжку Семенова с PC-исходниками. Обрадовался, что LODSW использовал правильно, но вот идея поменять местам стеки мне тогда не понравилась. Может быть, дополнил свой словарь парой слов оттуда (стандарта тогда еще в глаза не видел). ... Тоже и с последними версиями. Идею хранить вершину стека в регистре подсмотрел в документации Win32Forth, а алгоритм слова WORD уточнил по его исходникам. Слово DOER в нем пошло сразу, а вот в каком-то Palm-Forrh пришлось для этого методом тыка разбираться, что значит раздельное хранение кода и данных. ... Допустим, я найду где-нибудь красивый Forth-Intel-Assembler и заменю свое страшилище. Кому от этого полегчает: мне или тому, кто в моей писанине будет разбираться (использовать)? ... С минимальным FOBOS вышла совсем непонятная история. Я думал, что, получив отзыв на свои исходники, пойму, какая документация потребна, но результатом были полько уверения в том, что ничего не понятно в принципе. Описывать все слова высокого уровня? Бред. Гораздо чаще требуется код слова, чем его описание человеческим языком. WORDS и SEE (да при наличии ANSI-94) делают глоссарий избыточным. ... Как писал Винер: если бы режим секретности был бы отменен, русские получили бы свою бомбу на год раньше, но американцы бы шагнули вперед лет на двадцать. |
Автор: | Hishnik [ Пт дек 30, 2011 19:02 ] |
Заголовок сообщения: | Re: Quark: build 28 (и документация) |
И я скажу за себя. Мне не нужен код, не сопровожденный объяснениями, что и почему сделано. Я предпочту пояснения без кода. gudleifr писал(а): Идею хранить вершину стека в регистре подсмотрел в документации Win32Forth А что ж тут не код приводится, а описание? |
Автор: | gudleifr [ Пт дек 30, 2011 19:17 ] |
Заголовок сообщения: | Re: Quark: build 28 (и документация) |
Хищник писал(а): Я предпочту пояснения без кода. Дык, тогда придется писать такую документацию, что ее будет украсть и издать будет гораздо сподручнее и выгоднее, чем стянуть код.
|
Автор: | Hishnik [ Пт дек 30, 2011 19:56 ] |
Заголовок сообщения: | Re: Quark: build 28 (и документация) |
gudleifr писал(а): Дык, тогда придется писать такую документацию, что ее будет украсть и издать будет гораздо сподручнее и выгоднее, чем стянуть код Было бы неплохо. К этому и стремлюсь. В принципе, большинство слов кварка можно легко написать, ориентируясь на документацию. |
Автор: | Гвоздодер [ Вт апр 10, 2012 11:15 ] |
Заголовок сообщения: | Re: Quark: build 28 (и документация) |
Загрузил, значит, я Quark, попробовал что-то начать... и с разбегу об телегу. Слова WORD, INTERPRET, INCLUDE отсутствуют принципиально? Писать их самому не предлагать! Сохранения образа Форт системы то тоже нет! Получается, что сделать что-то серьезное с Quark просто не выйдет, ведь все наработки на следующий день забываются и пропадают. :( А так красиво начал, казалось, вот оно!... Ан нет, нет и нет :( |
Автор: | Hishnik [ Вт апр 10, 2012 17:40 ] |
Заголовок сообщения: | Re: Quark: build 28 (и документация) |
Слова WORD, INTERPRET, INCLUDE отсутствуют принципиально? WORD == PARSE INTERPRET - это ассемблерная процедура, она же главный цикл. Там расставлено достаточное количество векторизованных слов, чтобы снизить потребность в полной подмене INTERPRET. INCLUDE == L (" myname.f" L) Гвоздодер писал(а): Сохранения образа Форт системы то тоже нет! quark.exe my_project.f Файл, имя которого передается в командной строке, загружается после старта. Образ форт-системы во многих наших проектах занимает десятки мегабайт, если не сотни (модели, таблицы, массивы - что ж их, в образ?) Гвоздодер писал(а): Получается, что сделать что-то серьезное с Quark просто не выйдет, ведь все наработки на следующий день забываются и пропадают. Эээ... "файл -> сохранить"? |
Автор: | WingLion [ Вт апр 10, 2012 19:00 ] |
Заголовок сообщения: | Re: Quark: build 28 (и документация) |
Хищник писал(а): quark.exe my_project.f Кстати, сегодня применял одну "хитрость" по этому поводу: делаю такой батник и запускаю Код: copy target.f/b+equinox.f/b+my_prog.f/b+end.f/b src.f quark.exe src.f Есть только одна неприятность при таком подходе. В случае какой-либо ошибки, Кварк частенько вываливается молча, ничего никуда не сообщая... Во всяком случае, я не увидел этих сообщений. (ненайденые в словаре слова - не в счет - их видно) |
Автор: | Hishnik [ Вт апр 10, 2012 19:12 ] |
Заголовок сообщения: | Re: Quark: build 28 (и документация) |
WingLion писал(а): copy target.f/b+equinox.f/b+my_prog.f/b+end.f/b src.f В src.f может быть Код: " target.f" L " equinox.f" L " my_prog.f" L " end.f" L WingLion писал(а): Есть только одна неприятность при таком подходе. В случае какой-либо ошибки, Кварк частенько вываливается молча, ничего никуда не сообщая... Во всяком случае, я не увидел этих сообщений. (ненайденые в словаре слова - не в счет - их видно) Такое было замечено, но варианты вразумительного исправления существенно загромождают систему. К вылетам может приводить ошибка в логике, когда на стеке вместо адреса оказывается 0 или прочий мусор. В этом случае попытка runtime-контроля приведет только к тому, что вываливаться кварк будет не сам, а после чтения сообщения "вы читаете из адреса 0" с последующим ручным прибиванием. |
Автор: | WingLion [ Вт апр 10, 2012 19:30 ] |
Заголовок сообщения: | Re: Quark: build 28 (и документация) |
Хищник писал(а): Такое было замечено, но варианты вразумительного исправления существенно загромождают систему. К вылетам может приводить ошибка в логике, когда на стеке вместо адреса оказывается 0 или прочий мусор. В этом случае попытка runtime-контроля приведет только к тому, что вываливаться кварк будет не сам, а после чтения сообщения "вы читаете из адреса 0" с последующим ручным прибиванием. Интереснее была бы не констатация очевидного факта вылета, а указание места, где он произошел... |
Страница 3 из 5 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |