Finished generation part.
Added a test case.
Found out that we still need to address the problem of pointer and reference type.