Extract CodeGenerate.
Semantic analysis.
Read write semantic and its test.
Some semantic unittests.
Fix a bug of parser.