이전 주제 보기 :: 다음 주제 보기 |
글쓴이 |
메시지 |
백수현
가입: 2009년 3월 17일 올린 글: 6
|
올려짐: 2009년4월8일 19:20 주제: read에 대한 처리 질문 |
|
|
read에 대해서 정수 값을 let input = read_int () 로 사용자로부터 입력받으려고 합니다.
헌데 windows cmd에서 make.bat으로 컴파일 후에 main.exe < test.k 로 실행시키면 Fatal error: exception End_of_file이 뜹니다.
어떻게 해결 해야할 지 조언 부탁드립니다. ^^;;
(구글에선 답을 못찾았습니다...ㅠ_ㅠ) |
|
위로 |
|
|
고윤석
가입: 2008년 9월 26일 올린 글: 11
|
올려짐: 2009년4월8일 20:31 주제: 입력부분에 대하여.. |
|
|
음.. 어떤 이유에서 read_int를 통해 외부에서 입력받으려 하는지 잘 모르겠습니다만,
일단 문제에서 주어진 범위 바깥인것은 확실한 것 같군요.
문제에서 주어진 것은 -5에서 5사이의 정수를 통한 모든 실행을 기록하라는 것인것 같습니다.
문제 바깥 범위에서 실제 저러한 실행이 필요하신 것이라면,
일단 input source를 redirection하셔서 standard input이 아닌 file input으로 돌리셨기 때문에 문제가 발생합니다. 처음에 실행하면 parser에서 end of file까지 읽어다가 파싱을 하기 때문입니다.
문제를 해결하고자 하신다면 현재 구조로써는..
- 초기에 parser를 통해 file open을 하실때 stdio를 통해 입력받는게 아니라
- ocaml내부에서 argument로 filename을 받아서 직접 file을 open하시고 그 내용을 parser에 전달해주셔야
할 것 같습니다.
이렇게 parser가 벌리고 있는 입에는 ocaml을 통해 받은 파일을 던져주시고나면 standard input을 통해 새로운 입력을 받으실 수 있습니다. _________________ ysko |
|
위로 |
|
|
백수현
가입: 2009년 3월 17일 올린 글: 6
|
올려짐: 2009년4월8일 21:08 주제: 감사합니다. ^^ |
|
|
-5에서 5 사이의 임의의 수를 그냥 주면 되는거군요.
감사합니다. ^^ |
|
위로 |
|
|
고윤석
가입: 2008년 9월 26일 올린 글: 11
|
올려짐: 2009년4월8일 21:56 주제: 아... |
|
|
임의의 수가 아닙니다.
-5부터 5사이의 모든 수에 대한 trace를 모두 구해야 한다는 것입니다.
예를들면,
라고 가정하면,
구해진 trace는
x가 -5일때의 trace, -4일때의 trace, ..., 5일때의 trace를 모두 구해서
총 11개의 trace가 구해져야 합니다.
만약
라는 코드를 실행했다 하면
x의 값은 -10부터 10까지 21개의 수가 될 수 있습니다. 그 모든 경우에 대한
trace를 구해주셔야 합니다.
이에 대한 자세한 내용은 https://ropas.snu.ac.kr/phpbb/viewtopic.php?t=1605 글을 참고하심이 어떨까 합니다.
건승하십시요. _________________ ysko |
|
위로 |
|
|
|