Computer Sciences/Compiler(8)
-
[Compiler] 2. 간단한 컴파일러의 구조
1. 컴파일러의 논리적 구조 1. 개요 문장이 어떤 요소로 구성되어 있는지 파악하기 위해 문장에 사용된 단어를 검사한다. I am a boy라는 문장으로 예를 들면 I, am, a, boy 라는 네 가지 단어가 사용된 것을 알 수 있으며 이를 알아내는 것을 어휘 분석이라고 한다. I, am, a, boy 가 각각 8품사인 명사, 대명사, 동사, 형용사, 부사, 전치사, 접속사, 감탄사 중 어디에 속하는지 확인하고 문장의 5대 요소인 주어, 동사, 목적어, 보어, 수식어 등으로 구분할 것이다. 그리고 주어+동사, 주어+동사+보어, 주어+동사+목적어 등 문장의 형식을 검사하여 이 문장이 주어+동사+보어로 구성되었다는 것을 알아낸다. 이렇게 문장의 형식을 알아내는 것을 구문 분석이라고 한다. 단어 대 단어의 ..
2023.03.18 -
[Compiler] 1. 컴파일러 개요
1. 컴파일러의 필요성 언어란? 의사전달을 하기 위한 도구 언어의 종류 자연언어 형식언어 프로그래밍 언어 컴파일러가 필요한 이유 인간은 문제를 해결하기 위해 컴퓨터를 사용하며 컴퓨터와 의사소통을 하기 위한 언어가 필요하다. 컴퓨터는 기계어를 사용하지만 인간이 기계어를 사용하여 문제를 표현하기란 무척 어렵기 때문에 인간은 사람 중심 언어인 고급 언어를 사용한다. 그러나 컴퓨터는 인간이 사용하는 고급 언어를 이해하지 못한다. 따라서 인간이 사용하는 고급 언어를 기계어로 변환해주는 번역기인 컴파일러가 필요하다. 2. 프로그래밍 언어 참조 호출과 값 호출 참조 호출 실제 매개변수의 주소를 대응되는 형식 매개변수로 넘겨주는 방법으로 C언어의 포인터 변수에 대한 매개변수 전달 방식에 사용 2개 이상의 변수가 메모리..
2023.03.18