Automatic Code Generation for Synchronous Reactive Communication