 |
|
이전 주제 보기 :: 다음 주제 보기 |
글쓴이 |
메시지 |
최정원
가입: 2025년 3월 22일 올린 글: 4
|
올려짐: 2025년4월18일 15:07 주제: [숙제 4] Exercise 1 질문입니다. |
|
|
안녕하세요, CALLV, CALLR 함수의 semantics가 아직도 잘 이해가 안 되어 질문드립니다.
CALLV 함수에는 e’(expression이라고 해석했습니다)에 적용, CALLR 함수에는 e(expression)에 적용한다고 되어 있는데 두 함수 모두 어떤 expression을 인자로 받지 않습니다. 이 경우 어디에다 적용해야 하는지 잘 모르겠습니다. 새로운 exp를 변수로 만들어 거기에 적용해야 하는 건가요? 혹은 인자로 주어진 id로 검색한 process에서 가져와야 하나요?
또한, CALLV, CALLR 모두 WHILE 함수의 semantics처럼 재귀 형식의 함수라는 표시가 없지만 재귀를 하지 않으면 인자로 주어지는 list의 모든 expression 혹은 id에 Env bind 혹은 Mem store을 적용시킬 방법이 있는지 잘 모르겠습니다. 제가 semantics를 잘못 해석 하고 있는 것일까요? 혹은 무조건 보조 함수를 만들어 사용해야 한다는 의미일까요?
(수정) -> 추가로 질문이 생겨 여쭤봅니다. RECORD 생성 함수의 경우, value로 변수 xn 에 location ln을 적용하는 경우를 반환하는 것 같은데, 이 경우는 저희가 value Record의 역할을 하는 새로 function을 만들어 value로 돌려주는 걸까요? assign하는 경우 자체를 value로 돌려주는 것이 무엇인지 이해가 잘 되지 않습니다.
긴 질문 읽어주셔서 감사드립니다. |
|
위로 |
|
 |
오규혁 Site Admin
가입: 2022년 3월 15일 올린 글: 88
|
올려짐: 2025년4월19일 19:57 주제: |
|
|
안녕하세요,
1. 각 실행 의미 오른쪽에 σ(f)= ... 에서 찾아볼 수 있습니다.
2. 보조 함수를 만들어서 구현하시면 됩니다.
3. RECT와 같은 경우에는 value는 Record of (id -> Loc.t)가 됩니다. (id -> Loc.t)의 경우는 말씀하신 대로 함수가 맞습니다. x1을 받으면 l1을, ..., xn을 받으면 ln을 돌려주는 함수를 값으로 돌려주라는 의미입니다.
조교드림 _________________ TA 오규혁
e-mail: ghoh@ropas.snu.ac.kr |
|
위로 |
|
 |
|
|
새로운 주제를 올릴 수 없습니다 답글을 올릴 수 없습니다 주제를 수정할 수 없습니다 올린 글을 삭제할 수 없습니다 투표를 할 수 없습니다
|
Powered by phpBB 2.0.21-7 (Debian) © 2001, 2005 phpBB Group Translated by kss & drssay
|