게시판 인덱스

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

과제 5-2

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



가입: 2008년 9월 5일
올린 글: 18

올리기올려짐: 2010년10월24일 10:09    주제: 과제 5-2 인용과 함께 답변

1. 과제 설명에 보면
인용:
번역된 결과를 Exercise 1에서 만든 reduce로 실행시켜서 원래 M0프로그램의 결과와 같은 값을 내놔야 한다.

라고 되어 있습니다.
그런데 skeleton으로는 M0프로그램을 파싱한 결과만 나오고 M0프로그램이 실행 결과가 나오지 않기 때문에 비교 대상이 없어요.

2. 과제 설명에 보면
인용:
번역할 프로그램은 항상 자연수를 최종적으로 계산하는 프로그램으로 제한한다.

라고 되어 있습니다.
그런데 ./run을 통해서 프로그램을 실행하면 normal lambda term으로 결과가 나옵니다. 이렇게 실행한 결과는 encoding 방법에 따라 모양이 다르게 되겠지요.
출력 포맷을 알고싶습니다. 예를들어 결과를 ocaml의 int타입으로 decode한 뒤 string_of_int 함수를 써서 나온 값을 id라고 하면 Lambda.Id(id) 와같이 출력한다거나 하는 정해진 출력 포맷이 필요한 것 같습니다.

3. 가능하다면 M0 language의 semantic을 알려주셨으면 합니다. 특히 rec함수가 햇갈리는데 Rec (id1, id2, pgm)은 함수 이름이 id1이고 argument가 id2이고 pgm이 body인 recursive function이 맞는지요. 그리고 M0로 이 함수를 사용할 때 (rec id1 id2 => body) (id1 5) 이런 모양이 맞나요?

4. alpha numeric identifier가 무슨 뜻인가요?

5. lambda term의 reduction만으로 계산을 해야 하나요? 예를들어 1+2를 할 때 이것을 강의 슬라이드에 있는것과 같이 계산하지 않고 encode된 두 숫자를 ocaml의 int타입으로 decode한 뒤 더해서 더한 숫자를 encode하는 방식으로 계산해도 되는지요?
위로
사용자 정보 보기 비밀 메시지 보내기
조성근



가입: 2009년 9월 14일
올린 글: 283

올리기올려짐: 2010년10월24일 12:36    주제: 인용과 함께 답변

1. 예. M0 언어에 대한 인터프리터가 없다고 하여도 복잡하지 않은 언어이기 때문에 프로그램의 실행 결과는 쉽게 예상하실 수 있을 것이라 생각합니다. 의미가 애매한 프로그램이 있다면 알려주세요.

2. 자연수를 encoding하는 방법은 강의 슬라이드 5-0.ppt 에 나와 있습니다. 보통은 이 encoding 방식으로 자연수에 대한 람다식을 만드는데요, 혹시 다른 방식으로 encoding을 하고 싶으신 분은 저희에게 알려주세요.

3. M0 언어의 모양을 보면 아시겠지만 재귀함수는 다음과 같이 만들어진 함수에 바로 인자를 적용하여 함수를 사용합니다.
(rec id1 id2 => body) 5

4. "id0", "id1" 등과 같이 영문자와 숫자의 조합으로 만들어진 변수명을 이야기할 때 사용합니다.

5. 문제 5-2에서는 lambda term을 계산하지 않습니다. M0 프로그램을 lambda식으로 변환해야 합니다.
위로
사용자 정보 보기 비밀 메시지 보내기
이전 글 표시:   
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4190.310 Programming Languages (Fall 2010) 시간대: GMT + 9 시간(한국)
페이지 11

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


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