게시판 인덱스

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

숙제 2-5 테스트를 위한 뼈대코드를 제공합니다 (9/26 15:50 수정)

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



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

올리기올려짐: 2012년9월25일 14:10    주제: 숙제 2-5 테스트를 위한 뼈대코드를 제공합니다 (9/26 15:50 수정) 인용과 함께 답변

숙제 2-5를 광범위하게 테스트 하기 위해 뼈대코드를 제공합니다.
http://ropas.snu.ac.kr/~ta/4190.310/12/stuff/hw2/ex5.zip

answer.ml의 TODO부분만 채워넣고 숙제 제출시에는 answer.ml만 제출해주세요
(이미 제출하신 분들도 파일이름만 answer.ml로 바꿔주면 적용해 볼 수 있을 겁니다, 다시 제출할 필요 없습니다)

컴파일 방법은 마티니나 윈도우에서
코드:
make
라고 치면 됩니다. (윈도우에서는 ocamlc가 바로 실행가능할 수 있어야 합니다) 그러면 ex5 (또는 ex5.exe) 가 생성되며
코드:
ex5 s1.txt 또는 ./ex5 s1.txt


하면 s1.txt에 적혀있는 텍스트를 Zexpr.expr타입으로 바꿔서
Zexpr.eval의 인자로 넣어줍니다.

main.ml에는 디버깅을 위해 pprint를 제공합니다.
pprint 함수는 zexpr을 받아서 사람이 읽을 수 있는 텍스트로 출력해주고
pprint_ocaml 함수는 Ocaml에서 쓸 수 있는 코드로 출력해줍니다.

텍스트 파일의 문법은 s1.txt를 보면 대부분 알 수 있을겁니다.
혹시 궁금한 점이나 버그 있으면 알려주세요


이승중 가 2012년10월6일 19:40에 수정함, 총 3 번 수정됨
위로
사용자 정보 보기 비밀 메시지 보내기
이승중



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

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

추가: 음수를 사용할 수 있게 바꾸었습니다 (-10) 이런식으로 만들 수 있습니다.
위로
사용자 정보 보기 비밀 메시지 보내기
권윤



가입: 2012년 9월 26일
올린 글: 2

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

저, 음수에서 좀 문제가 있는것 같습니다.
let x1 = max [3 + (-6) * 7; 3; 20; 80; let y = 3 in
y / 3] in
let y2 = 6 in
x1 / y2 + 2
에 대해서 변환결과에서

LET ("x1",
MAX [MULT (PLUS (NUM 3,
NUM -6), 여기가 NUM (-6)이렇게 나와야 하지 않나요??
NUM 7);
NUM 3;
NUM 20;
NUM 80;
LET ("y",
NUM 3,
DIVIDE (VAR "y",
NUM 3))],
LET ("y2",
NUM 6,
DIVIDE (VAR "x1",
PLUS (VAR "y2",
NUM 2))))
위로
사용자 정보 보기 비밀 메시지 보내기
이승중



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

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

네 감사합니다

pprint 에서 음수 문제와 + - 에서 우선순위에 맞게 괄호를 안쳐주던 문제를 해결해서 다시 올렸습니다.
위로
사용자 정보 보기 비밀 메시지 보내기
김상우



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

올리기올려짐: 2012년9월26일 17:18    주제: 그대로인것같은데요? 인용과 함께 답변

결과가 이전과 똑같이 나오는데 한번 더 확인해주실 수 있으신가요?ㅠ
위로
사용자 정보 보기 비밀 메시지 보내기
이승중



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

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

링크로 다운받아서 바뀐것 확인하였습니다.

캐시 적용된거 아닌지 확인해 보세요
위로
사용자 정보 보기 비밀 메시지 보내기
이전 글 표시:   
글 쓰기   답변 달기     게시판 인덱스 -> 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