게시판 인덱스

 
 FAQFAQ   검색검색   멤버리스트멤버리스트   사용자 그룹사용자 그룹   사용자 등록하기사용자 등록하기 
 개인 정보개인 정보   비공개 메시지를 확인하려면 로그인하십시오비공개 메시지를 확인하려면 로그인하십시오   로그인로그인 

Bot이 메모리 테이블에 들어가지 않아도 되나요

 
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4190.310 Programming Languages (Fall 2006)
이전 주제 보기 :: 다음 주제 보기  
글쓴이 메시지
장민석



가입: 2006년 9월 5일
올린 글: 165

올리기올려짐: 2006년10월12일 12:38    주제: Bot이 메모리 테이블에 들어가지 않아도 되나요 인용과 함께 답변

나눠주신 소스 코드 중 VAR 구현 부분을 보면 아래와 같습니다.

코드:
| eval env m (VAR x) =
              (case Mem.fetch (env_loc x env) m of
                 Some v => v
               | None => Bot,
               m)


보시다시피 메모리 값이 None이면, 즉 초기화되지 않았으면 Bot을 반환합니다. 다른 부분도 이런 식으로 구현해도 될까요? 즉 다음과 같은 식으로 말입니다.

인용:
1. Bot은 메모리의 바인딩 테이블에 실제로 저장되지 않습니다.
2. Mem.fetch 실행 시 None값이 반환된다면 Bot으로 변환합니다.


예를 들어, K- 스펙 문서를 보면 malloc 호출 시, 새롭게 할당된 모든 location을 Bot으로 초기화하도록 되어있습니다. 그런데 이 경우 위의 방법론을 따른다면 실제로 새로 할당된 location들을 Bot으로 초기화할 필요가 없을 것 같습니다. 어차피 None이 자동으로 들어가 있을 테니까요. 그리고 Bot의 개념 자체가 "이 주소는 초기화되지 않았다"는 것인데, Bot으로 초기화한다는 것도 좀 어색한 것 같고요.

요컨대, Bot을 메모리 테이블에 일일이 저장하지 않고, Mem.fetch가 호출되는 경우에 호출하는 루틴에서 None->Bot으로 처리해줘도 무방할까요?
위로
사용자 정보 보기 비밀 메시지 보내기
박대준



가입: 2005년 10월 7일
올린 글: 245

올리기올려짐: 2006년10월13일 18:19    주제: 인용과 함께 답변

네, 바르게 이해하셨습니다.
의미 정의 문서에 나와있는 것은 bot으로 초기화시키는 것이 아니라 아무값도 넣지 않는다는 뜻입니다.
위로
사용자 정보 보기 비밀 메시지 보내기
이전 글 표시:   
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4190.310 Programming Languages (Fall 2006) 시간대: GMT + 9 시간(한국)
페이지 11

 
건너뛰기:  
새로운 주제를 올릴 수 없습니다
답글을 올릴 수 없습니다
주제를 수정할 수 없습니다
올린 글을 삭제할 수 없습니다
투표를 할 수 없습니다


Powered by phpBB 2.0.21-7 (Debian) © 2001, 2005 phpBB Group
Translated by kss & drssay