게시판 인덱스

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

과제 5-1 질문

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



가입: 2015년 9월 18일
올린 글: 9

올리기올려짐: 2015년11월6일 15:52    주제: 과제 5-1 질문 인용과 함께 답변

recursive 구현할 때

let env' = Env.bind env_saved arg_id (Addr l) in
let env'' = Env.bind env' f (Proc (arg_id, e_body, env_saved)) in
위와같이 f 선언할 당시 env_saved 에 f 를 다시 bind한 env''를 사용하여 call을 하는데

(V (L l) :: V v :: P (x, c', e') :: s, m, e, CALL:: c, k) ->
(s, store l v m, (x, Loc l)::e', c', (c, e) :: k)

Sm5에서 CALL 전에 e' 에 P를 다시 추가 할 방법이 없지 않나요?

sm5.ml을 수정하면 구현이 되는데 제가 놓치고 있는 부분이 어딘지 모르겠네요.
위로
사용자 정보 보기 비밀 메시지 보내기
조상우15



가입: 2015년 9월 7일
올린 글: 27

올리기올려짐: 2015년11월6일 15:57    주제: 인용과 함께 답변

기본적으로 스택머신이고 POP이나 다른 특별한 연산을 하기전에는 스택에서 사라지지 않는 성질을 이용해서 저는 구현했습니다..맞는진 모르겠네요
위로
사용자 정보 보기 비밀 메시지 보내기 이메일 보내기
최재승



가입: 2012년 9월 10일
올린 글: 211

올리기올려짐: 2015년11월6일 16:45    주제: 인용과 함께 답변

LETF 와 CALLV의 번역이 원래 이번 함수에서 가장 어려운 부분입니다.

깨닫고 나면 의외로 간단하게 번역되는데, 떠올리는 데는 발상의 전환이 필요할 수도 있으니 조금 더 고민해 보시기 바랍니다.

그리고 5-1 문제에서는 sm5.ml 의 구현을 수정하는 것은 문제의 의도에 어긋나므로, 수정하시면 안됩니다.

조교 드림
위로
사용자 정보 보기 비밀 메시지 보내기
강민혁



가입: 2015년 9월 18일
올린 글: 9

올리기올려짐: 2015년11월6일 17:55    주제: 인용과 함께 답변

아 그냥 해도 간단히 되네요. 답변 감사합니다
위로
사용자 정보 보기 비밀 메시지 보내기
이전 글 표시:   
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4190.310 Programming Languages (Fall 2015) 시간대: GMT + 9 시간(한국)
페이지 11

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


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