이전 주제 보기 :: 다음 주제 보기 |
글쓴이 |
메시지 |
송수현
가입: 2006년 9월 4일 올린 글: 25
|
올려짐: 2006년9월27일 0:17 주제: 바뀌는 뼈대에 대한 명시가 가능할지요? |
|
|
이틀째 헤메이다가 글을 올립니다.
이미 나왔던 질문과 답변이지만,
type value를 4가지로 수정해야 하고, 그에 맞춰 main.n을 수정하여, 반환된 값을 출력하지 않도록 해야 한다고 하셨습니다.
즉
코드: | print_string (Keval.v2s (Keval.run (Keval.emptyMem, Keval.emptyEnv, pgm))) |
이 부분을
코드: | ignore(Keval.run (Keval.emptyMem, Keval.emptyEnv, pgm)) |
이정도로 수정하라는 뜻 같은데요,
결국 출력부문도 run에서 (WRITE exp)가 실행될 때 바로 출력한다는 말씀이겠네요.
이것을 좀 더 명확하게 하기 위해서, main.n과 type value를 새롭게 명시해 주실 수는 없는지? |
|
위로 |
|
|
장민석
가입: 2006년 9월 5일 올린 글: 165
|
올려짐: 2006년9월27일 0:26 주제: |
|
|
value의 type 정의는...저도 이것 때문에 상당히 삽질했는데요, 대충 다음과 같이 하면 될 것 같습니다.
코드: | type value = Unit of unit | Val of int | Bool of bool |
그런데 아래 글 제 질문 중 두 번째에 언급한 것처럼, run의 리턴 타입이 value이므로 이렇게 되면 출력할 때 좀 문제가 있지 않나요? 그래서 전 value_a라는 걸 따로 정의해서 사용했습니다. value는 그냥 unit 타입으로 두고요. |
|
위로 |
|
|
이희종
가입: 2006년 3월 7일 올린 글: 50
|
올려짐: 2006년9월27일 10:54 주제: |
|
|
헷갈려 하시는 분들이 많은 것 같아 정리해 드리겠습니다.
main.n에서
코드: | print_string (Keval.v2s (Keval.run (Keval.emptyMem, Keval.emptyEnv, pgm))) |
를
코드: | (ignore (Keval.run (Keval.emptyMem, Keval.emptyEnv, pgm))) |
와 같이 고쳐줍니다.
2.n에서
signature KEVAL 안의 v2s 정의부분을 지워줍니다.
structure Keval 안의 v2s 함수도 마찬가지로 지우고,
부분을
코드: | type value = INT of int | BOOL of bool | Unit |
과 같이 고쳐줍니다.
조교는 주어진 뼈대에서 main.n 파일을 위와 같이 수정하고 채점합니다.
이희종 가 2006년9월28일 12:36에 수정함, 총 1 번 수정됨 |
|
위로 |
|
|
이희종
가입: 2006년 3월 7일 올린 글: 50
|
올려짐: 2006년9월27일 10:59 주제: |
|
|
장민석 씀: |
그런데 아래 글 제 질문 중 두 번째에 언급한 것처럼, run의 리턴 타입이 value이므로 이렇게 되면 출력할 때 좀 문제가 있지 않나요? |
run의 리턴값은 출력하는데 쓰이지 않습니다. 화면으로의 출력은 run 함수 안에서 WRITE expression이 나왔을때 이루어 집니다. |
|
위로 |
|
|
장민석
가입: 2006년 9월 5일 올린 글: 165
|
올려짐: 2006년9월27일 20:59 주제: |
|
|
이희종 씀: |
부분을
코드: | type value = INT of int | BOOL of Bool | Unit |
과 같이 고쳐줍니다.
조교는 주어진 뼈대에서 main.n 파일을 위와 같이 수정하고 채점합니다. |
코드: | type value = INT of int | BOOL of bool | Unit |
의 오타인 것 같습니다. |
|
위로 |
|
|
이희종
가입: 2006년 3월 7일 올린 글: 50
|
올려짐: 2006년9월28일 12:37 주제: |
|
|
장민석 씀: | 이희종 씀: |
부분을
코드: | type value = INT of int | BOOL of Bool | Unit |
과 같이 고쳐줍니다.
조교는 주어진 뼈대에서 main.n 파일을 위와 같이 수정하고 채점합니다. |
코드: | type value = INT of int | BOOL of bool | Unit |
의 오타인 것 같습니다. |
헉, 오타입니다 |
|
위로 |
|
|
|