私は、言語のサブセット用の非常に小さな不自然なコンパイラを調査して構築しようと考えていました。振り返ってみると、現在のスキルレベルでは難しすぎる問題になると思います。
しかし、何か非常に興味をそそられました。コンパイラは、オブジェクトなどの抽象的なアイデアをアセンブリ/バイナリにどのように変換するのでしょうか?
例えば:
class Dog
{
public:
Dog(string name);
~Dog();
string GetName();
};
dog *Dog = new Dog('rover');
それはどのようにしてマシンコードに変換されるのでしょうか - それは非常に困惑しています。