refactor SMC main, to componentize for language
Componentization of Code Generators is complete