이전 주제 보기 :: 다음 주제 보기 |
글쓴이 |
메시지 |
박재성
가입: 2012년 9월 5일 올린 글: 14
|
올려짐: 2012년10월20일 20:07 주제: 숙제 4-2 WHILE구현 질문입니다 |
|
|
K--의 WHILE을 SM5로 구현할때요
SM5에서의 메모리 M이 K--의 메모리 M 보다 추가적으로 메모리를 사용해도 될까요? (SM5 프로그램 수행에 필요한 임시변수 같은..)
SM5의 메모리사용과 K--의 메모리사용이 정확히 같아야하는지, 달라도되는지, 궁금합니다.
만약 SM5에서 추가적으로 메모리를 사용하도록 코딩한다면
숙제 4-3의 gc도 K--의 메모리 사용량이 아닌 SM5의 메모리 사용량을 측정하기 때문에
제맘대로 메모리를임의로 쓰면 문제가생길거 같기도 하네요..
이질문을 하는이유는 WHILE이 재귀적으로 정의되있어서.. SM5의 K를 바꾸는 call 명령을 이용한 방법밖에 생각이안나는데요.
call이 메모리를 M{l->v}로 바꾸기 때문에
K--의 semantics에 안맞게 되어서 코딩을 못하고있습니다.
예를들어서 while true do unit 같은 경우
K--에서는 메모리 변화가 전혀 없어야 하지만
SM5의 경우 call로 구현하게 되면 어디선가 메모리변화가 있어야 합니다.
다른 방식으로 WHILE 구현할 수 있다면 힌트좀 주세요!!감사합니다. |
|
위로 |
|
|
이승중
가입: 2010년 6월 22일 올린 글: 561
|
올려짐: 2012년10월20일 23:37 주제: |
|
|
K--와 SM5의 메모리 사용량이 정확히 같을 필요 없습니다.
필요에 따라서 추가적인 메모리가 필요하거나, 임시변수가 필요할 수도 있겠죠.
이번 숙제에서 같은 행동을 판단하는 것은 프로그램 수행 결과, 변수의 write한 값이 같느냐로 할것입니다.
WHILE을 다양한 방법으로 할 수 있을 것 같은데요 다른 분들은 어떻게 하시는지, 효율적인 방법은 어떤 것들이 있는지 서로 토론해 보시면 좋을 것 같습니다. |
|
위로 |
|
|
|