어휘 주소 지정은 변수 조회 속도를 높이는 데 유용합니다. 어휘 주소 지정이 없으면 현재 환경의 프레임이나 둘러싼 환경의 프레임 등을 탐색하면서 변수를 찾으려면 런타임 - 모두 변수가 바인딩 된 위치를 알 수 없기 때문에 모두를 참조해야합니다.
우리 컴파일러는 지금까지 구현 한대로 평가 시스템의 look-up-variable-value 연산을 사용하는 코드를 생성합니다. 이렇게하면 현재 바인딩 된 각 변수와 런타임 환경을 통해 프레임 단위로 작업하는 변수를 비교하여 변수를 검색합니다. 이 검색은 프레임이 깊이 중첩되어 있거나 변수가 많은 경우 비용이 많이 듭니다. 반대로
는 어휘 주소 조회를위한 절차를 알고 정확히에서 변수가 상당히 가변를 찾는 데 걸리는 시간 감소, 시간 컴파일 찾을 여기서
lexical-address-lookup
인수로 걸립니다 환경 및 어휘 주소로 구성되며 두 개의 숫자로 구성됩니다. 프레임 번호는 전달할 프레임 수를 지정하고 변위 수는 해당 프레임에서 전달할 변수 수를 지정합니다. Lexical-address-lookup
은 현재 환경과 관련된 해당 어휘 주소에 저장된 변수 값을 생성합니다. 우리 컴퓨터에 lexical-address-lookup
작업을 추가하면 컴파일러에서 lookup-variable-value
대신이 작업을 사용하여 변수를 참조하는 코드를 생성 할 수 있습니다.
대단히 감사합니다. 생각 해봐. 컴파일 타임에 획득 할 수있는 어휘 주소 정보를 사용하여 런타임 검색 비용을 절약하십시오. – user1461328
@ user1461328 당신을 환영합니다! 왼쪽에있는 체크 표시를 클릭하여 올바른 것으로 생각되는 질문에 대한 대답을 수락하는 것을 잊지 마십시오. –
예, 동의했습니다. – user1461328