유진선14
가입: 2018년 9월 11일 올린 글: 18
|
올려짐: 2018년10월10일 22:10 주제: 3-1 자료 질문 |
|
|
조교님 안녕하세요, 제공해주신 뼈대코드/문법설명 pdf를 보던 중 몇가지 궁금한 점이 생겨 질문드립니다.
1. 제공해주신 READ, WRITE, LETV, ASSIGN 중 READ, WRITE, ASSIGN 만 (v, M)꼴로 리턴이 되고 LETV 만 다시 eval이 들어갑니다. 직관적으로, 각 명령의 의미를 생각하면 당연히 그런 게 이해가 됩니다. 다만, TA게시판에 있는 K-언어 문법을 보면 READ, WRITE, LETV, ASSIGN 모두 σ,M⊢E⇒v, M′꼴로 끝나는데, 이것만 보면 어떻게 (v,M)꼴과 새로운 eval 꼴을 구분할 수 있는건지 (혹은 제가 잘못 이해하고 있는 부분이 있는건지)궁금합니다.
2. 제공해주신 뼈대코드에 NUM 만 구현하고
를 실행해보았는데, 'Unbound' 에러가 떴습니다. 뼈대코드 윗부분을 본 결과, env가 empty하다고 인식해서 Unbound를 뱉어내는 것 같은데, LETV 랑 WRITE모두 조교님이 제공해주셨음을 감안하면 이런 에러가 생기는것이 잘 이해되지 않습니다. 추측컨데 제가 k-파일을 잘못 썼거나, NUM을 잘못 정의한 것 같은데, write 4가 정상적으로 작동한 것을 보면 또 다른 원인도 배제할 수 없을 것 같습니다.
감사합니다! |
|