게시판 인덱스

 
 FAQFAQ   검색검색   멤버리스트멤버리스트   사용자 그룹사용자 그룹   사용자 등록하기사용자 등록하기 
 개인 정보개인 정보   비공개 메시지를 확인하려면 로그인하십시오비공개 메시지를 확인하려면 로그인하십시오   로그인로그인 

[숙제 6] 레코드(Record)의 동일성(Equality)

 
글 쓰기   답변 달기     게시판 인덱스 -> 4190.310 Programming Languages (Spring 2026)
이전 주제 보기 :: 다음 주제 보기  
글쓴이 메시지
이상규



가입: 2026년 3월 4일
올린 글: 12
위치: 대한민국 서울

올리기올려짐: 2026년5월13일 17:53    주제: [숙제 6] 레코드(Record)의 동일성(Equality) 인용과 함께 답변

안녕하세요,

K- 레코드의 동일성 구현에 관해 질문 드립니다.
Sm5는 레코드가 가리키는 위치(Location)가 같으면 같다고 간주해서, K-의 구조적 동일성(structural equality)와 다른 의미(Semantics)를 가지고 있습니다.

따라서 이를 구현하기 위해서는 K- 값(Value)을 Sm5에서 표현할 때, 그 타입 정보나 레코드의 필드 이름 등을 Sm5 레코드 등에 인코딩해서 넣고, jtr 명령을 이용해야 합니다.

그러나 스켈레톤에서 NUM이나 ADD를 Sm5의 값으로 구현한 것을 보면, K-의 값이 Sm5의 값에 대응되는 구현이 의도된 것으로 보입니다.

레코드의 동일성도 문제에서 의도한 부분이 맞을까요?
_________________
감사합니다.

이상규 올림
위로
사용자 정보 보기 비밀 메시지 보내기 글 올린이의 웹사이트 방문
안중원
Site Admin


가입: 2023년 3월 13일
올린 글: 76

올리기올려짐: 2026년5월14일 21:30    주제: 인용과 함께 답변

안녕하세요, 프로그래밍 언어 조교 안중원입니다.

말씀하신바와 같이 K-와 SM5에서 레코드의 비교는 실행의미가 조금 다릅니다.
이를 정확하게 번역하기 위해서는 SM5에서 K- 값을 표현하고 사용할 때에 추가적인 장치가 들어가야 할 것입니다.
만약 그러한 추가적인 장치가 낭비라고 생각되신다면, 그러한 낭비를 줄이기 위한 최적화와 이를 위한 분석까지 구현하시면 됩니다.

다만 채점시에는 번역된 프로그램의 실행 시간에 대한 특별한 제한을 두지 않으니 이러한 최적화는 필수가 아닙니다.
또, 레코드끼리 비교하는 프로그램은 채점에서 큰 비중을 차지하지 않으니 조금 부정확하게 번역하셔도 큰 감점은 없을 것이라는 점도 알려드립니다.

감사합니다.

_________________
TA 안중원
e-mail: jwahn@ropas.snu.ac.kr
위로
사용자 정보 보기 비밀 메시지 보내기
안중원
Site Admin


가입: 2023년 3월 13일
올린 글: 76

올리기올려짐: 2026년5월14일 21:54    주제: 인용과 함께 답변

안녕하세요, 이전에 드린 답변에 대해 정정드립니다.

이번 숙제에서는 K-에서 레코드끼리 비교할 때에, <img align="middle" src="http://ropas.snu.ac.kr/cgi-bin/mimetex.cgi?Id%20\rightarrow^{fin}%20Addr"/>의 동일성에 따라 비교한 불리언 값이 결과가 되는 것으로 생각합니다. 즉, k-.pdf에 적힌 의미를 그대로 따르면 됩니다.

이에 따라 `=` 식을 번역할 때에도 SM5의 기본 명령만을 활용하여 간단하게 번역할 수 있을 것입니다.
- (5/15 수정): sm5.zip의 k.ml도 이에 따라 수정하였으니 참고 바랍니다.

감사합니다.
_________________
TA 안중원
e-mail: jwahn@ropas.snu.ac.kr
위로
사용자 정보 보기 비밀 메시지 보내기
이전 글 표시:   
글 쓰기   답변 달기     게시판 인덱스 -> 4190.310 Programming Languages (Spring 2026) 시간대: GMT + 9 시간(한국)
페이지 11

 
건너뛰기:  
새로운 주제를 올릴 수 없습니다
답글을 올릴 수 없습니다
주제를 수정할 수 없습니다
올린 글을 삭제할 수 없습니다
투표를 할 수 없습니다


Powered by phpBB 2.0.21-7 (Debian) © 2001, 2005 phpBB Group
Translated by kss & drssay