김무환
가입: 2018년 9월 12일 올린 글: 9
|
올려짐: 2018년11월22일 5:24 주제: 과제 6-1 입력 관련 질문입니다. |
|
|
모든 테스트 데이터가 K-- -> Sm5의 변환을 거친 상태로 들어오나요?
아니면, K--에서는 생성될 수 없는 독립적인 Sm5 코드도 들어오나요?
질문을 드리는 이유는, K-- -> Sm5 번역기가 모든 명령이 하나의 리턴 값을 가지고(스택에 하나의 값이 추가되고), BIND한 것은 모두 UNBIND하며 PUSH한 것은 프로그램 전체의 결과 값을 제외하고 모두 POP하도록 작성되어 있기 때문입니다.
예를 들어, K-- -> Sm5를 통해 만들어진 데이터만 테스트한다면, Sm5 코드에서 call 이전과 이후에 스택 상태가 리턴 값 하나가 추가되고 나머지는 보존된다고 가정할 수 있습니다. 또, 어떤 함수의 body를 실행한 이전과 이후의 env에는 변화가 없다고도 가정할 수 있게 됩니다.
이렇게 가정해도 되나요? 아니면, Sm5로 코딩된 임의의 프로그램에 대해서 번역기가 작동해야 하나요? |
|