Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Чт мар 28, 2024 16:38

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 46 ]  На страницу Пред.  1, 2, 3, 4  След.
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Вт сен 09, 2008 11:32 
Не в сети

Зарегистрирован: Ср сен 13, 2006 10:06
Сообщения: 636
Откуда: Омск
Благодарил (а): 0 раз.
Поблагодарили: 3 раз.
Хищник писал(а):
Словарь - это обычное слово, с установленным флажком vocabulary, у которого в LFA вписан не указатель на LFA предыдущего слова, а указатель на точку входа в словарь-родитель. Таким образом, для перехода дальше надо сделать не @, а @ @ (сначала получаем адрес переменной, хранящей последнее LFA родителя, потом получаем LFA оттуда).

Как я понял в кварке дерево словарей можно построить? А как узнать тогда какие словари имеются в системе и вывести список конкретного словаря?

_________________
Меня нет, не будет и не было.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт сен 09, 2008 15:08 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Pretorian писал(а):
Как я понял в кварке дерево словарей можно построить? А как узнать тогда какие словари имеются в системе и вывести список конкретного словаря?

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


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

Зарегистрирован: Ср сен 13, 2006 10:06
Сообщения: 636
Откуда: Омск
Благодарил (а): 0 раз.
Поблагодарили: 3 раз.
Получается что корневой словарь FORTH. Интересная идея, а кто еще как?

_________________
Меня нет, не будет и не было.


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

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
мндя, тема поднята, похоже, потому, что кто-то не разобрался в том, что такое словари и как с ними работают. Лично я достаточно серьезно пересмотрел методику работы со словарями в форке (так что упрекнуть меня в консерваторстве сложно), но при этом я не понял что же даст идея уважаемого Pretorian-a. К сожалению на вопрос в чем его подход лучше он пока не ответил 8(
Поэтому повторяю свою просьбу объяснить, что же даст предлагаемый подход.

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


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

Зарегистрирован: Ср сен 13, 2006 10:06
Сообщения: 636
Откуда: Омск
Благодарил (а): 0 раз.
Поблагодарили: 3 раз.
mOleg писал(а):
Поэтому повторяю свою просьбу объяснить, что же даст предлагаемый подход.

Одинаковые имена слов в словарях.

_________________
Меня нет, не будет и не было.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт сен 09, 2008 18:12 
Не в сети
Moderator
Moderator
Аватара пользователя

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

но это же и сейчас возможно. Причем, можешь посмотреть, например сюда и описание тут.
(смотреть в win1251 кодировке, чтобы небыло кракозябров1)


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

Зарегистрирован: Ср сен 13, 2006 10:06
Сообщения: 636
Откуда: Омск
Благодарил (а): 0 раз.
Поблагодарили: 3 раз.
нее надо что бы сразу понимало изначально не переучивая.

_________________
Меня нет, не будет и не было.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт сен 09, 2008 18:20 
Не в сети
Moderator
Moderator
Аватара пользователя

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

а какая разница?
либу можно заточить к любой форт-системе 8)

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


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

Зарегистрирован: Ср сен 13, 2006 10:06
Сообщения: 636
Откуда: Омск
Благодарил (а): 0 раз.
Поблагодарили: 3 раз.
mOlegа писал(а):
какая разница?
либу можно заточить к любой форт-системе 8)

А какая разница Форк или СПФ?

_________________
Меня нет, не будет и не было.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт сен 09, 2008 18:26 
Не в сети
Moderator
Moderator
Аватара пользователя

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

форк пока что эксперементальная система, в которой в ядре все достаточно сильно меняется, причем процесс не застыл на месте. СПФ же сложившаяся система. Либа, кстати не для форка, а для СПФа заточена.

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


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

Зарегистрирован: Ср сен 13, 2006 10:06
Сообщения: 636
Откуда: Омск
Благодарил (а): 0 раз.
Поблагодарили: 3 раз.
Вот и я говорю, пора менять формат, что плохого если интересное решение найдем?

_________________
Меня нет, не будет и не было.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Чт сен 11, 2008 13:05 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
Pretorian писал(а):
Что быстрей найти слово в словаре из 10000 имен или найти словарь из 100 существующих и в нем слово из 100 имеющихся? Ну а разделение слов на темы, это удобство разработчика ведь, скажем слово ОТКРЫТЬ может быть применено не только для файла, а для других ситуаций.

Насчет ускорения поиска в словаре есть вот такое соображение - вспомнил принцип Парето (20%-80%).
Надо найти самые часто употребляемые слова и сделать для них быстрый хэш(число).
По хэшу имени слова из заранее сформированной таблицы извлечь адрес имени этого слова в словарной статье и сравнить имя из словарной статьи с исходным именем слова, которое ищем, если совпадение есть, то поиск окончен - берем xt слова и все, а если нет совпадения запускаем стандартный поиск. Для слов, у которых хэш больше порога(порог определяется как максимальный хэш для выбранных слов) - поиск стандартный.
Попробовал с таким хэшем - сумма кодов символов слова. Брал слова из тем: арифметика(фикс.точка), логика, структуры управления, работа с памятью, работа со стеком данных, со стеком возвратов, сравнения, определяющие слова - вообщем наиболее часто употребляемые(штук 100). Совпадения хэшей что-то всего 4 было. Их легко убрать можно, чуть изменив имена слов. Но даже если и не менять такие несовпадения очень редки и исправляются повторным стандартным поиском. Таблица получилась где-то на 4000 байт, так что и по SAVE может быть сохранена.
Ну а если текст программы считать в первую очередь планом построения кода программы, а не входным потоком - как это у Мура в ColorForth - то конечно быстрее будет с прекомпиляцией исходников, но тогда спец.редактор должен стать неотъемлемой частью форт-системы.
Насчет ОТКРЫТЬ. Пишем ОТКРЫТЬ ФАЙЛ. В само слово ФАЙЛ надо закладывать ссылку на процедуру открытия файла. А слово ОТКРЫТЬ ничего не открывает, оно, например, только кладет на стек параметр для слова ФАЙЛ. Для остальных слов параметр тот-же, но реакция конечно другая. Вообщем Форт ООП не противоречит.

_________________
С уважением, chess


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Чт сен 11, 2008 13:09 
Не в сети

Зарегистрирован: Ср сен 13, 2006 10:06
Сообщения: 636
Откуда: Омск
Благодарил (а): 0 раз.
Поблагодарили: 3 раз.
Хорошая идеища :writer;

_________________
Меня нет, не будет и не было.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Чт сен 11, 2008 13:15 
Не в сети

Зарегистрирован: Ср сен 13, 2006 10:06
Сообщения: 636
Откуда: Омск
Благодарил (а): 0 раз.
Поблагодарили: 3 раз.
chess писал(а):
Насчет ОТКРЫТЬ. Пишем ОТКРЫТЬ ФАЙЛ. В само слово ФАЙЛ надо закладывать ссылку на процедуру открытия файла.

А вот это не пойдет, т.к. это означает что слово ФАЙЛ должно сначало обработать ОТКРЫТЬ, ЗАКРЫТЬ и прочее, а потом в связи с этим отправить куда нужно, в данном случае ФАЙЛ будет являтся избыточным словом, а если не будет ни куда отправлять, а сам все обрабатывать, нарушится закон "разделяй и властвуй".

_________________
Меня нет, не будет и не было.


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

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

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

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


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

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


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

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


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

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