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

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 89 ]  На страницу Пред.  1, 2, 3, 4, 5, 6  След.
Автор Сообщение
 Заголовок сообщения: Re: хотелки
СообщениеДобавлено: Вт авг 23, 2016 19:30 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1285
Благодарил (а): 3 раз.
Поблагодарили: 18 раз.
Меньше констант. Возможно инлайн.
Слова тоже могут иметь некоторую "препроцессорность".
Недавно написал слово CMOVE( , которое в зависимости от "встроенного описания" берёт значения по-разному.
К примеру, CMOVE( A1 A2 U ) действует как и слово MOVE, но CMOVE( A1 U A2 ) укладывает значения в регистры в другом порядке.
При этом слово CMOVE( в коде не встречается, компилирующая immediatе-ка
Сделал, правда, для стека возвратов т.к. проще :)

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: хотелки
СообщениеДобавлено: Ср авг 24, 2016 17:13 
Не в сети

Зарегистрирован: Сб май 06, 2006 12:01
Сообщения: 959
Откуда: Украина, Харьков
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.
Victor__v писал(а):
Нужен ли форту препроцессор?
Слова немедленного исполнения и режим интерпретации по сути и есть Форт-препроцессор... ;)
А чтоб слова место не занимали - временный словарь с последующим удалением.
Ну и для специфических задач - удаляемая позже таблица на время компиляции.

_________________
With best wishes, in4.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: хотелки
СообщениеДобавлено: Ср авг 24, 2016 19:47 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1285
Благодарил (а): 3 раз.
Поблагодарили: 18 раз.
Ключевая цитата:
Цитата:
с последующим удалением
.
А это как? Правильно, ручками, ручками :)
Форт-система как огород, в ней приятно копаться, но иногда нужен трактор

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: хотелки
СообщениеДобавлено: Ср авг 24, 2016 21:01 
Не в сети

Зарегистрирован: Сб май 06, 2006 12:01
Сообщения: 959
Откуда: Украина, Харьков
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.
in4 писал(а):
временный словарь с последующим удалением
Victor__v писал(а):
А это как? Правильно, ручками, ручками :)
Вообще говоря, зависит от системы. И позволительных задачей оптимизаций.
MARKER - FORGET, например.
Кто-то на Форуме показывал, как в SPF4 переносить словарь в верхнюю часть кучи.

Вплоть до того, что и модальный диалог можно в куче делать, а потом FORGET-ать.

Мур вон тоже предлагал сверхбыструю компиляцию. Похоже на JIT в Java, но из-за малых размеров и системы и исходника(который в специальном прекомпилированном виде) получается намного быстрее. А после того, как накомпилированное отработает, сбросить его, вроде, forget-ом или даже переинициализацией системы. Флаги состояния можно в отдельном месте хранить. Или в неочищаемой части словаря. У него словарь отдельно от кода - так сделать можно.

Кстати, словарь, отделенный от кода, вместе с частыми очистками, тоже упрощает "препроцессирование", которое
in4 писал(а):
Слова немедленного исполнения и режим интерпретации по сути и есть Форт-препроцессор... ;)
А рабочий код накапливается в куче(here).

_________________
With best wishes, in4.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: хотелки
СообщениеДобавлено: Ср авг 24, 2016 21:11 
Не в сети

Зарегистрирован: Сб май 06, 2006 12:01
Сообщения: 959
Откуда: Украина, Харьков
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.
Victor__v писал(а):
Недавно написал слово CMOVE( , которое в зависимости от "встроенного описания" берёт значения по-разному.
К примеру, CMOVE( A1 A2 U ) действует как и слово MOVE, но CMOVE( A1 U A2 ) укладывает значения в регистры в другом порядке.
Классики рекомендуют "тупые" слова. И чтоб для разных задач были слова разные. Для работы с двойными словами префиксы предлагают ( как D+ ).


Мне тоже неудобно было в одной из реализаций использовать стандартный порядок аргументов в словах. Так красиво и не решил. И не нашел, с кем пообсуждать.

Как же лучше - несколько разных слов с разными действиями, но с одним именем, или разные имена слов для разных действий? У каждого подхода плюсы и минусы, но, может, я чего еще не вижу?

_________________
With best wishes, in4.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: хотелки
СообщениеДобавлено: Ср авг 24, 2016 21:52 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1285
Благодарил (а): 3 раз.
Поблагодарили: 18 раз.
: Cmove ( addr1 addr2 u )
какой-то код
;
Один вариант действия
CMOVE( - мелкий фанат Лиспа :lol: может сделать 6 вариантов кода (3!). Немножко удобней.
Цитата:
Как же лучше - несколько разных слов с разными действиями, но с одним именем, или разные имена слов для разных действий?

Зависит от задачи. мой CMOVE( может сохранить нервы и облегчить/усложнить жизнь форт-оптимизатору.
Писать легче? Легче
Охват полный? Полный
По фортовски? Эм, уже сложный вопрос :)
Цитата:
Классики рекомендуют

На форте можно многое наворотить.
К примеру, написал либу для работы со строками в стеке возвратов.
После завершения работы слова память освобождается автоматически.
Можно удалить и раньше. Возникала пару раз такая необходимость.
Но как это сделать?
Решил такую задачку через самомодификацию кода в месте вызова (слово R:FREE )
Т.е. программа скомпилирована, там честно стоит вызов R:FREE, и вот это слово вызывается. со стека возвратов берётся значение на которое надо очистить стек и генерируется инструкция lea вместо call.
Красивое и надёжное решение.
Кстати, раз уж пошёл разговор.
Нет ли у кого реализации move с использованием регистров mmx с дизъассемблированием под х86 ?

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: хотелки
СообщениеДобавлено: Ср авг 31, 2016 00:43 
Не в сети
Аватара пользователя

Зарегистрирован: Вт авг 12, 2008 03:18
Сообщения: 327
Откуда: Москва
Благодарил (а): 36 раз.
Поблагодарили: 7 раз.
Хочу завести здесь свой бложик.
Который назывался бы например "Блог програмиста любителя"
Во первых я действительно любитель и решаю исключительно свои
задачи, соответственно подход к програмированию у меня другой.
Во вторых, по причине пункта 1, я могу нести ахинею, что не принесет вред в
любительской песочнице. Сейчас я вынужден воздерживаться от высказываний.
В третьих, многие задачи я решил относительно успешно, вдруг кому то пригодится.

Ну и думаю, что это внесет дисциплину в мою работу, (надо выполнять,
что заявил, кто-то даст дельный совет итд)

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: хотелки
СообщениеДобавлено: Ср авг 31, 2016 00:51 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7958
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
vikt писал(а):
Хочу завести здесь свой бложик.

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: хотелки
СообщениеДобавлено: Ср авг 31, 2016 14:35 
Не в сети
Аватара пользователя

Зарегистрирован: Вт авг 12, 2008 03:18
Сообщения: 327
Откуда: Москва
Благодарил (а): 36 раз.
Поблагодарили: 7 раз.
Спасибо. Позже заведк тему "Блог програмиста любителя"
И понемногу буду ее наполнять.

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: хотелки
СообщениеДобавлено: Пт сен 16, 2016 14:07 
Не в сети

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

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


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

Зарегистрирован: Вт авг 12, 2008 03:18
Сообщения: 327
Откуда: Москва
Благодарил (а): 36 раз.
Поблагодарили: 7 раз.
Не понял, http сервер.
Или тривиальный html файл?

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: хотелки
СообщениеДобавлено: Пт сен 16, 2016 17:31 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 2141
Благодарил (а): 8 раз.
Поблагодарили: 74 раз.
Victor__v писал(а):
Неплохо было б иметь генератор html, написанный на форте.
Есть ли такие наработки?
Или, как всегда, изобретать самому?

Вроде несложно должно быть, есть и статья :) A Forth HTML Generator, документация в Win32Forth может тоже генерироваться в HTML.

Данный инструментарий по генерации HTML тоже с Форт скриптами Allah Sulu's Massive Tool и The new version

P,S. Интересны моменты реализации Rtf Generator
и пример на разных языках генерации HTML таблицы с rosettacode.org Create HTML table
Возможно ещё полезное есть в FFL.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: хотелки
СообщениеДобавлено: Пт сен 16, 2016 18:31 
Не в сети

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

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


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

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1285
Благодарил (а): 3 раз.
Поблагодарили: 18 раз.
Нужно слово, которое модифицирует строку по правилам, которые задаются со стека.
К примеру,
S" XA" S" HELLO " 1 S" XAWORD" превращается в S" HELLO WORD"
встречалось у кого-то?

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


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

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
см. Регулярные выражения, в СПФе, кажется было что-то такое.

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


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

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


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

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


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

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