a generic HAL parser