add no_main attribute to crate
add phase of translating to llvm