게시판 인덱스

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

과제 6-2 질문

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



가입: 2024년 3월 12일
올린 글: 9

올리기올려짐: 2024년5월10일 2:02    주제: 과제 6-2 질문 인용과 함께 답변

안녕하세요, 과제 6-2에 대해 질문이 있습니다.

SM5의 스펙을 보면 push는 Value값 v를 받을 수 있고 v는 Integer + Bool + Unit + Record + Loc인데,

코드:
PUSH (Val (Z 10)); PUSH (Val (L (0, 1))); STORE;


처럼 push v의 v가 loc 혹은 record값인 경우가 valid한 sm5의 프로그램인지 궁금합니다. 제가 이해한 것이 맞다면 machine.mli 에서 loc과 record의 실제 타입을 드러내지 않아서 mli을 수정하지 않고서는 gc_test등에서 해당 프로그램을 실제로 돌려볼 수 는 없는 것 같은데, 문서 스펙상 불가능하지는 않아 보여서 질문드립니다.

감사합니다.
위로
사용자 정보 보기 비밀 메시지 보내기
이재호
Site Admin


가입: 2022년 3월 6일
올린 글: 209

올리기올려짐: 2024년5월11일 13:52    주제: 인용과 함께 답변

안녕하세요,

값이 loc 혹은 record이 경우에도 올바른 Sm5 프로그램이지만, Gc_test 모듈에는 이를 push의 인자로 사용하는 경우는 들어있지 않습니다.
원하신다면 인터페이스에 loc과 record의 타입을 드러내어 확인해보셔도 괜찮습니다.

감사합니다.

조교 드림


TA 이재호
e-mail: jhlee@ropas.snu.ac.kr
위로
사용자 정보 보기 비밀 메시지 보내기 이메일 보내기 글 올린이의 웹사이트 방문
조대호



가입: 2024년 3월 12일
올린 글: 9

올리기올려짐: 2024년5월11일 16:11    주제: 인용과 함께 답변

조교님, 답변 감사합니다.

그렇다면 sm5 프로그램에서 env, malloc을 우회해서 하드코드된 loc을 push하고 그 주소의 값으로 mem에서 store/load를 하는 것도 가능할 것 같은데요, 그러면 저희 과제의 설명에서는 gc가 "현재 상태의 세 개의 부품에서" 출발해서 미래에 사용할 수 있는 부분만을 모으면 된다고 힌트가 주어져 있는데, 이러한 임의의 loc/record push까지 고려하면 출발 지점이 세 개의 부품이 아니게 되지 않나요? 제가 잘못 생각하고 있는 부분이 있는지 궁금합니다.

감사합니다.
위로
사용자 정보 보기 비밀 메시지 보내기
이재호
Site Admin


가입: 2022년 3월 6일
올린 글: 209

올리기올려짐: 2024년5월11일 19:08    주제: 인용과 함께 답변

안녕하세요,

malloc을 우회하여 직접 loc을 push하는 경우는 고려하지 않으셔도 됩니다.
테스트는 현재 주어진 machine.mli를 변경하지 않고 돌아가는 경우만 진행됩니다.

감사합니다.

조교 드림


TA 이재호
e-mail: jhlee@ropas.snu.ac.kr
위로
사용자 정보 보기 비밀 메시지 보내기 이메일 보내기 글 올린이의 웹사이트 방문
이전 글 표시:   
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4190.310 Programming Languages (Spring 2024) 시간대: GMT + 9 시간(한국)
페이지 11

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


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