Описание тега gforth
Gforth - это быстрая и переносимая реализация языка ANS Forth. Он прекрасно работает с редактором Emacs, предлагает некоторые приятные функции, такие как завершение ввода и история, а также мощное средство локальных переменных.
2
ответа
Как мне реализовать Y-комбинатор в Forth?
На Rosetta Code нет реализации Y-комбинатора в Forth. Как я могу это сделать? Как мне использовать Y-комбинатор в Forth? И почему?
04 фев '16 в 11:30
3
ответа
Многобайтовое хранение и выборка в Forth - как реализовать?
При использовании больших массивов было бы неплохо иметь возможность настроить массив для определенного количества байтов на число. В основном, я хочу, чтобы быстрые подпрограммы считывали такие скорректированные многобайтовые числа в синглы в стеке…
28 ноя '15 в 00:08
0
ответов
Сбой теста libcc.fs на OS X
Просто начинайте работу с gforth на Mac под управлением ОС версии 10.13.6. Когда я запускаю gforth и запускаю тестовую программу libcc.fs, я получаю следующий вывод: include libcc.fs 7F8095613AE0: 66 6F 6F 6F 00 - fooo. <1> 140190238718688 ld:…
25 ноя '18 в 02:16
2
ответа
Освободить память, ранее выделенную для переменной (используя create)
Я читаю руководство Gforth по распределению / освобождению памяти, и это то, что я не могу понять. Предположим, я выделил кусок памяти для хранения четырех целых чисел, как это: create foo 1 , 2 , 3 , 4 , Тогда, может быть, я выделил больше памяти и…
06 авг '13 в 10:15
3
ответа
Загрузка из входного буфера терминала в стек параметров
Почему этот код не работает? TIB 10 ACCEPT TIB SP@ 1 cells - 10 cmove В этом коде я попытался ввести строку и сохранить ее в буфере ввода терминала, а затем сохранить в стеке параметров. Но с.S I вижу, что не работает.
09 янв '15 в 21:50
1
ответ
Ловля исключений из цикла
Я пытаюсь написать слово Forth, которое бросит все элементы в стеке. Я использую довольно тупой метод, выполняя бесконечный цикл с помощью drop и ловя ошибку, когда не удается выполнить drop, поскольку стек пуст. Мои слова определены так: ( Infinite…
05 ноя '14 в 17:23
1
ответ
Большое целое число в Forth?
Я разработал систему больших целых чисел (для чисел динамической длины) в Forth (ANS-94), но она слишком медленная. Есть ли в наличии быстрые системы? Кроме того, любые советы по этому вопросу приветствуются.
25 фев '15 в 02:53
1
ответ
Расшифруйте сообщение, закодированное в шестнадцатеричном формате, с помощью Forth
Я пытался преобразовать сообщение, закодированное в шестнадцатеричном, в Forth. Следующие три слова вышли. Это работает, но кажется уродливым и излишне сложным. Кроме того, это не является реальным решением, так как я хотел сохранить результат в дру…
15 фев '18 в 13:30
4
ответа
Есть ли в GNU FORTH редактор?
Глава 3 " Запуск FORTH" гласит: Теперь, когда вы сделали блок "текущий", вы можете перечислить его, просто набрав слово L, В отличие от LIST, L не хочет обрабатываться номером блока; вместо этого он перечисляет текущий блок. Когда я бегу 180 LIST, Я…
17 фев '18 в 01:42
3
ответа
Где я могу найти Forth / Gforth API?
Я начал изучать Forth пару дней назад, начиная с книги Starting Forth . После написания моих первых программ мне стало интересно, есть ли что-то вроде Java API или подробного руководства по всем уже реализованным методам. Можете ли вы порекомендоват…
23 окт '13 в 20:27
2
ответа
Вперед вызов функции C printf со строкой
Я вызываю функцию C printf с S" ..." строка и я бью неверный адрес памяти. Как правильно передать указатель на строку с нулевым символом в конце, которая была создана на стороне Forth в C. Вот две версии Hello World в gforthодин использует выделенны…
11 авг '18 в 06:18
0
ответов
Ошибка установки Gforth на OS X Mavericks (10.9) с помощью Homebrew
Я пытаюсь установить Gforth на свой MacBook Air (под управлением OS X Mavericks (10.9)), но brew install gforth выдает следующую ошибку: Error: gforth dependency libffi was built with the following C++ standard library: libstdc++ (from clang) This i…
23 янв '14 в 18:36
1
ответ
Добавьте целочисленное значение к значению с плавающей запятой в Gforth
В Gforth, есть ли способ добавить целочисленное значение к значению с плавающей запятой? Что-то вроде 1 + 2.1? Если я сделаю 1 2.1e f+ Я получаю сообщение об ошибке, потому что значения не находятся в одном стеке. Я знаю, что я мог просто сделать 1.…
15 янв '13 в 22:19
1
ответ
Как я могу прочитать сырой код с веб-сайта в Gforth?
Я хотел бы слово как read-site ( add n buff max -- n flag ) где "add n" - буфер имени сайта, "buff max" - буфер, в который должен быть прочитан текст ASCII, "n" - количество прочитанных байтов и flag истина, если операция прошла успешно. Это возможн…
02 фев '18 в 16:46
1
ответ
Как я могу контролировать, где будут компилироваться новые слова Forth?
Есть ли способ изменить то, что HERE указывает или каким-либо другим способом убедиться, что следующее определение, которое я скомпилирую, окажется в каком-то особом месте? Или я могу скопировать определение куда-нибудь еще, как только оно будет сде…
02 сен '14 в 18:59
1
ответ
FORTH включить против нагрузки?
INCLUDE очевидно, файл IO. Но я запутался, как это работает LOAD, Что значит INCLUDE обойтись без LOAD? Из книги INCLUDE xxx ( -- ) Загрузите текстовый файл xxx (компилирует или выполняет). LOAD ( n -- ) Загружает блок диска (компилирует или выполня…
19 фев '18 в 04:55
2
ответа
Как создать слова в определении Forth
Я использую Gforth, и я хочу создать слово в определении. В строке cmd Gforth я могу ввести: create foo ok Или, более конкретно, я определил функцию массива, которая ожидает размер в стеке и создает слово с адресом этого массива: : array ( n -- ) ( …
24 окт '13 в 17:34
1
ответ
Распечатать определение функции в Forth
Когда слово уже определено в Forth, есть ли способ напечатать его определение? Я слышал, что многие из встроенных функций Форта, такие как emit, dropи т. д. определяются самим языком, и я хотел бы иметь возможность взглянуть на их определения.
02 сен '13 в 18:50
3
ответа
Массив цикла к сумме возвращает адрес как чтение вместо правильного ответа. Зачем?
Я пытаюсь создать программу, которая будет суммировать массив для меня, но она продолжает давать мне действительно длинное число, напоминающее адрес, когда я пытаюсь запустить слово sum. Я попытался разобрать его и запустить его построчно за предела…
04 июн '15 в 09:29
1
ответ
Проверка на первичность в Форт
Как я могу проверить на примитивность в Forth? Вот то, что я использую сейчас, но с большими числами это замедляется: : prime ( n - f ) DUP 2 < IF DROP 0 EXIT THEN DUP 2 ?DO DUP I I * < IF DROP -1 LEAVE THEN DUP I MOD 0= IF DROP 0 LEAVE THEN L…
09 ноя '12 в 19:42