게시판 인덱스

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

숙제 6 CPO update 버그? - 구조적인 문제

 
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4541.664A Program Analysis (Spring 2009)
이전 주제 보기 :: 다음 주제 보기  
글쓴이 메시지
강지훈



가입: 2008년 9월 2일
올린 글: 291
위치: 302동 312-2호

올리기올려짐: 2009년4월20일 3:01    주제: 숙제 6 CPO update 버그? - 구조적인 문제 인용과 함께 답변

강지훈입니다.

코드:

(if 1
  k := &x
  k := &y);
*k = 1;
x = 2

같은 코드가 있으면, 제가 작성한 프로그램은 최종 답으로
{k} <- loc{x,y}
{x} <- 2
{x,y} <- 1
을 내놓습니다.

하지만 분명히
{k} <- loc{x,y}
{x} <- 2
{y} <- 1
가 옳은 답일텐데요,


이 문제는 뼈대로 주신 sign.ml에서 제시한 CPO의 인터페이스가 원인이 되는 것 같습니다.
코드:

    type loc = LocCPO.t
    ..
    let update t loc v = match t with
        BOT -> MAP(FMap.add loc v FMap.empty)
      | MAP m -> MAP(FMap.add loc v m)
      | TOP -> TOP

{x,y} <- 1이 있을 때
{x}을 갱신하려고 해도 {x,y}에서 {x}가 빠지지 않습니다.

아마 1. 뼈대의 버그이거나, 2. 제가 문제 의도를 잘못 파악한 것 같습니다..


--
아 숙제가 참 피말리네요 ㅜㅜ 흑
_________________
강지훈
프로그래밍의 원리 조교

Jeehoon Kang
TA, Principles of Programming
위로
사용자 정보 보기 비밀 메시지 보내기
공순호



가입: 2005년 9월 29일
올린 글: 363
위치: 302동 312-2호

올리기올려짐: 2009년4월20일 8:29    주제: 인용과 함께 답변

뼈대의 update와 lookup_map을 수정하였습니다.

다운 받아서 사용하면 됩니다.

자세한 사항은 공지에 적어두었습니다.
_________________
- soon@ropas
위로
사용자 정보 보기 비밀 메시지 보내기 글 올린이의 웹사이트 방문
이전 글 표시:   
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4541.664A Program Analysis (Spring 2009) 시간대: GMT + 9 시간(한국)
페이지 11

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


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