Parser decorator

Refactoring parser modules using decorators.
It makes the code clean extracting common logics and removing many if ~ else statements.
Please check the docstrings and codes.