Macro are used to provide a program generation facility through macro expansion. Many programming language provide built in facilities for writing.