Javascript/You Dont Know JS
컴파일러체 - LHS, RHS
LHS, RHS LHS(Left-Hand-Side) 검색은 변수가 대입 연산자의 왼쪽에 있을때 수행된다. 단순히 특정 변수의 값을 찾는다. RHS(Right-Hand-Side) 검색은 변수가 대입 연산자의 오른쪽에 있을 때 수행된다. 값을 넣어야 하므로 변수 컨테이너 자체를 찾는다. 다음과 같이 console.log( a ); 라는 코드중 a에 대한 참조는 어떤 참조일까? 위 코드에서는 a라는 값에 아무것도 대입하지 않고 a의 값을 가져오기 때문에 RHS참조라고 한다. 그렇다면 위 a = 2; 라는 코드중 a에 대한 참조는 어떤 참조일까? ' = 2 '라는 대입 연산자를 할 대상을 찾고있기때문에 LHS참조라고 한다. LHS와 RHS를 모두 참조하는 간단한 프로그램이다. 먼저 foo()라는 함수를 호출하면..
컴파일레이션
컴파일러 언어의 처리 과정에서는 프로그램을 이루는 소스 코드가 실행되기 전에 보통 3단계를 거치게 되는데 이를 컴파일레이션(Compileation)이라고 한다. 토크나이징 / 렉싱 자바스크립트의 코드를 나누어 '토큰'이라 불리는 의미 있는 조각으로 만드는 과정이다. 위 사진처럼 'var a = 2;'라는 프로그램을 토큰으로 나누게 된다면 다음과 같이 나뉘게 된다. var a = 2 ; 파싱 위에서 진행된 토큰 배여을 프로그램의 문법 구조를 반영하여 중첩 원소를 갖는 트이 형태로 바꾸는 과정 파싱의 결과로 만들어진 트리를 AST라고 한다. 코드 생성 AST를 컴퓨터에서 실행 코드로 바꾸는 과정이다. 언어에 따라 또는 목표하는 플랫폼에 따라 크게 달라진다.