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

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 23 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: A challenger appears !
СообщениеДобавлено: Сб июл 03, 2010 20:44 
Не в сети
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 17:26
Сообщения: 49
Откуда: Fenbelil
Благодарил (а): 0 раз.
Поблагодарили: 2 раз.
Sometimes you go to hell, and sometimes hell comes to you…

...Всем доброго вечера. Скажите, вы меня не ждали ? Если так – очень зря. Даже те годы назад, когда я уходила отсюда в поисках сообществ, где на слово ‘Форт’ не стараются привить такой стойкой аллергии, уже тогда было совершенно очевидно – мы встретимся вновь, вы и я... Просто при совсем других условиях, да. Вот как сейчас, скажем: так уж получилось, что сразу трое не очень-то и знакомых друг с другом программистов с DF2.ru взяли, да и выдали на-гора цепочку воплощенных непосредственно в код соображений относительно того, каким мог бы стать теперь Форт, не проводись нынешняя политика по его никому не нужной сакрализации. Три языка – 3 разных идеологии на любой вкус: native-компилятор, интерпретатор и компилятор в псевдокод. Все они разрабатывались исключительно как хобби, в свободное от более приземленных занятий время. Ни один из них так и не был дописан до конца. Ни у одного из них пока нет внятной документации. Ни один из них не совместим с общепринятыми стандартами вообще, и маразматическими фантазиями г-на Мура о будущем конкатенативного программирования в частности. И вот все же лично я почему-то вижу у каждого из них ощутимо больше перспектив реального применения (в тех или иных областях), нежели у всего того, чем усиленно кормят Forth-community последние лет 10... Итак:

* StasisForth
Type: word-code compiler (VM included).
OS: Win32. В перспективе планируются версии для Win64, Linux(x86, x64) и MacOS.
Distribution: FreeWare OpenSource.
Self-compilation: not yet.
Author: Chrono Syndrome

* Staq
Type: interpreter.
OS: Win32
Distribution: FreeWare.
Self-compilation: unavailable.
Author: gamecreator

* Refer
Type: compiler.
OS: DOS
Distribution: FreeWare OpenSource.
Self-compilation: available.
Author: tolich

...Оцениваем, комментируем – ваше мнение нам теперь особенно интересно. Я буду поддеживать связь, если что.

_________________
Don't try to catch the Night !


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: A challenger appears !
СообщениеДобавлено: Сб июл 03, 2010 22:41 
Не в сети

Зарегистрирован: Пн ноя 05, 2007 13:54
Сообщения: 144
Благодарил (а): 0 раз.
Поблагодарили: 13 раз.
1. 'Конкатенативное программирование' термин откровенно неудачный.
2. Мур занят разработкой мультикомпьютеров.
3. Классический Форт живет в маленьких устройствах, использование его на PC это просто хобби, из любви к искусству.
4. Форт-подобные скриптовые языки могут быть полезны на PC.

Теперь рассмотрим предложенные языки с точки зрения п. 4.

1. Refer. После cmForth, PygmyForth, RetroForth ничего нового. Но исходный код довольно аккуратный, с самокомпиляцией. В 90-е мог быть интересен.
2. Staq. Не представлены исходные тесты. Следует считать, что код настолько ужасен? После PostScript ничего нового.
3. StasisForth. Более 120кб убористого кода на PureBasic. Масса нестандартных контрукций, с синтаксисом в худших традициях DSL классического Форта.

Итог. Надеюсь, для авторов работа над собственными языками оказалась интересной и поучительной. Но пользователям Factor, Lua, Scheme, Python... пока можно не беспокоиться :)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: A challenger appears !
СообщениеДобавлено: Вс июл 04, 2010 00:10 
Не в сети
Аватара пользователя

Зарегистрирован: Вт мар 20, 2007 23:39
Сообщения: 1261
Благодарил (а): 3 раз.
Поблагодарили: 19 раз.
О, что-то интересненькое. Поглядим-с.
Посмотрел поверхностно - в целом вполне юзабельно, но и не более. Из всех трех - StasisForth еще более-менее, но вот нестандартности все только ухудшают. Зацепиться в общем-то и не за что.

_________________
Cтоимость сопровождения программного обеспечения пропорциональна квадрату творческих способностей программиста.
Роберт Д. Блисc


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: A challenger appears !
СообщениеДобавлено: Вс июл 04, 2010 15:31 
Не в сети
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 17:26
Сообщения: 49
Откуда: Fenbelil
Благодарил (а): 0 раз.
Поблагодарили: 2 раз.
Цитата:
1. 'Конкатенативное программирование' термин откровенно неудачный.

Хм, ну если имеются стековые языки – надо же как-то обозначать процесс их непосредственного использования ?

Цитата:
2. Мур занят разработкой мультикомпьютеров.

После выхода ColorForth’а его не оправдывает даже это.

Цитата:
3. Классический Форт живет в маленьких устройствах, использование его на PC это просто хобби, из любви к искусству.

Почему-то вспомнилось:
Цитата:
alone (21:02:06 3/07/2010)
если я пишу то быстро на ВБ6
если для души уж что редко (времени нет) на pb

...Но вообще, конечно, соглашусь: современные Forth’ы на PC – это такая хитро замаскированная эзотерика, не более того.

Цитата:
4. Форт-подобные скриптовые языки могут быть полезны на PC.

Не только – стековые виртуальные машины по-прежнему популярны, так что back-end компилятор в виде Forth-подобного ассемблера может быть очень кстати.

Цитата:
1. Refer. После cmForth, PygmyForth, RetroForth ничего нового. Но исходный код довольно аккуратный, с самокомпиляцией. В 90-е мог быть интересен.

Да вот как раз наврядли – в 90х годах конкуренция среди средств разработки DOS-программ была такой, что любительским проектам почти не оставалось места. Это много позже не утратившие официальной поддержки компиляторы COM-файлов стало возможно пересчитать по пальцам, а нынче каждый из них уже заслуживает отдельного внимания.

Цитата:
2. Staq. Не представлены исходные тесты. Следует считать, что код настолько ужасен? После PostScript ничего нового.

Это высказывание я оставлю прокомментировать лично автору Staq’а, если тот вдруг объявится.

Цитата:
3. StasisForth. Более 120кб убористого кода на PureBasic.

...И это еще только начало – в перспективе есть все шансы дорасти до тех же 256Кб RevaForth’а.

Цитата:
Масса нестандартных контрукций, с синтаксисом в худших традициях DSL классического Форта.

Хм, каковы же тогда лучшие традиции ? Аж интересно стало.

Цитата:
Итог. Надеюсь, для авторов работа над собственными языками оказалась интересной и поучительной.

Более чем – лично для меня окончательно прояснились принципы работы компиляторов и виртуальных машин. Ну и вообще – занятно так провела время.

Цитата:
Но пользователям Factor

А они правда существуют вне лабораторных условий ?

Цитата:
Посмотрел поверхностно - в целом вполне юзабельно, но и не более. Из всех трех - StasisForth еще более-менее, но вот нестандартности все только ухудшают. Зацепиться в общем-то и не за что.

Так это же пока только альфа-тесты – предполагается оценка перспективности вложенных идей, а вовсе не использование в приближенных к боевым условиях. Лично у меня сейчас реализовано всего 9.5% от запланированного – этого вполне достаточно для выработки общего впечатления, но вряд ли хватит на серьезный проект. Про нестандартность, кстати, я честно предупреждала.

_________________
Don't try to catch the Night !


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: A challenger appears !
СообщениеДобавлено: Вс июл 04, 2010 17:35 
Не в сети
Moderator
Moderator
Аватара пользователя

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

скорее, мы были удивлены скоропостижным уходом ;) а так, всегда добро пожаловать!

Ссылки не впечатлили 8( ну да ладно, в копилку покатит.

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: A challenger appears !
СообщениеДобавлено: Вс июл 04, 2010 17:56 
Не в сети

Зарегистрирован: Пн ноя 05, 2007 13:54
Сообщения: 144
Благодарил (а): 0 раз.
Поблагодарили: 13 раз.
2Chrono Syndrome:

Есть обозначение для целого класса языков: variable-free/point-free. Подобные языки основаны на функциональной композиции (ФК). Говоря о 'конкатенативности', подразумевают именно ФК на уровне синтаксиса. Однако, ни один из полезных 'конкатенативных языков' не обладает этим свойством в абсолютной мере, так как в них имеют место вложенные структуры и т.д. С другой стороны, каждый полезный 'конкатенативный язык' является стековым. В функциональных языках, основанных на комбинаторной логике, в FP/FL Бэкуса, в векторных языках APL/J/K принято называть стиль программирования беcточечным. В Форт-подобных языках имеем дело со стековым программированием.

ColorForth дал несколько полезных идей. За последнее время этот новый диалект Мура и работы Manfred von Thun оказали наибольшее влияние на Форт-теорию. Характерно, что ни Joy, ни ColorForth большинство фортеров в 'чистом виде' не использует, хотя и по разным причинам.

Стековые машины действительно очень удобны как промежуточное представление. Но только 'обычные' стековые машины (см. jvm, net). Вычислительная модель Форта в качестве промежуточного представления малополезна, так как ориентирована на ручное кодирование.

По поводу синтаксиса StatisForth. Лучшие традиции, это поддержка quotations на уровне языка, математически замкнутый набор операций над ними и развитые возможности метапрограммирования. Хуже всего, что в StatisForth дополнительные конструкции реализованы примитивами на PureBasic.

С состоянием дел Factor лучше ознакомиться на http://factorcode.org/. Я не большой поклонник идеи стекового Common Lisp, но следует признать, что это самый развитый на сегодня Форт-подобный скриптовый язык.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: A challenger appears !
СообщениеДобавлено: Вс июл 04, 2010 20:51 
Не в сети
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 17:26
Сообщения: 49
Откуда: Fenbelil
Благодарил (а): 0 раз.
Поблагодарили: 2 раз.
Цитата:
Ссылки не впечатлили

Хм... А их содержимое ?

Цитата:
Есть обозначение для целого класса языков: variable-free/point-free. Подобные языки основаны на функциональной композиции (ФК). Говоря о 'конкатенативности', подразумевают именно ФК на уровне синтаксиса. Однако, ни один из полезных 'конкатенативных языков' не обладает этим свойством в абсолютной мере, так как в них имеют место вложенные структуры и т.д. С другой стороны, каждый полезный 'конкатенативный язык' является стековым. В функциональных языках, основанных на комбинаторной логике, в FP/FL Бэкуса, в векторных языках APL/J/K принято называть стиль программирования беcточечным. В Форт-подобных языках имеем дело со стековым программированием.

Ну в принципе да, мне уже приходило в голову что возможна реализация комбинаторной логики на основе чего-то вроде очередей (FIFO). Вот только позиций Forth’а, как основоположника и законодателя мод конкатенативного семейства это, увы, никак не умаляет. Так и получилось, что отдельно взятое подмножество стало, по сути дела, синонимом всей парадигмы.

Цитата:
ColorForth дал несколько полезных идей. За последнее время этот новый диалект Мура и работы Manfred von Thun оказали наибольшее влияние на Форт-теорию.

Вот я, пожалуй, позволю себе сравнить сложившуюся ситуацию с выходом четвертой редакции Dungeon & Dragons. Оная, как известно, поделила всех вменяемых ДМов на 2 основные группы:
1) Тех, кто по сей день пытается что-то выжать из 3.5e
2) Тех, кто вообще забросили D&D.
...Вот с Forth’ом все точно так же, исключая поправку на правообладателя – по крайней мере на мнение Мура официально разрешено плевать. Что мы, собственно говоря, все давно и сделали.

Цитата:
Характерно, что ни Joy, ни ColorForth большинство фортеров в 'чистом виде' не использует, хотя и по разным причинам.

ЧИТД.

Цитата:
Вычислительная модель Форта в качестве промежуточного представления малополезна, так как ориентирована на ручное кодирование.

Вот категорически не могу понять чем она хуже, скажем, FAsm’овского листинга. Транслятору-то ведь все равно, что ему выдавать на выходе, а лично мне ЯВУ-подобный стиль Forth’а импонирует намного больше.

Цитата:
Лучшие традиции, это поддержка quotations на уровне языка, математически замкнутый набор операций над ними и развитые возможности метапрограммирования.

А... Ну, это планируется и даже вписано в последнюю ревизию TODO. Более того – у меня уже были некоторые наработки в это области, но они показались мне не достаточно качественными для включения в текущий код. В целом планируется использовать нынешние механизмы работы с последовательностями (Sequences) и непосредственный вызов через #iCall или #iJump – т.е. максимально низкоуровневый и от того оптимизированный вариант.

Цитата:
Хуже всего, что в StatisForth дополнительные конструкции реализованы примитивами на PureBasic.

Вот тут соглашусь: частично, конечно, эта проблема решится со вводом макрокоманд (увы, «вклейки» параметров в стиле PB ждать бесполезно), еще немного – с возможностью использовать StasisForth исключительно как back-end компилятор, но до конца изжить необходимость заглядывать в исходный текст для внедрения особо уж зубодробительных изменений в процесс компиляции все-таки не удастся. Таковы уж они – постфиксные ассемблеры. Суровые.

Цитата:
Я не большой поклонник идеи стекового Common Lisp, но следует признать, что это самый развитый на сегодня Форт-подобный скриптовый язык.

Хорошо, не спорю. Только вот где они – орды пишущих на Factor’е программистов и кучи созданных ими проектов ? Ни первых, ни уж тем более вторых я вне официального сайта языка фактически не встречала. Даже REBOL – и тот, при всей своей неприспобленности к реалиям нынешней жизни, ухитрился пройти полевое тестирование в виде нашумевшего Machinarium. А Factor ?

_________________
Don't try to catch the Night !


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: A challenger appears !
СообщениеДобавлено: Пн июл 05, 2010 01:00 
Цитата:
законодателя мод конкатенативного семейства


А по-русски можно выражаться? Без использования иноСРАНЫХ слов.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: A challenger appears !
СообщениеДобавлено: Пн июл 05, 2010 11:23 
Не в сети

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

читаем это viewtopic.php?f=33&t=2293


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: A challenger appears !
СообщениеДобавлено: Пн июл 05, 2010 20:00 
Не в сети
Moderator
Moderator
Аватара пользователя

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

увы, не всегда есть в Русском языке адекватные понятия, впрочем, термин очень распространен, можно заглянуть как минимум в [url=http://ru.wikipedia.org/wiki/Конкатенация]википедию[/url].

Гость писал(а):
Без использования иноСРАНЫХ слов.

постарайтесь пожалуйста в дальнейшем быть корректнее в выражениях.

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: A challenger appears !
СообщениеДобавлено: Пн июл 05, 2010 20:11 
Не в сети
Moderator
Moderator
Аватара пользователя

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

увы 8(
впрочем, возможно не достаточно описания того, что же в представленных ээ, вобщем, что же там прорывного, почему на него стоит обратить внимание, а не, например, на SPF (я не вредничаю, сразу признаюсь, просто сейчас нет времени закапываться в тонкости чужих реализаций).

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: A challenger appears !
СообщениеДобавлено: Вт июл 06, 2010 11:43 
Не в сети
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 17:26
Сообщения: 49
Откуда: Fenbelil
Благодарил (а): 0 раз.
Поблагодарили: 2 раз.
Цитата:
А по-русски можно выражаться? Без использования иноСРАНЫХ слов.

Перекатись в укрытие.

вопрос писал(а):
Собственно, ничего нового :D
" На данном этапе предполагается, что всю необходимую документацию вы способны самостоятельно извлечь из исходных тексто"
" Ни один из них так и не был дописан до конца" :D

читаем это http://fforum.winglion.ru/viewtopic.php?f=33&t=2293

Так а indie-проекты, они же бывают либо перспективными, либо законченными – среднего тут не дано. На, коли уж речь зашла об играх, сравни на досуге: Flow и [D]-Jongg. И таких примеров - тысячи.

Цитата:
что же там прорывного, почему на него стоит обратить внимание, а не, например, на SPF

Хм... Ну вот конкретно у меня, скажем, имеет смысл обратить особое внимание на идущий в комплекте интерпретатор BrainFuck’а (BF.sf). Попробуй его как-нибудь, смеху ради, переписать на том же SPF – сравним потом.

_________________
Don't try to catch the Night !


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: A challenger appears !
СообщениеДобавлено: Вт июл 06, 2010 12:03 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
Chrono Syndrome писал(а):
Так а indie-проекты, они же бывают либо перспективными, либо законченными – среднего тут не дано.

Речь следует вести о начатых перспективных и брошенных проектах


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: A challenger appears !
СообщениеДобавлено: Вт июл 06, 2010 13:42 
Не в сети
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 17:26
Сообщения: 49
Откуда: Fenbelil
Благодарил (а): 0 раз.
Поблагодарили: 2 раз.
Цитата:
Речь следует вести о начатых перспективных и брошенных проектах

«Брошенный проект» - понятие очень растяжимое. Так, работу над тем же [D]-Jongg’ом я в свое время забросила из-за несовместимости с драйверам NVid’ии. Потом мне неожиданно объяснили, как обойти тот глюк, после чего проект был-таки доведен до релиза. Надежда – она всегда есть, просто порой слишком призрачна...

_________________
Don't try to catch the Night !


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: A challenger appears !
СообщениеДобавлено: Вт июл 06, 2010 19:33 
Не в сети
Moderator
Moderator
Аватара пользователя

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

ой, что это такое: void[ ?
мндяя, похоже меня это не тронет за душу.
впрочем, где-то я видел написанный на форте BF: (правда не знаю, на сколько он соответствует спецификации)

Цитата:
\ 4tH BrainFuck interpreter - Copyright 2004 J.L. Bezemer
\ You can redistribute this file and/or modify it under
\ the terms of the GNU General Public License

include lib/lookup.4th
\ BF memory
30000 constant #BFMemory
#BFMemory string BFmemory
\ BF source
8192 constant #BFSource
#BFSource string BFSource

10 constant EOL \ end of line character
variable level \ level for jumps
defer next \ jump program counter instruction
\ get character from TIB
: char> ( t p m -- t p m c)
>r >r dup tib = \ save pointers, if start buffer
if refill drop then \ then refill the buffer
dup c@ dup 0= \ get character, if end of string
if EOL + nip tib swap \ return LF and signal end of
buffer
else swap char+ swap \ else increment pointer
then r> r> rot \ restore pointers and rotate char
;

: p@ over c@ ; \ fetch program instruction
: m@ dup c@ ; \ fetch memory contents
: m! over c! ; \ store memory contents
: m++ char+ ; \ increment memory pointer
: m-- char- ; \ decrement memory pointer
: p++ swap char+ swap ; \ increment program pointer
: p-- swap char- swap ; \ decrement program pointer
: >m char> m! ; \ store input at memory pointer
: m> m@ emit ; \ emit content at memory pointer
: m@++ m@ 1+ m! ; \ increment contents at mem pointer
: m@-- m@ 1- m! ; \ decrement contents at mem pointer

: level-- = if -1 level +! then ; \ increment level if equal
: level++ = if 1 level +! then ; \ decrement level if equal
\ jump to location
: jump ( p m c1 c2 xt -- p' m)
is next ( p m c1 c2)
>r rot swap ( m p c1)
begin ( m p c1)
p@ dup r@ level-- ( m p c1 p@)
over level++ ( m p c1)
level @ ( m p c1 n)
while ( m p c1)
next ( m p' c1)
repeat ( m p' c1)
r> drop drop swap ( p' m)
;
\ BF jump instructions
: <p [char] ] [char] [ ['] p-- jump p-- ;
: ?p> m@ 0= if [char] [ [char] ] ['] p++ jump then ;
\ BF operators table
create BFop
char > , ' m++ ,
char < , ' m-- ,
char + , ' m@++ ,
char - , ' m@-- ,
char . , ' m> ,
char , , ' >m ,
char [ , ' ?p> ,
char ] , ' <p ,
NULL ,
\ open a file from argument n
: (open) ( m n -- h)
args over over >r >r rot open dup 0= ( h f)
if ( h)
stdout use \ force use of stdout
." Cannot open " \ write message
r> r> type cr abort \ write filename
else ( h)
dup use r> r> drop drop \ use file, clear return stack
then ( h)
;
\ read BF source
: ReadBF ( --)
argn 2 < \ if no filename issued
abort" Usage: bf sourcefile" \ issue error message
input 1 (open) \ open the input file
BFSource #BFSource \ setup source buffer
over over erase accept \ read sourcefile
#BFSource = abort" File too large" \ check size
close \ close file
;
\ initialize interpreter
: InitBF ( -- a1 a2 a3)
0 level ! \ reset level
BFMemory #BFMemory erase \ clear memory
tib BFSource BFMemory \ setup parameters
;
\ run interpreter
: ExecBF ( a1 a2 a3 --)
p@ \ get operator
begin \ begin
BFop 2 1 lookup \ find operator
if execute else drop then \ if found execute else drop
p++ p@ dup 0= \ increment program counter
until \ until end-of-code marker
drop drop drop drop \ drop pointers
;

: BF ReadBF InitBF ExecBF ;

BF

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


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

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


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

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


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

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