Issue #1 : Split the codes into pre-processor and parser