реклама
Бургер менюБургер меню

Программист – Программирование на gforth (страница 3)

18

Win + R

, введите

cmd

и нажмите Enter;

– macOS/Linux: найдите «Терминал» в приложениях.

Введите команду:

gforth

Если установка прошла успешно, вы увидите приглашение системы:

Gforth 0.7.9, Copyright (C) 1995-2023 Free Software Foundation, Inc.

ok

Проверьте версию Gforth командой:

version .

Вы увидите номер версии, например: 0.7.9. 5. Выйдите из Gforth:

bye

5. Настройка окружения

Настройка истории команд

Gforth автоматически сохраняет историю команд в файл: * на Unix‑системах: ~/.gforth-history; * на Windows: в папке профиля пользователя.

Вы можете просмотреть путь к файлу истории командой:

history-file type

Настройка пути поиска файлов

Переменная окружения GFORTHPATH задаёт пути, по которым Gforth ищет файлы с кодом. По умолчанию это текущая директория и стандартные пути установки.

Чтобы добавить свой путь, установите переменную: * Windows (в командной строке):

set GFORTHPATH=C:\my\gforth\code;%GFORTHPATH%

• macOS/Linux (в терминале):

export GFORTHPATH="/home/user/mygforth:$GFORTHPATH"

Использование редактора

Для удобной работы с кодом рекомендуется использовать текстовый редактор с подсветкой синтаксиса Forth. Подходящие варианты: * VS Code с плагином Forth; * Emacs с режимом Forth (встроен); * Vim с настройками для Forth.

6. Первый запуск и интерактивный режим

Запустим Gforth и выполним несколько команд в интерактивном режиме:

Запустите Gforth командой gforth. Вы увидите приглашение ok.

Выполните простые арифметические операции:

5 10 + .

Ожидаемый вывод: 15 ok. 3. Проверьте содержимое стека командой .S (выводит элементы стека без удаления):

.S

Вывод: <0> ok (стек пуст после вывода числа). 4. Определите простое слово (функцию):

: square ( n -- n^2 ) dup * ;

Это слово возводит число в квадрат. Разберём синтаксис: * : — начало определения слова; * square — имя нового слова; * ( n -- n^2 ) — комментарий стекового эффекта (берёт число n, возвращает n^2); * dup — дублирует верхний элемент стека; * * — умножает два верхних элемента; * ; — конец определения. 5. Используйте новое слово:

3 square .

Ожидаемый вывод: 9 ok. 6. Выйдите из Gforth командой bye.

7. Сохранение кода в файл

Создайте файл с кодом, например hello.fs, и добавьте в него:

: hello ." Привет, мир!" cr ;

Запустите Gforth и загрузите файл:

include hello.fs

Выполните новое слово:

hello

Вывод: Привет, мир!.

Упражнение для закрепления

Установите Gforth на вашу ОС, следуя инструкциям выше.

Запустите Gforth в терминале и проверьте версию.

Определите слово cube, которое возводит число в куб (используйте dup дважды и умножение).

Протестируйте cube на числе 3 (ожидаемый результат: 27).

Сохраните определение cube в файл math.fs и загрузите его в новом сеансе Gforth.

Подсказка: Определение cube может выглядеть так:

: cube ( n -- n^3 ) dup dup * * ;

Если у вас возникли трудности на каком‑либо этапе, проверьте правильность ввода команд и пути к файлам. При необходимости обратитесь к разделу «Частые ошибки» в конце книги.

Глава 3. Основы синтаксиса Gforth

В этой главе разберём базовые элементы синтаксиса Gforth: структуру слов, работу со стеком, арифметические операции, комментарии и определение собственных слов.

1. Структура слова в Gforth

Слово (word) — основная единица кода в Forth. Это может быть: * оператор (+, DROP); * функция; * переменная (VARIABLE); * константа (CONSTANT).

Слова разделяются пробелами. Gforth не чувствителен к регистру: + и + — одно и то же.

2. Работа со стеком

Стек — центральная концепция Forth. Основные команды для работы со стеком:

DUP