Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Пт дек 06, 2019 09:08

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 78 ]  На страницу Пред.  1, 2, 3, 4, 5, 6
Автор Сообщение
 Заголовок сообщения: Re: Nova Дневник разработчика
СообщениеДобавлено: Пн дек 02, 2019 14:00 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 912
Благодарил (а): 1 раз.
Поблагодарили: 8 раз.
Как же приятно взяться за форт спустя несколько месяцев!
Покопаться в своих либах. Попытаться понять их логику. А поняв, почикать их по самое нехочу, чтоб работало и стало проще.
Видимо, разработка на форте это не только принцип снизу вверх, но и принцип из дуба в берёзу (последняя тоньше, такое вот сравнение).

А теперь по изменениям.
Добавлено слово TEMP-OUT ( temp-voc -- ) убирает из стека контекста временный словарь и освобождает память под него. А то расплодилось в Нове временных словарей и все нужны :)
Описана внутри форта структура используемая для перехвата ошибок. Теперь её можно использовать не боясь обвинений в хаках. Что задокументировано, то не хак (c).

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

Понятно изложил мысль?

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Nova Дневник разработчика
СообщениеДобавлено: Пн дек 02, 2019 17:10 
Не в сети

Зарегистрирован: Пт июн 06, 2008 14:21
Сообщения: 109
Откуда: Карелия
Благодарил (а): 1 раз.
Поблагодарили: 3 раз.
Victor__v писал(а):
Как же приятно взяться за форт спустя несколько месяцев!
Покопаться в своих либах. Попытаться понять их логику. А поняв, почикать их по самое нехочу, чтоб работало и стало проще.
Видимо, разработка на форте это не только принцип снизу вверх, но и принцип из дуба в берёзу (последняя тоньше, такое вот сравнение).

А теперь по изменениям.
Добавлено слово TEMP-OUT ( temp-voc -- ) убирает из стека контекста временный словарь и освобождает память под него. А то расплодилось в Нове временных словарей и все нужны :)
Описана внутри форта структура используемая для перехвата ошибок. Теперь её можно использовать не боясь обвинений в хаках. Что задокументировано, то не хак (c).

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

Понятно изложил мысль?

NOTFOUND так много забирает времени при сборке... 5-ть 10-ть кило лишнего, сейчас никого не напугают..


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Nova Дневник разработчика
СообщениеДобавлено: Пн дек 02, 2019 17:21 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 912
Благодарил (а): 1 раз.
Поблагодарили: 8 раз.
F-MAP писал(а):
NOTFOUND так много забирает времени при сборке... 5-ть 10-ть кило лишнего, сейчас никого не напугают..


Чё ито он много времени забирает? Я несколько не понял, проясните, будьте любезны

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


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

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


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

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


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

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