FORTH学習をスムーズに始めるために、Windows+Visual Studio Code+WSL環境でgforthを導入・設定し、基本的な動作確認を行う。説明は大雑把にするので、詳細が必要な場合は各自調べてください。
Windows 11
1. 開発環境の全体像
本講座では、以下の構成でgforthを利用する。
- エディタ: Visual Studio Code(VS Code)
- 実行環境: Windows Subsystem for Linux(WSL2, Ubuntu 20.04 以降)
- FORTH処理系: gforth 0.7.9(公式GNU Forthディストリビューション)
この構成の利点は次のとおりである。
- Windows上でLinux版gforthを使用できるため、UNIX的ツールとの連携が容易。
- VS Codeを利用してFORTHコードの編集・実行が可能。
2. WSL(Ubuntu)の導入手順
-
Windows Subsystem for Linux
- Windows Subsystem for Linuxを有効にする
-
Ubuntuのインストール
- Microsoft Storeから「Ubuntu xx.xx LTS」を検索しインストール。
- 初回起動時にユーザー名とパスワードを設定。
-
基本更新
sudo apt update sudo apt upgrade -y
3. gforth のインストール方法
sudo apt install gforth -y
WSLでは 0.7.9_20250321 だった。(2025年11月時点)
Ubuntu標準リポジトリのgforthは0.7.3で止まっているようだ。このバージョンだと、FORTH標準のほとんどは動作するが、gforthのドキュメントで書かれている機能の一部が動作しない。それは、gforthの独自機能の場合もあるし、FORTH標準機能の場合もある。
できれば、0.7.9 の方が使い勝手がいい。
Windowsのバイナリが提供されているのは、0.7.0 と、かなり古いものになっている。DJGPPでコンパイルできるとあるのだが、情報が見当たらない。
4. Visual Studio Code の設定
-
拡張機能を導入
-
Forth(作者: Filippo Tortomasi など)
-
-
WSL環境に接続
- VS Codeのターミナルを表示させ、Ubuntu(WSL)を選択。
-
コード実行テスト
新規ファイルhello.fsを作成し、以下を記述して保存。CR ." Hello, Forth world!"VS Codeのターミナルで:
入力gforth hello.fsあるいは、ターミナルでgforthを起動した状態で
入力include hello.fs出力Hello, Forth world!
gforthの操作を行う場合、対話モードでスタックなどを確認しながら進めると理解しやすい。しかし、ワード定義など、一連の動作をまとめて実行させたい場合は、ファイルに記述してincludeを使った方が作業が簡単になる。
5. gforthの終了方法
bye
あるいは、行の先頭で Ctrl + D を押す。
6. 注意点
ソースファイルの保存形式をUTF-8に統一すること。
gforthは低レベルなメモリアクセスを許すため、不完全な操作によって無限ループやシステム不安定化を起こすことがある。
その場合は、Ctrl + C による中断、または Ctrl + D による終了を行う。
動作が不安定なときは、一度終了して再起動すること。
FORTHはアドレス操作をユーザーが直接行う言語である。
範囲外アクセスや未初期化領域アクセスを防ぐ仕組みはなく、
C言語と同様にユーザー自身の責任でメモリを管理する必要がある。
GitHubから最新版を取得
Ubuntu標準リポジトリはgforthは0.7.3(2025年11月現在)なので、0.7.9 を使うにはGitHubリポジトリからクローンしてコンパイルする。Windows 11のWSL上でもコンパイルできる。
1. 依存パッケージのインストール
まず、gforthのビルドに必要な開発ツールとライブラリをインストールする。
sudo apt update
sudo apt install -y git build-essential autoconf automake libtool texinfo libffi-dev
2. GitHubリポジトリをクローン
GNU公式のgforthリポジトリを取得する。
git clone https://github.com/forthy42/gforth.git
cd gforth
最新版のソースコードは、以下のサイトで公開されている。
2025年11月時点で 0.7.9_20251119 が公開されている。
3. BUILD-FROM-SCRATCHの実行
gforthはAutotoolsを使ってビルドされるが、そのすべてを自動で処理してくれるスクリプトが BUILD-FROM-SCRATCH である。このスクリプトは コンパイル・設定・インストールを一括で実行 し、Autoconf警告(例:AC_HEADER_STDC is obsolete)を回避できる。
既にsudo apt installでgforthをインストールしている場合は、sudo apt autoremove gforthで削除しておくこと。
実行手順:
./BUILD-FROM-SCRATCH
完了後、次でバージョンを確認:
gforth --version
gforth 0.7.9_20251001 amd64
コンパイルが終わったら、以下のコマンドでインストールを行う。
sudo make install
4. REPL
インタラクティブに起動して動作確認します:
gforth
gforthが起動すると、プロンプトとして ok が現れる。これがFORTHのREPL(Read-Eval-Print Loop)であり、ここでワードを直接入力し、即座に結果を確認できる。
たとえば 2 3 + . と入力すると、スタックに積まれた「2」と「3」を加算し、結果の「5」が表示される。.S を使えば現在のスタックの状態を表示でき、: SQUARE DUP * ; と定義すれば新しい命令(ワード)が即座に環境へ追加される。
以下は、WindowsのWSL(Ubuntu)での実行画面で、赤線の部分がユーザー入力した箇所になる。
このバージョンでは、gforthrc を自動で読み込んだり、画面下のステータスバーにスタックの状態が表示される。
プロンプトが表示されたら次を入力:
1 2 + .
3 ok
終了は:
bye
REPL上で定義・実行・確認を繰り返すことで、プログラマはFORTHを単なる言語ではなく、自分で拡張していく「思考の実験場」として扱うことができる。わずか数秒でコンパイルから実行まで完結し、環境の中で言語そのものが成長していく――それがFORTHの学習体験の魅力である。
gforthrc
gforth 0.7.9 では、起動のたびに指定された一連の処理を自動で実行させることが出来る。gforthのコマンドラインでhelpと入力すると最後2行に説明がある。
日本語訳
Gforthマニュアルは、http://gforth.org/manual/ で利用できます。または、お好みの情報リーダー(例: シェルから
info gforth)を使用してください。また単にhelp <word>と入力することで、該当ワードのヘルプを表示することもできます。
Gforthを終了するには、byeと入力するか、行の先頭でCtrl + Dを押してください。
浮動小数点数を入力する場合は、指数表記を使用します。例:1e。
倍長整数(double-cell integers)を警告なしで入力するには、基数プレフィクスを付け、小数点.は最後の位置のみに置いてください。例:#1.。
暗い背景色に適した色表示にするには、dark-modeと入力します。
警告を無効化するにはwarnings offを入力し、
警告を最小限に抑えるには-1 warnings !を入力します。
~/.config/gforthrc0は、OSコマンドラインを処理する前に読み込まれます。
~/.config/gforthrcは、Forthコマンドラインに入る前に読み込まれます。
問題は、~ で表示されているホームディレクトリがどこにあるかだが、以下のコマンドを使えば分かる。
s" HOME" GETENV TYPE
私は、ホームディレクトリ以下の .config/gforthrc に、以下のような定義を書き込み、よく使うワードを登録している。
\ スタックの内容を全て加算
: sum
begin depth 1 > while
+
repeat ;
\ 浮動小数点スタックの内容を全て加算
: fsum
begin fdepth 1 > while
f+
repeat ;
\ スタックの内容をすべて消す
: clear
begin depth 0> while
drop
repeat
begin fdepth 0> while
fdrop
repeat ;
\ 配列の内容を表示
: .ARRAY ( addr n -- )
0 DO DUP I CELLS + @ . LOOP DROP CR ;
\ カレントディレクトリのファイルを表示
: LS
S" ls -l" SYSTEM ;



