구문 분석기 목록을 취하여 하나가 성공할 때까지 하나씩 시도하는 함수를 구현하려고합니다. 목록에 파서가 없으면 전체 구문 분석기가 실패합니다. 여기에 내 시도가있다 :여러 구문 분석기로 SML 구문 분석
fun oneOf [] = NONE
| oneOf (p::ps) = fn inp => case parse p inp of
NONE => oneOf ps
| SOME (v,out) => SOME (v,out)
많은 연산자/피연산자를 얻는 중 오류가 발생하지 않는다. 내가 잘못 가고있는 어떤 힌트?