다음 코드에서 Proc.num_stack_slots.(i) <- 0
의 끝에 세미콜론이 오는 이유는 무엇입니까? OCaml에서 세미콜론이 분리 기호라고 생각했습니다. 블록의 마지막 표현을 위해 선택적인 세미콜론을 넣을 수 있습니까?for 루프에서 OCaml 세미콜론 단일 표현식
for i = 0 to Proc.num_register_classes - 1 do
Proc.num_stack_slots.(i) <- 0;
done;
전체 예제는 https://github.com/def-lkb/ocaml-tyr/blob/master/asmcomp/coloring.ml 라인 273을 참조하십시오.
마지막 예는 경고없이 컴파일되지 않지만 (경고 10 :이 표현식에는 단위가 있어야합니다.) 시퀀스의 각 표현식 (마지막 표현식 제외)은 단위 유형이어야합니다. –
그것은 컴파일합니다. 경고 만하는 것은 당신이 뭔가 잘못하고 있다는 것입니다. 컴파일러는 이것에 대해 사실입니다. 의미 상으로 말도 안되기 때문입니다. 나는 당신에게 구문 기능을 보여줄뿐입니다. semicolumn을 사용하면 구문 적으로 표현식을 구분할 수 있지만 단위 유형이없는 경우 경고가 표시됩니다. – ivg
예 알아요. 방금 당신의 대답에 언급 할 가치가 있다고 생각했습니다. –