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

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 366 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7 ... 25  След.
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Пт авг 18, 2006 00:39 
Не в сети
Moderator
Moderator
Аватара пользователя

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

За пределами уже определенных полей (до, после - без разницы)

увы, только до. После уже не катит. То есть конечно можно в конце слова, но это сделать сложнее.

ArtemKAD писал(а):
oleg писал(а):
если перед этим полем я свое захочу добавить?) тоже не изменится?

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

Я вообще не обижаюсь. Я лишь предлагаю причесать немного код компилятора.
При этом совместимость с либами должна остаться 8)

ArtemKAD писал(а):
oleg писал(а):
да причем тут значение поля? что значит Cell+ Cell+ Cell+ ???? мне это ничего не говорит! и не может сказать!

И не должно сказат !!!! Ты эти Cell+ Cell+ Cell+ не должен использовать НИ КАКИМ образом. Бо иначе будет тот самый хак...

А приведенный код и так есть хак, нормально было бы так:

: CLASS! ( cls wid --> ) >class ! ; где >class просто константа, определяющее смещение полей относительно, ну пускай wid-a.
ArtemKAD писал(а):
Цитата:
Да, проблема, так как править нужно в десятке мест
Не-а . Просто не трогать это . Тогда и править не придется

Равносильно тому, чтобы написать свое и не мучиться.
Это к вопросу о том, почему так много фортов 8(((


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт авг 18, 2006 07:09 
Как насчет перенести обсуждения оптимизатора СПФ из
топика Критики деятельности в данный:)

P.S. Что то мне подсказывает, что данный топик для этого:)


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт авг 18, 2006 10:40 
Не в сети

Зарегистрирован: Ср май 03, 2006 11:27
Сообщения: 1394
Откуда: St.Petersburg
Благодарил (а): 2 раз.
Поблагодарили: 11 раз.
oleg писал(а):
ArtemKAD писал(а):
: SHOWME CREATE LAST @ , DOES> @ COUNT TYPE ;

Теперь, то же самое, но без LAST @ , в части create?


: >NAME NEAR_NFA DROP ;
: SHOWME CREATE DOES> >NAME ID. ;


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

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

Перенос сообщений из топика в топик движок форума не поддерживает :(
Можно только разделить топик и организовать параллельный с похожим названием...

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


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

Зарегистрирован: Ср май 03, 2006 11:27
Сообщения: 1394
Откуда: St.Petersburg
Благодарил (а): 2 раз.
Поблагодарили: 11 раз.
Обнаружена ошибка. Проявлялась : SW >R >R R> R> ;
В правиле 0CA не учитывалось что ?EAX>ECX продвигает указатель на
следующий элемент в таблице ссылок на команды.

Исправленная версия: http://fpauk.narod.ru/macroopt.f


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

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

http://dada.perl.it/shootout/

P.S. Интересует сравнение оптимизатора на текущий момент.
Эти тесты отличаются? и чем от benchmark.f в каталоге sample\bench?
Хорошо бы приводить, для разнообразия, сравнение с Си компиляторами:)


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

Зарегистрирован: Чт май 04, 2006 18:18
Сообщения: 456
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.
Если интересуют - то пишите реализации тестовых алгоритмов на СПФе и отправляйте организаторам ;)
Если таковые (реализации) будут - лучше организовать отдельный топик.
benchmark.f старый (т.е. результаты приведённые в нём старые) и там мало тестов, и сравнение только против Фортов.

_________________
http://forth.org.ru/~ygrek


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

Зарегистрирован: Чт май 04, 2006 18:18
Сообщения: 456
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.
мдя.. Не заметил - там давно обновлений не было...

_________________
http://forth.org.ru/~ygrek


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт фев 27, 2007 17:08 
При сборке spf4 файл macroopt.f INCLUDED 2 раза:
первый раз в spf.f опосредованно через tc_spf.f, второй раз в spf.f непосредственно.
Так и должно быть?


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт фев 27, 2007 17:21 
Не в сети

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


Через tc_spf.f для целевого компилятора, в spf.f для работы в рантайме
целевой системы.
Множество определений в tc_spf.f : CREATE CONSTANT WNDPROC: UNTIL и т.д.
заново определяются в файлах вызываемых spf.f .


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

Зарегистрирован: Ср май 10, 2006 15:37
Сообщения: 1132
Откуда: Chelyabinsk ( Ural)
Благодарил (а): 0 раз.
Поблагодарили: 9 раз.
Код:
: [literal]             \ n -- ;
  \ резервируем литерал для корректировки будущего значения его.
\  ['] LIT, COMPILE, ,
   DIS-OPT  POSTPONE LITERAL  SET-OPT
;
: CompileJump           \ --
  POSTPONE >R
  ['] EXIT COMPILE, \ doexit,
; IMMEDIATE

: CompileBranch    \ "symbol" --
        -1 [literal]     \ если поставить 0 и не управлять оптимизатором, то он может превратить его в XOR ЕAX,EAX комаду
        POSTPONE CompileJump
; IMMEDIATE

: CompileCondBranch     \ "symbol" --
  POSTPONE IF
  POSTPONE CompileBranch
  POSTPONE THEN
; IMMEDIATE



Есть, примерно( второстепенные моменты опущены), такой код
для введения переходов GOTO в тексте определения

Что хочется:
1. Чтобы была возможность отсрочить работу оптимизатора до момента завершения
определения слова ( иметь возможность включать отсроченную оптимизацию в начале слова)
буфер оптимизатора на одно слово, пока значения литеральных символов не сформировано
в кодофайле.
2. Чтобы оптимизатор отработал такое использование


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

А сделано именно так, это просто на скорую руку, или сознательно?..

Просто например есть команды BRANCH, и ?BRANCH, . А также RET, и RLIT, .


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

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


Не особо въезжаю в твою проблему. Адрес выданный HERE оптимизатор не трогает.
Вообще делай пока без оптимизатора. Кагда заработает, подумаем как его сново подключить.

Некоторая реализация GOTO http://www.forth.org.ru/~mlg/mirror/hom ... /goto.html
Вообще достаточно devel\~mak\LIB\a_if.f


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср апр 18, 2007 15:32 
profiT писал(а):
Хм.

А сделано именно так, это просто на скорую руку, или сознательно?..
Просто например есть команды BRANCH, и ?BRANCH, . А также RET, и RLIT, .


Взята готовая реализация и дорабатывается для spf.
Это был первый вариант. Сейчас это выглядит по другому и почти как надо сделано.
BRANCH, ?BRANCH RET, RLIT, - нестандартные слова и не хочется их, из-за этого
использовать.

P.S. GOTO в ассемблере есть у ~profit ( RUNCH ), но по мне это фортовский хак.
Сейчас использую AHEAD, но в spf он не совсем стандартный.
нестандартные слова <MARK >MARK >RESOLVE в разных Форт системах
тоже по разному используются и все завязано на создании парных слов.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Чт апр 19, 2007 11:47 
Не в сети
Moderator
Moderator

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

Не особо въезжаю в твою проблему. Адрес выданный HERE оптимизатор не трогает.
Вообще делай пока без оптимизатора. Кагда заработает, подумаем как его сново подключить.


Код расширения языка не структурными переходами от MPE почти обкатал.
Осталось решить мелкие вопросы и куда выложить.

P.S. Комментарии, думаю оставить исходные или что-нибудь перевести.


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

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


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

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


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

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