게시판 인덱스

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

Sm5 semantics 관련 질문

 
글 쓰기   답변 달기     게시판 인덱스 -> 4190.310 Programming Languages (Fall 2013)
이전 주제 보기 :: 다음 주제 보기  
글쓴이 메시지
심민섭



가입: 2013년 9월 14일
올린 글: 30

올리기올려짐: 2013년10월22일 23:18    주제: Sm5 semantics 관련 질문 인용과 함께 답변

일단 8192개의 로케이션은 loccount와 관련해서 그 작업을 처리해주면 된다는 것은

어렵지 않게 알 수 있습니다.

그렇다면 제가 생각한 방법은 gc를 하는 시점에서 환경에 있는 id들에 대해서

각 로케이션을 모두 체크해볼까 합니다. 다만, 이런 작업을 하는데

제가 잘 모르겠는 부분이 바로 box와 unbox입니다.

우선, box의 경우, w1::w2::...::wz::S ~~~~ box z::C ~~~일 경우
[w1, w2, ..., wz]::S와 같이 리스트 꼴로 묶어주는 거로 보아 record형식같아 보입니다.

여기서 저 w하나하나가 무엇을 나타내는지가 궁금합니다.

레코드는 {id -> loc}의 집합과 {loc -> value} 이 집합으로 나뉘는데 어떤 것에 해당하는지가 의문입니다!

두번째로, unbox를 할때 옆에 조건식인 wk = (x, v) (1 <= k <= z)라는 조건이 있는데 여기서 v가 무엇을 의미하는지도 궁금합니다. semantics에는 w들과 x만 있는데 갑자기 v가 나오니 헷갈립니다 ㅜㅜ...

(4-2에서는 box와 unbox를 사용하지 않았기 때문에 문제가 되지 않았습니다만...)
위로
사용자 정보 보기 비밀 메시지 보내기
심민섭



가입: 2013년 9월 14일
올린 글: 30

올리기올려짐: 2013년10월22일 23:29    주제: .. 인용과 함께 답변

2번째 질문은 생각해보니 혹시 [w1, w2, ... , wz]에 x를 넣었을때 그에 상응하는 id가 있을때 그에 상응하는 value v를 stack에 넣어주는것인가요???

물론, 그럴 경우 w는 뭔가 id->value로 가는 하나의 조그마한 expression될거 같기도 하고...! 알려주셨으면 좋겠습니다!
위로
사용자 정보 보기 비밀 메시지 보내기
최준원



가입: 2007년 3월 30일
올린 글: 149

올리기올려짐: 2013년10월23일 9:40    주제: 인용과 함께 답변

인용:
일단 8192개의 로케이션은 loccount와 관련해서 그 작업을 처리해주면 된다는 것은

어렵지 않게 알 수 있습니다.

제가 잘못 이해하여 오해하고 있을 수 있으나, 혹시 몰라 말씀드립니다.
GC를 한다는 것은 loccount 의 값이 항상 8192 이하로 유지되어야 한다는 뜻은 아닙니다. (물론 그렇게 구현할 수도 있지만)
예를 들어, 1 부터 8192 까지의 값이 모두 loccount 에 의해 할당된 상태에서
GC 를 통해 3 이 수집된다면 이후 할당에 8193 을 사용하셔도 됩니다.

인용:
[w1, w2, ..., wz]::S와 같이 리스트 꼴로 묶어주는 거로 보아 record형식같아 보입니다.

맞습니다. Sm5 module 의 정의되어 있는 record 입니다.

인용:
여기서 저 w하나하나가 무엇을 나타내는지가 궁금합니다.

문제에 기술된 SM5 semantics, 혹은 sm5.ml 코드를 참고하시면
w 하나하나는 Sm5 module 의 map 구조이어야 함을 알 수 있습니다.

인용:
레코드는 {id -> loc}의 집합과 {loc -> value} 이 집합으로 나뉘는데 어떤 것에 해당하는지가 의문입니다!

이 질문은 제가 잘 이해를 못했는데요, 역시 코드를 참고하시면 "type map = string * svalue" 입니다.

인용:
두번째로, unbox를 할때 옆에 조건식인 wk = (x, v) (1 <= k <= z)라는 조건이 있는데 여기서 v가 무엇을 의미하는지도 궁금합니다. semantics에는 w들과 x만 있는데 갑자기 v가 나오니 헷갈립니다 ㅜㅜ...

v 는 Sm5 module 의 svalue 를 나타냅니다. 간단히 말씀드리면 SM5 에서의 값입니다.

인용:
2번째 질문은 생각해보니 혹시 [w1, w2, ... , wz]에 x를 넣었을때 그에 상응하는 id가 있을때 그에 상응하는 value v를 stack에 넣어주는것인가요???

맞습니다.


전반적인 질문 내용을 보았을 때, sm5.ml 코드를 한 번 훑어보시면 전반적인 이해에 큰 도움이 되실 것 같습니다 Smile
위로
사용자 정보 보기 비밀 메시지 보내기
심민섭



가입: 2013년 9월 14일
올린 글: 30

올리기올려짐: 2013년10월23일 10:53    주제: .. 인용과 함께 답변

좋은 답변 감사합니다!
위로
사용자 정보 보기 비밀 메시지 보내기
이전 글 표시:   
글 쓰기   답변 달기     게시판 인덱스 -> 4190.310 Programming Languages (Fall 2013) 시간대: GMT + 9 시간(한국)
페이지 11

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


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