Divided function generation algorithm in 2 parts: headers generation and implementations generation