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

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 638 ]  На страницу Пред.  1 ... 39, 40, 41, 42, 43  След.

Форт мертв?
Давно уже 11%  11%  [ 4 ]
Еще пока нет, но уже скоро 6%  6%  [ 2 ]
Форт для меня живее всех живых 83%  83%  [ 30 ]
Всего голосов : 36
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Вт дек 25, 2007 01:50 
Не в сети
Administrator
Administrator
Аватара пользователя

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

Фразовая :) Так что тут вообще интересно - формально Форт принадлежит к языкам с фразовой грамматикой (самой общей), поскольку в нем возможно все. :) Вот только разбор входного потока производится способом, характерным как раз для регулярной грамматики - однонаправленным просмотром входного буфера.

Для ассемблера проблема решается введением отдельно переходов вперед и назад.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт дек 25, 2007 02:02 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
Хищник писал(а):
вопрос писал(а):
Мне любопытно, как на это влияет возможность встраивания слов с немедленным исполнением, влияющих на трансляцию - какая при этом грамматика? Что-то сразу не соображу ...

Фразовая :) Так что тут вообще интересно - формально Форт принадлежит к языкам с фразовой грамматикой (самой общей), поскольку в нем возможно все. :) Вот только разбор входного потока производится способом, характерным как раз для регулярной грамматики - однонаправленным просмотром входного буфера.

Для ассемблера проблема решается введением отдельно переходов вперед и назад.

Угу, вот именно - "рекурсивно-перечислимая", т.е. - Форт, это надстроенная над процессором :D машина Тьюринга - в этом его привлекательность ... кажется. В Форте можно реализовать любой алгоритм и путём ограничений - любую грамматику - аж до регулярной. Отсюда лёгкость (кажущаяся) реализации других языков на Форте.
Вот определение Форта - Форт - это способ реализации (чего-то подобного ) машины(е) Тьюринга :shock:

_________________
понимаю некоторую бестолковость некоторых вопросов


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт дек 25, 2007 02:06 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
И что, такое могло бы "[осторожно, флуд] " ? :shock: :dmad;

_________________
понимаю некоторую бестолковость некоторых вопросов


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт дек 25, 2007 02:09 
Не в сети
Administrator
Administrator
Аватара пользователя

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт дек 25, 2007 02:20 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
Хищник писал(а):
Стоп, стоп!!! Машины Тьюринга в природе не существует. Притворяться этой машиной пытается любой процессор, но по сути МТ ничего конкретного про выполняемые операции не говорит. Просто как-то заменяются символы на бесконечной ленте. Тем более нельзя надстроить что-то над МТ, потому что у нее бесконечные возможности по манипулированию символами. У Форте же вместо ленты конечный словарь и конечный стек.

Разумеется (там смайлик смеётся) машина Тьюринга - это модель , абстрактная (нереализуемая) , но "чего-то подобного" - стоит посоображать, что-то тут есть.

_________________
понимаю некоторую бестолковость некоторых вопросов


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт дек 25, 2007 04:00 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
вопрос писал(а):
И что, такое могло бы "[осторожно, флуд] " ?


Ведро?

_________________
С уважением, WingLion
Forth-CPU . RuF09WE
Мой Форт
Отсутствие бана это не заслуга юзера, а недоработка модератора (с)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт дек 25, 2007 07:16 
Не в сети

Зарегистрирован: Чт окт 25, 2007 08:01
Сообщения: 154
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Forthware писал(а):
Зато оттранслируешь бейсик, фортран, а ассемблер, даже проще.


Для примитивного Бейсика, наверное, действительно возможен простой компилятор. Фортран я не знаю. А ассемблер - это смотря какой... Семейство 80x86 изначально было заморочено. И уж точно - не проще Форта.

Forthware писал(а):
Выполнение кода в процессе его компиляции обеспечивается интерактивностью, чего вы в своих критериях не предусмотрели.


См. пункт 2 - всё я предусмотрел. :)

Forthware писал(а):
Ну тогда и Форт однопроходный только по названию - ведь ELSE не знает где будет лежать THEN. Looool Вы говорите откровенную глупость, все делается в один проход и с одной таблицей ссылок. Или вы поиск в таблице тоже проходом считаете? Тогда уже меньше трех небывает. Looool


Некорректное сравнение - поток управления в Форте реализуется стеком и связными структурами. Это далеко не одно и то же, что переход по метке в асме, который может быть когда угодно и откуда угодно.

Forthware писал(а):
Опять бредим... Laughing Они могут по ходу чего нибудь подсчитывать? Могут. Могут в зависимости от этого вставлять разный код? Могут. Но они не идут... Shocked А что тогда идет? В процессе компиляции только они.


Что-то у вас все кругом бредят... :)
Мне этот ваш довод напоминает термин "программирование", который употребляется для регуляторов там разных - по определению тупых. ХЗ почему, но на производстве это встречается довольно часто - настраивают какой-нибудь теплосчётчик, а говорят "запрограммировать". :)
Макросы занимаются кодогенерацией, а не исполняются в привычном понимании. Да собственно они и не "занимаются", а "над ними" занимаются.

Forthware писал(а):
Реализации чего? Реализация ассемблера гдето на порядок проще Форта. Макроассемблера - раз в 5, приблизительно. Посмотрите исходники.


Хм... По моему опыту всё строго наоборот... Конечно, если вы разрабатываете ассемблер для Z80, то может быть и так. Но простейшая реализация Форта, имхо, гораздо проще - там надо-то с десяток-другой примитивных слов.

Хищник писал(а):
Таблица ссылок. Даже Форт позволяет иметь неразрешенные ссылки вперед - IF THEN хотя бы.


Дык кто спорит? Но всё-таки Форт более "однопроходной", если уж на то пошло - по стандарту это всё организовано в виде стека и действует только при компиляции текущего слова.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт дек 25, 2007 09:00 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
WingLion писал(а):
вопрос писал(а):
И что, такое могло бы "[осторожно, флуд] " ?

Ведро?

Название темы менялось.

_________________
понимаю некоторую бестолковость некоторых вопросов


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт дек 25, 2007 09:45 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
вопрос писал(а):
Разумеется (там смайлик смеётся) машина Тьюринга - это модель , абстрактная (нереализуемая) , но "чего-то подобного" - стоит посоображать, что-то тут есть.

Так везде что-то подобное есть :) МТ - это способ представления алгоритмов, пока еще не найден алгоритм, который МТ не могла бы выразить. На низком уровне любой язык так реализован - ползает по ленте и что-то там меняет.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт дек 25, 2007 11:52 
Не в сети

Зарегистрирован: Пн окт 15, 2007 17:24
Сообщения: 164
Откуда: Бийск
Благодарил (а): 0 раз.
Поблагодарили: 2 раз.
Ээээ, уважаемые коллеги, а вы не смешиваете ли в своих рассуждениях сложность алгоритмов, которые можно реализовать на форте, и сложность распознавания (и последующей трансляции) текста программы на форте - грамматика языка определяет именно вторую сложность, а к первой почти никакого отношения не имеет.

_________________
And so forth ...


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт дек 25, 2007 12:18 
Не в сети

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


Не любой другой язык программирования а транслятор любого языка программирования
(это разные вещи) и (как правило) с помощью линковщика. К томуже, текст может
сразу исполнятся интерпретатором. И не Форт, а форт-система, которая может
как интерпретировать, так и компилировать текст (не только текст).
Особенностью компиляции форт-системой является соморасширение, тат-как
скомпилирванные программы имеют тоже представление в системе, какое имеют
прогмаммы из каторых состоит тело форт-состемы.
Т.е. Форт-система: текст -> расширенная форт-система.
Форт-система в процессе восприятия текста может как угодно преобразится.
Благодаря чему, любой формализованный текст может быть воспринят форт-системой


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт дек 25, 2007 12:53 
Не в сети

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


Как минимум, я его отнесу к тому-же классу, что и Форт. К стати, Си в рамках форт-системы
может обладать этим свойством.

Mihail писал(а):
Mihail писал(а):
Т.к. интереса он для меня представлять не будет, даже если он формально подпадет под какоето его определение.
Так что же, значит это ваш интерес является единственным обьективным критерием того что ЯП является Фортом?


Определять следует исходя из позитива. Т.е. что полезного Форт дает, производителем того он и
является.

Forthware писал(а):
При всем уважении, если бы такое сказал Чак Мур, я бы еще понял, а так... Может какая то аргументация есть?


Про Мура говорят, что он сам не понял что открыл. :D

Forthware писал(а):
Названия открытым звездам дает тот кто их открыл, так же и новым землям, и даже елементарным частицам.


Назвнием да, он не определение котегории открытого предмета.
Если я найду остров я не могу определить его как озеро.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт дек 25, 2007 19:56 
Не в сети

Зарегистрирован: Вс дек 02, 2007 17:31
Сообщения: 442
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
K`[f писал(а):
Для примитивного Бейсика, наверное, действительно возможен простой компилятор. Фортран я не знаю. А ассемблер - это смотря какой...
Вот, значт под этот критерий, кроме Форта еще попадает 30% всех языков программирования.
K`[f писал(а):
Семейство 80x86 изначально было заморочено.
Смотря какой синтакс брать - существует много разных синтаксисов ассемблера х86. Обратите внимание на классический Форт ассемблер х86.
K`[f писал(а):
См. пункт 2 - всё я предусмотрел.
Смотрю:
Цитата:
2. Идея элементарного способа компиляции
, но намеков на интерактивность на вижу.
K`[f писал(а):
Некорректное сравнение - поток управления в Форте реализуется стеком и связными структурами.
Ну и что? В асме таблицей ссылок. Чем одно хуже другого? Как влияет на количество проходов?
K`[f писал(а):
Это далеко не одно и то же, что переход по метке в асме, который может быть когда угодно и откуда угодно.
И что из этого следует что меньше 2-х проходов сделать невозможно? :shock:
K`[f писал(а):
Что-то у вас все кругом бредят...
Нет, только вы, только в этой фразе. :twisted:
K`[f писал(а):
Мне этот ваш довод напоминает термин "программирование", который употребляется для регуляторов там разных - по определению тупых.
Макросы не тупые, в них даже условные операторы есть, и выполняются они в процессе компиляции.
K`[f писал(а):
Макросы занимаются кодогенерацией, а не исполняются в привычном понимании.
Вот именно! Они выполняются в процессе компиляции, а не в готовом коде. То же самое делают IMMEDIATE слова в Форте. Если вы не согласны, то укожите на конкретное отличие пожалуйста.
K`[f писал(а):
Да собственно они и не "занимаются", а "над ними" занимаются.
Это смотря как смотреть - слова форта выполняются, или их выполняет Форт? :? :)) Называйте как хотите, результат от этого не изменится.
K`[f писал(а):
Хм... По моему опыту всё строго наоборот...
Смотрите обьем исходников Форта на Форте, и Ассемблера на Форте.
K`[f писал(а):
Конечно, если вы разрабатываете ассемблер для Z80, то может быть и так.
Если вы разрабатываете Ф79 то это тоже не SPF. ;)
K`[f писал(а):
Но простейшая реализация Форта, имхо, гораздо проще - там надо-то с десяток-другой примитивных слов.
И что, уже можно будет на таком программы писать?! :shock:
K`[f писал(а):
Но всё-таки Форт более "однопроходной",
Или 1 или 2. Проход есть проход, пол-прохода не существует. :dmad;
K`[f писал(а):
если уж на то пошло - по стандарту это всё организовано в виде стека и действует только при компиляции текущего слова.
В паскале тоже, и как это влияет на количество проходов? Никак. Если ссылка назад, то ее адрес уже лежит в таблице в момент использования ее в коде. Если же ссылка вперед, то в момент ее появления, в таблице лежат адреса всех неразрешенных ссылок (либо адрес последней, а уже в ней адрес предыдущей и т.д.). Поиск по таблице нельзя считать как второй проход или пол-прохода, поскольку Форт делает аналогичный поиск при обработке каждого слова - он выполняет поиск в словаре совершенно аналогичный поиску метки в таблице ассемблером. Так почемуже тогда ассемблер более многопроходный?
Mihail писал(а):
Не любой другой язык программирования а транслятор любого языка программирования
(это разные вещи) и (как правило) с помощью линковщика. К томуже, текст может
сразу исполнятся интерпретатором. И не Форт, а форт-система, которая может
как интерпретировать, так и компилировать текст (не только текст).
Особенностью компиляции форт-системой является соморасширение, тат-как
скомпилирванные программы имеют тоже представление в системе, какое имеют
прогмаммы из каторых состоит тело форт-состемы.
Вы говорите не о том ЧТО оно делает, а о том КАК оно это делает. А это уже просто характеристика языка, а не фак его принадлежности к языкам. В любом случае, на основе исходного текста создается новая функциональность машины, которую можно потом использовать, выполнять.
Цитата:
Т.е. Форт-система: текст -> расширенная форт-система.
Даже при целевой компиляции? И опять же, какая разница, является ли результат расширением чего-то, добалением чего-то или созданием чего-то? Результат всегда один - это ИСПОЛНЯЕМЫЙ КОД. Все. Сформировался ли он статической компиляцией, или вообще формируется динамически в процессе интрпретации, это вопрс того КАК решается задача, а задача везде одинакова: текст->код. И то что это делает называется реализацией языка программирования.
Mihail писал(а):
Как минимум, я его отнесу к тому-же классу, что и Форт. К стати, Си в рамках форт-системы может обладать этим свойством.
Уже относите. И без рамок Форт системы С не имеет жесткого синтаксиса и семантики, поскольку ее можно грубо менять с помощью препроцессора. И в отличии от Форта, для которого возможность создания новых языков является возможной, но никто ее не воплотив в реальность (полноценно), синтаксис С был реально переделан в С++ таким образом.
Я не говорю что оно также гибко как и Форт, но сказать что такой возможности нет, нельзя. Поэтому ваш критерий отсутствия "жесткого синтаксиса" не является уникальной особенностью Форта.
Mihail писал(а):
Определять следует исходя из позитива. Т.е. что полезного Форт дает, производителем того он и является.
Так вопрос стоял что считать фортом, а не в том, чего производителем чего он является. Верно? Тогда возможно обратный вывод - "производитель чего" можно называть Фортом?
Mihail писал(а):
Про Мура говорят, что он сам не понял что открыл.
Да, конечно, вот те кто это говорят уж точно лучше за Мура поняли что это... :)) Мне это напоминает проф. критоков, которые сами не умеют, но за автора всегда лучше знают что у него получилось. :lol:
Mihail писал(а):
Назвнием да, он не определение котегории открытого предмета. Если я найду остров я не могу определить его как озеро.
Вот только Мур ничего не открыл, он изобрел Форт. Открытие и изобретение разные вещи - открытие, это доказательство того что существует нечто, а изобретение это создание того, что раньше не существовало. Но дело даже не в этом, по вашей аналогии с островами и озерами, Форт таки язык. Если нет, скажите что тогда? Если такой категории ранее не существовало, значит автор вправе называть ее по своему усмотрению.

_________________
Am I evil? I'm man - yes I am! © James Hatefield


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт дек 25, 2007 19:56 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
Хищник писал(а):
вопрос писал(а):
Разумеется (там смайлик смеётся) машина Тьюринга - это модель , абстрактная (нереализуемая) , но "чего-то подобного" - стоит посоображать, что-то тут есть.

Так везде что-то подобное есть :) МТ - это способ представления алгоритмов, пока еще не найден алгоритм, который МТ не могла бы выразить. На низком уровне любой язык так реализован - ползает по ленте и что-то там меняет.

МТ - абстрактная модель алгоритма вообще. И любой язык (точенее любая грамматика ) к ней ближе или дальше. Наиболее общая грамматика как раз позволячет реализовать алгоритм с той свободой, с кроторой сама абстрактная модель алгоритма вообще, т.е. имея дело с наиболее общей грамматикй мы имеем дело с ТМ

_________________
понимаю некоторую бестолковость некоторых вопросов


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср дек 26, 2007 08:36 
Не в сети
Moderator
Moderator

Зарегистрирован: Ср май 10, 2006 15:37
Сообщения: 1132
Откуда: Chelyabinsk ( Ural)
Благодарил (а): 0 раз.
Поблагодарили: 9 раз.
Forthware писал(а):
И без рамок Форт системы С не имеет жесткого синтаксиса и семантики, поскольку ее можно грубо менять с помощью препроцессора.


А то, что препроцессор Cи - это отдельный исполняемый модуль не интегрируемый
с основным компилятором - умалчиваем? Не говоря уже об его недоразвитости :evil:

Forthware писал(а):
синтаксис С был реально переделан в С++ таким образом
.


Понимается в виду Си препроцессор?
Тогда дайте ссылку на эту реализацию, чтобы обрабатывать файлы С++
и компилировать их на выполнение с помощью Си компилятора.( мне интересно )

Forthware писал(а):
И в отличии от Форта, для которого возможность создания новых языков является возможной, но никто ее не воплотив в реальность (полноценно),
.


Но в необходимой мере используют эту возможность :))

Forthware писал(а):
Открытие и изобретение разные вещи - открытие, это доказательство того что существует нечто, а изобретение это создание того, что раньше не существовало.
.


К какому понятию относится открытие Америки? ( подозреваю, что к изобретению :)

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


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

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


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

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


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

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