Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Вт мар 19, 2024 18:02

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 97 ]  На страницу 1, 2, 3, 4, 5 ... 7  След.
Автор Сообщение
 Заголовок сообщения: моя форт-система, которая потихоньку пишется
СообщениеДобавлено: Ср май 03, 2017 14:08 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1285
Благодарил (а): 3 раз.
Поблагодарили: 18 раз.
https://cloud.mail.ru/public/LYXG/KXaa4zJe5

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

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

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

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

_________________
Цель: сделать 64-битную Нову под Винду


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: моя форт-система, которая потихоньку пишется
СообщениеДобавлено: Ср май 03, 2017 14:15 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1285
Благодарил (а): 3 раз.
Поблагодарили: 18 раз.
О будущей системе:
уже есть:
юзвери в стеке
мин.поддержка стека с плав.точкой ( перенести туда и взять оттуда )
стек словарей
поиск в словарях производится через хеш.

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

_________________
Цель: сделать 64-битную Нову под Винду


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: моя форт-система, которая потихоньку пишется
СообщениеДобавлено: Ср май 03, 2017 14:37 
И как мы раньше жили без Интернета? Приходилось писать FORTH-системы, чтобы они что-то делали, а не просто, чтобы нас похвалили и ошибки поискали...


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: моя форт-система, которая потихоньку пишется
СообщениеДобавлено: Чт май 04, 2017 01:00 
Не в сети
Аватара пользователя

Зарегистрирован: Вт авг 12, 2008 03:18
Сообщения: 327
Откуда: Москва
Благодарил (а): 36 раз.
Поблагодарили: 7 раз.
Если я правильно понял, судя по выборочному чтению файлов,
еще один форт для X86 :weep;
И хужее. Для win :weep; :weep; :weep;

_________________
Линукс решает, винда глотает.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: моя форт-система, которая потихоньку пишется
СообщениеДобавлено: Чт май 04, 2017 01:10 
Не в сети

Зарегистрирован: Чт ноя 23, 2006 00:44
Сообщения: 494
Откуда: СПб
Благодарил (а): 19 раз.
Поблагодарили: 8 раз.
vikt писал(а):
Если я правильно понял, судя по выборочному чтению файлов,
еще один форт для X86 :weep;
И хужее. Для win :weep; :weep; :weep;

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: моя форт-система, которая потихоньку пишется
СообщениеДобавлено: Чт май 04, 2017 12:20 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7958
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Windows в целом довольно распространенная ОС. Кроссплатформенность - не фетиш, за нее придется чем-то платить. Форт для Linux на 80-90% ничем не отличается от Форта для Windows, если использовать gcc. При этом процесс разработки значительно интенсивнее продвигается при постановке практической задачи.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: моя форт-система, которая потихоньку пишется
СообщениеДобавлено: Сб май 06, 2017 19:15 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1285
Благодарил (а): 3 раз.
Поблагодарили: 18 раз.
Цитата:
Если я правильно понял, судя по выборочному чтению файлов,
еще один форт для X86

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

_________________
Цель: сделать 64-битную Нову под Винду


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: моя форт-система, которая потихоньку пишется
СообщениеДобавлено: Сб май 06, 2017 23:39 
Не в сети

Зарегистрирован: Пт янв 06, 2017 14:57
Сообщения: 365
Благодарил (а): 17 раз.
Поблагодарили: 1 раз.
(...простите, я передумал...)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: моя форт-система, которая потихоньку пишется
СообщениеДобавлено: Вс май 07, 2017 13:50 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1285
Благодарил (а): 3 раз.
Поблагодарили: 18 раз.
Цитата:
(...простите, я передумал...)

Причина?

_________________
Цель: сделать 64-битную Нову под Винду


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: моя форт-система, которая потихоньку пишется
СообщениеДобавлено: Вс май 07, 2017 19:42 
Не в сети

Зарегистрирован: Пт янв 06, 2017 14:57
Сообщения: 365
Благодарил (а): 17 раз.
Поблагодарили: 1 раз.
Да просто ерунду какую-то случаянно написал - вчера не было настроения(и я писал не о твоей системе).


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: моя форт-система, которая потихоньку пишется
СообщениеДобавлено: Ср май 17, 2017 12:03 
Не в сети
Аватара пользователя

Зарегистрирован: Вт авг 12, 2008 03:18
Сообщения: 327
Откуда: Москва
Благодарил (а): 36 раз.
Поблагодарили: 7 раз.
vikt писал(а):
Если я правильно понял, судя по выборочному чтению файлов,
еще один форт для X86 :weep;
И хужее. Для win :weep; :weep; :weep;


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

_________________
Линукс решает, винда глотает.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: моя форт-система, которая потихоньку пишется
СообщениеДобавлено: Ср май 17, 2017 21:35 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1285
Благодарил (а): 3 раз.
Поблагодарили: 18 раз.
Цитата:
Просто недостаточно внимания уделяется общему программированию на форте,


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

_________________
Цель: сделать 64-битную Нову под Винду


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: моя форт-система, которая потихоньку пишется
СообщениеДобавлено: Пн май 29, 2017 22:40 
Не в сети

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

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

_________________
Цель: сделать 64-битную Нову под Винду


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: моя форт-система, которая потихоньку пишется
СообщениеДобавлено: Вт май 30, 2017 17:11 
Не в сети

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

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

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: моя форт-система, которая потихоньку пишется
СообщениеДобавлено: Вт май 30, 2017 21:04 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1285
Благодарил (а): 3 раз.
Поблагодарили: 18 раз.
СПФ 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 сейчас )
По этой причине некоторые определения в СПФ-е из образа работать не будут ( то что имеет абсолютный адрес и переменные).

_________________
Цель: сделать 64-битную Нову под Винду


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 97 ]  На страницу 1, 2, 3, 4, 5 ... 7  След.

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB