이전 주제 보기 :: 다음 주제 보기 |
글쓴이 |
메시지 |
dongin1001
가입: 2024년 4월 4일 올린 글: 2
|
올려짐: 2024년4월13일 18:28 주제: HW4-1 질문입니다. |
|
|
안녕하세요, 여러가지 테스트를 해보던 중 callv의 구현에 어려움이 있어 질문드립니다.
입력받은 id에서 procedure를 호출한 뒤 procedure의 각 id와 program list의 각 value를id->location->value로 바인딩하여 계속해서 새로운 메모리와 새로운 환경으로 업데이트 해나가는 재귀함수를 만들어 구성해보려고 했는데,
이 경우 test6에서는 예상한대로 잘 작동하나
test4를 실행할 시 예상한 출력값인 0이 아닌 1이 출력되는 문제가 발생했습니다.
정확히는 재귀함수 호출 시 기존환경인 env를 사용하면 test4에서는 1이 출력되고,
프로시저의 환경인 env'를 사용하면 test6에서 Unbound error가 발생하는 상황입니다.
아마 스코프 설정의 문제인 것 같은데,
오래도록 고민해보아도 해결이 어려워 조언을 구하고자 질문드립니다. |
|
위로 |
|
|
이재호 Site Admin
가입: 2022년 3월 6일 올린 글: 142
|
올려짐: 2024년4월14일 12:18 주제: |
|
|
안녕하세요,
정확히 어떤 실수인지 알기는 어렵지만, CALLV 규칙에서 ⊢ 왼쪽의 σ가 정확히 어떤 모양인지를 잘 살펴보시기 바랍니다.
e1, ..., en을 계산할 때의 σ와, f가 가지고 있던 σ', 마지막으로 e'을 계산할 때의 σ'에 바인딩을 더 넣은 새로운 환경을 정확히 계산하였는지 검토를 하시면 될 것입니다.
감사합니다.
조교 드림
TA 이재호
e-mail: jhlee@ropas.snu.ac.kr |
|
위로 |
|
|
|
|
새로운 주제를 올릴 수 없습니다 답글을 올릴 수 없습니다 주제를 수정할 수 없습니다 올린 글을 삭제할 수 없습니다 투표를 할 수 없습니다
|
Powered by phpBB 2.0.21-7 (Debian) © 2001, 2005 phpBB Group Translated by kss & drssay
|