#42 重构Parser