3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

日本語プログラミング仕様記述言語 Re:Mind(リマインド)Advent Calendar 2024

Day 15

日本語トランスコンパイラ言語 Re:Mind(リマインド)をビルドできる環境をVSCodeで構築(シンタックスハイライト編)

Posted at

はじめに

日本語プログラミング言語ファミリー Re:Mind(リマインド)のアドベントカレンダーに初年度からご参加いただいている@Syuparnさんが、シンタックスハイライトとスニペットが使用可能なVSCode拡張機能を大幅にバージョンアップ!製品版とも言える状態に仕上げられていただいたので、ぜひ深堀りさせていただきたく、よろしくお願いいたします。

また、本記事のタイトルは少し紛らわしく、オープンな実装仕様とさせていただいる日本語トランスコンパイラ言語 Re:Mind(リマインド)の完全な実装はまだ存在せず、初期の試作品などで環境を構成する想定であることをご容赦お願い申し上げます。

前提条件

Windows11 Pro 22H2
VSCode(Visual Studo Code) 1.95.1

VSCodeの拡張機能

remind-vscode 0.1.0

「Re:MindのVSCode拡張(非公式)」0.1.0のインストール

VSCodeの拡張機能の検索で、「remind-vscode」とタイプすると下図のような検索結果が表示されます。検索結果ペインで「Re:Mind VsCode」をダブルクリックするとエディタウィンドウにドキュメントが展開します。

remind1.png

シンタックスハイライトの様子

日本語トランスコンパイラ言語のターゲットソースとしてビルド可能な記述例はあまり存在しておらず、仕様記述言語としてコンパイラ(トランスコンパイラ)非対応のコード例はいくつかあるので、それを表示してみます。

まずはこちらの記事にある「ノードカテゴライズする」と
「名称辞書を収集する」という関数の定義例をVSCode上で作成します。

「ノードカテゴライズする」

ファイルを新規作成して、コードを貼り付けた段階ではもちろん拡張子ないのでフラットな黒一色だったわけですが、それを拡張子remindで保存してみますと、下図のようにみごとなシンタックスハイライトでカラフルになりました:tada:

remind2.png

保存する際に、VSCodeのファイル保存コモンダイアログのファイル拡張子選択リストにもしっかりremindが出現することも確認できました!すごいです。

remind3.png

「名称辞書を収集する」

つづいて、少し長めの記述量の「名称辞書を収集する」の方です。こちらは関数定義ヘッダ部が固定されてスクロールしました!

image.png

謝辞

@Syuparnさん、素敵な機能の実装まことにありがとうございます。謹んでお礼申し上げます。スニペット機能のご紹介はまた別の記事で行わせていただきます。

つづく

本記事のゴールは当面「Re:Mind」の試作品が対応する範囲のソースをターゲット言語でビルドできるようにtasks.jsonとlaunch.jsonを構成することです。デバッガエクステンションはないので、とりあえずMindと同じ方法でやってみます。

3
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?