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

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 65 ]  На страницу Пред.  1, 2, 3, 4, 5  След.
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Пн авг 10, 2009 22:53 
Не в сети

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


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

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
Ещё важно - предусмотреть либо некий стандарт на ... фрагмент документации либо на некие слова ( предлагал не раз ) типа [ ].info - показывающие программисту некоторые подробности внутреннего устройства форт-системы без разбирательства с исходным кодом.
Первый случай, когда это полезно - ассемблерные вставки, чтобы их делать нужно ориентироваться в том, где лежит если не весь стек, то хотя бы его вершина


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

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

Когда об оптимизаторе говорят отдельно, это скорее регресс.
вопрос писал(а):
предусмотреть такие радости как инлайн (в стандарте? чтобы не приходилось C@ C! )

А чем это не инлайн?
вопрос писал(а):
Цитата:
Чего 10 - это понятно. А вот чего 27?
Видимо, имеется ввиду, что могут быть (а ведь могут быть) не только англоязычные форты

Это как? 26 латинских символов и буква "Ё"? :)


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

Зарегистрирован: Сб май 06, 2006 12:01
Сообщения: 959
Откуда: Украина, Харьков
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.
Хищник писал(а):
Чего 10 - это понятно. А вот чего 27?

Код:
abcdefghijklmnopqrstuvwxyz_
123456789112345678921234567
Второй раз, конечно 27 не будет, разве что еще какой символ добавить ;) Вот интересно, какой?

_________________
With best wishes, in4.


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

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

Цитата:
Это как? 26 латинских символов и буква "Ё"?
Сколько символов, например, в русском алфавите? :D


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

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

эм, ошибся на 1цу, 26 букв в латинском алфавите. Получается, тогда, до 62...

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


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

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

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


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

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
тут, скорее, ближе BASE64, но и там
Цитата:
Используются только символы латинского алфавита в верхнем и нижнем регистре — символы (A—Z, a—z), цифры (0—9), и символы «+» и «/»

вобщем, 62 подходит лучше, правда, можно расширить до
10+26+32=68 символов, используя как латинские литеры, так и кирилицу :)) :)) :))
короче, BASE68 , либо, в пику буржуям использовать только кирилицу, тогда:
10+32+32=74 !!!

Но это в шутку, а если серьезно, то для работы с различными системами счисления ограничение сверху 10+26 = 36
то есть ограничение значения BASE (стандартом) сверху ставить равным 36?

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


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

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

Сколько там в переменную BASE влазит разрядов так чтобы при вычислениях не вылезало за сетку? столько и делать. А символов в ASCII - 256 имеется!

mOleg писал(а):
тут, скорее, ближе BASE64,

формально - это почти то же самое (уж и не знаю, кто с кого содрал, скорее M$ с FIDO чем наоборот)

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


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

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

это не ограничения, а скорее наоборот, разрешения.
То есть, любая система должна работать с таким диапазоном оснований (не менее), все что выше не запрещается, но уже является некой дополнительной возможностью. Это нормально для стандарта, потому что иначе можно получить только лозунг-манифест:
"ДелАй все, что захочешь!"
это, конечно приятно, но к стандарту отношения уже не имеет.

Вопрос лишь в том на сколько ограничения:
1) разумны,
2) необходимы,
3) реализуемы

WingLion писал(а):
Сколько там в переменную BASE влазит разрядов так чтобы при вычислениях не вылезало за сетку? столько и делать. А символов в ASCII - 256 имеется!

самая большая проблема сейчас UNICODE, который бывает разных типов: UTF8, UTF16, UTF32
с фиксированной длиной символов(UTF32) и с плавающей (от 1 до 6 байт на символ)
со своими проблемами, вроде составных символов, и различными кодами для одного символа
Так что символов значительно больше 256, но не имеет смысла связывать основание системы системы счисления с доступным количеством символов в системе.

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


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

Зарегистрирован: Вт сен 11, 2007 11:07
Сообщения: 187
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.
если задать отдельную таблицу цифр (а ещё лучше - слово-конвертер), то любой BASE будет осмысленным
Код:
CREATE BASE_XLAT CHAR 0 C, ... CHAR 9 C, CHAR A C, ....

или
Код:
VECT CHAR2DIGIT :NONAME
    DUP [CHAR] 0 [CHAR] 9 1+ WITHIN IF [CHAR] 0 - EXIT THEN
    DUP [CHAR] A [CHAR] Z 1+ WITHIN IF [CHAR] A - 10 + EXIT THEN
.....
    DROP -1
; TO CHAR2DIGIT


а поддержка юникода в факторе реализована, какие-то вещи можно там подсмотреть
http://docs.factorcode.org/content/arti ... .utf8.html


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

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


Код:
2 2 = IF <сюда попадаем, если 2 = 2, т.е. условие истинно> THEN

Откуда следует, что если IF реализуется через ?BRANCH, то переход (обход ветки до TNEN) должен выполняться, если на стеке 0.
mOleg писал(а):
ADD ( a b --> n )
- произвести сложение двух чисел, находящихся на вершине стека данных,
результат сложения оставить на вершине стека данных, в случае
переполнения установить флаг переполнения

2/ ( n --> u )
- арифметический сдвиг числа, лежащего на вершине стека данных на один
бит вправо


SUB 2* U2/ (команды сдвига в этой связи удобнее обозначить как SHL SHR SHRA)

Дальше идут всяческие "и т.п.", поэтому разбирать пока нечего.


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

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


по крайней мере в форке есть таке слова
<pre>
\ преобразовать символ в цифру √
: >CIPHER ( c --> u|-1 )
DUP [CHAR] 0 [CHAR] : WITHIN IF 48 - ;THEN
DUP [CHAR] A [CHAR] [ WITHIN IF 55 - ;THEN
DUP [CHAR] a [CHAR] { WITHIN IF 87 - ;THEN
DROP -1 ;

\ попытаться преобразовать символ char в цифру,
\ в системе счисления, определяемой base √
: DIGIT ( char base --> u TRUE | FALSE )
SWAP >CIPHER TUCK U>
IF TRUE ;THEN
DROP FALSE ;
</pre>

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


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

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
garbler писал(а):
а поддержка юникода в факторе реализована, какие-то вещи можно там подсмотреть
http://docs.factorcode.org/content/arti ... .utf8.html

ага, интересно, хотя я опять же свой вариант уже сделал.

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


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

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

да, тут я все время путаюсь, ща исправлю

Хищник писал(а):
SUB 2* U2/ (команды сдвига в этой связи удобнее обозначить как SHL SHR SHRA)

тут мне кажется надо начинать с описания
Цитата:
5.1 Базовая модель Форт-Машины.

а потом уже к командам переходить.

Вообще пока что в данном наброске главное структура, а заполнение пока больше очень схемотичное, главное чтобы было понятно где что должно находиться и что за чем следовать.

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


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

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


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

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


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

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