AlexF писал(а):
опять не хватает описания параметров слов. Просто эпидемия какая-то практически по всем листинга из папки devel
Я правильно понимаю,
Уточняй, что не понятно. Я обязательно поправлю. Просто всегда можно что-то упустить из виду.
Я обязательно добавлю пояснение. Просто мне казалось, что примеров в конце достаточно.
AlexF писал(а):
[array] # --- это ( n0 n1 n2 ... nM M )
n - элемент массива
M - общее кол-во элементов ?
да на вершине стека общее кол-во элементов.
а вот порядо данны другой. Собственно массив растет вниз, значит заполняется как стек, значит 0-вой элемент будет сразу под счетчиком.
можно добавить два слова:
Код:
\ получить значение i-того элемента массива
: [i]@ ( [array] # i --> [array] # n[i] ) 1 + PICK ;
\ сохранить значение в i-тый элемент массива
: [i]! ( [array] # n i --> [array] # ) 1 + CELLS 2>R SP@ R> + R> SWAP ! ;
AlexF писал(а):
Еще, а как располагаются элементы массива на стеке? Я правильно воспроизвел порядок?
нет, порядок обратный
AlexF писал(а):
Т.е мне не понятна, из какой практической задачи выросла эта библиотека. Что смог предположить, решается проще...
Это действительно прикидывание механизмов постскрипта к Форту.
Писалось для практической задачи, но не подошло (то есть я просто рассматривал варианты создания массива, когда его длинна заранее неизвестна, и данные приходят как на стек и в случае возникновения ошибки о таких данных просто можно забыть) .
Мне лично оказалось проще создать отдельный стек, а не использовать общий. Но либа есть, к тому же народ уже интерисовался, как можно копировать массивы чисел на стеке данных, например для того же подсовывания их системным функциям.
profiT писал(а):
Цитата:
Т.е мне не понятна, из какой практической задачи выросла эта библиотека.
Насколько я понял слова автора практической задачи не было. Было желание поиграться в PostScript.
Практическая задача есть, но механика действительно взята из постскрипта, хотя там все гораздо мрачнее выглядит, с другой стороны, если бы в форте делались те же действия, что и в постскрипте, то такой механизм лишним не был бы. Потому как там много работы с матрицами.