fall back to recursive parser