A software methodology for compiling quantum programs | Synapse