게시판 인덱스

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

'cmd 타입이어야 하는데 cmd 타입입니다' 에러

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






올리기올려짐: 2008년11월28일 21:55    주제: 'cmd 타입이어야 하는데 cmd 타입입니다' 에러 인용과 함께 답변

숙제 6에 2번 풀고 있습니다.
인용:

type pgm = cmd
and cmd = ASSIGN of exp
| SEQUENCE of cmd * cmd
| REPEAT of cmd
| CHOICE of cmd * cmd
| EQ of exp * cmd
| NEQ of exp * cmd
and exp = NUM of int
| ADD of exp * exp
| SUB of exp * exp
| VAR
type state = int



val exeval : pgm -> state -> state list =
let
val rec eval : exp -> state -> int =
fn (NUM i) _ => i
| (ADD (a,b)) s => (eval a s) + (eval b s)
| (SUB (a,b)) s => (eval a s) - (eval b s)
| (VAR) s => s
in
fn (ASSIGN e) s => [(eval e s)]
|(SEQUENCE (c1,c2)) s => (List.map (fn i => (exeval c2 i)) (exeval c1 s))
|(REPEAT c) s => [1]
|(CHOICE (c1,c2)) s => [1]
|(EQ (e1,c1)) s => [1]
|(NEQ (e1,c1)) s => [1]
end


(* test *)
val x = (VAR)
val a = (ADD (x,(NUM 1)))

val p1 = ASSIGN x

val p2 = ASSIGN a


여기까지 하고 있는데 위의 List.map 쓴 부분에서
'cmd 타입이어야 하는데 cmd 타입입니다' 라는 에러가 납니다.
어떻게 해야 하나요...ㅜ
위로
이보영
손님





올리기올려짐: 2008년11월28일 22:11    주제: 앗 죄송 인용과 함께 답변

위의 손님은 접니다
rec 를 안써주었군요;;
근데 써주었더니 이번엔 잘못된 재귀적 선언이 사용됐다고..ㅠㅠㅠ
nml 컴파일하기 너무 힘들어요
위로
이보영
손님





올리기올려짐: 2008년11월28일 22:16    주제: 아;; 인용과 함께 답변

let 문을 없애니까 잘 되네요.
담부턴 인형한테 물어볼게요
위로
이전 글 표시:   
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4190.210 Principles of Programming (Fall 2008) 시간대: GMT + 9 시간(한국)
페이지 11

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


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