게시판 인덱스

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

아직 이해가 안되네요,,

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



가입: 2009년 9월 19일
올린 글: 35

올리기올려짐: 2009년10월5일 20:54    주제: 아직 이해가 안되네요,, 인용과 함께 답변

값과 메모리를 리턴한다는건 튜플을 리턴한다는거 아닌가요?

run은 값만 리턴하는데,,,

그럼 run 내부에 튜플을 리턴하는 함수를 만들어놓고 정해진 시맨틱스를 따라 계산하여 run이 최종 결과값만을 리턴하게 하는건가요?

또한 이러한 함수는 값과 메모리 뿐만 아니라 Env도 리턴해줘야 되는게 아닌지,,,

숙제가 감이 잡히질 않습니다,,,

만약 K.run( K.emptyMemory, K.emptyEnv, ASSIGN("i", 10))을 실행하면 결과값은 뭔가요
위로
사용자 정보 보기 비밀 메시지 보내기
허기홍



가입: 2007년 9월 27일
올린 글: 231

올리기올려짐: 2009년10월5일 22:04    주제: 인용과 함께 답변

많은 분들이 헷갈려하셔서 제가 이 밑에 김우열씨 질문에 답변으로도 달아놓았습니다.

중호씨 말대로

내부에 튜플을 리턴하는 함수를 만들어놓고 최종 결과에서 값만 취하시면 됩니다.

env는 뭐 구현에 따라 다를 수 있겠지만 리턴안해도 구현할 수 있습니다.
한 번 잘 생각해보세요.


K.run( K.emptyMemory, K.emptyEnv, ASSIGN("i", 10))

이걸 실행하면 결과는 에러입니다.
왜냐면 현재 환경에는 i 라는 변수가 없는데 거기다가 10을 대입하려하기 때문입니다.
위로
사용자 정보 보기 비밀 메시지 보내기 이메일 보내기 글 올린이의 웹사이트 방문
노건일



가입: 2009년 9월 26일
올린 글: 50

올리기올려짐: 2009년10월5일 22:53    주제: 인용과 함께 답변

엇.
ASSIGN("i", 10) 하면..
if 10을 계산해서 value가 나온다면
then i에 메모리를 할당해서 그 value를 저장하는거 아니었나요?

으.. 난 그런줄 알았는데...
위로
사용자 정보 보기 비밀 메시지 보내기
허기홍



가입: 2007년 9월 27일
올린 글: 231

올리기올려짐: 2009년10월6일 7:19    주제: 인용과 함께 답변

ASSIGN은 변수를 메모리에 할당하는 것이 아닙니다.
원래 메모리에 있는 변수에다 값을 저장하는 것이죠.

새로운 변수를 할당하는 것은 LETV가 하는 일입니다.
위로
사용자 정보 보기 비밀 메시지 보내기 이메일 보내기 글 올린이의 웹사이트 방문
노건일



가입: 2009년 9월 26일
올린 글: 50

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

아..

조교님 그렇다면 for도 역시 기존에 메모리에 있던 변수를 찾는건가요?

for x := e1 to 21 do e3

를 쓰려면 위에서

let x := 0 in 을 꼭 해줘야 하는건가요?
위로
사용자 정보 보기 비밀 메시지 보내기
허기홍



가입: 2007년 9월 27일
올린 글: 231

올리기올려짐: 2009년10월6일 9:29    주제: 인용과 함께 답변

그렇습니다. 변수나 함수 선언은 LET으로만 할 수 있습니다.

여러분. 아직 semantics 읽는 법에 익숙치 않으셔서 그런데

LEV나 CALLV 보시면 '예전 메모리에 속하지 않은 l'이 있죠?
예전 메모리에 속해있지 않다는 것은 새로 할당한 주소라는 뜻입니다.

반면 ASSIGN이나 FOR에서 쓰이는 '시그마(x)' 는 이미 시그마의 정의역에 x가 있어야 하고 그 때 함수값 '시그마(x)'를 의미합니다.
만약 정의역에 x가 없다면 (이는 곳 선언되지 않은 변수) 에러입니다.
위로
사용자 정보 보기 비밀 메시지 보내기 이메일 보내기 글 올린이의 웹사이트 방문
이전 글 표시:   
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4190.310 Programming Languages (Fall 2009) 시간대: GMT + 9 시간(한국)
페이지 11

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


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