はじめに
本連載では、最近の日本語プログラミング言語の中で高いシェアを占める「なでしこ」を使用して、BASICライクな自作言語のコンパイラを作成します。
前回は、コンパイラとアセンブラの基礎知識について説明しました。今回は、はじめてVEFBL(ヴェフブル)の開発言語、なでしこに触ってみます。なでしこの基本的な文法をさっと教えてから、コマンドラインへ言及し、続いてインタプリタ風に文字列を表示するプログラムを作ってみることにより、トークンについても勉強します。
対象読者
技術レベルは特に問いませんが、なでしこの簡単な文法を前もって習得していることが望ましいです。「自分で作ったプログラミング言語でソフトを作りたい!」と考えている方も歓迎します。
また、プラットフォームはWindows XPを推奨します。MASMアセンブラ(後述)のインストーラが、現在Windows XP以降のWindows NT系OSでしか動作確認できていないからです。これは、インストーラの起動時に使うWin32APIがWindows 9x系OSにないため、Windows保護例外エラーが発生するのが原因です。MacOSやLinuxなどでは言うまでもなく動作しません。
なでしこの入手
「なでしこ」は、クジラ飛行机氏が開発した日本語プログラミング言語です。現在、日本語プログラミング言語の中で最もシェアの高い言語と言われています。しかし、一方で、プログラミング言語全般では、あまり周知されていない言語でもあります。そのため、ここでは、なでしこの基礎についても解説を加えていきます。
なでしこは以下の公式サイトからダウンロードしてください。ダウンロードしたファイルを解凍し「setup.exe」を実行すると、インストールできます。
なでしこの基本知識:実際に使ってみよう
メッセージボックスの表示
インストールが完了したら「なでしこエディタ」(nakopad.exe)を起動し、次のプログラムを打ち込んで、[F5](実行)を押してみましょう。
「日本語で誰でも簡単プログラマー」と言う。
このサンプルで日本語プログラム言語の使い方をつかめたでしょうか。なでしこでは、命令をする時、次のように記述します。
(引数)(助詞)(命令)。
今回のサンプルでは、引数が「日本語で誰でも簡単プログラマー」、助詞が「と」、命令が「言う」に該当します。最後の「。」は必須ではありませんが、本連載では「より日本語ライクにプログラミングを行う」という名目の上、つけることにします。
ウィンドウへの表示
先ほどのメッセージボックスの後ろに表示されていたウィンドウに、何か表示させたいと思います。
「あえいうえおあおかけきくけこかこさせしすせそさそ」と表示。
「言う」と「表示」で表示され方が変わります。この2つの命令の雰囲気をつかめたでしょうか。続いて条件分岐を説明しますが、その前に「変数」について確認します。
変数
なでしこでは、変数の宣言が不要です。初期化もする必要がありません。プログラムの中で宣言せずに、突発的に使用できます。変数は次のように使います。
テスト変数は「文字列」。 テスト変数を表示。 数値テスト変数は37。 数値テスト変数を表示。
「(変数)は(値)。」の形式で記述すると、変数に値が代入されます。他にも方法はあるのですが、本連載では基本的にこの代入方法で統一します。
変数に指定した単語は、括弧(「」)がないと変数の中身を表示します。また、なでしこでは、変数に「文字列」や「数値」という違いを意識する必要がなく、型を変換しなくても、数値を文字列として表示してくれます。
条件分岐
なでしこにおける、条件分岐の構文は次のとおりです。
もし、(変数)が(値)ならば、 (処理) 違えば、もし、(変数)が(値)ならば、 (処理) 違えば、 (処理)
実例を見た方が分かりやすいと思います。
テスト数値は7。 もし、テスト数値が5ならば、 「5です」と言う。 違えば、 「5ではありません」と言う。
結果は予想できますね。テスト数値
に入っている値が、もし、5だったら「5です」といい、5以外だったら「5ではありません」といいます。テスト数値
の値は7ですので、実行結果は「5ではありません」となります。