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

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 536 ]  На страницу Пред.  1 ... 32, 33, 34, 35, 36
Автор Сообщение
 Заголовок сообщения: Re: Моя система(_KROL)
СообщениеДобавлено: Вт май 21, 2019 18:28 
Не в сети
Аватара пользователя

Зарегистрирован: Ср фев 23, 2011 20:42
Сообщения: 600
Откуда: Карелия
Благодарил (а): 3 раз.
Поблагодарили: 24 раз.
_KROL писал(а):
p.s. И должно ли поле связи слов словаря указывать в конце на сам словарь?
Если хочешь чтобы при поиске по словарю обходило также словари-родители, то да. Но только не на сам словарь, а на словарь-родитель, е мое. Это стиль FIG, Если хочешь чтобы при поиске по словарю обходило только сам словарь, то первое слово словаря полем связи должно иметь ноль. Это стиль Forth-79. Ну а в Forth-83 и ANS-Forth порядок обхода уже формируется в стеке словарей и там опять таки первое слово словаря полем связи должно иметь ноль.

Хотя к чему подобные вопросы должно, не должно. Может ты чего-то небывалое задумал и хочешь сделать так как хочешь сделать. Поэтому не должно или не должно, а как ты считаешь нужным так и должно.


Последний раз редактировалось Ethereal Вт май 21, 2019 18:31, всего редактировалось 1 раз.

Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Моя система(_KROL)
СообщениеДобавлено: Вт май 21, 2019 18:31 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Ethereal писал(а):
Но только не на сам словарь, а на словарь-родитель, е мое. Это стиль FIG, Если хочешь чтобы при поиске по словарю обходило только сам словарь, то первое слово словаря полем связи должно иметь ноль. Это стиль Forth-79.

И очень правильный подход, кстати. Стек словарей - это уже из серии "сунем стек везде, а там оно как-нибудь само все устроится".


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Моя система(_KROL)
СообщениеДобавлено: Вт май 21, 2019 18:35 
Не в сети

Зарегистрирован: Пт янв 06, 2017 14:57
Сообщения: 365
Благодарил (а): 17 раз.
Поблагодарили: 1 раз.
Ethereal писал(а):
Они одинаковые. Пусть ты создал словарь BLABLA. Тогда первое слово в нем будет иметь LFA указывающий на 0A0202083 словаря-родителя. А сам словарь BLABLA будет иметь
DD 0A0202083h
DD адрес_последнего_слова_словаря_BLABLA
DD адрес_такого-же_поля_в_словаре_созданном_предпоследним

Всё, я решил. У меня и так конец цепочки 0, так будет и тут.
Как я понял,
LATEST @ указывает на поле LAST словаря, а
VOC-LINK нужен для того, чтобы слова искать и в родительских словарях.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Моя система(_KROL)
СообщениеДобавлено: Вт май 21, 2019 18:47 
Не в сети

Зарегистрирован: Пт янв 06, 2017 14:57
Сообщения: 365
Благодарил (а): 17 раз.
Поблагодарили: 1 раз.
Ethereal писал(а):
Может ты чего-то небывалое задумал и хочешь сделать так как хочешь сделать.
Из небывалого я подумываю сделать (e)di указывающим на here =)
Тогда на архитектуре x86 будет чуток быстрее кое-что компилировать, но теряется совместимость -_-


Последний раз редактировалось _KROL Вт май 21, 2019 18:48, всего редактировалось 1 раз.

Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Моя система(_KROL)
СообщениеДобавлено: Вт май 21, 2019 18:48 
Не в сети
Аватара пользователя

Зарегистрирован: Ср фев 23, 2011 20:42
Сообщения: 600
Откуда: Карелия
Благодарил (а): 3 раз.
Поблагодарили: 24 раз.
_KROL писал(а):
VOC-LINK нужен для того, чтобы слова искать и в родительских словарях.
Не так. VOC-LINK не используется при поиске никак. VOC-LINK просто сшивает словари в односвязный список. Не в порядке наследования родитель-дитя, а в порядке создания словарей. VOC-LINK нужен только для FORGET.

Хотя я еще использовал это слово (в опубликованном в этом топике Форте) для перехода >NAME от поля кода к полю имени, т.е. через это поле можно обойти все слова во всех словарях если зачем-то это нужно. Но можно так написать Форт, что такое будет никогда не нужно и VOC-LINK понадобится только для FORGET.

Словари-родители в ФИГ-е обходятся так. Первое слово словаря указывает на
DD 0A0202083h
DD адрес_последнего_слова_словаря
родительского словаря. И поиск не будет прерываться. Он найдет последовательно
...
второе слово словаря BLABLA
первое слово словаря BLABLA
слово из трех пробелов (никогда не сработает как найденное)
последнее слово словаря, что был родителем словаря BLABLA
...
первое слово словаря, что был родителем словаря BLABLA
слово из трех пробелов (никогда не сработает как найденное)
последнее слово словаря FORTH
...
первое слово словаря FORTH


Последний раз редактировалось Ethereal Вт май 21, 2019 18:57, всего редактировалось 3 раз(а).

Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Моя система(_KROL)
СообщениеДобавлено: Вт май 21, 2019 18:54 
Не в сети

Зарегистрирован: Пт янв 06, 2017 14:57
Сообщения: 365
Благодарил (а): 17 раз.
Поблагодарили: 1 раз.
Ахха, до меня дошло, что это за "Учкудук-три пробела")
Код:
"  \r" -- псевдо-последнее слово и часть словаря (никогда не находится)
ссылается на последнее слово словаря.

Кстати, если так пошло, расскажите, пожалуйста, а как тогда FORGET в FIG-е работает?
А то я это слово давно не понимаю... (когда несколько словарей)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Моя система(_KROL)
СообщениеДобавлено: Вт май 21, 2019 18:54 
Не в сети
Аватара пользователя

Зарегистрирован: Ср фев 23, 2011 20:42
Сообщения: 600
Откуда: Карелия
Благодарил (а): 3 раз.
Поблагодарили: 24 раз.
Уточнение выше в посте сделал важное, перечитай.

Про FORGET я напишу чуть опосля, надо собраться с мыслями как изложить.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Моя система(_KROL)
СообщениеДобавлено: Вт май 21, 2019 19:01 
Не в сети

Зарегистрирован: Пт янв 06, 2017 14:57
Сообщения: 365
Благодарил (а): 17 раз.
Поблагодарили: 1 раз.
Т.е. FORGET рекурсивно урезает все словари до какого-то слова? И это получается доступно лишь из-за того, что слова компилируются друг за другом.
p.s. А FORGET вообще сейчас применяется?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Моя система(_KROL)
СообщениеДобавлено: Вт май 21, 2019 19:09 
Не в сети
Аватара пользователя

Зарегистрирован: Ср фев 23, 2011 20:42
Сообщения: 600
Откуда: Карелия
Благодарил (а): 3 раз.
Поблагодарили: 24 раз.
Да. Только не рекурсивно конечно, что-то ты тут это умное словечко не в тему вставил. Поле VOC-LINK нужно чтобы при FORGET обойти все словари и все их укоротить. Корректно укоротить. А те, что полностью за-FORGET-ились вообще убрать. Т.е. обойти все словари, какие-то не тронуть, какие-то укоротить, какие-то убрать вообще.

Да почему бы ему не применяться. Он очень удобен FORGET. Слово MARKER придумано только потому, что не во всяком Форте можно забывать имея только один критерий - адрес HERE по который нужно все обрезать. ANS создавался типа как универсальный стандарт и в нем было оставлено только то, что реализуемо всегда. Но если в твоем Форте FORGET реализуем почему бы не сделать его в дополнение к MARKER ? Который как раз неудобен.


Последний раз редактировалось Ethereal Вт май 21, 2019 19:18, всего редактировалось 1 раз.

Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Моя система(_KROL)
СообщениеДобавлено: Вт май 21, 2019 19:18 
Не в сети

Зарегистрирован: Пт янв 06, 2017 14:57
Сообщения: 365
Благодарил (а): 17 раз.
Поблагодарили: 1 раз.
Ну, у меня будет INCLUDED и SAVE так что всегда будет можно что-то дополнить.
Правда ещё не очень понятно с рекурсией (тут это слово уже уместно :) ) при загрузке файлов в refill...
Ладно, как ещё что не будет понятно, напишу. Спасибо!


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Моя система(_KROL)
СообщениеДобавлено: Ср май 22, 2019 17:15 
Не в сети

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

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 536 ]  На страницу Пред.  1 ... 32, 33, 34, 35, 36

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


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

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


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

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