이 영역을 누르면 첫 페이지로 이동
Coding Groot 블로그의 첫 페이지로 이동

Coding Groot

페이지 맨 위로 올라가기

Coding Groot

코딩 블로그

[Compiler] 0. 컴파일러란 무엇인가?

  • 2019.07.21 21:34
  • Programming/Compiler
글 작성자: Coding Groot

컴파일러는

 Language Translater(번역기)와 같다 

번역기와 컴파일러는 비슷하다!

영-한 번역기가 영어를 한국어로 바꿔주듯 컴파일러도 Source 프로그램을 Target 프로그램으로 바꿔준다.


컴파일러의 단계는 크게 Analysis Part, Synthesis Part로 나눌 수 있다.

컴파일러는 가장 먼저 Analysis Part가 진행되며 Analysis Part 안에는 다음과 같은 단계가 있다.

  • Lexical Analyzer (Scanner라고도 말한다)
  • Syntax Analyzer (Parser라고도 말한다)
  • Semantic Analyzer
  • Intermediate Code Generator

위의 Analysis Part가 차례대로 진행되고 난 후에는 Synthesis Part가 진행되며 Synthesis Part 안에는 다음과 같은 단계가 있다.

  • Code Optimizer
  • Code Generator

마지막으로, 컴파일러는 위의 Part에 존재하는 모든 단계에서 쓰이는 Symbol Table이 있다.


앞으로 Analysis Part와 Synthesis Part의 안의 각 단계들을 정리할 예정이다!


제가 정리하는 컴파일러 글은 컴파일러의 모든 디테일이 포함되지 않았습니다.
FORTRAN 1 컴파일러(현대 컴파일러의 Outline인 첫 번째 컴파일러)에 관한 내용입니다.

대학교 강의 내용을 정리하고 궁금한 부분을 해결하며 쓰는 글입니다!

잘못된 내용이 있다면 알려주세요!!  


Icons made by surang from www.flaticon.com

 

반응형

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • [Compiler] 연산자의 Associativity와 Recursion의 연관성

    [Compiler] 연산자의 Associativity와 Recursion의 연관성

    2020.05.10
  • [Compiler] 1. Lexical Analyzer :: 구현하기

    [Compiler] 1. Lexical Analyzer :: 구현하기

    2020.04.09
  • [Compiler] 1. Lexical Analyzer :: 동작하는 방식

    [Compiler] 1. Lexical Analyzer :: 동작하는 방식

    2020.04.09
  • [Compiler] 1. Lexical Analyzer :: 소개와 용어 정리

    [Compiler] 1. Lexical Analyzer :: 소개와 용어 정리

    2019.07.30
다른 글 더 둘러보기

정보

Coding Groot 블로그의 첫 페이지로 이동

Coding Groot

  • Coding Groot의 첫 페이지로 이동

검색

메뉴

  • 홈
  • 태그
  • 방명록
  • 소개
  • 블로그 저작권

카테고리

  • 분류 전체보기 (182)
    • Git (23)
      • Git Tutorial (9)
      • Git Note (7)
      • Git Lecture (7)
    • Programming Language (1)
      • C (2)
      • C Sharp (5)
      • Java (4)
      • JavaScript (7)
      • Julia (5)
      • Python (4)
    • Programming (8)
      • Algorithm (2)
      • Compiler (5)
      • Data Structure (0)
      • Web (12)
      • NestJS (2)
    • DevOps, Infra (36)
      • Apple (6)
      • Cloud (15)
      • Database (1)
      • Network (4)
      • Linux (8)
    • Game Programming (11)
      • Unity Tutorial (5)
      • Unity Note (6)
    • Hardware Design (1)
      • Digital Circuit (1)
    • Note (49)
      • Coffee (2)
      • Retrospect (15)
      • Reading List (14)
    • Mathematics (1)

최근 글

인기 글

댓글

공지사항

아카이브

태그

  • tutorial
  • Github
  • aws
  • git
  • 회고
  • javascript
  • 서평
  • 한빛미디어
  • 전체 보기…

정보

Coding Groot의 Coding Groot

Coding Groot

Coding Groot

블로그 구독하기

  • 구독하기
  • RSS 피드

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기

나의 외부 링크

  • GitHub
  • SlideShare
  • 유니티 2020 수업
  • TIL Blog
  • 모도코

방문자

  • 전체 방문자
  • 오늘
  • 어제
Powered by Tistory / Kakao. Copyright © Coding Groot.

티스토리툴바