게시판 인덱스

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

6-2 에서 main 함수, makefile 수정.

 
글 쓰기   답변 달기     게시판 인덱스 -> 4190.310 Programming Languages (Fall 2014)
이전 주제 보기 :: 다음 주제 보기  
글쓴이 메시지
방정호



가입: 2011년 9월 19일
올린 글: 40

올리기올려짐: 2014년11월16일 23:24    주제: 6-2 에서 main 함수, makefile 수정. 인용과 함께 답변

다른 분들도 이렇게 하고 계실 것 같긴 한데, 테스트할 때 이렇게 하면 좀 편하더군요.

main 파일을 이렇게 수정했습니다.
open M 뒤에 저렇게 추가를 하고,
코드:

open M

open Evaluate

let main () =


이런 형식으로 출력되도록 했어요. reduce 결과가 마지막에 나오도록.
코드:

print_string "=============\n";
   print_string "input program\n";
   print_string "=============\n";
   M_Printer.print pgm;
   print_string "\n\n\n============\n";
   print_string "output program\n";
   print_string "=============\n";
   let output = Encoder.encode pgm in
   Pp.pp (output);
   print_string "\n\n\n============\n";
   print_string "reduced program\n";
   print_string "=============\n";
   Pp.pp (Evaluator.reduce output);
   print_string "\n"


Makefile에서 evaluate.ml 도 같이 빌드하도록 추가를 했어요.
코드:

all: run

run: lexer.cmo parser.cmo evaluate.cmo m.cmo encode.cmo main.cmo
   ocamlc -o run lexer.cmo parser.cmo evaluate.cmo encode.cmo m.cmo pp.cmo main.cmo

..........

evaluate.cmo : evaluate.ml lambda.cmo
   ocamlc -c evaluate.ml

.......

main.cmo : evaluate.cmo encode.cmo main.ml pp.cmo
   ocamlc -c main.ml


이렇게 수정하고, evaluate.ml을 6-2 과제 폴더에 넣고 make 하면 됐습니다.
테스트 케이스 올려주신 분들 감사합니다.

이건 걍 제가 테스트해 본 5부터 0까지 쭉 더하는 이상한 코드 입니다.
코드:

(rec rrr x => ifzero ((x+1) and (x-0)) then (1,10).2 - 20 else (x+rrr(x-(3 and 5)))) 5
위로
사용자 정보 보기 비밀 메시지 보내기
이전 글 표시:   
글 쓰기   답변 달기     게시판 인덱스 -> 4190.310 Programming Languages (Fall 2014) 시간대: GMT + 9 시간(한국)
페이지 11

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


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