a protocol script compiler for c++