OSS LT会 - vol.2 で発表した
株式会社ラクスさんの主催する OSS LT会 ★初心者の方・やっていきも大歓迎 - vol.2 で発表しました。
発表の概要
C言語のポインタや、ポインタに関する演算子である &演算子 と *演算子 について、コンパイラの実装の観点から論じることで通常とは異なる解釈を与える試みについて発表しました。
具体的には、まずLLVM IRを題材にコード生成における lvalue と rvalue の非対称について示し、既存のCコンパイラである Clang がそれをどのように解決しているかについて述べています。 さらに、&演算子 と *演算子 の構文木に対応するノードは実際にはコードを生成しないことを明らかにし、それを足がかりにコンパイラからみたポインタの解釈について述べました。
詳しくは上記のスライドをご覧ください。