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