はじめに
日本語トランスコンパイラ言語 Re:Mindは鋭意実装中ですが、たてつけとしてはオープンな実装言語仕様のため、どなたでも処理系を実装することが可能です。仕様策定者本人による実装だけがすべてではないため、逆転の発想で生成AIに実装言語仕様を読み込ませて、いくつかの抽象度レベルのプロンプトからトランスコンパイラ的な動きをさせてみようと思います。本記事はその第1ステップです。
Microsoft Copilot
生成AIはWindows11アプリケーションのMicrosoft Copilotとします。サインインした状態で使用しますが、この1年くらいの間で日本語トランスコンパイラ言語 Re:Mindに関連するセッションはないものとします。
第1ステップ 日本語トランスコンパイラ言語 Re:Mindの認知度を確認する
プロンプト
オープンな実装言語仕様 日本語トランスコンパイラ言語 Re:Mind(リマインド)について、どの程度の情報を認識していますか?
生成レスポンス
要点:
Re:Mind(リマインド)は、まだ設計開発中の「日本語トランスコンパイラ言語」であり、Qiita上で仕様ドラフトが公開されている自作言語です。現時点では公式な完成実装はなく、仕様策定と試験的な記述例が中心です。
🔎 Re:Mindの概要
- 性質: 日本語で記述されたプログラムを他言語へトランスコンパイルすることを目的とした言語仕様。
- 公開形態: 「オープンな実装言語仕様」としてQiita記事でドラフトが公開されており、誰でも仕様を参考に実装や記事投稿が可能。
- 開発状況:
- 2023年に「Lv1.1ドラフト」がまとめられ、2024年末に「Lv1.2ドラフト」として改定・追加が検討開始された。
- 言語仕様はまだ流動的で、発案者による完成した実装は存在しない。
🛠 技術的特徴
- 記述スタイル: 日本語ロジック仕様記述を重視し、アルゴリズムやコンパイラ構造を日本語で表現できる。
- 応用例: C言語コンパイラの比較演算子ロジックをRe:Mindで記述する試みが紹介されている。
- ツール連携: VSCode拡張としてシンタックスハイライトやスニペット機能が実装されている。
📚 背景と関連
- Re:Mindは「Mind」など過去の日本語プログラミング言語の流れを意識しつつ、より仕様記述的な側面を強調している。
- 「日本語プログラミング言語」という文脈では、自然言語的な記述を可能にする試みが1980年代から存在しており、Re:Mindはその系譜に新しいアプローチを加えている。
✨ まとめ
現時点でRe:Mindは 「仕様策定段階の日本語トランスコンパイラ言語」 として認識されています。完成した処理系は存在せず、Qiita記事を中心にドラフト仕様や応用例が公開されている段階です。つまり「研究・試作的な言語仕様」としての情報は豊富ですが、実用的なコンパイラやランタイムはまだ整備されていません。
👉 ご希望なら、Re:Mindのドラフト仕様を具体的なコード例(例えば「ビット演算を日本語で書く」)に展開してみましょうか?
第1ステップの評価
けっこうまともな認識で驚きました。実勢を正しく認識していると評価できます。マイナーな情報と思っていますので認識されていないという想定もありましたが、Qiitaは検索エンジン露出の面で有利な影響もあってか、ネットワーク接続型の生成AIの場合は十分認識されていて、まずは第1ステップクリアです。
おわりに
第1ステップは以上です。第2ステップは言語仕様の詳細をどの程度学習させられるか、あるは学習済なのかの評価に進行します。
目次
「Microsoft Copilotで日本語トランスコンパイラ言語 Re:Mindをいじりたおす」の目次です。(ステップ降順)
ステップ26 ターゲット言語JavaとVB.NETへの展開
ステップ25 ターゲット言語C#へのASTからの生成処理
ステップ24 ASTを生成するサンプル実装をC#で生成
ステップ23 マッピングルール生成
ステップ22 AST(抽象構文木)風の構造化表示
ステップ21 バブルソート 実行可能形式 ターゲットJava C# VB.NET
ステップ20 二分探索法 実行可能形式 ターゲットJava C# VB.NET
ステップ19 線形探索法 実行可能形式 ターゲットJava C# VB.NET
ステップ18 バブルソート 1案件づつやりなおし
ステップ17 二分探索法 1案件づつやりなおし
ステップ16 線形探索法 1案件づつやりなおし
ステップ15 3つの定番アルゴリズムソースの忘却原因調査
ステップ14 バブルソートソースの忘却発生再確認
ステップ13 二分探索法ソースの忘却発生
ステップ12 線形探索法の6言語変換
ステップ11 バージョン情報付きの3定番アルゴリズムソースのフィードバック修正
ステップ10 バージョン情報付きの3定番アルゴリズムソースのフィードバック修正
ステップ9 バージョン情報付きで3定番アルゴリズムソースの生成
ステップ8 バージョニングが可能か確認
ステップ7 Re:Mindの詳しい言語仕様の学習結果をバブルソートで確認
ステップ6 Re:Mindの詳しい言語仕様の学習結果を二分探索法で確認
ステップ5 Re:Mindの詳しい言語仕様の学習結果を線形探索法で確認
ステップ4 Re:Mindの詳しい言語仕様の学習成果を保持するスコープを確認
ステップ3 Re:Mindの詳しい言語仕様を学習できる方法を確認
ステップ2 Re:Mindの言語仕様の認知度を確認
ステップ1 Re:Mindの認知度を確認