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

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 16 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Статья: Kраткое введение в Форт
СообщениеДобавлено: Чт мар 06, 2008 18:58 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
Автор: WingLion aka Ivan Mak
Дата публикации: Май-Июнь 2007г. -- Декабрь 2008г.

Здесь приведены лишь короткие вырезки с главными идеями из статьи.
А полная версия статьи здесь


Краткое введение в Форт

Часть 1. Форт. С чем его едят?

Форт - это язык программирования. Можно много писать о его истории, сравнивать его характеристики с другими языками, но я этого делать здесь не буду. Об этом можно прочитать во множественной литературе по Форту и в интернете. Целью же этой статьи является введение в язык - объяснение самых элементарных вещей, которые, быть может, в иных местах прописаны не прямо или не очень понятно.

Часть 2. Интерпретатор или компилятор.

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

...

Часть 3. Простота. Расширяемость. Открытость.

...

Часть 4. Байты, ячейки, слова.

...

Часть 5. Стеки.

...

Часть 6. Стековый процессор или стековая виртуальная машина.

Для реализации языка Форт обычно используется некая программная виртуальная машина, называемая стековой виртуальной машиной. Такая машина может быть достаточно просто перенесена в железо, в результате чего получится стековый процессор.

Часть 7. Стековая нотация.

...

Часть 8. Элементарные операции.

Здесь я опишу систему команд некоего гипотетического Forth-процессора, которого должно быть достаточно для реализации Форта.
Эта достаточность будет проверяться на практике путем создания форт-процессора с такой системой команд в ПЛИС и проверки возможности реализации на нем Форта. В процессе работы в это описание, могут быть добавлены новые команды или выброшены излишние.

...

Часть 9. Программирование на языке Форт.

продолжение статьи в процессе написания

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


Последний раз редактировалось WingLion Пт мар 16, 2012 05:35, всего редактировалось 6 раз(а).
поправлена ссылка


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

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

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Чт мар 06, 2008 22:25 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
Я его всегда стеком называл...
Потом получил за это по шапке в IRC, а как надо называть правильно - так и не понял,
как не понял и почему - оно не стек...

рамблер по запросу "стек FIFO" выдает:
Вы искали: "стек FIFO", найдено сайтов: 32, документов: 215
и не важно, что первая ссылка на мою же статью. Важно то,
что термин используется именно так, как я его описал.

Да и про "стек LIFO" результат поскромнее :shuffle;
Вы искали: "стек LIFO", найдено сайтов: 21, документов: 73

так что, такое употребление термина я все же считаю правомочным.

п.с. Короче, упоминание о терминологической неточности закоментировано в html-e и теперь не росто видно.

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Чт мар 06, 2008 23:09 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
Тут неточности в терминологии неизбежны. Т.к. стек и очередь ИМХО чаще всего гибридизируются (например - чем на самом деле является стек сопроцессора?, ВСЕГДА ли это стек?).
Или является ли стеком стек i86 при вызове функции в некоторых языках? Это просто массив, т.к. данные не изымаются из стека, а просто берутся оттуда, а стек (кадр, который заняли параметры) очищается весь потом.
Кроме того, обращаю внимание на замечательную идею chess по поводу двунаправленного стека (в теме про компилирующий ассемблер) - можно ли назвать это стеком?
Хотя привычнее LIFO

ну и стек СПФ - голова в регистре - это стек? тут не скажу ...

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Чт мар 06, 2008 23:35 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
FIFO = First In, First Out, aka стек
LIFO = Last In, First Out, aka очередь
Рассмотрены у Кнута.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Чт мар 06, 2008 23:55 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
Хищник писал(а):
FIFO = First In, First Out, aka стек
LIFO = Last In, First Out, aka очередь
Рассмотрены у Кнута.

а общее название у них есть?

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


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

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


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

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

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


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

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

Да, название есть, кажется, структуры данных просто или "динамические", есть даже в Wiki, но точно названия непомню

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт мар 11, 2008 11:56 
Не в сети
Аватара пользователя

Зарегистрирован: Вс мар 04, 2007 08:02
Сообщения: 229
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.
Хищник писал(а):
FIFO = First In, First Out, aka стек
LIFO = Last In, First Out, aka очередь
Рассмотрены у Кнута.



наоборот: FIFO - очередь, LIFO - стек. Без вариантов. 8)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт мар 11, 2008 21:23 
Не в сети
Administrator
Administrator
Аватара пользователя

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


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

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
Статья чуть-чуть поправлена. Больше в орфографии/пунктуации чем в сути.

Пишу просто, чтобы тему чуть-чуть поднять.

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср дек 24, 2008 14:56 
Не в сети
Moderator
Moderator
Аватара пользователя

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

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


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

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

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вс фев 15, 2009 23:54 
Не в сети
Moderator
Moderator
Аватара пользователя

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

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


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

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


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

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


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

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