이전 주제 보기 :: 다음 주제 보기 |
글쓴이 |
메시지 |
현경렬
가입: 2005년 9월 28일 올린 글: 19 위치: 스쿨
|
올려짐: 2005년10월27일 0:02 주제: 우선 순위가 자연스럽지 못 한 것 같아요. |
|
|
우선 순위에서 `;'가 eval 보다 높아서
코드: | eval XXX; write 4 를 하면
SEQ(EVAL(VAR("XXX")),WRITE(NUM(4))) 로 파싱 되어야 하는데
EVAL(SEQ(VAR("XXX"),WRITE(NUM(4))로 파싱 됩니다.
|
와 같은 상황이 발생하게 되는데요.
물론 (eval XXX); write 4와 같은 방식으로 프로그래밍할 수도 있겠지만, 프로그램의 형태가 자연스럽지 않다고 생각합니다.
다음 숙제에서는 eval의 우선 순위를 높여주세요-
-- 다른 수강생들도 eval 쓰실 때 주의하시고 쓰세요
물론 let XXX:= (...) in eval XXX end 는 문제 없이 작동합니다.(당연히!) _________________ Programming Rumble |
|
위로 |
|
|
박대준
가입: 2005년 10월 7일 올린 글: 245
|
올려짐: 2005년10월27일 10:20 주제: |
|
|
숙제 4.2 를 하다가 3시간이 넘게 고민을 해도 어디가 잘못된 줄 몰라서,
StagedK 를 한탄하며...
똑똑하지 못한 제 머리를 쥐어뜯고 있었는데... ㅠ.ㅠ
이렇게 허무하게 우선순위 문제였다니... ㅠ.ㅠ
수업시간에 교수님께서 말씀하시길..
"파서는 조교가 다 만들어 주잖아요. 걱정할 필요없어요.
친절한 310. "
왜 지금 이 말이 떠오를까요??
아무튼 경렬님.. 정말 감사합니다. 꾸벅.. |
|
위로 |
|
|
김진현
가입: 2005년 9월 20일 올린 글: 91 위치: SNUCSE OPT. lab.
|
올려짐: 2005년10월27일 10:26 주제: |
|
|
문서에 나와 있는 내용인 듯 합니다 -_-;
그래서 `자연스럽지 못한' 이라는 표현을 쓰신 것 같네요 _________________ The kingdom of heaven has been forcefully advancing, and forceful men lay hold of it. |
|
위로 |
|
|
박대준
가입: 2005년 10월 7일 올린 글: 245
|
올려짐: 2005년10월27일 11:11 주제: |
|
|
아.. 정말 문서에 나와있군요.
순간 조교님을 원망했었는데..
우선순위를 눈여겨 보지 않은 제 불찰이었습니다. |
|
위로 |
|
|
김덕환
가입: 2005년 8월 29일 올린 글: 190
|
올려짐: 2005년10월27일 12:37 주제: Re: 우선 순위가 자연스럽지 못 한 것 같아요. |
|
|
현경렬 씀: | 우선 순위에서 `;'가 eval 보다 높아서
코드: | eval XXX; write 4 를 하면
SEQ(EVAL(VAR("XXX")),WRITE(NUM(4))) 로 파싱 되어야 하는데
EVAL(SEQ(VAR("XXX"),WRITE(NUM(4))로 파싱 됩니다.
|
와 같은 상황이 발생하게 되는데요.
물론 (eval XXX); write 4와 같은 방식으로 프로그래밍할 수도 있겠지만, 프로그램의 형태가 자연스럽지 않다고 생각합니다.
다음 숙제에서는 eval의 우선 순위를 높여주세요-
|
둘 간의 우선순위를 정할 때 고민을 했었습니다만, 어느 쪽이 자연스럽다기 보다는 선택의 문제라고 판단했습니다. ;의 우선 순위가 eval보다 낮다면, 표현하고 싶은 것이 eval (write 4 ; XXX)일 때 마찬가지로 괄호치기를 피할 수 없기 때문입니다.
K-는 MetaML을 참고하여 eval의 우선 순위를 모든 연산자 중에서 가장 낮게 책정하였습니다. 선택의 문제이다 보니, 익숙하다는 측면에서 기존 구현을 따라가는 게 나쁘지 않다고 판단하였기 때문입니다.
단순히 처음에 익숙하지 않아서 생기는 문제로 주석처럼 계속해서 불편을 겪는 사항은 아니라고 생각합니다. 따라서, 더많은 신고(?)가 들어오지 않는다면 우선 순위를 그대로 유지하려고 합니다. |
|
위로 |
|
|
|