Forth
http://fforum.winglion.ru/

моя форт-система, которая потихоньку пишется
http://fforum.winglion.ru/viewtopic.php?f=40&t=3125
Страница 1 из 7

Автор:  Victor__v [ Ср май 03, 2017 14:08 ]
Заголовок сообщения:  моя форт-система, которая потихоньку пишется

https://cloud.mail.ru/public/LYXG/KXaa4zJe5

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

В контекстном словаре NEW-FORTH-COMP переопределены операции с памятью и создающие слова.
В нём же определён интерпретатор для компиляции слов через двоеточие. Часть слов нижнего уровня ( папка forth\prima ) при компиляции инлайнится. Это один из немногих улучшателей маш.кода в будущей форт-системе.
Проблема: всё же пришлось интерпретировать некоторые слова из СПФ ( комментарии, операции с входным потоком, циклы и условия ). На данный момент это сделано "в лоб" что есть просто затычка.

Осталось дописать механизм трансляции исходников из внешних источников.
Обернуть вызовы АПИ
цикл интерпретации и более продвинутую компиляцию ( FFA-COMPILE, INLINE-COMPILE, param-COMP, и т.д )
и инициализацию форта

Также ещё не до конца продуман механизм EVENT-ов
С каждым улучшением требуется всё больший охват событий перед компиляцией.

Автор:  Victor__v [ Ср май 03, 2017 14:15 ]
Заголовок сообщения:  Re: моя форт-система, которая потихоньку пишется

О будущей системе:
уже есть:
юзвери в стеке
мин.поддержка стека с плав.точкой ( перенести туда и взять оттуда )
стек словарей
поиск в словарях производится через хеш.

планируется:
механизм NOTFOUND ( число? символ? слово из словаря? интерпретировать? это файл с исходниками? )
механизм предшествующей компиляции ( возможность пользоваться обработчиками, к примеру, на слово BEGIN навесить ALIGN-NOP )

Автор:  gudleifr [ Ср май 03, 2017 14:37 ]
Заголовок сообщения:  Re: моя форт-система, которая потихоньку пишется

И как мы раньше жили без Интернета? Приходилось писать FORTH-системы, чтобы они что-то делали, а не просто, чтобы нас похвалили и ошибки поискали...

Автор:  vikt [ Чт май 04, 2017 01:00 ]
Заголовок сообщения:  Re: моя форт-система, которая потихоньку пишется

Если я правильно понял, судя по выборочному чтению файлов,
еще один форт для X86 :weep;
И хужее. Для win :weep; :weep; :weep;

Автор:  Ilya [ Чт май 04, 2017 01:10 ]
Заголовок сообщения:  Re: моя форт-система, которая потихоньку пишется

vikt писал(а):
Если я правильно понял, судя по выборочному чтению файлов,
еще один форт для X86 :weep;
И хужее. Для win :weep; :weep; :weep;

Во-во! Даешь 64 битный c-call и dlopen ! :roll:

Автор:  Hishnik [ Чт май 04, 2017 12:20 ]
Заголовок сообщения:  Re: моя форт-система, которая потихоньку пишется

Windows в целом довольно распространенная ОС. Кроссплатформенность - не фетиш, за нее придется чем-то платить. Форт для Linux на 80-90% ничем не отличается от Форта для Windows, если использовать gcc. При этом процесс разработки значительно интенсивнее продвигается при постановке практической задачи.

Автор:  Victor__v [ Сб май 06, 2017 19:15 ]
Заголовок сообщения:  Re: моя форт-система, которая потихоньку пишется

Цитата:
Если я правильно понял, судя по выборочному чтению файлов,
еще один форт для X86

Ну, извиняйте, MIPS AVR ARM под рукой нет :)

Автор:  _KROL [ Сб май 06, 2017 23:39 ]
Заголовок сообщения:  Re: моя форт-система, которая потихоньку пишется

(...простите, я передумал...)

Автор:  Victor__v [ Вс май 07, 2017 13:50 ]
Заголовок сообщения:  Re: моя форт-система, которая потихоньку пишется

Цитата:
(...простите, я передумал...)

Причина?

Автор:  _KROL [ Вс май 07, 2017 19:42 ]
Заголовок сообщения:  Re: моя форт-система, которая потихоньку пишется

Да просто ерунду какую-то случаянно написал - вчера не было настроения(и я писал не о твоей системе).

Автор:  vikt [ Ср май 17, 2017 12:03 ]
Заголовок сообщения:  Re: моя форт-система, которая потихоньку пишется

vikt писал(а):
Если я правильно понял, судя по выборочному чтению файлов,
еще один форт для X86 :weep;
И хужее. Для win :weep; :weep; :weep;


Простите. Тему перепутал. Своя система может быть какой угодно.
Просто недостаточно внимания уделяется общему программированию на форте,
не привязанного к конкретным аппаратным и прочим ассемблерам.

Автор:  Victor__v [ Ср май 17, 2017 21:35 ]
Заголовок сообщения:  Re: моя форт-система, которая потихоньку пишется

Цитата:
Просто недостаточно внимания уделяется общему программированию на форте,


Это как? Пишешь свой функционал вот и всё "общее программирование".
Или подразумевается что-то другое?

Автор:  Victor__v [ Пн май 29, 2017 22:40 ]
Заголовок сообщения:  Re: моя форт-система, которая потихоньку пишется

https://cloud.mail.ru/public/HUCh/RJd92qxVm
Текущее состояние:
Исправлены мелкие ошибки.
Включён механизм предкомпиляции ( с его помощью решил проблему со словами-затычками, которые пришлось брать из СПФ)
Добавлена как в будущую систему так и в текущую улучшенная инлайн-постановка. Теперь можно спокойно инлайнить и слова манипулирующие стеком возвратов.
В связи с этим планируется переписать несколько примитивов, дабы они подпадали под шаблон раскрутки.
Короче, делаю потихоньку всё логичнее.
Также добавил комментарии по исходникам, дабы было легче ориентироваться.

Ближайшие планы: подчистить механизм предкомпиляции ( там используются слова DO LOOP, а они не планируются в ядре),
написать примитивы сдвиговых операций. Написать механизм NOTFOUND И протестить стек словарей и поиск в словарях. Особо не тестировались эти области.

Автор:  F-MAP [ Вт май 30, 2017 17:11 ]
Заголовок сообщения:  Re: моя форт-система, которая потихоньку пишется

Victor__v писал(а):
https://cloud.mail.ru/public/HUCh/RJd92qxVm
Текущее состояние:
Исправлены мелкие ошибки.
Включён механизм предкомпиляции ( с его помощью решил проблему со словами-затычками, которые пришлось брать из СПФ)
Добавлена как в будущую систему так и в текущую улучшенная инлайн-постановка. Теперь можно спокойно инлайнить и слова манипулирующие стеком возвратов.
В связи с этим планируется переписать несколько примитивов, дабы они подпадали под шаблон раскрутки.
Короче, делаю потихоньку всё логичнее.
Также добавил комментарии по исходникам, дабы было легче ориентироваться.

Ближайшие планы: подчистить механизм предкомпиляции ( там используются слова DO LOOP, а они не планируются в ядре),
написать примитивы сдвиговых операций. Написать механизм NOTFOUND И протестить стек словарей и поиск в словарях. Особо не тестировались эти области.

На каком форте собирается? СПФ сразу ругается на первую строчку
src2\service\service.f

Автор:  Victor__v [ Вт май 30, 2017 21:04 ]
Заголовок сообщения:  Re: моя форт-система, которая потихоньку пишется

СПФ 4.20
Возможная причина - это отсутствие нужных библиотек, которые используются при компиляции.
См. файл src2\service\include.f

Код:
~er\asm\mini-asm.f
\ ~ER\ASM\ASM-CODE-AS-CELLS.F
~ER\STR\STR-TO-NUMBER.F
~ER\HASH\LYasm.F
~ER\FLOAT\STACKFD.F
~er\stacker\stacks3.f

Данные вещи можно взять в теме http://fforum.winglion.ru/viewtopic.php?f=23&t=3105&p=43462#p43462
~er\event-table2.f вот ссылка на скачивание https://cloud.mail.ru/public/N2tS/VqZQE5qde

На данный момент получается форт-образ в СПФ ( временный словарь), который потом надо будет просто переместить в файл. Т.е. создать exe-шник. Адресация там на СПФ-ская, а пользовательская ( от адреса 0x402000 сейчас )
По этой причине некоторые определения в СПФ-е из образа работать не будут ( то что имеет абсолютный адрес и переменные).

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