Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Чт июл 09, 2020 11:44

...
Google Search
Forth-FAQ Spy Grafic

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




Ответить
Имя пользователя:
Заголовок:
Текст сообщения:
Введите текст вашего сообщения. Длина сообщения в символах не более: 60000

Размер шрифта:
Цвет шрифта
Настройки:
BBCode ВКЛЮЧЕН
[img] ВЫКЛЮЧЕН
[flash] ВЫКЛЮЧЕН
[url] ВКЛЮЧЕН
Смайлики ВЫКЛЮЧЕНЫ
Отключить в этом сообщении BBCode
Не преобразовывать адреса URL в ссылки
Вопрос
Теперь гостю придется вводить здесь пароль. Не от своей учетной записи, а ПАРОЛЬ ДЛЯ ГОСТЯ, получить который можно после регистрации на форуме через ЛС.:
Этот вопрос предназначен для выявления и предотвращения автоматических регистраций.
   

Обзор темы - наследование..
Автор Сообщение
  Заголовок сообщения:  Re: наследование..  Ответить с цитатой
mOleg писал(а):
ну, это тут как раз не причем. Наследуются только ссылки на имена,
Я и не утверждал что это обязательно связанно. Но такое возможно тем более что " ...дело пахнет..." ООП :wink: Так что стоит упомянуть в комментариях про этот аспект.
Сообщение Добавлено: Чт сен 15, 2011 14:06
  Заголовок сообщения:  Re: наследование..  Ответить с цитатой
_Harry писал(а):
Раз начал наследовать то и словари с одинаковыми именами могут понадобится.Тут просто помнить надо что FINDVOC в этом случае использовать опасно.

ну, это тут как раз не причем. Наследуются только ссылки на имена, т.е. новые имена не создаются.
Сообщение Добавлено: Ср сен 14, 2011 17:03
  Заголовок сообщения:  Re: наследование..  Ответить с цитатой
mOleg писал(а):
Ну, да, хотя, одноименные словари все же редкость
Согласен.
Но и наследование не очень часто нужно. Как раз тут то может быть закаквыка.
Раз начал наследовать то и словари с одинаковыми именами могут понадобится.
Тут просто помнить надо что FINDVOC в этом случае использовать опасно.
mOleg писал(а):
дык, прямо в тестовой секции так и сделано:

CONTEXT @ HEIR: Name
Ну да может и не стоит делать такое слово кому надо тот и сам напишет.
Сообщение Добавлено: Ср сен 14, 2011 14:15
  Заголовок сообщения:  Re: наследование..  Ответить с цитатой
_Harry писал(а):
Да еще неплохо бы упомянуть что FINDVOC найдет первый в списке словарь с указанным именем

Ну, да, хотя, одноименные словари все же редкость 8)

_Harry писал(а):
И посему неплохо сделать слово которое брало бы в качестве наследуемого вершину стека контекста(для полного комплекта )

дык, прямо в тестовой секции так и сделано:

CONTEXT @ HEIR: Name

имеется смутная идея объединить heir c unit.fts , однако, в плане синтаксиса в голову не приходит удачного варианта.
Сообщение Добавлено: Вт сен 13, 2011 17:45
  Заголовок сообщения:  Re: наследование..  Ответить с цитатой
Цитата:
Heir, когда имя словаря ищется в VOC-LIST
Да еще неплохо бы упомянуть что FINDVOC найдет первый в списке словарь с указанным именем.
И посему неплохо сделать слово которое брало бы в качестве наследуемого вершину стека контекста(для полного комплекта :wink: )
Сообщение Добавлено: Вт сен 13, 2011 16:58
  Заголовок сообщения:  Re: наследование..  Ответить с цитатой
_Harry писал(а):
Интересно все. Но...Возник вопрос а зачем в форте наследование.

конкретно надо несколько пространств имен (отдельных словарей) с повторяющимися именами и скрытыми за ними действиями, а писать кучу ALIAS -ов лень 8)
Сообщение Добавлено: Пн сен 12, 2011 14:52
  Заголовок сообщения:  Re: наследование..  Ответить с цитатой
Интересно все. Но...
Возник вопрос а зачем в форте наследование. :roll:
Может автор пояснит :?:
Сообщение Добавлено: Пн сен 12, 2011 14:19
  Заголовок сообщения:  Re: наследование..  Ответить с цитатой
вопрос писал(а):
У Олега своя концепция словарей, где словарь ... упорядочивает очень многое

Очень многое... почему не все сразу?
Тогда может это и не словари вовсе.
Словарь - список слов с иерархической расшифровкой сложных слов через простые.
Сообщение Добавлено: Вт сен 06, 2011 21:19
  Заголовок сообщения:  Re: наследование..  Ответить с цитатой
chess писал(а):
А неинтересно понятно почему - даже простая схема аля F83 на практике не сильно нужна

У Олега своя концепция словарей, где словарь ... упорядочивает очень многое :?:

Но, я уже говорил выше, что нужно для принятия идеи
Сообщение Добавлено: Вт сен 06, 2011 21:12
  Заголовок сообщения:  Re: наследование..  Ответить с цитатой
Вообще, в духе открытого транслятора следовало бы задавать правила поиска, а не закладывать из в транслятор
Сообщение Добавлено: Вс сен 04, 2011 16:22
  Заголовок сообщения:  наследование..  Ответить с цитатой
source file: heir.fts
\ 04.09.2011 ~mOleg
\ Copyright [C] 2011 mOleg mOlegg@ya.ru
\ наследование содержимого словаря

vocs/ vocab.fts

ALSO HIDDEN

\ создать словарь с именем name наследующий все содержимое словаря с указанным vid
\ после выполнения HEIR словарь name становится контекстным и текущим.
: HEIR: ( vid / name --> )
NEXT-WORD SVOCAB
DUP off_vname A@ >L DUP off_vlink A@ >L DUP >L
OVER off_threads# B@ CELLS /wordlist + CMOVE
L> L> OVER off_vlink A! \ сохраняются уникальные voc-link и
L> OVER off_vname A! \ ссылка на имя словаря
ALSO WITH
ALSO THIS
;

\ создать словарь с именем name наследующий все содержимое указанного voc словаря
\ после выполнения Heir словарь name становится текущим и контекстным
: Heir ( / voc name --> )
NEXT-WORD FINDVOC 0 OVER = ABORT" Ожидается имя словаря!" HEIR:
;


PREVIOUS

?ABSENT test{ \EOF -- тестовая секция ------------------------------------------
test{

VOCABULARY ZZZ
ALSO ZZZ DEFINITIONS
: a ." a" ; : b ." b" ; : c ." c" ;

ALSO FORTH DEFINITIONS
' a VALUE 'a ' b VALUE 'b ' c VALUE 'c
RECENT

CONTEXT @ RECENT HEIR: XXX
\ есть ли наследование?
' a 'a <> THROW ' b 'b <> THROW ' c 'c <> THROW

: d ." d" ; : e ." e" ; : f ." f" ;

ALSO FORTH DEFINITIONS
' d VALUE 'd ' e VALUE 'e ' f VALUE 'f
RECENT RECENT

Heir XXX CCC
: d ." переопределено" ;
\ доступны ли все слова?
' a 'a <> THROW ' b 'b <> THROW ' e 'e <> THROW ' f 'f <> THROW
\ переопределение сработало?
' d 'd = THROW

RECENT
}test
\EOF

HEIR: ( vid / Name --> )
позволяет наследовать список имен (и ассоциируемого с ними кода)
во вновь создаваемый словарь, имя которого следует за HEIR:.
Словарь, чьи имена наследуются должен быть передан HEIR:
в виде своего vid.

Heir ( voc Name --> )
как и предыдущее определение позволяет наследовать список имен
из словаря voc , имя которого ищется в списке VOC-LINK (то есть
только среди словарей) во вновь созданный словарь с именем Name.

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


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

PS. добвил вариант с Heir, когда имя словаря ищется в VOC-LIST. И примерчик в конце
PS. несколько причесал, добавил простой тест и описание в конце.
Сообщение Добавлено: Вс сен 04, 2011 09:01

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


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