2009-05-06 9 views
0
  1. 어떻게 "공통"을 정확히 수행합니까?
  2. Kleene 고정 소수점 정리가 어떻게 최적화에 도움이됩니까?
  3. 비 기능적 언어로 작성된 프로그램의 로컬 함수 정의에서 자유 변수를 어떻게 제거합니까?

편집 : 이것들은 숙제 문제가 아닙니다. 나는 여름 방학 중이다.세 가지 최적화 기법에 대해 혼동 스럽습니다

EDIT2 : 글쎄, 필자는 컴파일러 최적화를 연구하기 시작했으며 최적화하고 싶은 특정 코드를 가지고 있지 않습니다. 위의 세 가지 최적화 기법을 사용할 수있는 일반적인 방법이 무엇인지 또는 적어도 적절하게 설명하는 리소스를 말해 주시겠습니까?

+3

구체적으로 혼란스러워하는 점은 무엇입니까? –

+0

그럼 고정 소수점 정리를 사용하여 코드를 최적화하는 방법은 무엇입니까? – unj2

+0

귀하의 질문에 더 구체적으로 답하십시오. 당신은 당신의 세에 관한 박사 학위 논문을 쓸 수 있습니다. "어떻게이 코드를 최적화하기 위해 Kleene 고정 소수점을 사용할 수 있습니까? (코드)" – nash

답변

0

이들은 웹에서 찾은 것입니다. 누군가가 추가 정보에 대한 액세스 권한을 갖고 있다면 회신 해주십시오.

윌리엄 클린저는 위의 기술 두 가지를 가르치고 더 흥미 자신의 클래스들로 보이는 : http://www.ccis.neu.edu/home/will/csg262_fall2004/syllabus.html

이 사람들은 데이터 흐름 분석을위한 Kleene 대수를 사용하고 있습니다. 나는 컴파일러를 최적화 할 때 이것을 사용할 수 있다고 생각한다 : http://ieeexplore.ieee.org/Xplore/login.jsp?url=http://ieeexplore.ieee.org/iel5/4159639/4159640/04159673.pdf%3Fisnumber%3D4159640%26prod%3DCNF%26arnumber%3D4159673%26arSt%3D201%26ared%3D210%26arAuthor%3DFernandes%252C%2BT.&authDecision=-203

불행히도 위의 논문은 로그인이 필요하다. 이것은 내가 (많이하지만 didnt 한 도움) commoning에 대해 찾을 것입니다

: http://www.patentsurf.net/7,516,448

2
  1. Commoning은 상향식 (bottom-up)이 해싱에 의해 이루어집니다.
  2. 클린의 정리는 컴파일러가 프로그램에 대한 사실을 제공하는 반복 방정식에 대한 반복 솔루션을 구현할 수 있도록합니다. 사실의 간단한 예제는 변수 i은 항상 0과 같습니다.
  3. 둘러싸는 함수에서 let-bound 또는 lambda-bound 인 자유 변수가있는 로컬 함수가있는 경우에는 정의에 따라 당신은 일등급 기능을 가진 언어를 다루고 있습니다. 일부 컴파일러는 람다 리프팅을 사용하지만 자유 변수는 일반적으로 클로저 변환에 의해 처리됩니다.

추천 검색어 :

  • 상향식 해시
  • 공통 부분 식 제거
  • 반복 흐름 분석
  • 데이터 흐름 최적화 만든 간단한
  • 계속-전달, 폐쇄 - 통과 스타일
  • 폐쇄 변환
  • 람다 리프팅
0

좋은 답변입니다.(저는 교수님이 소프트웨어 프로그래머가 할 수있는 최적화와 컴파일러가 할 수있는 최적화를 혼동하지 않기를 바랍니다. 후자는 기술적 인 주제가 적기 때문에 이에 대해 말할 것도 없지만 실제 응용 프로그램에서는 더 큰 규모의 주문입니다.)

관련 문제