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

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 87 ]  На страницу 1, 2, 3, 4, 5, 6  След.
Автор Сообщение
 Заголовок сообщения: обсуждение наброска стандарта
СообщениеДобавлено: Чт дек 17, 2009 22:11 
Не в сети
Administrator
Administrator
Аватара пользователя

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


mOleg писал(а):
'1. Команды DROP SWAP DUP OVER AND XOR OR ADD 2/ LIT работающие с числами могут
не работать с адресными ссылками,

нехорошо это однако...
а если надо переход по таблице устроить, а с адресом ни AND, ни ADD не работает?..

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


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

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
WingLion писал(а):
mOleg писал(а):'1. Команды DROP SWAP DUP OVER AND XOR OR ADD 2/ LIT работающие с числами могут
не работать с адресными ссылками,

нехорошо это однако...
а если надо переход по таблице устроить, а с адресом ни AND, ни ADD не работает?..


почему же? проблемы возникают только в случае, если адреса больше разрядности данных.
если адрес двойной(и более) длины, а младшая часть адреса лежит сверху, то можно и ADD и AND (это как страничная адресация, получится).

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


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

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


Так надо так и заявлять, что адреса, попадая на стек данных нулями(единицами) добиваются,
и после этого все операции работают, a в обратную сторону truncated... и все...

А заявление, что "могут не работать" - дико сбивает с толку...

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


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

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


Так надо так и заявлять, что адреса, попадая на стек данных нулями(единицами) добиваются,
и после этого все операции работают, a в обратную сторону truncated... и все...

А заявление, что "могут не работать" - дико сбивает с толку...

интересно, можно ли пресмотреть в стандарте возможность отдельного стека для адресов - возни с его организацией, конечно, выше крыши, но зато возни с форматами меньше


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

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

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

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


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

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

вобщем да, но по сути эти моменты должны быть описаны где-то в параграфе 3 или 4

что касалось "могут не работать" то имелось ввиду, что работать не так, а не вообще не работать.

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


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

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


в стандарте имеет смысл предусмотреть возможность иметь несколько дополнительных стеков, механизмы обмена между стеками, операции на стеках и т.п. и т.д.

варианты:
float-point стек - де-факто уже есть в x86 системах.
стек для организации циклов - встречается.

Но это, имхо, стоит делать в виде расширения к стандарту, а не валить все в одно место.

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


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

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

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


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

Зарегистрирован: Пт окт 15, 2010 14:29
Сообщения: 124
Благодарил (а): 68 раз.
Поблагодарили: 1 раз.
mOleg писал(а):
Всего 17 команд.
?????? что пропустил ?????

А в каком наборе будет INTERPRET или EVALUATE?

_________________
Мои программные ништякиhttps://majestio.info


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: набросок стандарта от mOleg
СообщениеДобавлено: Вс май 26, 2013 18:20 
Не в сети
Moderator
Moderator
Аватара пользователя

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

только "должно быть", тут.
А так второй

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: набросок стандарта от mOleg
СообщениеДобавлено: Вс май 26, 2013 18:23 
Не в сети
Аватара пользователя

Зарегистрирован: Пт окт 15, 2010 14:29
Сообщения: 124
Благодарил (а): 68 раз.
Поблагодарили: 1 раз.
Ок. Понял.

_________________
Мои программные ништякиhttps://majestio.info


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: набросок стандарта от mOleg
СообщениеДобавлено: Вс май 26, 2013 18:31 
Не в сети
Аватара пользователя

Зарегистрирован: Пт окт 15, 2010 14:29
Сообщения: 124
Благодарил (а): 68 раз.
Поблагодарили: 1 раз.
И еще попутно вопрос... Если рассматривать создание Форт-среды по данному стандарту с нуля, не с Форта 3.х. Какую часть стандарта придется писать в машиных командах (или на другом языке, с последующей компиляцией), а какую уже можно будет продолжать на самом Форте? И будет ли впоследствии замена предыдущего кода (написанного на машинном языке) кодом на Форте? Если "да", то до какого предела?

_________________
Мои программные ништякиhttps://majestio.info


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: набросок стандарта от mOleg
СообщениеДобавлено: Вс май 26, 2013 18:44 
Не в сети
Administrator
Administrator
Аватара пользователя

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

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



За это сообщение автора Hishnik поблагодарил: Majestio
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: набросок стандарта от mOleg
СообщениеДобавлено: Вс май 26, 2013 20:08 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 2141
Благодарил (а): 8 раз.
Поблагодарили: 74 раз.
mOleg писал(а):
Majestio писал(а):
Если рассматривать создание Форт-среды по данному стандарту

Т.е. минимальный набор именно эти 17 определений, однако, набор хотя и достаточный, но не слишком удобный, т.е. на низком уровне стандартно должно быть реализовано около 100 определений.
Причем, все они достаточно просты в реализации.
.

Если при раскрутке Форт системы используется, в той или иной степени, техника оптимизации определений под целевую
архитектуру, то и эти следующие "простые" определения не обязательно реализовывать на ассемблере. Особенно это может касаться
определений, которые, например, проводят процесс компиляции и в непосредственной дальнейшей работе результирующего
кода не задействованы при этом. Их может оказаться выгодным, в целях уменьшения размера кода, вообще не подвергать оптимизации
для целевого CPU во встроенной Форт системе. Реализации Форт слов, в разных Форт системах, бывает сильно отличаются и характеризуется
принятыми проектными решениями и ограничениями целевого CPU.

P.S. В SPF4, например, встроен макро-оптимизатор и код многих Форт слов, при самосборке, вполне адекватен предполагаемому результату.
Можно посмотреть и сравнить что получается на выходе и при желании доработать макрооптимизатор.



За это сообщение автора KPG поблагодарил: Majestio
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: набросок стандарта от mOleg
СообщениеДобавлено: Вс май 26, 2013 20:19 
Не в сети

Зарегистрирован: Сб май 06, 2006 12:01
Сообщения: 959
Откуда: Украина, Харьков
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.
Majestio писал(а):
И еще попутно вопрос... Если рассматривать создание Форт-среды по данному стандарту с нуля, не с Форта 3.х. Какую часть стандарта придется писать в машиных командах (или на другом языке, с последующей компиляцией), а какую уже можно будет продолжать на самом Форте? И будет ли впоследствии замена предыдущего кода (написанного на машинном языке) кодом на Форте? Если "да", то до какого предела?
Минимум - 3 команды ... ;) Если есть запись в память и возможность из нее выполнять код.
У меня для раскрутки пришлось сделать меньше десятка команд и несколько переменных.
Потом компилятор Forth-на-Forth-е (ну, на самом деле colorForth), который работает одновременно с интерпретатором. Когда в 64Кб откомпилировалась третья система, стало неудобно отлаживать... Пошел искать инструменты получше. До сих пор ищу... ;) Периодически, правда, порываюсь сам сделать... ;)

_________________
With best wishes, in4.



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

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


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

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


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

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