
Git & GitHub 기초 마스터 클래스 – 실수해도 망하지 않는 입문 완전 정복
루나
₩49,500
입문 / Git, GitHub
Git을 ‘명령어 모음’으로 배우면 오래 못 갑니다. 구조를 이해하면 평생 씁니다. Git과 GitHub를 실전 협업 기준으로 정리한 구조 중심 강의입니다.
입문
Git, GitHub






라인 게임즈
에 관심있는 사람들도 듣는 중!





라인 게임즈
에 관심있는 사람들도 듣는 중!
컴파일러
언어 설계
렉서 구현
파서 개발
AST 만들기
컴파일러 제작
LLVM IR 생성
프로그래밍 언어 제작
시스템 프로그래밍 기초
코드 생성기 개발
Rust 실습 프로젝트
언어는 문법만 정한다고 완성되지 않습니다.
토큰을 나누고, 파서와 추상 구문 트리를 거쳐 컴파일러로 실행되는 흐름을 직접 구현해야 비로소 코드가 언어가 됩니다.
처음에는 렉서가 소스 코드를 토큰으로 나누는 과정을 따라갑니다. 숫자와 연산자, 변수와 출력문이 어떻게 분해되는지 눈으로 확인합니다.
다음에는 파서와 추상 구문 트리를 만들며 코드의 구조를 세웁니다. Rust로 간단한 언어를 구현하고, 컴파일러와 출력 기능까지 연결합니다.
마지막에는 대상 사용자와 문법, 타입 시스템, 오류 처리 방식을 스스로 정합니다. 남이 만든 언어를 사용하는 데서 나아가 나만의 설계를 코드로 옮깁니다.
컴파일러와 파서의 구조가 낯설어도 괜찮습니다.
작은 토큰 하나에서 시작해 직접 실행되는 언어를 완성하는 경험이 여러분의 다음 도전이 됩니다.
막연한 아이디어를 실행 가능한 문법으로 바꾸며,
나만의 언어를 만드는 개발자로 나아갑니다.
프로그래밍 언어의 전체 흐름을 한눈에 설계할 수 있습니다.
소스 코드가 렉서에서 토큰으로 나뉘고, 파서를 거쳐 추상 구문 트리로 만들어진 뒤 실행 코드로 변환되는 과정을 단계별로 연결해 이해하게 됩니다. 새로운 언어의 구조를 만났을 때 각 구성 요소의 역할을 스스로 설명하고, 언어 구조 다이어그램으로 정리할 수 있습니다.
렉서와 파서의 역할부터 추상 구문 트리와 인터프리터·컴파일러의 차이까지 흐름을 연결해 이해합니다. 러스트로 토큰 정의, 구문 분석, 변수와 연산자를 처리하는 구조를 구현하며 막연했던 언어 제작 과정을 구체적인 단계로 바꿉니다.
문자열 출력 코드를 토큰으로 나누고, 숫자와 연산자를 추상 구문 트리로 구성한 뒤 컴파일러에서 실행되도록 만듭니다. 직접 문법 스타일과 타입 시스템, 오류 처리 방식을 정해 나만의 간단한 언어 코드까지 작성합니다.
강의에서 다루는 토큰 정의, 렉서, 파서, 추상 구문 트리, 컴파일러 구현 코드를 바탕으로 실습을 이어갈 수 있습니다. 언어의 대상과 철학, 문법, 디버깅 방향을 정리하는 미션을 통해 이후 기능을 확장할 설계 기준도 마련합니다.
Section 1
프로그래밍 언어의 정의와 구성 요소를 살펴보고, 직접 언어를 설계하고 구현하는 이유와 학습 방향을 이해합니다.
Section 2
렉서, 파서, 추상 구문 트리의 역할을 익히고 인터프리터와 컴파일러의 차이를 비교합니다. 소스 코드가 실행 파일이나 실행 결과로 변환되는 전체 처리 흐름을 단계별로 파악합니다.
Section 3
러스트 개발 환경을 구성한 뒤 토큰 정의와 렉서, 숫자·연산자·변수 처리를 위한 파서와 추상 구문 트리를 구현합니다. 이후 컴파일러와 출력 기능을 완성하며 간단한 프로그래밍 언어의 실행 과정을 실습합니다.
Section 4
목표 사용자와 언어의 철학을 바탕으로 문법 스타일, 타입 시스템 도입 여부, 오류 처리와 디버깅 방식을 설계합니다. 주요 설계 선택을 정리하며 일관성 있는 언어 명세를 구상합니다.
Section 5
앞에서 학습한 언어 설계와 구현 원칙을 바탕으로 나만의 간단한 언어 코드를 작성합니다. 언어의 문법과 핵심 동작을 직접 정의하며 제작 과정을 경험합니다.
Section 6
프로그래밍 언어를 직접 만들고자 하는 동기와 창작의 의미를 돌아봅니다. 언어 설계가 사고방식과 문제 해결 방식에 미치는 영향을 생각해 봅니다.
숫자와 연산자를 처리하는 작은 프로그램은 만들어 봤지만, 소스 코드가 토큰과 문법 트리를 거쳐 실행되는 과정은 아직 낯선 분
러스트 기초 문법을 활용해 렉서, 파서, 추상 구문 트리를 직접 구현하며 컴파일러의 전체 흐름을 손으로 익히고 싶은 분
러스트와 씨 언어로 메모리와 자료구조를 다뤄 봤지만, 직접 만든 문법을 실행 가능한 코드로 바꾸는 프로젝트가 부족했던 분
변수, 연산자, 출력문을 처리하는 간단한 언어를 설계하고 컴파일러와 코드 생성 과정을 구현하며 시스템 프로그래밍 역량을 확장하고 싶은 분
파서와 컴파일러 구조를 공부했지만 언어의 문법과 타입 체계, 오류 처리 방식을 자신의 기준으로 설계해 본 경험이 부족한 분
언어의 대상 사용자와 철학을 정한 뒤 문법을 구체화하고, 나만의 간단한 언어 코드를 작성하며 언어 제작 프로젝트의 출발점을 만들고 싶은 분
실습 환경
윈도, 맥오에스, 리눅스를 지원합니다.
러스트 개발 도구를 설치해 사용합니다.
문서 편집기와 터미널이 필요합니다.
메모리 팔 기가바이트 이상을 권장합니다.
선수 지식 및 유의사항
러스트 또는 씨 언어 기초가 필요합니다.
변수, 함수, 자료형을 알고 있어야 합니다.
렉서, 파서, 추상 구문 트리를 다룹니다.
코드 작성 경험이 있으면 실습에 유리합니다.
학습 자료
강의 슬라이드 피디에프를 제공합니다.
문법 설계와 컴파일러 구조를 복습합니다.
토큰, 파서, 컴파일러 실습 자료를 활용합니다.
간단한 언어의 전체 제작 과정을 따라갑니다.
학습 대상은
누구일까요?
프로그래밍 언어를 만들고 싶은 사람
Rust, C로 기초는 익혔는데 도전 과제가 필요한 사람
파서, 렉서, 컴파일러 구조에 관심 있는 사람
선수 지식,
필요할까요?
Rust
기초 수준의 프로그래밍 경험
전체
22개
해당 강의에서 제공:
지식공유자님의 다른 강의를 만나보세요!
같은 분야의 다른 강의를 만나보세요!