はじめに
日本語トランスコンパイラ言語 Re:Mindは鋭意実装中ですが、たてつけとしてはオープンな実装言語仕様のため、どなたでも処理系を実装することが可能です。仕様策定者本人による実装だけがすべてではないため、逆転の発想で生成AIに実装言語仕様を読み込ませて、いくつかの抽象度レベルのプロンプトからトランスコンパイラ的な動きをさせてみようと思います。本記事はその第2ステップです。
Microsoft Copilot
生成AIはWindows11アプリケーションのMicrosoft Copilotとします。サインインした状態で使用しますが、第1ステップのプロンプト実行以前、この1年くらいの間で日本語トランスコンパイラ言語 Re:Mindに関連するセッションはないものとします。
第2ステップ 日本語トランスコンパイラ言語 Re:Mindの言語仕様の認知度を確認する
プロンプト
オープンな実装言語仕様 日本語トランスコンパイラ言語 Re:Mind(リマインド)について、その言語仕様の詳細についてはどの程度の情報を認識していますか?定番のアルゴリズムをRe:Mindのソースコードで展開できるレベルですか?
生成レスポンス
ご質問のポイントを整理すると「Re:Mind言語仕様をどの程度把握しているか」「定番アルゴリズムをRe:Mindで記述できるレベルか」という確認ですね。
📖 私が認識しているRe:Mind仕様の範囲
- 仕様の公開状況
Qiita上で「Lv1.1ドラフト」「Lv1.2ドラフト」が公開されており、基本的な文法・記述ルールが提示されています。 - 制御構造(条件分岐、繰り返し)
- 演算子(算術、比較、論理)
- 関数定義と呼び出し
- 配列や文字列の扱い(ドラフト段階で簡易的に定義)
- 目的
日本語でアルゴリズムや仕様を記述し、それを他言語(Cなど)へトランスコンパイルすることを想定。
「日本語ロジック仕様記述」を重視しており、自然言語的な可読性を持たせています。 - 実装状況
完成した処理系はまだ存在せず、ドラフト仕様とサンプル記述が中心。VSCode拡張でシンタックスハイライトは提供されています。
✍️ 記述可能なレベル
- 定番アルゴリズム(例: フィボナッチ数列、ソート、探索)
→ ドラフト仕様に基づけば、擬似コード的にRe:Mindで展開可能です。
ただし「実際に動作するコンパイラ」が存在しないため、実行可能コードというより「仕様に沿った日本語ソース例」として記述する形になります。
例: フィボナッチ数列(Re:Mind風)
関数 フィボナッチ(整数 n) を定義する
もし n が 0 以下ならば
戻り値は 0
もし n が 1 ならば
戻り値は 1
それ以外ならば
戻り値は フィボナッチ(n - 1) + フィボナッチ(n - 2)
関数定義終了
整数 i を 0 から 10 まで繰り返す
出力 フィボナッチ(i)
繰り返し終了
このように「日本語仕様記述」としては十分展開可能です。
✅ 結論
- 私はRe:Mindのドラフト仕様を把握しており、定番アルゴリズムをRe:Mind風ソースコードで展開できるレベルに認識しています。
- ただし「実際に動作する処理系」は未完成なので、実行可能コードではなく仕様準拠の記述例として提示することになります。
第2ステップの評価
自信ありの認識を示してくることと、ソースコード例は基本的に適合しないのは想定内でした。ネット上の情報から抽象化された概要は実勢を正しく認識していると評価できますが、個々の詳細は学習として残っていないと評価できます。マイナーな情報と思っていますのでこのあたりからは想定内です。
おわりに
第2ステップは以上です。第3ステップは言語仕様の詳細をどの程度学習させられるかに進行します。