Есть ли в 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

  1. тип: use blocked.fb (демонстрационная страница)
  2. тип: 1 load
  3. тип editor
  4. words покажет редактору слова,

    s b n bx nx qx dl il f y r d i t 'par 'line 'rest c a m  ok
    
  5. тип 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

  1. тип: use blocked.fb
  2. тип: 1 load
  3. тип editor

затем

  1. тип use myblocks.fb
  2. 1 load покажет BLOCK #1 (строки от 0 до 15. 16 строк по 64 символа в каждой)
  3. 1 t выделит строку 1
  4. Тип i this is text вставлять в строку 1
  5. После того, как текущий блок отредактирован, введите flush для записи БЛОКА № 1 в файл myblocks.fb

Для получения дополнительной информации см. GForth Blocks

gforth хорошо интегрируется с emacs. В моем xemacs здесь по умолчанию любой файл с именем *.fs считается FORTH-источником. "Ch m", как обычно, выдает доступные команды.

Нет, GNU Forth не имеет внутреннего редактора; Я использую Vim:)

Другие вопросы по тегам