게시판 인덱스

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

hw 5-2 테스트케이스

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



가입: 2014년 9월 3일
올린 글: 8

올리기올려짐: 2014년11월11일 21:26    주제: hw 5-2 테스트케이스 인용과 함께 답변

맞춰봐요

ocaml -init sm5.ml
으로 돌리면 됩니다.

메모리는 3이라고 가정했습니다.(3개까지 할당 가능)
코드:

open Sm5;;

let getval a = [MALLOC;BIND(a);PUSH(Val(Z(0)));PUSH(Id(a));STORE];;

let gettopval a = [MALLOC;BIND(a);PUSH(Id(a));STORE];;

let maker a = [UNBIND;UNBIND;BOX 2;MALLOC;BIND a;PUSH(Id a);STORE];;

let v3 = (getval "A")@(getval "B")@(getval "C") ;;
//no error

let v4 = v3@(getval "D") ;;
//error

let z = v3@(maker "R") ;;
//error

let rec = (getval "A")@(getval "B")@(maker "E") ;;
//no error

let base = [MALLOC;BIND "A";MALLOC;BIND "B";MALLOC;BIND "C"];;

let t a b = [PUSH(Id a);BIND (a^b);UNBIND;BOX 1;PUSH(Id b);STORE];;

let r2 = base@(t "A" "B")@(t "B" "C") ;;
//no error

let loop = r2@(t "C" "A")@(getval "D") ;;
//error

let s = v3@[UNBIND;UNBIND;BOX 2]@(getval "D") ;;
//error

let u = rec@[UNBIND;POP]@(getval "D") ;;
//no error

let f = u@(getval "E")@(getval "F")@(getval "G");;
//error

let ktest = (getval "A")@(getval "B")@
[PUSH(Fn("x",(getval "F")));PUSH(Val(Z(0)));MALLOC;CALL];;
//error
위로
사용자 정보 보기 비밀 메시지 보내기 이메일 보내기
김찬민



가입: 2010년 9월 6일
올린 글: 81

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

OCaml 4.01.0을 사용했는데, let rec = 부분에서 컴파일 에러가 납니다. rec 대신 recs 같은 다른 이름을 사용하면 다 같은 답이 나옵니다.

테스트를 위해 추가로 사용한 코드
코드:

Sm5.run v3;;
Sm5.run v4;;
Sm5.run z;;
Sm5.run recs;;
Sm5.run r2;;
Sm5.run loop;;
Sm5.run s;;
Sm5.run u;;
Sm5.run f;;
Sm5.run ktest;;

테스트 케이스 감사합니다.


김찬민 가 2014년11월11일 23:22에 수정함, 총 1 번 수정됨
위로
사용자 정보 보기 비밀 메시지 보내기
오평석



가입: 2014년 10월 17일
올린 글: 8

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

테스트케이스 감사합니다 Smile
위로
사용자 정보 보기 비밀 메시지 보내기
이전 글 표시:   
글 쓰기   답변 달기     게시판 인덱스 -> 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