Mopsは、予め定義されたたくさんのワードを持っています。ANSI Forthの規格に規定されたコアおよびコア拡張のワードは、ほぼ全て既定です。しかし、もちろん、それだけではアプリケーションにはなりません。そこで、既定のワードを用いて、自分が作りたいアプリケーションに適したワードを新たに定義して、Mopsの語彙を拡大していきます。ワードを定義するときには、既に定義されたワードを新たな定義に中から呼び出すことができます。そのようにワードを積み上げてアプリケーション固有のワードをまとめあげ、次第に抽象化していくのがMopsプログラミングの特徴です。通常、最後は"GO"という一つのワードへと集約されます。
他の言語で関数ないし手続にあたるワードを定義するには、コロン":"とセミコロン";"を用います。これらを用いてするワード定義を、コロン定義と呼びます。この定義は、コロンで始まり、セミコロンで終わります。典型的定義の雛形は、
: ワード名 (
スタック効果コメント ) コード ;
の様になります。この行をMopsにロードすると、"コード"を実行コード内容とし、"ワード名"を名前とするワードが辞書に登録されます。コードはマシン語に変換された上で格納されるので、このような定義をロードすることを「コンパイルする」ということもあります。
既に定義されているワードは、その名前を書くことによって呼び出すことができます。たとえば、Word2がWord1を定義内で呼び出すには、
: Word2 ( -- ) ..... Word1 ..... ;
とします(ここで、"....."は任意のコード)。
関連項目:
最終更新:2019年12月30日 00:41