이전 주제 보기 :: 다음 주제 보기 |
글쓴이 |
메시지 |
정찬주 손님
|
올려짐: 2006년5월2일 21:36 주제: 질문 추가입니다. |
|
|
같은 command일 수 있습니다.(ex x := 1; x := 1) 이런 경우, 각 command
를 구별할 수 있는 방법을 고안하시면 될 것입니다.
라는 답변을 해 주셨는데(교수님은 번호 붙여서 구별해도 된다고 하셨음)
뭔가 parser에게서 넘어오는 상태 그대로 우아하게 처리하고 싶은 욕망이-_-생깁니다.
안 그러면 저걸 다 헤집어서 각각 위치별로 번호를 붙이고 번호를 기억하는 global(꼭 global일 필요는 없어보이지만요) 변수를 사용하는 아름답지 못한 일이 벌어질 거 같은데 그럼 좀 귀찮(퍼억)...다기보다
테스트할 때에도 번호로 테스트를 해야 하는데다가 번호가 어디에 적혀있는지 print_pgm을 개조해서 출력(뭐 이거 자체는 어려운 일은 아니지만) 해줘야 겨우 위치를 대조해 볼 수 있는 등등 너무 아름답지 못한 일이 많습니다.
전 아름다움을 사랑합니다-.-;;
저거 parsing한 상태에서 if 왼쪽=오른쪽 으로 체크하면 true뜨나요 ㅠ.ㅠ?
(질문은 달랑 이거...?) |
|
위로 |
|
|
정찬주 손님
|
올려짐: 2006년5월2일 21:39 주제: 뱀다리 |
|
|
넘어온 상태 그대로 처리하여 위치를 특정할 수 있으면 교수님께서 쓰신 eval : pgm -> (pgm -> 2^mem) 과 정확히 타입까지 일치하는 아름다운 함수를 짤 수 있을 텐데 말이지요-.-; |
|
위로 |
|
|
진민식
가입: 2006년 3월 21일 올린 글: 67
|
올려짐: 2006년5월3일 20:22 주제: |
|
|
정찬주(cholonge) 씀: | 같은 command일 수 있습니다.(ex x := 1; x := 1) 이런 경우, 각 command
를 구별할 수 있는 방법을 고안하시면 될 것입니다.
라는 답변을 해 주셨는데(교수님은 번호 붙여서 구별해도 된다고 하셨음)
뭔가 parser에게서 넘어오는 상태 그대로 우아하게 처리하고 싶은 욕망이-_-생깁니다.
안 그러면 저걸 다 헤집어서 각각 위치별로 번호를 붙이고 번호를 기억하는 global(꼭 global일 필요는 없어보이지만요) 변수를 사용하는 아름답지 못한 일이 벌어질 거 같은데 그럼 좀 귀찮(퍼억)...다기보다
테스트할 때에도 번호로 테스트를 해야 하는데다가 번호가 어디에 적혀있는지 print_pgm을 개조해서 출력(뭐 이거 자체는 어려운 일은 아니지만) 해줘야 겨우 위치를 대조해 볼 수 있는 등등 너무 아름답지 못한 일이 많습니다.
전 아름다움을 사랑합니다-.-;;
저거 parsing한 상태에서 if 왼쪽=오른쪽 으로 체크하면 true뜨나요 ㅠ.ㅠ?
(질문은 달랑 이거...?) |
1.
if 왼쪽 = 오른쪽 하면 true가 됩니다.
2. 구분의 문제 말고도, test시를 생각하면 table의 입력으로 긴 프로그램을
다 주어야 하는 불편이 생깁니다.(ex) seq(seq(seq(seq(seq ...)
3. 더 좋은 방법이 있으시다면 생각하신 방법대로 하셔도 무방합니다.
4. global로 기억하기 보다는 parsing 된 tree 를 각 command마다 label이 붙은
새로운 tree로 바꾸시면 될 것 같습니다.
5. 위의 lable 붙이기는 parser 를 수정하여 parsing 단계에서 붙여도 될 것 같습니다. |
|
위로 |
|
|
|