feat: parser grammar refacto