게시판 인덱스

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

let 문에서 레코드를 사용할 경우에 대한 질문

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



가입: 2005년 10월 18일
올린 글: 5

올리기올려짐: 2005년10월19일 12:32    주제: let 문에서 레코드를 사용할 경우에 대한 질문 인용과 함께 답변

1. 질문1
코드:

let
   x := {fst :=1, snd :=2}
    in
     y:=malloc(1);
     write x.snd
end



sementic에 따라
let 과 in사이에는 어떤 value를 가지는
변수이든지 넣을 수 있기 때문에
레코드도 삽입되게 됩니다.
그런데 이 경우, x의 크기가 문제가 되게 되는데요
위와 같은 것을 실행시켜 보면 아무 이상이 없이
2가 출력되어야 함에도 불구하고

에러가 나더군요(저의 경우에는)

let을 어떤 방향으로 수정해주는 것이 좋을까요? ㅠㅠ


질문2. equal에서 레코드와 레코드를 비교할 때
dom(r1) = dom(r2)
라는 것은 두 개의 domain이 같다는 것이잖아요.
그 의미가 상당히 헷갈립니다.
r1이 가지는 두 필드의 이름과
r2가 가지는 두 필드의 이름이 같다는 뜻으로 일단 해석은
했는데 왠지 아닌 것같다는.......ㅠㅠ

둘이 같은 type의 field들을 가지는지를 판단하라는 말씀인지

혹은

둘이 그냥 메모리에만 있으면 된다
(dom(m1)에 포함되지 않은 l이라 할때
그동안 m1에서 아직 할당되지 않은 l을 allocate해왔던 것처럼)

인지 궁금하네요

조교님께서 전체의 설명을 다 해주셨으면 좋겠습니다.
r1의 domain이라는게 도대체 뭡니까? ㅠㅠ
위로
사용자 정보 보기 비밀 메시지 보내기
이용석



가입: 2005년 9월 29일
올린 글: 6

올리기올려짐: 2005년10월19일 12:59    주제: Re: let 문에서 레코드를 사용할 경우에 대한 질문 인용과 함께 답변

코드:

let
   x := {fst :=1, snd :=2}
    in
     y:=malloc(1);
     write x.snd
end




1. 음 일단 코드가 잘못돼었습니다. y가 bind 가 안되어있으므로 에러가 나는 것이 당연합니다.

코드:

let
  x := {fst :=1, snd := 2}
in
    let
       y := malloc(1)
    in
       write x.snd
    end
end


하면 문제가 없습니다.


2. domain 은 set 이므로 두 레이블이 순서에 상관없이 서로 같을 때 같은 domain 이겠지요. 같은 레코드려면 각각의 field가 가리키는 location도 같아야 하구요.
위로
사용자 정보 보기 비밀 메시지 보내기 글 올린이의 웹사이트 방문 MSN 메신저
이전 글 표시:   
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4190.310 Programming Languages (Fall 2005) 시간대: GMT + 9 시간(한국)
페이지 11

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


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