Forth
http://www.fforum.winglion.ru/

Quark 64: выбор модели жизненного цикла и ее адаптация
http://www.fforum.winglion.ru/viewtopic.php?f=23&t=2965
Страница 3 из 3

Автор:  Hishnik [ Ср авг 28, 2013 21:06 ]
Заголовок сообщения:  Re: Quark 64: выбор модели жизненного цикла и ее адаптация

KPG писал(а):
На Fasm пишется операционная система Колибри ОС и её KolibriOS форум можно на её коде учится использовать Fasm.

Это, возможно, и хороший путь, но несколько посторонний. Fasm - инструмент. Если правильно сформулировать частную задачу, то достаточно будет изучить ровно то, что требуется для ее решения. Просто так "накачивать" навыки работы с Fasm менее эффективно из-за размытости требований к тому, что же реально следует изучить. "Смотреть на код" - это не изучение. Написать программу, находящую сумму элементов массива - это получение конкретного, проверяемого (сравнили с эталонной суммой) и воспроизводимого (написали еще раз, с другим типом данных и на другой платформе) навыка. Форт - это неплохой набор таких частных задач.

Автор:  Hishnik [ Вс сен 01, 2013 01:59 ]
Заголовок сообщения:  Re: Quark 64: выбор модели жизненного цикла и ее адаптация

Итак, начинаем. С учетом всех мнений получается, что нам наиболее удобна инкрементная модель. Вкратце она состоит в разработке программы с тремя итерациями ("инкрементами"). При проработке итераций возможности постепенно нарастают, что удобно в случаях, когда коллектив разработчиков не вполне знаком с тем, что предстоит сделать. Итерации будут следующие:

1. Сентябрь 2013. Получение базового варианта приложения. Оно должно содержать:
- реализацию базового движка программы (консоль или ее эквивалент в виде запросов к dll);
- операции со стеком, памятью и арифметико-логические операции;
- базовые операции со словарем (возможно, единственным): поиск, исполнение, компиляция нового слова, CREATE DOES>;
- базовые структуры управления (IF-ELSE-THEN, BEGIN-UNTIL, BEGIN-WHILE-REPEAT, DO-LOOP);

Результатом должна стать программа, которая обеспечит выполнение примеров в виде математических расчетов.

На этом этапе НЕ СТАВИТСЯ ЗАДАЧА:
- реализации проблемных/рискованных алгоритмов, которые способны существенно задержать разработку из-за сложности отладки;
- достижения максимальной производительности;
- обеспечения высокой надежности;
- достижение высокой компактности кода, эргономических показателей и т.п.
Вместо этого все наблюдения записываются в качестве задач для следующих этапов.

2. Октябрь 2013. Наращивание функциональности.
Задача этапа - реализация спецификации транслятора. Это может быть набор слов Quark, или тот набор, который поставит себе в качестве задачи каждый из участников. Тем не менее, спецификация должна быть разработана ДО начала работ над итерацией.

3. Ноябрь 2013. Финальная итерация.
На протяжении второй итерации неоднократно может казаться, что она и является финальной. Тем не менее, практически обязательно появится список обнаруженных проблем и пожеланий, а также замечания к производительности, надежности, стилю кода и т.п. Доработка программы в соответствии с этими требованиями, а также реализация того, что будет освоено в процессе обсуждения, общения и изучения fasm, и будет составлять суть работ по этому этапу.

4. Декабрь 2013. Тестирование, доработка документации.

На что стоит обращать внимание в качестве возможных проблем, характерных для выбранной модели (список далеко не полон, но это то, что, на мой взгляд, способно в наибольшей степени повлиять):
- общий объем работ не уменьшится, несмотря на то, что уже после первой итерации вроде бы что-то будет;
- возможна тенденция к чрезмерному перебрасыванию проблемных мест на последующие итерации.

За основу программы можно взять пример OpenGL из примеров fasm 1.70 (64-разрядная версия).

Автор:  Hishnik [ Вс сен 01, 2013 02:21 ]
Заголовок сообщения:  Re: Quark 64: выбор модели жизненного цикла и ее адаптация

Да, и собственно, рекомендации в стиле "что конкретно сделать".
1. Проверить, что пример OpenGL64 компилируется.
2. Найти место для работы и скопировать туда файл ..../WIN64/OPENGL/opengl.asm , переименовав его так, как нравится. Возможно, положить туда же opengl.inc и win64a.inc.
3. Завести журнал разработок. Записи должны быть "метрическими" - например, вместо "сделаны слова для работы со стеком" привести перечень этих слов.
4. Описать здесь свои пожелания (они же планы) по реализации интерфейса. У меня это будет графическая консоль на поверхности OpenGL, как было и в кварке32.

Автор:  Sunforth [ Вс сен 01, 2013 14:08 ]
Заголовок сообщения:  Re: Quark 64: выбор модели жизненного цикла и ее адаптация

Битые ссылки?
http://msyst.ru/downloads/quarkexe.zip - 312 байт
http://msyst.ru/downloads/proton.zip - 406 байт
Оба файла повреждены.

Автор:  Mihail [ Пн сен 02, 2013 13:35 ]
Заголовок сообщения:  Re: Quark 64: выбор модели жизненного цикла и ее адаптация

Хищник писал(а):
1. Проверить, что пример OpenGL64 компилируется.
2. Найти место для работы и скопировать туда файл ..../WIN64/OPENGL/opengl.asm , переименовав его так, как нравится.


О каком примере идет речь? Т.е. полуфабрикат на ассемблере таки нужен?

Автор:  Hishnik [ Вт сен 03, 2013 00:20 ]
Заголовок сообщения:  Re: Quark 64: выбор модели жизненного цикла и ее адаптация

Mihail писал(а):
О каком примере идет речь?

Там написано.
Mihail писал(а):
Т.е. полуфабрикат на ассемблере таки нужен?

Таки не нужен, это не полуфабрикат.

Автор:  Mihail [ Сб сен 07, 2013 23:08 ]
Заголовок сообщения:  Re: Quark 64: выбор модели жизненного цикла и ее адаптация

Хищник писал(а):
Нужно fasm 1.70.
ОС - главное, чтобы 64-разрядная. Можно проверить пример с OpenGL из папки 64-разрядных примеров.

Под Ubuntu64 не нашел примеров для OpenGL.
Что касается Форта, программу на сентябрь я выполнил.
http://fpauk.narod.ru/FAsmForth64.tar.bz2
Загрузка файлов не работает
(не перетащил FILE-POSITION REPOSITION-FILE требующиеся для READ-LINE).

Не знаю как реализовать опрос клавиатуры без gcc.

Автор:  VoidVolker [ Вс сен 08, 2013 20:52 ]
Заголовок сообщения:  Re: Quark 64: выбор модели жизненного цикла и ее адаптация

Mihail, таки поставь в настройках профиля на форуме всплывающее окошко при получении ЛС ;)

Автор:  Hishnik [ Чт сен 12, 2013 15:47 ]
Заголовок сообщения:  Re: Quark 64: выбор модели жизненного цикла и ее адаптация

Mihail писал(а):
Что касается Форта, программу на сентябрь я выполнил.
http://fpauk.narod.ru/FAsmForth64.tar.bz2

Это примерно как если бы на тренировке по бегу вместо 10 кругов по стадиону приехать на такси к финишу... :?

Страница 3 из 3 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/