D言語 Advent Calendar 2014の23日目の記事です。 更に、Aizu Advent Calendar 2014の23日目の記事でもあります。 D言語には文字列mixin(宣言、文、式)とCTFE(コンパイル時関数実行)という機能があります。 文字通り、文字列mixinは文字列の中身をソースコードとして展開する機能で、 CTFEはコンパイル時に関数を実行する機能です。 上の2つの機能を組み合わせて、D言語の構文を拡張できるライブラリを作りました。 TL;DR 構文拡張ライブラリ:Tcenal Swap演算子追加の例:swapop Tcenal D言語の構文拡張ライブラリです。 https://github.com/youxkei/tcenal どうやって拡張するの? Tcenalは内部でD言語の大部分のパーサを持っていて、そのパーサをオーバーライドする形で拡張します。 その