컴파일러(21)
-
[Compiler] 문법의 분류
Compiler Compiler miro.com 문법의 분류 : Chomsky Hierarchy 형식문법은 생성생성 규칙에 어떠한 제약이 있는가에 따라서 다음과 같이 나눌 수 있다. 무제한 문법 : 자연언어처럼 표현을 제한하지 않는 방법 : 각 생성 규칙의 화살표(->) 양쪽에는 임의의 넌터미널과 터미널 스트링이 있다. 단, ε는 화살표의 오른쪽에만 올 수 있다. : AaB -> bA | ε 문맥-민감 문법 : a -> b : |a| aABCc : A -> ε : aB -> ab : bB -> bb 문맥-자유 문법 : 문맥에 제한되지 않고 자유롭다. : 오늘날 대부분의 프로그래밍 언어는 이 문맥-자유 문법 형식으로 정의한다. : A -> a: |A| = 1이고, |A| aAS : S -> a : A ->..
2023.03.15 -
[Compiler] 어휘 분석 소개
Compiler miro.com 1. 어휘 분석 프로그램 문장에서 단어를 분류 가. 예시
2023.03.15 -
[Compiler] 수식 번역 예
Compiler miro.com 1. 수식 번역 예 A = B * C + D와 같은 C 프로그래밍 언어의 할당문은 다음과 같은 어셈브리어 인스트럭션으로 번역된다. 그리고 실제 컴퓨터에서 어떻게 동작할지 표현해 보았다. 2. 컴파일러 vs 인터프리터
2023.03.09 -
[Compiler] 컴파일러 구조
Compiler miro.com 1. 컴파일러 가. 컴파일러란? 컴파일(Compile)은 주어진 language로 작성된 컴퓨터 프로그램을 다른 언어의 동등한 프로그램으로 변환하는 프로세스입니다. 일반적으로 컴파일러는 C 또는 Java와 같은 고급 언어를 CPU가 이해할 수 있는, 즉 어셈블리어와 같은 기계 언어로 변환합니다. 출처 : https://developer.mozilla.org/ko/docs/Glossary/Compile 나. 컴파일러 구조 2. 주요 용어 BNF : Backus–Naur form 약칭 BNF는 문맥 자유 문법을 나타내기 위해 만들어진 표기법이다. 출처 :https://ko.wikipedia.org/wiki/배커스-나우르_표기법 출처 : http://www.kwangsiklee..
2023.03.08 -
2022-03-10 컴파일러
네트워크 수업시간에 컴파일러에 관한 이야기가 나왔다. 프로그래밍 언어론에서 배웠던 기억들이 머릿속에서 자유롭게 유형하고 있었다. 프로그램을 만드는 언어를 만드는 컴파일러를 만드는 방법이 궁금해졌다. 심각하게 파고든 것은 아니고 기본적인 원리만 알고 싶어서 구글에 서칭했다. 알기 쉽게 정리한 글이 있어서 나중에도 찾아보고자 주소를 남긴다. 재그지그_컴파일러 https://wormwlrm.github.io/2021/04/18/Formal-Language-and-Compiler.html 🧑💻 정종윤 학생, 작가, 프론트엔드 개발자. 온라인에서는 재그지그라는 닉네임으로 활동하고 있습니다. wormwlrm.github.io 컴파일러를 제외하고도 좋은 글이 많은 것 같다. 심심할 때마다 읽어야지 :)
2022.03.10