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

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 27 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Требуются контрпримеры
СообщениеДобавлено: Вс авг 17, 2014 00:25 
Не в сети
Moderator
Moderator
Аватара пользователя

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

А где сказано о "втихаря"? Определение должно быть, и оно должно быть находибельно 8)
Я не предлагал свое определение включить в стандарт 8)

Да, по поводу "зафлуживания темы", я потом отделю.

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Требуются контрпримеры
СообщениеДобавлено: Вс авг 17, 2014 00:26 
mOleg писал(а):
Поэтому и не хочется под компиляцией понимать все, а лишь некий процесс создания исполнимого кода или данных. А для других действий использовать другие названия.
Любое создание кода/данных требует их "именования". Конечно, можно рассматривать целую линейку способов "именования": "имя - имя и параметр - параметр", но в любом случае "эта штука, обратившись к которой, мы получим ее содержимое" присутствует.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Требуются контрпримеры
СообщениеДобавлено: Вс авг 17, 2014 00:30 
Не в сети
Moderator
Moderator
Аватара пользователя

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

ну приводил же примеры:

CREATE Array 0x100 0 DO I @ , LOOP
NONAME: bla bla bla ; EXECUTE
и это я еще фантазию не включал 8)

gudleifr писал(а):
но в любом случае "эта штука, обратившись к которой, мы получим ее содержимое" присутствует.

да нет же! (см примеры выше)

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Требуются контрпримеры
СообщениеДобавлено: Вс авг 17, 2014 00:34 
Не в сети
Moderator
Moderator
Аватара пользователя

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

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Требуются контрпримеры
СообщениеДобавлено: Вс авг 17, 2014 00:36 
mOleg писал(а):
да нет же! (см примеры выше)
Она не отсутствует. Она просто осталась "за кадром".
Пусть я пишу просто
Код:
100 ALLOT

но, чтобы иметь доступ к этому буферу, я должен где-то перед этим (или после) запомнить HERE или выполнить CREATE (или их аналоги).
Иначе мой ALLOT просто не будет иметь смысла.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Требуются контрпримеры
СообщениеДобавлено: Вс авг 17, 2014 00:41 
Не в сети
Moderator
Moderator
Аватара пользователя

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

я о том, что компиляция имеется, а связывания кода с именем нет (с темы не съезжал)

gudleifr писал(а):
Иначе мой ALLOT просто не будет иметь смысла.

охохох, ну почему же? Вот я могу привести пример, когда пустой ALLOT имеет смысл 8) более того, в этом плане используется регулярно, как минимум в СПФе

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Требуются контрпримеры
СообщениеДобавлено: Вс авг 17, 2014 00:49 
mOleg писал(а):
охохох, ну почему же? Вот я могу привести пример, когда пустой ALLOT имеет смысл
Выравнивание? Это не смысл, а чисто техническая подробность. Нельзя же считать имеющим литературный смысл правило начинать главу с новой страницы.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Требуются контрпримеры
СообщениеДобавлено: Вс авг 17, 2014 10:24 
Не в сети
Moderator
Moderator
Аватара пользователя

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

Да, согласен, но при этом имя создавать не обязательно. Т.е. имеется компиляция - наработка кода и данных, имеется сохранение указателя куда-то, при этом код и\или данные не обязаны быть связынными с каким либо именем.

Более того, если под компиляцией понимать еще и подготовку отдельного исполнимого файла, то имена могут еще и удаляться (все, или почти все).

gudleifr писал(а):
Выравнивание? Это не смысл, а чисто техническая подробность. Нельзя же считать имеющим литературный смысл правило начинать главу с новой страницы.

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

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Требуются контрпримеры
СообщениеДобавлено: Вс авг 17, 2014 11:01 
mOleg писал(а):
Да, согласен, но при этом имя создавать не обязательно. Т.е. имеется компиляция - наработка кода и данных, имеется сохранение указателя куда-то, при этом код и\или данные не обязаны быть связынными с каким либо именем.

mOleg писал(а):
Более того, если под компиляцией понимать еще и подготовку отдельного исполнимого файла, то имена могут еще и удаляться (все, или почти все).
Ну, если иметь в виду "классическую компиляцию", то там имена вырезаются искусственно: они все присутствуют на этапе компиляции, основные на этапе связывания и иногда доживают до отладки.
Аналогично, и в FORTH - использование псевдоимен - "параметров" (адресов) - только некоторая оптимизация, не избавляющая программиста "иметь имя в голове". (Можно говорить об использовании упрощенной версии FIND, не нуждающейся в честном поиске, или о включении безымянного кода в более крупное слово, или даже о псевдостатье, к которой обращаются по адресу точки входа, но "эта штука всегда имеет имя").
Полное удаление имен в исполняемом файле? Ну, одно-то имя остается - имя файла. Просто мы теряем возможность доступа к более мелким "словам".
mOleg писал(а):
Смысл содержит любое действие, которое нельзя опустить без ущерба для проекта, имхо, так.
Смысл-то есть, но к компиляции он имеет опосредованное отношение. Например, мне надо записать в память байт, а глупый процессор может адресовать только слова и дополняет мой байт нулями. Я же не приписываю эту заслугу себе. Я, наоборот, ругаю глупую железяку.

P.S. Ибо СЛОВАРЬ - есть программная реализация отношения "имя-действие". Возможность что-то там "доразместить" - лишь оптимизационное хранение в СЛОВАРЕ части ЗНАЧЕНИЯ (например хранение там прочтенного WORD слова). Потребность что-то там "выравнить" - лишь техническая подробность реализации.
Имя - есть прочтенное из ПОТОКА слово (например, "слово, завершающееся пробелом", или "wnd-msg-wpar-lpar", или константа, порождающая выбор CASE, или просто индекс)... Все зависит от вида ПОТОКА.
Действие - адрес передачи управления, или ссылка на сложный объект, или запись в БД... Зависит от того, что требуется процедуре ВЫПОЛНИТЬ.
В любом случае, т.к. FORTH не оперирует понятием данных, позволяет понимать "имя" и "действие" так, как требует задача.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: о термине компиляция применительно к Форту
СообщениеДобавлено: Вс авг 17, 2014 12:44 
Не в сети
Moderator
Moderator
Аватара пользователя

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

ок. Напишите собственное определение, что есть компиляция применительно к Форту.

gudleifr писал(а):
P.S. Ибо СЛОВАРЬ - есть программная реализация отношения "имя-действие".

словарь - да. Только для компиляции словарь не обязателен.

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: о термине компиляция применительно к Форту
СообщениеДобавлено: Вс авг 17, 2014 12:54 
mOleg писал(а):
ок. Напишите собственное определение, что есть компиляция применительно к Форту.

gudleifr писал(а):
Компиляция - это связывание имени с действием (и всякие частности: изменение действия, связанного с именем, изменение параметров действия, связанного с именем...).

Имеет место в процедуре ВЫПОЛНИТЬ (в режиме компиляции) или в процедуре КОМПИЛИРОВАТЬ (явная компиляция). Думаю, удачной оптимизацией будет обращение ВЫПОЛНИТЬ не к СЛОВАРЮ напрямую, а вызов механизмов КОМПИЛИРОВАТЬ.
Компиляция не в СЛОВАРЬ? Физически это возможно, но логически речь идет просто о еще одном СЛОВАРЕ (либо временном сохранении определений в СТЕКЕ для последующего вызова КОМПИЛИРОВАТЬ). Как, впрочем, возможна физическая запись в область, где храниться СЛОВАРЬ, но не в него, а "рядом".
Изображение


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: о термине компиляция применительно к Форту
СообщениеДобавлено: Вс авг 17, 2014 13:51 
Не в сети
Moderator
Moderator
Аватара пользователя

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

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


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

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


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

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


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

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