게시판 인덱스

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

과제 3-1번 질문입니다.

 
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4190.310 Programming Languages (Fall 2018)
이전 주제 보기 :: 다음 주제 보기  
글쓴이 메시지
신재호



가입: 2018년 9월 13일
올린 글: 10

올리기올려짐: 2018년10월18일 0:11    주제: 과제 3-1번 질문입니다. 인용과 함께 답변

1. Callv와 Callr을 구현할 때 (제 이해가 맞는진 모르겠지만) 새로운 environment를 정의하고 그 environment에 각 xi->li를 binding합니다. 이때 <strike>xi(id)가 정의되어 있지 않은 것 같은데 xi는 임의로 정의해도 되나요? + e'가 의미하는 바가 무엇인지 잘 모르겠습니다.</strike> 고민해 봤는데 원래 env에서 f에 할당되어있는 proc을 가져오고 그 안의 xi들과 e', env'를 가져온다는것 같습니다! 제 이해가 맞는지 모르겠습니다 ㅎㅎ...

2. 1에서 li는 메모리 Mn에서의 location인가요?

3. Mn{l1->v1}...{ln->vn}과 Mn{l1->v1, ..., ln->vn}의 차이점을 잘 모르겠습니다.

4. Record에서 r(x)를 구현할 떄 만약 Record r에 id x에 해당하는 주소값이 저장되어 있지 않다면 어떻게 처리해야 하나요? 어떤 오류를 출력해야 하는지 궁금합니다.

4-1. 또, Record에 아무 값도 없는 경우에는 ., M을 내보내야 한다고 스펙에 쓰여 있는데 .을 어떻게 구현해야 할 지 난감합니다. 이는 Unit이 하는 일과 똑같은데 둘이 같게 구현해야 하나요? 일단 Unit의 경우에는 (Unit, mem)을 내보내는 것으로 구현했습니다만, 이를 Record에 똑같이 적용할 경우 구현하기 상당히 까다로워져서 질문 드립니다.

항상 친절한 답변 감사드리고 더더욱 열심히 해보겠습니다... Sad Sad Sad Sad Sad
위로
사용자 정보 보기 비밀 메시지 보내기
로파스
Site Admin


가입: 2012년 9월 9일
올린 글: 280

올리기올려짐: 2018년10월18일 10:35    주제: 인용과 함께 답변

1. env{x1 -> l1, x2 -> l2} 는 env라는 원래 환경에서 x1에 binding되어있던 주소를 l1으로, x2에 binding되어있던 주소를 l2로 바꾼 새로운 환경 이라는 의미입니다. env에 x1이라는 변수가 정의되어있지 않으면 새로이 정의를 만드시면 됩니다. e'에 대해서는 이해하신게 맞는것같습니다. 문서정의를 잘 살펴보시면 정의가 되어있지 않은 변수는 없습니다. 기존의 env에서 f에 저장되어있던 값(proc)을 가져왔을때 그중 세번째 값이 e'이라고 표기되어있으니, 그대로 이해하시면 됩니다.

2. 네 맞습니다

3. 표기만 다를뿐 완전히 같은 개념입니다.

4. 보충스펙에 나와있듯이, Unbound오류를 내주시면 됩니다.

4-1. 말씀하신대로 {}라는 식은 eval하였을때 유닛이 된다고 생각하시면 됩니다. 레코드가 (id * exp) list로 정의되어있으니 빈리스트일때와 아닐때로 구분하셔서 구현하시면 될것입니다.
위로
사용자 정보 보기 비밀 메시지 보내기
이전 글 표시:   
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4190.310 Programming Languages (Fall 2018) 시간대: GMT + 9 시간(한국)
페이지 11

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


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