Parser implementation