Есть ли в GNU FORTH редактор?
Глава 3 " Запуск FORTH" гласит:
Теперь, когда вы сделали блок "текущий", вы можете перечислить его, просто набрав слово
L
, В отличие отLIST
,L
не хочет обрабатываться номером блока; вместо этого он перечисляет текущий блок.
Когда я бегу 180 LIST
, Я получил
Screen 180 not modified
0
...
15
ok
Но когда я бегу L
Я получаю ошибку
:30: Undefined word
>>>L<<<
Backtrace:
$7F0876E99A68 throw
$7F0876EAFDE0 no.extensions
$7F0876E99D28 interpreter-notfound1
Что я делаю неправильно?
4 ответа
Оказывается, это "Команды редактора", говорится в книге:
Для тех, чей редактор не соблюдает эти правила
Стандарт FORTH-79 не определяет команды редактора. Ваша система может использовать другой редактор; если это так, проверьте документацию вашей системы
Я не верю, что gforth вообще поддерживает внутренний редактор. Так L
, T
, I
, P
, F
, E
, D
, R
все предположительно не поддерживаются.
Да, gForth поддерживает внутренний (BLOCK) редактор. Начать gforth
- тип:
use blocked.fb
(демонстрационная страница) - тип:
1 load
- тип
editor
words
покажет редактору слова,s b n bx nx qx dl il f y r d i t 'par 'line 'rest c a m ok
тип
0 l
отобразить экран 0, который описывает редактор,Screen 0 not modified 0 \\ some comments on this simple editor 29aug95py 1 m marks current position a goes to marked position 2 c moves cursor by n chars t goes to line n and inserts 3 i inserts d deletes marked area 4 r replaces marked area f search and mark 5 il insert a line dl delete a line 6 qx gives a quick index nx gives next index 7 bx gives previous index 8 n goes to next screen b goes to previous screen 9 l goes to screen n v goes to current screen 10 s searches until screen n y yank deleted string 11 12 Syntax and implementation style a la PolyFORTH 13 If you don't like it, write a block editor mode for Emacs! 14 15 ok
Создание вашего собственного файла блока
Чтобы создать свой собственный новый файл блока myblocks.fb
- тип:
use blocked.fb
- тип:
1 load
- тип
editor
затем
- тип
use myblocks.fb
1 load
покажет BLOCK #1 (строки от 0 до 15. 16 строк по 64 символа в каждой)1 t
выделит строку 1- Тип
i this is text
вставлять в строку 1 - После того, как текущий блок отредактирован, введите
flush
для записи БЛОКА № 1 в файлmyblocks.fb
Для получения дополнительной информации см. GForth Blocks
gforth хорошо интегрируется с emacs. В моем xemacs здесь по умолчанию любой файл с именем *.fs считается FORTH-источником. "Ch m", как обычно, выдает доступные команды.
Нет, GNU Forth не имеет внутреннего редактора; Я использую Vim:)