Digital Mars C++ Compiler
2006/04/15
Digital Mars C++ Compiler
は DbC
を実装した唯一の C++
コンパイラです。これはオープンソースプロジェクトではありませんが、無料で入手することができます。プログラマはこのコンパイラと共に契約を自然に書くことができます。
このコンパイラはD言語の開発者でもある Walter Bright
氏によって開発されました。D言語はこのコンパイラの開発経験をベースにしていると思われます。
では、このコンパイラと共にどのように契約を書くのでしょうか? それはD言語の構文と似ていますが、アンダースコアを接頭する必要があります:
long
square_root(long
x)
__in
{
assert(x
>=
0);
}
__out
(result)
{
assert((result
*
result)
== x);
}
__body
{
return
sqrt(x);
}