루아 (프로그래밍 언어): 두 판 사이의 차이

내용 삭제됨 내용 추가됨
편집 요약 없음
NamsikYoon (토론 | 기여)
내부구조 부분의 오역 하나를 수정하면서 순서를 바꾸고 레지스터 기반인 특성에 대해서 추가적인 번역을 수행함.
31번째 줄:
 
== 내부구조 ==
루아 프로그램은 직접적으로 [[인터프리트 언어|인터프리트]]되지 않고, 루아 [[가상 머신]]에서 동작하는 [[바이트 코드]]로 [[컴파일]]되어 동작하게루아 [[가상 머신]]에서 실행 된다. 컴파일 과정은 사용자에게 완전히 노출되어 있으며 [[실행 시간 (컴퓨터 프로그래밍)|실행 시간]]에 사용자가 느끼지 못하게 시행되지만, 로딩되는 시간을 줄여서 성능을 향상시키거나 컴파일러를 사용하지 않고없는 메모리 사용량을사용량에 제약이 있는 환경에서 줄이기실행하기 위해서 미리 컴파일할 수도 있다.
 
루아 가상머신은 다른 대부분의 가상머신이 스택 기반인 것과는 달리 CPU의 구조와 닮은 레지스터 기반이라서 실제 하드웨어 디자인과 유사성이 있다. 레지스터 기반의 가상머신은 값들을 과다하게 복사하는 것을 방지할 수 있고, 함수를 구성하는 명령어를 줄일 수 있는 것이 장점이다. Lua 5의 가상머신은 최초의 널리 사용되는 레지스터 기반의 가상머신 중 하나이며, 다른 두 개의 잘 알려진 레지스터 기반의 가상머신이 펄의 패롯과 안드로이드의 달빅이다.
 
다음은 위에 있는 계승을 계산하는 프로그램의 바이트 코드이다: (루아 5.0 기준)