이전 주제 보기 :: 다음 주제 보기 |
글쓴이 |
메시지 |
김우재 손님
|
올려짐: 2005년11월7일 22:17 주제: 숙제 5-1 질문~~ exp 실행 순서에 대해서 |
|
|
ASSIGNG(exp1, exp2) 같은 경우에 보면
K-- 정의에서는 원래 exp1이 먼저 실행되고 exp2가 나중에 실행되어야 합니다.
그런데 Stack 머신에서 store를 실행시키기위해서는 value를 먼저 stack에 넣고 location을 나중에 넣어 줘야 합니다.
음... 여기서 문제가 생기는 것 같은데요.. value를 먼저 넣어주기 위해서 exp2를 먼저 실행시키고 exp1을 나중에 실행시키게 되는데 이러면 expression의 순서가 뒤바뀌게 됩니다.
가령 exp1이 write 1;location ,
exp2가 write 2; 30 이 었다면 location에 30이 들어가는 효과는 낼 수 있겠지만
K--에서 1 2가 출력되던것이 스택머신에서는 2 1이 출력될 것 같습니다.
음..... 스택에 들어있는 값의 순서를 바꾸는 방법이 없는 것 같은데....
이런 경우는 어떻게 해야할지 ...참... |
|
위로 |
|
|
서상원
가입: 2005년 9월 27일 올린 글: 33
|
올려짐: 2005년11월7일 22:51 주제: |
|
|
명령어를 적절히 조합하면 swap_stack 기능을 구현할 수 있을 것 같습니다. |
|
위로 |
|
|
|
|
새로운 주제를 올릴 수 없습니다 답글을 올릴 수 없습니다 주제를 수정할 수 없습니다 올린 글을 삭제할 수 없습니다 투표를 할 수 없습니다
|
Powered by phpBB 2.0.21-7 (Debian) © 2001, 2005 phpBB Group Translated by kss & drssay
|