게시판 인덱스

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

environment 질문

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



가입: 2017년 9월 5일
올린 글: 24

올리기올려짐: 2017년9월23일 0:33    주제: environment 질문 인용과 함께 답변

2-7을 풀다가 environment에서 정의되지 않는 이름이 사용될 경우 Exception으로 추가하였는데 이 부분이 잘 이해가 되지 않아 인터넷 검색(주로 Cornell대학)도 해보고 PL-book-draft 의 environment를 참고 하였습니다.
그런데도 문제상의 environment에서 예외를 발생시키라는 말이 잘 이해가 안됩니다. 어짜피 environment를 입력받는 곳은 ZEXPR.eval 에서 emptyEnv 부분인데 environment를 제 마음대로 type을 정해도 된다는게 무슨 말인가요?? ㅜㅜ

문제와 관련된 environment에 대해서 설명해주시거나 제가 environment에 대해 차근차근 쉽게 이해할 수 있는 자료가 있으면 추천해주시면 정말 감사하겠습니다!
위로
사용자 정보 보기 비밀 메시지 보내기
하비홍



가입: 2017년 9월 7일
올린 글: 8

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

그냥 2-4에 계산이 추가되었다고 생각하면 됩니다.
2-4에서 주어진 역이 제대로 생겼는지를 확인하기 위해서 metro 말고 역 바깥쪽 정보를
알 수 있도록 뭔가를 추가해서 했잖아요.
2-7에서는 그걸 환경이라고 명시한 겁니다.
위로
사용자 정보 보기 비밀 메시지 보내기
김성국17



가입: 2017년 9월 15일
올린 글: 16

올리기올려짐: 2017년9월24일 16:13    주제: 인용과 함께 답변

x + 1이라는 식의 값을 계산하기 위해선 우선 x의 값을 알아야할 것입니다.

이 때 변수 x의 값이 무엇인지가 어딘가에 기록되어 있어야할 것이고, 그러한 것을 환경(environment)라고 부릅니다.

x + 1의 값을 계산하는데, 환경에 x의 값이 2라고 적혀있다면 식의 값은 3이 되겠죠.

하지만 만약 x의 값이 환경에 기록되어 있지 않다면, x의 값을 알 수가 없으니 식의 값을 계산할 수 없고 결국 오류 상황이 될 것입니다.

이러한 오류 상황에 Exception은 발생시키라는 의미입니다.


환경의 type을 마음대로 해도 된다는 것은, 환경을 구현하는데 있어 어떠한 자료구조를 써도 상관이 없다는 뜻입니다.

함수로 구현할 수도 있을꺼고, [(x, 1); (y, 2); ...] 이런 식의 assoc list로 구현할 수도 있을꺼고, ([x; y; ...] ,[1; 2; ...]) 리스트의 쌍으로 구현할 수도 있을꺼고... 구현 스펙에만 맞는다면 본인이 디자인 하기 나름일 것 같습니다.
위로
사용자 정보 보기 비밀 메시지 보내기
이전 글 표시:   
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4190.310 Programming Languages (Fall 2017) 시간대: GMT + 9 시간(한국)
페이지 11

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


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