게시판 인덱스

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

2번 숙제, 2번 문제에 대한 질문입니다.

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



가입: 2005년 9월 20일
올린 글: 91
위치: SNUCSE OPT. lab.

올리기올려짐: 2005년9월30일 13:43    주제: 2번 숙제, 2번 문제에 대한 질문입니다. 인용과 함께 답변

1) 혹시 파서 같은 것들은 제공되지 않나요?

K- 로 쓰여진 프로그램을 직접 돌려볼 수 있도록 도와줄.

2) 돌렷 은 `메모리 * 환경 * 프로그램 -> 값' 의 타입을 갖는 함수입니다.

우리가 다룰 언어 K- 는 Statement 와 Expression 을 구별하지 않습니다.

즉, 프로그램을 돌려보면 값이 얻어질 수도 있고,

변화된 메모리를 얻을 수도 있습니다.

혹시 돌렷은 `메모리 * 환경 * 프로그램 -> 값 * 환경' 은 아닌가요?

아니면 돌렷2 가 `메모리 * 환경 * 프로그램 -> 값 * 환경' 이고,

돌렷은 이 결과를 받아 `값' 만을 리턴하는 함수로 구현하는 것인가요?

3) 값은 정수이거나 부울이거나 () 입니다.

값이 타입은 정의되어 있지 않고 직접 정의하도록 되어 있습니다.

물론 `type 값 = int | bool | unit' 과 같은 타입은 불가능한데,

이를 해결하기 위한 방법이 매우 많습니다.

exp 를 흉내낸 `NUM of int | TRUE | FALSE | UNIT' 이나,

`INT of int | BOOL of bool | UNIT of unit' 등등등.

이 경우 혹시 채점의 불편함-_- 때문에 값 에 대한 정의가 있지 않을까 싶은데,

혹시 이 부분에 대해서는 정해진 바가 없나요?



물론 주어진 스펙대로 숙제를 해도 전혀 지장은 없겠지만,

이러한 부분들이 있다면 조금 더 자연스럽지[?] 않을까 하여 질문드려 봅니다.
_________________
The kingdom of heaven has been forcefully advancing, and forceful men lay hold of it.
위로
사용자 정보 보기 비밀 메시지 보내기 글 올린이의 웹사이트 방문 MSN 메신저
김덕환



가입: 2005년 8월 29일
올린 글: 190

올리기올려짐: 2005년9월30일 16:15    주제: Re: 2번 숙제, 2번 문제에 대한 질문입니다. 인용과 함께 답변

김진현 씀:

1) 혹시 파서 같은 것들은 제공되지 않나요?

K- 로 쓰여진 프로그램을 직접 돌려볼 수 있도록 도와줄.

학생들에게 도움이 되도록 파서 및 메모리와 환경을 구현한 모듈을 제공할 예정입니다. 빠르면 오늘 저녁, 늦어도 내일 오전까지는 제공할 수 있을 듯합니다.

물론, 반드시 제공되는 것을 사용할 필요는 없으며, 개인적으로 직접 구현하신 것을 사용하셔도 됩니다.
김진현 씀:

2) 돌렷 은 `메모리 * 환경 * 프로그램 -> 값' 의 타입을 갖는 함수입니다.

우리가 다룰 언어 K- 는 Statement 와 Expression 을 구별하지 않습니다.

즉, 프로그램을 돌려보면 값이 얻어질 수도 있고,

변화된 메모리를 얻을 수도 있습니다.

혹시 돌렷은 `메모리 * 환경 * 프로그램 -> 값 * 환경' 은 아닌가요?

아니면 돌렷2 가 `메모리 * 환경 * 프로그램 -> 값 * 환경' 이고,

돌렷은 이 결과를 받아 `값' 만을 리턴하는 함수로 구현하는 것인가요?

돌렷2를 만드시면 됩니다. 그런데, 돌렷2의 리턴 타입이 '값 * 환경'이 아니라 '값 * 메모리'가 되어야 하지 않을까요?
김진현 씀:

3) 값은 정수이거나 부울이거나 () 입니다.

값이 타입은 정의되어 있지 않고 직접 정의하도록 되어 있습니다.

물론 `type 값 = int | bool | unit' 과 같은 타입은 불가능한데,

이를 해결하기 위한 방법이 매우 많습니다.

exp 를 흉내낸 `NUM of int | TRUE | FALSE | UNIT' 이나,

`INT of int | BOOL of bool | UNIT of unit' 등등등.

이 경우 혹시 채점의 불편함-_- 때문에 값 에 대한 정의가 있지 않을까 싶은데,

혹시 이 부분에 대해서는 정해진 바가 없나요?



물론 주어진 스펙대로 숙제를 해도 전혀 지장은 없겠지만,

이러한 부분들이 있다면 조금 더 자연스럽지[?] 않을까 하여 질문드려 봅니다.

인터페이스(signature)를 준수한다면, 구현 세부 사항에 대해서는 자유롭게 결정하실 수 있습니다. 문제에 다음처럼 나와있습니다.
인용:

이 때 프로그램은 실행 중에 I/O를 하면서 프로그램이 하는 일을 바깥 세상에 드러내게 되겠지요.

임의의 입력에 대해 언어 의미 정의에 따라 정확하게 출력해준다면 그 실행기는 바깥 세상 사람에게는 올바른 실행기입니다. 채점 기준도 입력에 대해 올바른 결과를 내주는 지입니다. 효율성은 고려하지 않습니다. 게다가 특별히 비효율적으로 구현하기도 어려울 듯합니다. Smile
_________________
TheyAreAsSmartAsYouAre


김덕환 가 2005년9월30일 20:26에 수정함, 총 2 번 수정됨
위로
사용자 정보 보기 비밀 메시지 보내기
김진현



가입: 2005년 9월 20일
올린 글: 91
위치: SNUCSE OPT. lab.

올리기올려짐: 2005년9월30일 16:33    주제: 인용과 함께 답변

답변 감사드립니다 Smile

예, 돌렷2 는 `값 * 메모리' 를 리턴해야 하는데 그만 실수했네요 :$


환경, 혹은 메모리에 대한 사족.

환경과 메모리를, 수업시간에 배웠듯 함수로 하였을 때,

빈 환경과 빈 메모리를 어떻게 해야 할 지 헷갈렸는데,

아무 것도 하지 않는 함수로 만들면 되겠더군요-_-;

(물론 예외 발생 처리가 필요하겠지만요)
_________________
The kingdom of heaven has been forcefully advancing, and forceful men lay hold of it.
위로
사용자 정보 보기 비밀 메시지 보내기 글 올린이의 웹사이트 방문 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