나는 이터레이터를 한동안 사용 해왔고, 나는 그들을 사랑한다.반복기를 인식하는 컴파일러는 어떻게 구현 될 수 있습니까?
그러나 나는 그것에 대해 열심히 생각했지만 "반복기를 인식하는 컴파일러가 어떻게 구현되는지"를 파악할 수 없었습니다. 나는 또한 그것에 대해 연구했지만 컴파일러 디자인 컨텍스트에서 상황을 설명하는 리소스를 찾을 수 없습니다.
반복자에 대한 대부분의 기사에는 원하는 동작을 구현하는 일종의 '마법'이 있음을 암시합니다. 그들은 컴파일러가 실행 상태 (마지막 '수익률 반환'이 표시되는 곳)를 수행하기 위해 상태 시스템을 유지 관리 할 것을 제안합니다. 저는 게으른 평가를 가능하게하는 반복자의이 속성에 특히 관심이 있습니다.
그런데, 나는 상태 머신이 무엇인지 알고, 이미 컴파일러 디자인 과정을 밟았으며, 드래곤 북을 공부했다. 그러나 분명히, 나는 내가 배운 것을 csc의 '마법'과 관련시킬 수 없다.
지식이나 차별화 된 의견을 보내 주시면 감사하겠습니다.
조금 더 설명 할 수 있습니까? 예를 들어 컴파일러가 인식하기가 매우 어려울 것으로 생각되는 소스 코드 예를 들어 보겠습니다. – Thilo
그리고 당신이 말하는 언어 - 예를 들어 "yeild"는 무엇을합니까? –
C#에 "수익률 반환"구문이 있습니다. –