2023-07-01から1ヶ月間の記事一覧

LLVM Tutorialをやってみた

自作プログラミング言語というものに手を出してみたくて、LLVM Tutorialをやってみました。 LLVM Tutorialでは、Kaleidoscopeという非常に簡単なプログラミング言語を実装を通してLLVMフロントエンドを学べます。 LLVM Tutorialでは、以下の言語機能を実装し…

LLVM API(C++)でBrankfuck->LLVM IRコンパイラを作ってみた

前回の記事でLLVMの入門として、Brankfuck->LLVM IRコンパイラを作ったことについて書きました。 前回は生のLLVM IRを扱っていましたが、今回はLLVM APIを利用してBrankfuck->LLVM IRコンパイラを作ってみました。 開発環境 $ llvm-config --version 10.0.0 …

C++でBrainFuck->LLVM IRコンパイラを作ってみた

なんとなく自作プログラミング言語について勉強してみたいなーと思っていたところ、LLVM Tutorialを見つけたのでやってみることにしました。 ただ、私には圧倒的知識不足(言語処理系の知識、LLVMの知識、C言語・C++の知識がほぼない)という問題があり、始…

ドメインモデル内でリポジトリのメソッドを呼び出すことについて

軽量DDDやクリーンアーキテクチャでコードを書く際、リポジトリ(インターフェースアダプター)の呼び出しはアプリケーションサービス(ユースケース)で行うことが一般的という認識だったが、ドメインモデル(エンティティ)内で呼び出した方がいいケースも…

「単体テストの考え方・使い方」を読んだ

単体テストの考え方・使い方を読んだので、印象に残った箇所のメモ テストコードも含めたコードは、最小限にするべきである 「第1章 なぜ、単体(unit)テストを行うのか」に以下のような記述があります。 開発者の中には、プロダクションコードとテストコー…