이진우0306
가입: 2023년 3월 8일 올린 글: 10
|
올려짐: 2023년5월31일 11:17 주제: [HW7] 저지방 M (simple type checker) EQ에서 Loc 타입의 비교 |
|
|
안녕하세요,
비록 과제 기한은 지났지만 HW7 4번 스펙에 대해 의문점이 있어 이렇게 질문드립니다.
이전에 올라온 질문에 대한 답변에 의하면 Loc 2개를 EQ로 비교할 때 Loc의 내부 타입이 같아야 한다고 적어주셨는데,
M 스펙 문서에 의하면 l을 비교할 때 내부 타입에 대한 참조를 하지 않고 같은 location address를 가지는지만 검토하는 듯 합니다.
- malloc 시에 반환되는 l은 Loc 집합의 원소
- 스켈레톤 상으로 Loc = int로, Loc의 원소는 별다른 타입 정보를 가지고 있지 않음
- semantic 상으로 (실제) l1 = l2 -> (코드) (l1 = l2): true
l1 != l2 -> (l1 = l2): false
즉, M의 specification 상으로는 Loc의 비교는 단순 int의 비교와 같이 값에 대한 비교라고 사료됩니다.
만약 이러한 주장이 맞다면, 테스트케이스에 서로 다른 타입을 비교할 때 타입에러를 발생시키지 않은 것을 정답으로 처리하거나, 만약 이전 QnA와 상충되는 내용이라 채점 기준을 변경하기 어렵다면 그러한 예제를 채점 시에 아예 배제해주시면 감사드리겠습니다.
감사합니다.
이진우 드림 |
|