Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Сб апр 20, 2024 02:05

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 225 ]  На страницу Пред.  1, 2, 3, 4, 5, 6 ... 15  След.
Автор Сообщение
 Заголовок сообщения: Re: Форт - словарик
СообщениеДобавлено: Вт фев 21, 2012 17:44 
Не в сети
Moderator
Moderator
Аватара пользователя

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

Да, их действие действительно одинаково, тут согласен. Однако смысл выражения будет таки меняться от того, с чем используется это самое TO.

gudleifr писал(а):
Но факт остается фактом, в зависимости от настроения INTERPRET либо разрешает слову действовать, либо откладывает его до лучших времен.

я о том, что есть не только слова, которые только исполняются (immediate) а и слова, которые только компилируются.

gudleifr писал(а):
Кто сказал, что "копать" и "делать то же, что и Петя" - одинаковые действия?

ALIAS сказал 8)

gudleifr писал(а):
Потому, что смена символа всегда чревата последствиями.

абсолютно любое действие (и бездействие, как вариант действия) черевато последствиями!
Однако, к примеру, я хочу ограничить компилятор небольшим количеством имен, т.е., делаю локальный лексикон, в рамках которого позволяю делать все какому-нибудь пользователю:
VOCABULARY INTERFACE
ALSO INTERFACE DEFINITIONS
ALIAS A A
ALIAS B B
ALIAS C C
SEAL
и все! дальше пользователь замкнут в наших A B C , чего, собственно, я и добивался 8)

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Форт - словарик
СообщениеДобавлено: Вт фев 21, 2012 17:57 
mOleg писал(а):
Да, их действие действительно одинаково, тут согласен. Однако смысл выражения будет таки меняться от того, с чем используется это самое TO.
Дык, пасьянс на экране всегда разный, а программа одна...
mOleg писал(а):
я о том, что есть не только слова, которые только исполняются (immediate) а и слова, которые только компилируются.
Можно уточнить? В этом смысле слова с "R" и прекрасно компилируются, и, затем, прекрасно исполняются.
mOleg писал(а):
ALIAS сказал
В том-то и дело, что он этого не говорил, ему плевать, копает Петя или не копает.
mOleg писал(а):
позволяю делать все какому-нибудь пользователю:
Когда-нибудь, мы дойдем и до обсуждения этого.
Если уж на то пошло, то Ваше: "Действие одно, а слов можно много придумать",- как раз и свидетельствует, что главное в слове - действие, а не символ...


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Форт - словарик
СообщениеДобавлено: Вт фев 21, 2012 18:24 
Не в сети
Moderator
Moderator
Аватара пользователя

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

речь шла о словах с несколькими полями кода, и такие имеются штатно во многих форт-системах. Слова TO и FROM (есть и другие варианты названий) лишь позволяют выбирать какое из этих полей будет вызвано.

gudleifr писал(а):
Можно уточнить? В этом смысле слова с "R" и прекрасно компилируются, и, затем, прекрасно исполняются.

они не исполняются по имени, впрочем, похоже, я таки понят 8)

gudleifr писал(а):
В том-то и дело, что он этого не говорил, ему плевать, копает Петя или не копает.

именно он сказал 8) а вот что делает Петя вопрос другой, впрочем, тут ведь другая аналогия: Пете сказали, что отныне он будет должен еще и на Фердора отзываться.
- как зовут?
- Петя.
- это имя тебе не подходит, будешь теперь Федей!

gudleifr писал(а):
Если уж на то пошло, то Ваше: "Действие одно, а слов можно много придумать",- как раз и свидетельствует, что главное в слове - действие, а не символ...

вот только что прочитал:
"Щеголь авторитетно говорил что-то про озоносферу, и ему не перечили. Звучное словцо воспринималось с тем же пиететом, что и «радиация». Артур давно заметил: людям важна не столько причина, сколько ее название. Все равно, как с безымянной природой. Определят тебе, что это лиственница, это липа, а это осина, и на душе спокойнее. А ведь ничего не изменилось. Незнание по сути осталось незнанием."
в тему, не правда ли 8)

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Форт - словарик
СообщениеДобавлено: Вт фев 21, 2012 18:36 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
gudleifr писал(а):
А Вам не приходило в голову, что это и есть его действие?

Значит действие конкретного слова непостоянно.
Адрес кода слова тоже может менять само слово или другое слово - принципиального запрета на это нет.
Что имеем в итоге: одно слово, которое не имеет постоянной семантики и не имеет
конкретного адреса.
И ваше "Т.е. важнейшее качество Forth: одно слово - одно действие - один адрес (CFA)" вообще говоря, не верно.

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Форт - словарик
СообщениеДобавлено: Вт фев 21, 2012 18:51 
mOleg писал(а):
речь шла о словах с несколькими полями кода, и такие имеются штатно во многих форт-системах.
В том-то и дело, что речь идет (не потому, что мне так хочется) не о нескольких действиях внутри одного слова, а о наличии дополнительных слов, позволяющих извлекать из слова некоторую дополнительную функциональность. К функциональности самого слова дополнительная функциональность не относится, для слова это лишь специфические данные.
mOleg писал(а):
Пете сказали, что отныне он будет должен еще и на Фердора отзываться.
Напомнили мне замечательный пример из Кернигана и Пайка: командный файл, который берет параметры из собственного имени, т.о. создание его алиасов плодило новый функционал.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Форт - словарик
СообщениеДобавлено: Вт фев 21, 2012 18:54 
chess писал(а):
Значит действие конкретного слова непостоянно.
А что, кто-то писал о том, что оно обязано быть постоянным?
chess писал(а):
... вообще говоря, не верно.
Меня умиляют Ваши постоянные "вообще говоря" без какого бы то ни было обоснования.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Форт - словарик
СообщениеДобавлено: Вт фев 21, 2012 19:01 
Не в сети
Moderator
Moderator
Аватара пользователя

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

именно несколько действий, по сути VALUE это объект с тремя методами и одним, ээ, данным 8) TO позволяет вызвать другой метод. Другой пример - это множественный DOES>, в котором полей столько, сколько DOES> частей.

gudleifr писал(а):
Напомнили мне замечательный пример из Кернигана и Пайка: командный файл, который берет параметры из собственного имени,

кстати, и такое в форте бывает 8)

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Форт - словарик
СообщениеДобавлено: Вт фев 21, 2012 19:12 
mOleg писал(а):
именно несколько действий, по сути VALUE это объект с тремя методами
Нет у него методов! Есть его действие! И есть специальные слова, которые могут сделать с словом что-то сверх этого действия! Обратите внимание: в случае TO <value>, <value> не исполняется, только TO !


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Форт - словарик
СообщениеДобавлено: Вт фев 21, 2012 19:22 
Не в сети
Moderator
Moderator
Аватара пользователя

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

есть три действия в одном слове, т.е. три поля кода:
gudleifr писал(а):
И есть специальные слова, которые могут сделать с словом что-то сверх этого действия!
Код:
: VALUE ( x / name --> )
        HEADER
          COMPILE (value)
          COMPILE (store)
          COMPILE (CREATE)
          A,
        ;CREATE ;


gudleifr писал(а):
И есть специальные слова, которые могут сделать с словом что-то сверх этого действия!

нет, просто обеспечить вызов дополнительных полей кода.

gudleifr писал(а):
Обратите внимание: в случае TO <value>, <value> не исполняется, только TO !

именно, что TO не исполняется, более того, в скомилированном коде никакого TO нету в принципе:
FORTH(0)>0 VALUE zzz
Ok
FORTH(0)>: tst 0x1234 TO zzz 333 ;
Ok
FORTH(0)>SEE tst

0x005D7B36 4660 ( 0x00001234 )
0x005D7B3F zzz
0x005D7B44 333 ( 0x0000014D )
0x005D7B4D EXIT Ok
FORTH(0)>

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Форт - словарик
СообщениеДобавлено: Вт фев 21, 2012 19:30 
Не в сети
Administrator
Administrator
Аватара пользователя

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

: TEST ( a -- b )
DUP 1 = IF DROP 10 THEN
DUP 2 = IF DROP 123 THEN
DUP 3 = IF DROP 666 123 , THEN
;

Слово TEST имеет несколько действий? Обращаю внимание, что в третьей ветке там еще 123 в память пишется.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Форт - словарик
СообщениеДобавлено: Вт фев 21, 2012 19:32 
mOleg писал(а):
...
Это все издержки обфускации. На самом деле, есть кусок данных, который VALUE фигачит в <value> (которая <value> безразличен), и который умеет извлекать (считая кодом) слово TO . Без TO этот кусок кода просто недоступен. А вот "главный" (на самом деле, единственный) CFA ассоциирован с <value>.
(Вот поэтому я и не использую VALUE. Зачем отказываться от ALGOL, чтобы эмулировать его глюки? Тогда уж проще использовать ссылки из C++.)


Последний раз редактировалось gudleifr Вт фев 21, 2012 19:33, всего редактировалось 1 раз.

Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Форт - словарик
СообщениеДобавлено: Вт фев 21, 2012 19:32 
Не в сети
Administrator
Administrator
Аватара пользователя

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

Не во всех фортах :))
Хоть десять полей кода. Главное, что интерпретатор отправляет процессор каждый раз в одну и ту же точку, при выполнении определенных условий.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Форт - словарик
СообщениеДобавлено: Вт фев 21, 2012 19:45 
Не в сети
Moderator
Moderator
Аватара пользователя

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

да, но отличие в том, что в приведенном коде одна точка входа, а не три.

gudleifr писал(а):
Без TO этот кусок кода просто недоступен. А вот "главный" (на самом деле, единственный) CFA ассоциирован с <value>.

да какая разница! есть три поля кода, есть три точки входа.

Хищник писал(а):
Не во всех фортах

А кто говорит о том, что во всех?
Речь о том, что и такое бывает, и довольно обычное дело.

Хищник писал(а):
Главное, что интерпретатор отправляет процессор каждый раз в одну и ту же точку, при выполнении определенных условий.

эм, причем тут интерпретатор (или речь об адресной интерпретации?)
к тому же условий не в плане ветвлений 8)

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Форт - словарик
СообщениеДобавлено: Вт фев 21, 2012 19:57 
mOleg писал(а):
да какая разница! есть три поля кода, есть три точки входа.
Если мы пойдем этим путем, мы придем к тому, что есть куча контекстов: INTERPRET , TO , FROM , PERED-PPROCHTENIEM-SJECH ... И каждое слово обязано иметь метод на все эти случаи. По крайней мере, Default. И все ради того, чтобы считать кодом заплатку "взять адрес" вместо "адрес адреса"?
Смотрите проще, в чем смысл VALUE - выдавать в нужный момент нужное значение. Оно и порождает ее действия. Остальное - тонкая настройка при помощи других слов.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Форт - словарик
СообщениеДобавлено: Вт фев 21, 2012 19:58 
Не в сети
Administrator
Administrator
Аватара пользователя

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

А в TO сколько точек входа необходимо? Не "сколько можно сделать из пущей вредности", а сколько достаточно, чтобы оно нормально работало, а на разные ветки переходило само?


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

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


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

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


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

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