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 И хужее. Для win |
Автор: | Ilya [ Чт май 04, 2017 01:10 ] |
Заголовок сообщения: | Re: моя форт-система, которая потихоньку пишется |
vikt писал(а): Если я правильно понял, судя по выборочному чтению файлов, еще один форт для X86 И хужее. Для win Во-во! Даешь 64 битный c-call и dlopen ! |
Автор: | 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 И хужее. Для win Простите. Тему перепутал. Своя система может быть какой угодно. Просто недостаточно внимания уделяется общему программированию на форте, не привязанного к конкретным аппаратным и прочим ассемблерам. |
Автор: | 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/ |