 |
|
| 이전 주제 보기 :: 다음 주제 보기 |
| 글쓴이 |
메시지 |
한재화 손님
|
올려짐: 2007년10월6일 16:19 주제: LETF에서, 새 env에 지금 함수의 정보를 담아두려면, |
|
|
LETF 가 재귀호출을 지원하게 하려면, env에 현재 함수 정보를 넘겨야하잖아요.
책에 나와있는 대로면,
| 코드: |
σ'{x->l}{f-><x,E',σ'>}
|
이라고 되어있는데, 환경의 정의에 따르면, id->Addr 인 함수이고 <x,E',σ'>은 Addr의 타입인 Loc.t (=int) 가 아니지 않나요.
그렇다면 <x,E',σ'> 을 메모리에 넣어줘야 한다는 의미가 되는데요.
그리고 이 엔트리가 추가된 메모리를 넘겨야 하는거 맞나요?
아, 그리고 Mem.allocate를 할때 size에 얼마를 넣어줘야 하는지 궁금합니다.
지금같이 3-tuple일 경우는 3을 넣어줘야합니까? |
|
| 위로 |
|
 |
한재화 손님
|
올려짐: 2007년10월6일 16:27 주제: 교재에 이미 환경의 확장에 대해 정의되어있네요.. |
|
|
교재 73쪽이 답이 된것 같습니다.  |
|
| 위로 |
|
 |
허기홍
가입: 2007년 9월 27일 올린 글: 231
|
올려짐: 2007년10월7일 0:17 주제: Re: 교재에 이미 환경의 확장에 대해 정의되어있네요.. |
|
|
| 엇.. 튜플을 어떻게 환경에 넣나요? |
|
| 위로 |
|
 |
한재화
가입: 2007년 10월 6일 올린 글: 25
|
올려짐: 2007년10월7일 11:57 주제: 환경의 확장에 대한 정의를 따르면 됩니다. |
|
|
Env의 정의 부분에 보면, 교재에서 환경을 확장하기 전에 정의로 되어있어요.
즉,
로 되어있는데, 이것을
| 인용: |
σ : Id -> Addr + Procedure
|
로 바꿔주면 됩니다. prodedure는 따로 정의하구요 |
|
| 위로 |
|
 |
허기홍 손님
|
올려짐: 2007년10월7일 12:31 주제: Re: 환경의 확장에 대한 정의를 따르면 됩니다. |
|
|
아.. 이걸 못봤네..
재화 감사..
근데 그부분은 dynamic scoping 이고
우리 숙제는 뒷쪽에 static scoping 으로 하는게 맞지요? |
|
| 위로 |
|
 |
한재화
가입: 2007년 10월 6일 올린 글: 25
|
올려짐: 2007년10월7일 12:46 주제: 넵. 그럴경우에 Procedure 부분이 바뀌겠지요. |
|
|
75쪽에 있는 정의로요.
| 인용: |
Procedure = Id * exp * env
|
|
|
| 위로 |
|
 |
|
|
새로운 주제를 올릴 수 없습니다 답글을 올릴 수 없습니다 주제를 수정할 수 없습니다 올린 글을 삭제할 수 없습니다 투표를 할 수 없습니다
|
Powered by phpBB 2.0.21-7 (Debian) © 2001, 2005 phpBB Group Translated by kss & drssay
|