Forth
http://fforum.winglion.ru/

обсуждение наброска стандарта
http://fforum.winglion.ru/viewtopic.php?f=36&t=2242
Страница 4 из 5

Автор:  mOleg [ Ср авг 19, 2009 20:45 ]
Заголовок сообщения: 

avl писал(а):
А давайте будем называть не "плоская", а логически точнее — "линейная"

логчино, исправлю

Автор:  mOleg [ Чт авг 27, 2009 12:06 ]
Заголовок сообщения: 

итак, определение

Цитата:
Стек - устройство или механизм, предназначенный для временного хранения данных, поддерживающий две фундаментальных операции над данными: заталкивание данных в стек, выталкивание данных из стека (мнемонически PUSH и POP). Заталкивание и извлечение данных ведется только с одной стороны, таким образом извлечении данных порядок их следования относительно порядка заталкивания реверсируется (что обозначается в англоязычной литературе как Last In First Out или LIFO). По сути стек - это метод кэширования данных, то есть сохранения копии данных в промежуточном буфере в порядке наиболее вероятного их использования. Стек может быть реализован с помощью различных методик, поэтому может обладать дополнительными свойствами и возможностями в дополнение к определяющим.

добавлено в 2. Принятые сокращения и обозначения, соглашения по именованию слов

Автор:  VoidVolker [ Чт авг 27, 2009 12:59 ]
Заголовок сообщения: 

mOleg писал(а):
поэтому може обладать

Опечатка.

Автор:  mOleg [ Чт авг 27, 2009 17:01 ]
Заголовок сообщения: 

VoidVolker писал(а):
Опечатка.

спасибо, исправлено

Автор:  mOleg [ Чт дек 17, 2009 09:44 ]
Заголовок сообщения: 

небольшое дополнение

Автор:  вопрос [ Чт дек 17, 2009 10:08 ]
Заголовок сообщения: 

Цитата:
Только lfa является уникальным для любого слова! Поэтому, именно адрес поля связи имеет смысл использовать как глобальный идентификатор конкретного определения. Таким образом, все слова, позволяющие работать с полями слова должны как базу использовать lfa, а не nfa и не cfa.

' THIS_NAME даст поле LF ?

Автор:  mOleg [ Чт дек 17, 2009 10:28 ]
Заголовок сообщения: 

вопрос писал(а):
' THIS_NAME даст поле LF ?

нет, обычным образом все будет. Слова ' и ['] будут работать обычным образом.
Изменение касается только внутреннего устройства словаря, формата словарной статьи и небольшой модификации слов работающих непосредственно с полями слова: >LINK L>NAME >BODY и им подобных.

Автор:  mOleg [ Чт дек 17, 2009 10:51 ]
Заголовок сообщения: 

добавлен рисунок

Автор:  mOleg [ Чт дек 17, 2009 11:27 ]
Заголовок сообщения: 

добавлен новый параграф представление и хранение имен

Автор:  mOleg [ Чт дек 17, 2009 12:47 ]
Заголовок сообщения: 

добавлен новый параграф 3.2 Грануляция памяти, выравнивание данных.

Автор:  mOleg [ Чт дек 17, 2009 16:00 ]
Заголовок сообщения: 

mOleg писал(а):
вопрос писал(а):' THIS_NAME даст поле LF ?

нет, обычным образом все будет. Слова ' и ['] будут работать обычным образом.

Изменение касается только внутреннего устройства словаря, формата словарной статьи и небольшой модификации слов работающих непосредственно с полями слова: >LINK L>NAME >BODY и им подобных.


Хочу добавить. При использовании "адресации" относительно поля связи, получается следующя картина:

\ искать по имени слова asc # его поле связи
: SEARCH-NAME ( asc # vid --> lfa | false )

\ искать слово asc # в списке словарей vidn .. vid1 количеством v#
\ в случае успеха вернуть адрес поля связи слова
: QUEST ( [ vidn .. vid1 ] v# asc # --> asc # 0 | lfa )

\ найти адрес поля кода по lfa слова, вернуть состояние флага immediate слова
: LINK>XT ( lfa --> xt imm | o )

\ найти адрес поля кода xt слова asc #
: SFIND ( asc # --> asc # 0 | xt imm ) D>R GET-ORDER DR> QUEST LINK>XTI ;

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

Автор:  in4 [ Чт дек 17, 2009 21:39 ]
Заголовок сообщения: 

mOleg писал(а):
5.2 Базовый обязательный набор примитивов
...
Всего 17 команд.
?????? что пропустил ?????

BRANCH !

Автор:  mOleg [ Чт дек 17, 2009 21:41 ]
Заголовок сообщения: 

in4 писал(а):
mOleg писал(а):5.2 Базовый обязательный набор примитивов

...

Всего 17 команд.

?????? что пропустил ?????

BRANCH !

ничего не пропустил, можно так:
0 ?BRANCH

Автор:  in4 [ Чт дек 17, 2009 21:42 ]
Заголовок сообщения: 

mOleg писал(а):
Базовый набор примитивов ФВМ может отличаться от приведенного выше, но совместимая с данным стандартом Форт-система должа обязательно иметь
перечисленные выше примитивы.
А не слишком жесткое ограничение?
Может, сказать, что эти команды должны быть реализованы в системе? Не обязательно же они должны быть примитивами!
Но стандарт твой.
Я бы в стандарте определял то, без чего нельзя обойтись, а не то, что хотелось бы.

Автор:  mOleg [ Чт дек 17, 2009 21:54 ]
Заголовок сообщения: 

in4 писал(а):
mOleg писал(а):Базовый набор примитивов ФВМ может отличаться от приведенного выше, но совместимая с данным стандартом Форт-система должа обязательно иметь
перечисленные выше примитивы.А не слишком жесткое ограничение?
Может, сказать, что эти команды должны быть реализованы в системе? Не обязательно же они должны быть примитивами!

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

in4 писал(а):
Но стандарт твой.

увы, похоже пока это только меня волнует...

in4 писал(а):
Я бы в стандарте определял то, без чего нельзя обойтись, а не то, что хотелось бы.

Вообще все обсуждаемо и поправимо. Я выложил некий скелет своего видения документа, так как не увидел ни у кого другого ничего подобного.
Любые конструктивные предложения и замечанию приветствуются :D

Страница 4 из 5 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/