Lab1.
Lab1 exercise 1~4 and add some testcase
lab2 init
Lab1 exercise 5：error recovery
Merge branch 'Lab1' into Lab2
Bug fix.

Delete redundant arguments in constructor.
Merge branch 'Lab2' into Lab3
Lab2 Exercise 1~6
Lab2 Exercise 7~9
Add a missing file.
Bug fix.
My solution to lab2
Lab3 init