게시판 인덱스

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

조교님이 올려주신 2-5뼈대코드는 어떻게 사용하는건가요?

 
글 쓰기   답변 달기     게시판 인덱스 -> 4190.310 Programming Languages (Fall 2012)
이전 주제 보기 :: 다음 주제 보기  
글쓴이 메시지
김상우



가입: 2011년 9월 10일
올린 글: 50

올리기올려짐: 2012년9월26일 14:19    주제: 조교님이 올려주신 2-5뼈대코드는 어떻게 사용하는건가요? 인용과 함께 답변

예제코드를 돌려보면 괄호처리가 조금 잘못된거같은데 한번 확인해주세요.

pprint를 어떻게 사용하는지 잘 모르겠습니다.

main.ml의 let _ = 부분에서 뭘 하는것인가요?...
위로
사용자 정보 보기 비밀 메시지 보내기
이승중



가입: 2010년 6월 22일
올린 글: 561

올리기올려짐: 2012년9월26일 15:58    주제: 인용과 함께 답변

괄호처리 출력부분은 수정해서 올렸습니다.

pprint는 직접 MULT (NUM 5, NUM 6) 같은 구문을 ocaml로 만들었을때 생각과 비슷한지 확인해보는 함수입니다.

뼈대 코드는 테스트를 쉽게 하기 위해서 파일로 부터 zexpr을 읽어들이고

각자 만든 Zexpr.eval에 값을 넣어주기 위해서 만든 것입니다.

s1.txt처럼 s2.txt 를
코드:
let x = 10 in max [ 2; 3; 4; x ]
로 만들고

코드:
ex5 s2.txt

해서 제대로 된 결과가 나오는지 확인해 봅니다.

원래대로라면 ocaml코드에
코드:
 eval (emptyEnv, LET ("x", NUM 10, MAX [ NUM 2; NUM 3; NUM 4; VAR "x"] ))

처럼 직접 써야하는데 구문이 복잡해지면 알아보기 힘들기 때문에 제공하는 것입니다.
위로
사용자 정보 보기 비밀 메시지 보내기
김상우



가입: 2011년 9월 10일
올린 글: 50

올리기올려짐: 2012년9월26일 17:12    주제: 질문 추가합니다~ 인용과 함께 답변

그러면 s1.txt를 돌렸을 시 결과가 어떻게되야 하나요????

main.ml안에 ignore(eval ~~)이런게 있는데 이부분에서 eval의 결과가 안나오는게 맞나요?
위로
사용자 정보 보기 비밀 메시지 보내기
이승중



가입: 2010년 6월 22일
올린 글: 561

올리기올려짐: 2012년9월26일 22:52    주제: 인용과 함께 답변

숙제 문서에는 결과값을 출력하고 값을 돌려주라고 되어있으니까요

뼈대코드 수행하면

s1.txt의 pprint 한 결과
엔터
s1.txt의 pprint_ocaml한 결과
엔터
10

나올겁니다.
그냥 s1.txt를 수행한 값인 10만 제대로 출력되면 됩니다.

p.s 숙제하는데 ignore는 필요가 없지만 설명을 드리자면 임의의 인자를 받아서 아무 일 안하고 unit을 돌려주는 함수 입니다.
;로 명령어를 이어 붙일 때 이전 명령어가 unit값을 돌려주지 않으면 워닝이 나기 때문에 사용하지 않는 리턴값을 제거 한겁니다.
함수 수행에 영향을 주는건 아니기 때문에, 결과값 10이 출력되는것과는 상관이 없습니다
위로
사용자 정보 보기 비밀 메시지 보내기
이전 글 표시:   
글 쓰기   답변 달기     게시판 인덱스 -> 4190.310 Programming Languages (Fall 2012) 시간대: GMT + 9 시간(한국)
페이지 11

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


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