Voltando parser à forma funcional
Parser refatorado não funcionava, fazendo rollback