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

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 366 ]  На страницу Пред.  1 ... 10, 11, 12, 13, 14, 15, 16 ... 25  След.
Автор Сообщение
 Заголовок сообщения: Re: СПФ и оптимизатор
СообщениеДобавлено: Чт янв 12, 2012 15:23 
Не в сети
Administrator
Administrator
Аватара пользователя

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

Разве что в общих чертах. А конкретика зависит от множества решений, принятых программистов. Например, где держать стек(и).


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

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

Судя по тому, что я успел прочитать у Броуди вопрос об избыточности кода, создаваемого транслятором Форт-системы(кратко Форта) им не рассматривался. Не те задачи решал Броуди своими книгами. А именно этот момент я и рассматриваю в этом топике.
gudleifr писал(а):
И что?

А то, что я и сказал. Например, в так называемых форт-процессорах степень поддержки стека параметров на аппаратном уровне гораздо выше, чем может быть опеспечена на х86. И еще, во всех форт-системах с подпрограммным кодом на х86 стек x86 используется как стек возвратов, а стек параметров организуется программно. Это делается именно
с целью повысить эффективность кода приложений.
gudleifr писал(а):
Всегда думал, что чаще встречается на x86 не подпрограммный, а прямой. И причем здесь x86? Шитый код - он и в Африке шитый код. Или кто-то видел "неклассический Forth" (транслятором, все-таки его язык не поворачивается назвать) - без шитого кода?
В выражении 'подпрограммный шитый код' слово 'шитый' может быть отброшено за ненадобностью без искажения смысла исходного выражения. Транслятором Форт-систему можно назвать при условии, что код приложения, который она выдала не содержит форт-систему или ее составляющие. Тут надо заметить, что форт-система нужна для создания приложений, а в качестве составляющей части приложений может создать проблемы с надежностью
этих приложений. Собственно это моя трактовка использования форт-систем для создания ПО.
gudleifr писал(а):
Вот она главная ошибка коллеги. Отсюда и все эти разговоры о "трансляторах", "классике", "типичности".

Насчет транслятора я сказал выше, классика и типичность вытекают из желания разработчиков форт-систем придерживаться какого-то стандарта(за неимением лучшего, хотя бы ANSI-94). Насчет главной ошибки, я ведь не говорю о создании оптимизатора, я говорю лишь об удалении определенной избыточности, которая обусловлена разными моделями виртуальной машины форт-системы и реальной машиной целевой платформы. В основном это касается кода операций на стеке параметров. А вы что имели ввиду под явной ошибкой.

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: СПФ и оптимизатор
СообщениеДобавлено: Чт янв 12, 2012 15:39 
Хищник писал(а):
Прямой - это последовательность адресов и адресный интерпретатор. Подпрограммный - последовательность команд call addr. Так быстрее, а то, что больше по размеру, на PC уже не имеет значения. Трансляторы Форта сейчас обычно не содержат адресного интепретатора, а просто вызывают call addr, а там уже дальше само все получается.
Спасибо, значит, я отстал от жизни. Заодно получил ответ и на другой свой вопрос - о [не]допустимости [само]модифицирующихся слов. В рамках такой концепции они, действительно, недопустимы. И сложно, и ненужно.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: СПФ и оптимизатор
СообщениеДобавлено: Чт янв 12, 2012 16:05 
chess писал(а):
...
Наконец-то я понял. Здесь обсуждаются не Forth-системы, а Forth-основанные трансляторы. И от Forth здесь взяты не его идеи и возможности, а лишь простота построения компилятора. Отсюда и самая убогая из моделей - подпрограммный шитый код, и разговоры о нужных/ненужных словах, и... В общем - все, вплоть до непонимания Броуди и обвинений Forth-трансляторов в убожестве...


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: СПФ и оптимизатор
СообщениеДобавлено: Чт янв 12, 2012 16:33 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
gudleifr писал(а):
Наконец-то я понял. Здесь обсуждаются не Forth-системы, а Forth-основанные трансляторы. И от Forth здесь взяты не его идеи и возможности, а лишь простота построения компилятора. Отсюда и самая убогая из моделей - подпрограммный шитый код, и разговоры о нужных/ненужных словах, и... В общем - все, вплоть до непонимания Броуди и обвинений Forth-трансляторов в убожестве...

Подпрограммный ШК на данный момент обеспечивает вполне приемлемую производительность, сравнимую с компилируемыми языками мейнстрима, а пропадают в основном неоднозначные приемы с модификацией кода в процессе работы программы. Почему надо считать такой код убогим - непонятно.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: СПФ и оптимизатор
СообщениеДобавлено: Чт янв 12, 2012 16:38 
Не в сети

Зарегистрирован: Ср май 03, 2006 11:27
Сообщения: 1394
Откуда: St.Petersburg
Благодарил (а): 2 раз.
Поблагодарили: 11 раз.
gudleifr писал(а):
Здесь обсуждаются не Forth-системы, а Forth-основанные трансляторы.

Наличие транслятора в рамках Форт-системы не исключает всего остального
присущего Форту.

gudleifr писал(а):
И от Forth здесь взяты не его идеи и возможности, а лишь простота построения компилятора.

О каких возможностях идет речь?

gudleifr писал(а):
Отсюда и самая убогая из моделей - подпрограммный шитый код

Ну проложен подпрограммный код командой CALL
(по отношению к другим видам ШК), почему это делает его убогим?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: СПФ и оптимизатор
СообщениеДобавлено: Чт янв 12, 2012 16:56 
Mihail писал(а):
Наличие транслятора в рамках Форт-системы не исключает всего остального присущего Форту.
Здесь речь идет не о наличии транслятора, а об отсутствии всего остального.
Mihail писал(а):
О каких возможностях идет речь?
В основном, о возможности самоорганизации. Начиная с ежедневного накопления опыта в виде изменения структуры системы при работе над задачей (система развивается параллельно решению задачи). Заканчивая построением системы, полностью отражающей взаимоотношение программиста и задачи (не только язык, но и системы проектирования, документирования, отладки, оптимизации, бухгалтерского сопровождения...).
Mihail писал(а):
Ну проложен подпрограммный код командой CALL, почему это делает его убогим?
Во-первых, для этого не нужен Forth, в таком стиле я могу писать на любом Algol-подобном языке. Во-вторых, такой подход усложняет [само]модификацию кода. В-третьих, вид шитого кода - лишь частный выбор при решении конкретной задачи. Например, коллега mOleg предлагает смешивать вместе словари с разными видами кода.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: СПФ и оптимизатор
СообщениеДобавлено: Чт янв 12, 2012 16:58 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
gudleifr писал(а):
Наконец-то я понял. Здесь обсуждаются не Forth-системы, а Forth-основанные трансляторы. И от Forth здесь взяты не его идеи и возможности, а лишь простота построения компилятора. Отсюда и самая убогая из моделей - подпрограммный шитый код, и разговоры о нужных/ненужных словах, и... В общем - все, вплоть до непонимания Броуди и обвинений Forth-трансляторов в убожестве...

Что один только Броуди изложил возможности форт-подхода в области разработки ПО? От форта каждый может взять то, что ему нужно в данный момент. Форт как никакой другой подход позволяет разработать инструментарий для любой предметной области, использовать любые парадигмы.
И тип шитого кода здесь не причем. В рамках подпрограммного шитого кода вполне себе можно создавать самомодифицирующийся код, если в этом возникнет необходимость.

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


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

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

Никто это не запрещает, только надо обложить форт-систему кучей контролей корректности, которой у нее нет изначально(весь контроль берет на себя программист). Поэтому часто проще отделить код приложения от кода исходной форт-системы. Это всего лишь частный случай.

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: СПФ и оптимизатор
СообщениеДобавлено: Чт янв 12, 2012 17:10 
chess писал(а):
только надо обложить форт-систему кучей контролей корректности, которой у нее нет изначально
Это не бага, это - фича! Такое желание конкретного программиста - это только "частный случай".


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

Зарегистрирован: Ср май 03, 2006 11:27
Сообщения: 1394
Откуда: St.Petersburg
Благодарил (а): 2 раз.
Поблагодарили: 11 раз.
gudleifr писал(а):
Здесь речь идет не о наличии транслятора, а об отсутствии всего остального

Как я понял ты утверждаешь, что СПФ из за оптимизатора утратил что-то
на столько важное, что даже Фортом его назвать нельзя.
Можно без общих слов, что именно? И не обо всем остальном, а о чем то одном.
gudleifr писал(а):
Во-первых, для этого не нужен Forth, в таком стиле я могу писать на любом Algol-добном языке.

Для компиляции любого вида ШК не нужен Форт. Транслятор с Algol-добный языка
вполне может генерить хоть прямой хоть косвенный ШК или еще какой.

gudleifr писал(а):
Во-вторых, такой подход усложняет [само]модификацию кода.
Что за [само]модификация кода?

gudleifr писал(а):
В-третьих, вид шитого кода - лишь частный выбор при решении конкретной задачи. Например, коллега mOleg предлагает смешивать вместе словари с разными видами кода.
Что значит смешивать?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: СПФ и оптимизатор
СообщениеДобавлено: Чт янв 12, 2012 17:53 
Mihail писал(а):
Как я понял ты утверждаешь, что СПФ из за оптимизатора утратил что-то на столько важное, что даже Фортом его назвать нельзя.
Дело не в конкретном техническом решении, а в отношении к нему коллег. Уважаемыми коллеги не видят за деревьями "транслятора" леса Forth-системы.
Mihail писал(а):
Для компиляции любого вида ШК не нужен Форт.
Именно! Более того парадигма "Forth-транслятора" возникла только потому, что "нормальный" транслятор написать сложно, а Forth-систему - легко. В такой интерпретации использование Forth - лишь дань нашей криворукости.
Mihail писал(а):
Что за [само]модификация кода?
Возможность программиста/программы править уже скомпилированный (и, возможно, в данный момент работающий) код.
Mihail писал(а):
Что значит смешивать [словари с разными видами кода]?
Иметь одновременно загруженными и связанными в единую сеть поиска/исполнения словари с совершенно разной структурой словарных статей, представлением кода, особенностями связывания. (Прошу прощения у коллеги mOleg за возможное искажение его идеи.)


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: СПФ и оптимизатор
СообщениеДобавлено: Чт янв 12, 2012 18:37 
gudleifr писал(а):
Возможность программиста/программы править уже скомпилированный (и, возможно, в данный момент работающий) код.


Для правки скомпилированного кода есть много методов
(например векторизация, оверлеи вплоть до прямой правки)
в зависимости от предпологаемой модели и дополняются
возможности конкретной или "гипотетической" Форт системы.
Если оптимизатор мешает чему-то, то его можно отключить или
ограничить в возможных действиях (зная базовые принципы
его работы и это может не понадобится).

P.S. Примеры есть и в devel spf и на данном форуме и
зависимость их от spf4 "условна"!


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: СПФ и оптимизатор
СообщениеДобавлено: Чт янв 12, 2012 18:47 
Гость писал(а):
Для правки скомпилированного кода есть много методов...
Есть, но принимая парадигму оптимизации (единственности подпрограммного кода) и других, свойственных "прочим" языкам, мы обрезаем возможности Forth не в реализации, а в своем мозгу. Ведь некоторые коллеги даже всерьез заявляют, что синтаксис BEGIN ... AGAIN - это синтаксис Forth, а не частное решение частной проблемы.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: СПФ и оптимизатор
СообщениеДобавлено: Чт янв 12, 2012 19:09 
gudleifr писал(а):
Гость писал(а):
Для правки скомпилированного кода есть много методов...
Есть, но принимая парадигму оптимизации (единственности подпрограммного кода) и других, свойственных "прочим" языкам, мы обрезаем возможности Forth не в реализации, а в своем мозгу.


Конечно урезаем:)Но, что бы использовать всё "многобезобразие"существующих возможностей необходимо владеть неким аппаратом абстракций.

P.S. Показателен, в данном аспекте, аппарат функционального
программирования с его "небольшим" сообществом. Программы
могут быть написаны на процедурном подходе:) Prolog
даже можно и не вспоминать.


Вернуться к началу
  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 366 ]  На страницу Пред.  1 ... 10, 11, 12, 13, 14, 15, 16 ... 25  След.

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


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

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


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

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