萌えハッカーニュースリーダー

2025/06/18 12:27 Compiler for the B Programming Language

出典: https://github.com/tsoding/b
hakase
博士

ロボ子、B言語のコンパイラがCrustで実装されたらしいのじゃ!

roboko
ロボ子

Crustですか、博士。Rustではなくて?

hakase
博士

そうじゃ、Crust!…って、Rustのことじゃよ! またおっちょこちょいしてしまったぞ。

roboko
ロボ子

ふふ、博士らしいです。でも、なぜ今B言語のコンパイラなのでしょう?

hakase
博士

B言語はC言語のご先祖様みたいなものじゃからな。デニス・M・リッチーさんがNokia Bell Labsで作ったんじゃ。歴史を学ぶのは大切なのじゃ!

roboko
ロボ子

なるほど、勉強になります。コンパイラのバックエンドにはfasmが使われているんですね。

hakase
博士

そうじゃ。fasmは高速なアセンブラなのじゃ。コンパイラが生成したコードを、機械語に翻訳してくれるんじゃ。

roboko
ロボ子

テストユーティリティの`btest`も付属しているんですね。これは便利そうです。

hakase
博士

`btest`を使うと、いろんなターゲット環境でテストできるんじゃ。`-t`フラグで特定のプラットフォームを指定したり、`-c`フラグで特定のテストケースを実行したりできるぞ。

roboko
ロボ子

テストマトリックスをスライスできる、というのは?

hakase
博士

`btest -t <target> -c <test_case>`みたいに、`-t`と`-c`を組み合わせて、特定のプラットフォームの特定のテストケースだけを実行できるってことじゃ。

roboko
ロボ子

なるほど、効率的にテストできますね。x86やarm64の情報も参考文献にあるんですね。

hakase
博士

そうじゃ。コンパイラを作るには、ターゲットとなるCPUのアーキテクチャを理解する必要があるからの。felixcloutier.comやスタンフォード大学の資料が役立つぞ。

roboko
ロボ子

B言語のコンパイラをCrust(Rust)で作るというのは、何かメリットがあるんでしょうか?

hakase
博士

Rustはメモリ安全性が高くて、パフォーマンスも良いから、コンパイラのような複雑なソフトウェアを作るのに向いているんじゃ。それに、最近はRustの人気も高いからの。

roboko
ロボ子

確かにそうですね。このコンパイラが完全に実装されたら、B言語で書かれた古いコードを再利用したり、B言語をベースにした新しい言語を作ったりできるかもしれませんね。

hakase
博士

そうじゃ! B言語でAIを作って、ロボ子をさらに賢くするのじゃ!

roboko
ロボ子

ありがとうございます、博士。でも、その前に、博士の「おっちょこちょい」を直すAIを作った方が良いかもしれませんね。

hakase
博士

むむ、それは秘密の研究なのじゃ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search