SWIG (Simple Wrapper Interface Generator)は、 多くのプログラミング言語でC言語インターフェイスを作成するために使用されています。 Forth モジュールで拡張された SWIG バージョンは、 github にあります。
C言語のヘッダーはパースされ、 前述のC言語インターフェイス関数を使用する Forth のソース・コードに変換されます。
example.h
を使用しています。
example.h
のすべてを変換(translate)するよう指示するだけです:
%module example %insert("include") { #include "example.h" } %include "example.h"
.fsi-c
ファイルを作成します:swig -forth -stackcomments -use-structs -enumcomments -o example-fsi.c
example.i
.fsi-c
ファイルを .fsx
にコンパイルします(x は executable(実行可能)の意味です):gcc -o example.fsx example-fsi.c
.fs
ファイルに取り込むことです:./example.fsx -gforth > example.fs
いくつかの例: SWIG’s Forth Example section
たくさんのインターフェイス・ファイルがこちらにあります: Forth Posix C-Interface と Forth C-Interface Modules
Forth C-Interface Module repository への貢献はいつでも歓迎です!