게시판 인덱스

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

1번에서 array to tree , tree to array converting

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





올리기올려짐: 2008년10월2일 18:52    주제: 1번에서 array to tree , tree to array converting 인용과 함께 답변

array tree형식간의 converting은 glue에서만 일어날수 있다고 하셨는데..
제가 이해한 바가 맞는지 확인해주세요~

예를 들면 glue-array-from-tree같은 경우는 tree만을 받아서 붙여서 array로 만들어주는거고
만약 인자가 array가 아닌 것이 있을 경우
(glue-array-from-tree 트리형 트리형 배열형 트리형)
이런 경우는 에러가 나야 하는건가요?

(glue 트리형 배열형 배열형 트리형)
이런것도 가능하다고 하셨는데 그럴경우 이 함수는 내부적으로 인자들을 모두 트리로 변환하던가 모두 배열로 변환하던가 하여
glue-array-from-tree 나 glue-array-from-array
와 같은 함수를 이용하게 되는건가요?
그럼 결과물은 트리형이 될 수도 있고 배열형이 될 수도 있는데 어떤것이 될 지는 제가 임의로 정해도 되는건가요?

또한 이상의 경우를 제외하고는 배열형을 트리형으로 바꿔서 처리하거나
트리형을 배열형으로 바꿔서 처리하는게 금지되어있는건가욤?

제가 이해한 것이 맞는지 답변 부탁드립니다~
위로
최원태



가입: 2006년 9월 16일
올린 글: 369

올리기올려짐: 2008년10월2일 21:36    주제: 인용과 함께 답변

1.
glue-array-from-tree 계열에서는,
타입이 맞지 앉는 입력이 들어오면 에러를 내는 것이 맞습니다.


2.
상위레벨의 감싸는 부분은 하위레벨의 자세한 구현을 모르므로,
converting함수를 만들어서 쓰는 수 밖에 없겠죠.
자신이 좋아하는 방향으로 converting해도 좋습니다.


3.
converting을 어디까지 써야 하나?
아직 고민하지 않으신 분은 읽지 마세요.

이미 과제의 규모가 꽤 커져서,
어느 경우 정확하게 허용되고 어느 경우 정확히 허용되지 않는다고
case by case로 말씀드리기는 어렵습니다. 약간 우회적으로 설명할께요.

TACP 씀:

기획자 A씨와 프로그래머 B씨, C씨 세 사람이 있습니다.
A씨는 "무늬를 표현하는 언어"와 "무늬를 심사하는 프로그램"을 원합니다.
아름답다는 것이 무엇인지 고민하다 보니 답이 금방 나오지 않을것 같더랍니다.
일을 빨리 긑내기 위해 "무늬를 표현하는 언어"를 먼저 만들고 계속 고민해야겠다 생각하지요.
필요할 것들을 정리해서 B씨와 C씨에게 각자 일을 시키고 본인은 고민을 계속합니다.

A씨가 아름다움을 고민하는 사이에 B씨와 C씨는 각자의 언어 구현을 마쳤습니다.
고민이 덜 끝났지만 A씨가 돌아와보니 B씨와 C씨는 엄청난 무늬를 각자의 언어로 만들고 있었습니다.
구현 자체는 질적으로 차이가 없는데, 둘이 만들어 놓은 무늬가 둘다 탐나더랍니다.
A씨는 B, C씨에게 주문합니다. "양쪽에서 만든 자료를 둘다 받아들이는 래핑을 만들어주세요"
B와 C씨는 열심히 래핑을 만들고 A씨는 고민을 계속합니다.

래핑도 완성되고 고민고 끝나서,
A씨는 드디어 "아름다운지 판단하는 프로그램"을 만들게 되었습니다.
만들려고 보니, 무늬에서 몇가지 성질을 추가적으로 뽑아내야 될 것 같더랍니다.
그래서 B,C씨에게 주문합니다 "이런 함수를 래핑에 추가해주세요"
B,C 두 사람은 각자의 하위 구현체에 함수를 추가하고 래핑에도 추가해주었습니다.

그것들을 가지고, 구현체에 신경쓰지 않고
A씨는 "아름다운지 판단하는 프로그램"을 완성할 수 있었습니다.



훈훈한 이야기지요?
여러분이 하는 과제의 추상화 레이어가 나타날 수 있는 시나리오입니다.
프로그램을 만들다보면 비슷한 일이 자주 일어납니다.
언어 정의만 있을 때, 실행기와 분석기를 동시에 만들어야 한다던지.
추상화된 DB위에서 돌도록 프로그램을 만들고 여러 DB와 물리게 중간계층을 설치한다던지.

이 정의를 구현하는데 저 정의를 사용해도 될까?
이 정의가 어느 추상화에 속해 있는지, 저 정의는 어느 추상화에 속했는지
아니면 두 추상화 단계의 자연스러운 연결고리인지. 구현상에 나타나는 뒷구멍인지.
A는 이것을 알아야할까? B가 이것을 사용할까?

이런 질문을 해 보세요. 사용해도 될지 명확해 질 겁니다.
위로
사용자 정보 보기 비밀 메시지 보내기 이메일 보내기 글 올린이의 웹사이트 방문
이전 글 표시:   
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 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