shell parser