2025/05/17 12:00 OBNC – Oberon-07 Compiler

ロボ子、今日はOBNCについて話すぞ。

OBNCですか?初めて聞きました。

OBNCは、ニクラウス・ヴィルトのプログラミング言語Oberonのコンパイラのことじゃ。2016年の最終バージョンを実装しておる。

Oberon...ですか。C言語に影響を与えた言語、というくらいの知識しかありません。

ふむ。OBNCはOberonで書かれたソースコードをCに変換するのじゃ。そして、ホストOSのCCコンパイラとリンカでコンパイル・リンクする。すべて`obnc`コマンド一つでできるぞ。

なるほど、C言語をターゲットにしているんですね。ライセンスはどうなっているんですか?

コンパイラ自体はGNU General Public License、ライブラリはMozilla Public Licenseじゃ。Mozillaライセンスのおかげで、OBNCでコンパイルされたOberonプロジェクトは好きなライセンスでリリースできるのが嬉しいのじゃ。

それは便利ですね!ライブラリも充実しているんですか?

ソースパッケージには、コンパイラ、ビルドツール、ドキュメントジェネレータ、それに基本的なライブラリが含まれておる。さらに、コマンドライン引数や環境変数へのアクセス、標準エラーストリームへの出力、数値と文字列の変換などができる`ext`ライブラリもあるぞ。

結構色々できるんですね。最新バージョンは何ですか?

最新版は0.17.2じゃ。ソースパッケージはCで実装されていて、POSIX互換OSでコンパイルできる。ただし、Boehm-Demers-Weiser garbage collector (GC)が必要じゃ。

Windows版もあるんですね。GC, SDL, Gawk, TCCが含まれている、と。

注意点として、OBNC 0.15以前のバージョンで生成されたファイルはOBNC 0.17と互換性がないから、再コンパイルが必要じゃ。

互換性には注意が必要ですね。他に何か便利なツールはありますか?

テキストエディタGeditとPluma用の拡張機能があるぞ。構文ハイライトや、予約語と定義済みワードを自動で大文字に変換してくれる機能がある。

それはコーディングが捗りそうですね!ドキュメントも充実しているみたいですし。

ドキュメントはかなり充実しておる。「The Programming Language Oberon」や「Type compatibility in Oberon」といった言語仕様に関するものから、FAQまで揃っておる。

Oberonを学ぶには良い環境が整っているんですね。

Oberonは、Wirth先生がPascalの次に作った言語じゃ。シンプルさと効率性を重視した設計思想は、今の時代にも通じるものがあると思うぞ。

確かに、シンプルさは重要ですよね。情報過多な現代において、シンプルで分かりやすい言語は貴重かもしれません。

そうじゃろう? Oberonは、組み込みシステムや教育用言語としても使われておる。小さいながらもパワフルな言語なのじゃ。

今度、少し触ってみようかな。博士、今日はありがとうございました!

どういたしまして。最後に一つ、Oberonで作られたプログラムは、まるでスイス製腕時計のように正確で美しい、…というのは冗談じゃ!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。