1
"
문자는 큰 따옴표로 묶인 Isabelle의 내부 구문에 주석 안에 넣을 때 예상대로 동작하지 않습니다. 명확히하기 위해 : 다음 함수 정의에서, 나는 the "at" sign
이 주석으로 해석 될 것으로 기대한다. 실제로 Isabelle은 주석의 첫 번째 "
문자를 해당 라인의 시작 부분 인 "
과 일치 시키므로 구문 오류가 발생합니다.내부 구문 주석 내부의 큰 따옴표
fun reverse where
"reverse [] = []"
| "reverse (x#xs) = reverse xs @ (* the "at" sign *) [x]"
내가 (* the 'at' sign *)
를 작성하여이 문제를 해결 할 수 있습니다,하지만 난 오히려 정말 무슨 일이 일어나고 있는지 이해하는 것입니다. 그렇다면 이사벨 (Isabelle) 용어에 이런 종류의 주석을 쓰는 올바른 방법은 무엇입니까? 나는 그것이 \ "같은 이스케이프 문자와 함께 일하는 것이 가정
감사 지미, 작동이. 나는 내가 탈출하는 데 대한 약간의 불편을 유지해서, 당신의 대답을 수락하기 전에 조금 기다릴거야 따옴표 - 내가 코멘트 안에있을 때, 내가해야 할 것처럼 느껴진다. –
여기에서 이스케이프 된 따옴표의 필요성은 별도의 파서로 처리되는 Isabelle의 외부 및 내부 구문 조합의 결과이다. 외부 구문 분석기는 내부 구문 주석에 대해 아무것도 모르기 때문에이 예제를 두 개의 따옴표로 묶인 문자열로 구문 분석합니다. –
큰 따옴표 안에는 이스케이프가 필요합니다. OCaml과 Coq, 주석과 인용 부호가 결합 된 경우 네드. – Makarius