게시판 인덱스

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

6-2에 대한 질문입니다.

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



가입: 2009년 10월 5일
올린 글: 14

올리기올려짐: 2010년11월9일 22:13    주제: 6-2에 대한 질문입니다. 인용과 함께 답변

수업 시간에 배운 내용으로 미루어 보아
프로그램을 실행시키기 전에 syntax만 보고 타입을 check하는 거라고 생각했었는데
뼈대 코드를 보니 M_LowFat.run에서 check를 쓰지 않네요.

eval의 구현을 채워넣는 과정에서 check함수를 사용하는 것인지,
아니면 eval함수는 6-1과 똑같이 구현하면 되는지 (M_LowFat.run에서 eval하기 전에 check를 하는 것인지) 궁금합니다.
위로
사용자 정보 보기 비밀 메시지 보내기
조성근



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

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

main.ml을 보시면 35-38줄이 타입 검사 옵션이 들어갔을 때 실행되는 코드입니다. 먼저 타입 검사를 하고 타입 검사가 완료되면 실행을 합니다.
코드:
print_string "== Type Checking ==\n";
M_Printer.printTypes (M_Checker.check pgm);
print_string "== Running with Low Fat M ==\n";
M_LowFat.run pgm


여기서의 실행은 6-1에서의 실행과 다릅니다. 6-1의 eval에서는 타입이 맞지 않는 실행에 대해서 RuntimeError 예외를 발생시키며 실행이 중지합니다. 6-2의 eval에서는 타입이 맞지 않는 실행에 대해서 예외를 발생시켜주지 않아도 됩니다. 이미 정적으로 타입 검사를 마친 프로그램만 실행될테니까요. 단, read의 경우만 예외적으로 RuntimeError예외를 발생시켜 줍니다.
위로
사용자 정보 보기 비밀 메시지 보내기
이전 글 표시:   
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 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