게시판 인덱스

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

6-2 CPS 형태 스펙 질문

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



가입: 2018년 9월 11일
올린 글: 2

올리기올려짐: 2018년11월28일 0:32    주제: 6-2 CPS 형태 스펙 질문 인용과 함께 답변

안녕하세요

6-2 CPS 변환 스펙에 질문이 있어 글을 올립니다.
보충 스펙에서 다음과 같이 규칙이 제시 되어있습니다.

인용:
1. 어떤 mexp에 나타난 부분식(sub-expression)들은 모두 cps 변환되어야 합니다. 예를 들어 cps(e1+e2)의 경우, e1, e2는 각각 cps로 변환된 (cps e1), (cps e2) 형태로 나타나야 합니다.

2. e가 상수(Num, Var, Fn, Rec) 일때만 cps(e) = \k.k(...) 형태를 허용합니다. 상수의 경우 e자체가 이미 계산된 결과이므로 바로 k에 전달하는 것입니다.


1번에 의하면 Fn(x,e)의 경우 e를 부분식으로 볼 수 있으니 cps 변환하는게 맞다고 생각되는데
2번에 의하면 Fn(x,e) 자체를 이미 계산된 결과로 보고 e를 cps 변환하지 않는게 맞다고 생각됩니다.

Fn(x,e)의 e를 cps 변환시켜야 하는지 아닌지 잘 판단이 서질 않습니다.
이 부분을 명확히 알려주셨으면 좋겠습니다.

감사합니다.
위로
사용자 정보 보기 비밀 메시지 보내기
로파스
Site Admin


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

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

Fn(x, e)에서 e 역시 sub-expression이므로 물론 알맞은 방법으로 cps변환되어야 제대로 실행됩니다. 구현을 완성하신 뒤 (fn x => x+1) 1 과 같은 간단한 프로그램을 변환시켜 보시면 직접 확인해보실 수 있습니다.

스펙의 2번 사항에서 e를 바로 k에 전달한다는 것은 복합식의 경우와는 다르게 계산된 결과값을 따로 받는 부분(\v....) 이 필요하지 않기에, \k.k(...)형태로 쓸 수 있다는 뜻입니다. e를 '바로' 전달한다는 것이 다소 애매모호하게 표현되어있던 것 같은데, e를 그대로 넣어야 한다는 것은 아니고 cps변환시에 잘 작동할 수 있도록 알맞게 변환해주시면 되겠습니다.

-조교 드림.
위로
사용자 정보 보기 비밀 메시지 보내기
이전 글 표시:   
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 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