Frontend Compilers (Lexing & Parsing)
Frontend 컴파일러 (Lexing 및 Parsing)의 정의, 범위, 선행 지식, 학습 주제, 참고 근거를 정리한 CS&E 학습 노드입니다.
sys.entry
M
Me
hyunyoun's Blog
posts13 min read
Overview
Frontend 컴파일러 (Lexing 및 Parsing)(Frontend Compilers (Lexing & Parsing), FCLP)는 Compiler Design & Implementation 아래에 놓인 cluster 노드입니다. 이 문서는 Frontend Compilers (Lexing & Parsing)가 프로그래밍 언어와 컴파일러 축에서 맡는 역할, 인접 경계, 대표 산출물을 설명합니다.
핵심은 Frontend Compilers (Lexing & Parsing)를 이름으로만 외우지 않고, 어떤 문제를 다루며 무엇을 제외하는지, 그리고 어떤 학습 작업으로 이해를 검증할 수 있는지 연결해 보는 데 있습니다.
Scope & Boundaries
In-Scope
Frontend Compilers (Lexing & Parsing)의 핵심 개념, 입력-처리-출력 흐름, 대표 산출물Frontend Compilers (Lexing & Parsing)를 설명할 때 필요한 선택 기준과 trade-offFrontend Compilers (Lexing & Parsing)의 구현, 운영, 보안, 관측성 체크포인트
Out-of-Scope
- 상위 노드
Compiler Design & Implementation전체를 다시 설명하는 일 - 인접 축
Data Structures & Algorithms, Software Engineering & DevOps의 상세 구현을 중복 서술하는 일 - 특정 벤더 콘솔 조작 순서만 나열하는 문서
Boundaries
- 현재 노드는
Compiler Design & Implementation와 하위 개념 사이에서Frontend Compilers (Lexing & Parsing)의 책임 경계를 설명합니다. - 포함/제외 기준은 P1, P2, P5에 맞춰 문제 정의, 주 책임, 실패 모드 차이로 설명합니다.
Counterexample
Frontend Compilers (Lexing & Parsing)를 단순 도구 이름이나 유행 키워드로만 이해하면 실제 경계와 선행 지식을 놓치기 쉽습니다.Frontend Compilers (Lexing & Parsing)를Programming Languages & Compilers전체와 같은 뜻으로 쓰면 single-home 규칙이 무너지고, 같은 내용을 여러 node에 반복하게 됩니다.- 적용 조건이 다른 문제에
Frontend Compilers (Lexing & Parsing)를 그대로 가져오면 과잉 설계, 검증 누락, 운영 비용 증가로 이어질 수 있습니다.
Prerequisites
- Compiler Design & Implementation(컴파일러 Design 및 Implementation, PAR) — 사용 단계: Basic. 직접 상위 node의 범위와 용어를 먼저 알아야 현재 주제의 경계를 정확히 설명할 수 있습니다. (Primary
) - 프로그래밍 언어와 컴파일러(Programming Languages & Compilers, PLC) — 사용 단계: Recommended. 현재 node를 상위 축의 문제 공간과 연결해야 실무 맥락이 생깁니다. (Primary
) - Data Structures & Algorithms(Data Structures & Algorithms, XREF) — 사용 단계: Practical. 인접 축과의 연결 지점을 알아야 경계와 trade-off를 설명할 수 있습니다. (Primary
) - Software Engineering & DevOps(Software Engineering & DevOps, XREF) — 사용 단계: Practical. 인접 축과의 연결 지점을 알아야 경계와 trade-off를 설명할 수 있습니다. (Primary
)
Learning Map
Frontend Compilers (Lexing & Parsing)의 정의와 핵심 용어를 먼저 정리합니다.Frontend Compilers (Lexing & Parsing)를 상위 nodeCompiler Design & Implementation와 연결해 데이터 흐름 또는 제어 흐름을 설명합니다.Frontend Compilers (Lexing & Parsing)를 구현, 운영, 보안, 관측성 체크리스트에 연결합니다.- 관련 축
Compiler Design & Implementation, Data Structures & Algorithms, Software Engineering & DevOps와의 차이와 연결 지점을 정리합니다.
Learning Topics
Basic
Core Topic 1. 핵심 정의와 모델
- Core:
Frontend Compilers (Lexing & Parsing)를핵심 정의와 모델관점에서 설명하고 적용하는 능력 - Why to Learn: basic 단계에서
Frontend Compilers (Lexing & Parsing)를 이름이 아니라 구조와 조건으로 이해하기 위해 필요합니다. - What to Learn:
- Core: 핵심 정의와 모델
- Why to Learn:
Frontend Compilers (Lexing & Parsing)에서 이 주제가 왜 중요한지, 어떤 문제를 줄이는지 설명합니다. - What to Learn: Frontend Compilers (Lexing & Parsing), Compiler Design & Implementation, Programming Languages & Compilers, 핵심 개념 설명, 예시 비교, LLVM, ANTLR
- How to Learn:
- 핵심 정의를 2-5문장으로 다시 씁니다.
- In-Scope와 Out-of-Scope를 표로 나눕니다.
- 작은 예시와 반례를 각각 하나씩 정리합니다.
- Practice tasks: 용어 카드 1개 작성, 짧은 비교 메모 1개 작성
- Review/feedback checks:
Frontend Compilers (Lexing & Parsing)의 정의와 반례를 말로 설명할 수 있는가
- Implement: 용어 카드
- Failure modes/trade-offs: 정의와 예시를 혼동함, 상위 개념과 하위 개념을 섞음
Core Topic 2. 기호와 표현 방식
- Core:
Frontend Compilers (Lexing & Parsing)를기호와 표현 방식관점에서 설명하고 적용하는 능력 - Why to Learn: basic 단계에서
Frontend Compilers (Lexing & Parsing)를 이름이 아니라 구조와 조건으로 이해하기 위해 필요합니다. - What to Learn:
- Core: 기호와 표현 방식
- Why to Learn:
Frontend Compilers (Lexing & Parsing)에서 이 주제가 왜 중요한지, 어떤 문제를 줄이는지 설명합니다. - What to Learn: Frontend Compilers (Lexing & Parsing), Compiler Design & Implementation, Programming Languages & Compilers, 핵심 개념 설명, 예시 비교, LLVM, ANTLR
- How to Learn:
- 핵심 정의를 2-5문장으로 다시 씁니다.
- In-Scope와 Out-of-Scope를 표로 나눕니다.
- 작은 예시와 반례를 각각 하나씩 정리합니다.
- Practice tasks: 요약 노트 1개 작성, 짧은 비교 메모 1개 작성
- Review/feedback checks:
Frontend Compilers (Lexing & Parsing)의 정의와 반례를 말로 설명할 수 있는가
- Implement: 요약 노트
- Failure modes/trade-offs: 정의와 예시를 혼동함, 상위 개념과 하위 개념을 섞음
Core Topic 3. 대표 예시와 반례
- Core:
Frontend Compilers (Lexing & Parsing)를대표 예시와 반례관점에서 설명하고 적용하는 능력 - Why to Learn: basic 단계에서
Frontend Compilers (Lexing & Parsing)를 이름이 아니라 구조와 조건으로 이해하기 위해 필요합니다. - What to Learn:
- Core: 대표 예시와 반례
- Why to Learn:
Frontend Compilers (Lexing & Parsing)에서 이 주제가 왜 중요한지, 어떤 문제를 줄이는지 설명합니다. - What to Learn: Frontend Compilers (Lexing & Parsing), Compiler Design & Implementation, Programming Languages & Compilers, 핵심 개념 설명, 예시 비교, LLVM, ANTLR
- How to Learn:
- 핵심 정의를 2-5문장으로 다시 씁니다.
- In-Scope와 Out-of-Scope를 표로 나눕니다.
- 작은 예시와 반례를 각각 하나씩 정리합니다.
- Practice tasks: 비교 표 1개 작성, 짧은 비교 메모 1개 작성
- Review/feedback checks:
Frontend Compilers (Lexing & Parsing)의 정의와 반례를 말로 설명할 수 있는가
- Implement: 비교 표
- Failure modes/trade-offs: 정의와 예시를 혼동함, 상위 개념과 하위 개념을 섞음
Recommended
Core Topic 1. 증명과 추론 기준
- Core:
Frontend Compilers (Lexing & Parsing)를증명과 추론 기준관점에서 설명하고 적용하는 능력 - Why to Learn: recommended 단계에서
Frontend Compilers (Lexing & Parsing)를 이름이 아니라 구조와 조건으로 이해하기 위해 필요합니다. - What to Learn:
- Core: 증명과 추론 기준
- Why to Learn:
Frontend Compilers (Lexing & Parsing)에서 이 주제가 왜 중요한지, 어떤 문제를 줄이는지 설명합니다. - What to Learn: Frontend Compilers (Lexing & Parsing), Compiler Design & Implementation, Programming Languages & Compilers, 경계 판단, 선택 기준 정리, LLVM, ANTLR
- How to Learn:
- 핵심 정의를 2-5문장으로 다시 씁니다.
- In-Scope와 Out-of-Scope를 표로 나눕니다.
- 작은 예시와 반례를 각각 하나씩 정리합니다.
- Practice tasks: 경계 메모 1개 작성, 짧은 비교 메모 1개 작성
- Review/feedback checks:
Frontend Compilers (Lexing & Parsing)의 포함 범위와 제외 범위를 구분할 수 있는가
- Implement: 경계 메모
- Failure modes/trade-offs: 경계 없이 넓게 서술함, 비슷한 기술을 같은 것으로 취급함
Core Topic 2. 복잡도와 비용 감각
- Core:
Frontend Compilers (Lexing & Parsing)를복잡도와 비용 감각관점에서 설명하고 적용하는 능력 - Why to Learn: recommended 단계에서
Frontend Compilers (Lexing & Parsing)를 이름이 아니라 구조와 조건으로 이해하기 위해 필요합니다. - What to Learn:
- Core: 복잡도와 비용 감각
- Why to Learn:
Frontend Compilers (Lexing & Parsing)에서 이 주제가 왜 중요한지, 어떤 문제를 줄이는지 설명합니다. - What to Learn: Frontend Compilers (Lexing & Parsing), Compiler Design & Implementation, Programming Languages & Compilers, 경계 판단, 선택 기준 정리, LLVM, ANTLR
- How to Learn:
- 핵심 정의를 2-5문장으로 다시 씁니다.
- In-Scope와 Out-of-Scope를 표로 나눕니다.
- 작은 예시와 반례를 각각 하나씩 정리합니다.
- Practice tasks: 설계 스케치 1개 작성, 짧은 비교 메모 1개 작성
- Review/feedback checks:
Frontend Compilers (Lexing & Parsing)의 포함 범위와 제외 범위를 구분할 수 있는가
- Implement: 설계 스케치
- Failure modes/trade-offs: 경계 없이 넓게 서술함, 비슷한 기술을 같은 것으로 취급함
Core Topic 3. 인접 개념과의 경계
- Core:
Frontend Compilers (Lexing & Parsing)를인접 개념과의 경계관점에서 설명하고 적용하는 능력 - Why to Learn: recommended 단계에서
Frontend Compilers (Lexing & Parsing)를 이름이 아니라 구조와 조건으로 이해하기 위해 필요합니다. - What to Learn:
- Core: 인접 개념과의 경계
- Why to Learn:
Frontend Compilers (Lexing & Parsing)에서 이 주제가 왜 중요한지, 어떤 문제를 줄이는지 설명합니다. - What to Learn: Frontend Compilers (Lexing & Parsing), Compiler Design & Implementation, Programming Languages & Compilers, 경계 판단, 선택 기준 정리, LLVM, ANTLR
- How to Learn:
- 핵심 정의를 2-5문장으로 다시 씁니다.
- In-Scope와 Out-of-Scope를 표로 나눕니다.
- 작은 예시와 반례를 각각 하나씩 정리합니다.
- Practice tasks: trade-off 표 1개 작성, 짧은 비교 메모 1개 작성
- Review/feedback checks:
Frontend Compilers (Lexing & Parsing)의 포함 범위와 제외 범위를 구분할 수 있는가
- Implement: trade-off 표
- Failure modes/trade-offs: 경계 없이 넓게 서술함, 비슷한 기술을 같은 것으로 취급함
Practical
Core Topic 1. 작은 계산 실험
- Core:
Frontend Compilers (Lexing & Parsing)를작은 계산 실험관점에서 설명하고 적용하는 능력 - Why to Learn: practical 단계에서
Frontend Compilers (Lexing & Parsing)를 이름이 아니라 구조와 조건으로 이해하기 위해 필요합니다. - What to Learn:
- Core: 작은 계산 실험
- Why to Learn:
Frontend Compilers (Lexing & Parsing)에서 이 주제가 왜 중요한지, 어떤 문제를 줄이는지 설명합니다. - What to Learn: Frontend Compilers (Lexing & Parsing), Compiler Design & Implementation, Programming Languages & Compilers, 구현 계획 작성, 검증 기준 정의, LLVM, ANTLR
- How to Learn:
- 핵심 정의를 2-5문장으로 다시 씁니다.
- In-Scope와 Out-of-Scope를 표로 나눕니다.
- 작은 예시와 반례를 각각 하나씩 정리합니다.
- Practice tasks: 실습 코드 1개 작성, 짧은 비교 메모 1개 작성
- Review/feedback checks:
Frontend Compilers (Lexing & Parsing)관련 산출물이 실제 운영 체크리스트로 이어지는가
- Implement: 실습 코드
- Failure modes/trade-offs: 검증 없는 구현, 운영 맥락 누락
Core Topic 2. 입력 조건 점검
- Core:
Frontend Compilers (Lexing & Parsing)를입력 조건 점검관점에서 설명하고 적용하는 능력 - Why to Learn: practical 단계에서
Frontend Compilers (Lexing & Parsing)를 이름이 아니라 구조와 조건으로 이해하기 위해 필요합니다. - What to Learn:
- Core: 입력 조건 점검
- Why to Learn:
Frontend Compilers (Lexing & Parsing)에서 이 주제가 왜 중요한지, 어떤 문제를 줄이는지 설명합니다. - What to Learn: Frontend Compilers (Lexing & Parsing), Compiler Design & Implementation, Programming Languages & Compilers, 구현 계획 작성, 검증 기준 정의, LLVM, ANTLR
- How to Learn:
- 핵심 정의를 2-5문장으로 다시 씁니다.
- In-Scope와 Out-of-Scope를 표로 나눕니다.
- 작은 예시와 반례를 각각 하나씩 정리합니다.
- Practice tasks: 체크리스트 1개 작성, 짧은 비교 메모 1개 작성
- Review/feedback checks:
Frontend Compilers (Lexing & Parsing)관련 산출물이 실제 운영 체크리스트로 이어지는가
- Implement: 체크리스트
- Failure modes/trade-offs: 검증 없는 구현, 운영 맥락 누락
Core Topic 3. 해설 노트 작성
- Core:
Frontend Compilers (Lexing & Parsing)를해설 노트 작성관점에서 설명하고 적용하는 능력 - Why to Learn: practical 단계에서
Frontend Compilers (Lexing & Parsing)를 이름이 아니라 구조와 조건으로 이해하기 위해 필요합니다. - What to Learn:
- Core: 해설 노트 작성
- Why to Learn:
Frontend Compilers (Lexing & Parsing)에서 이 주제가 왜 중요한지, 어떤 문제를 줄이는지 설명합니다. - What to Learn: Frontend Compilers (Lexing & Parsing), Compiler Design & Implementation, Programming Languages & Compilers, 구현 계획 작성, 검증 기준 정의, LLVM, ANTLR
- How to Learn:
- 핵심 정의를 2-5문장으로 다시 씁니다.
- In-Scope와 Out-of-Scope를 표로 나눕니다.
- 작은 예시와 반례를 각각 하나씩 정리합니다.
- Practice tasks: 런북 초안 1개 작성, 짧은 비교 메모 1개 작성
- Review/feedback checks:
Frontend Compilers (Lexing & Parsing)관련 산출물이 실제 운영 체크리스트로 이어지는가
- Implement: 런북 초안
- Failure modes/trade-offs: 검증 없는 구현, 운영 맥락 누락
Advanced
Core Topic 1. 최적화와 한계
- Core:
Frontend Compilers (Lexing & Parsing)를최적화와 한계관점에서 설명하고 적용하는 능력 - Why to Learn: advanced 단계에서
Frontend Compilers (Lexing & Parsing)를 이름이 아니라 구조와 조건으로 이해하기 위해 필요합니다. - What to Learn:
- Core: 최적화와 한계
- Why to Learn:
Frontend Compilers (Lexing & Parsing)에서 이 주제가 왜 중요한지, 어떤 문제를 줄이는지 설명합니다. - What to Learn: Frontend Compilers (Lexing & Parsing), Compiler Design & Implementation, Programming Languages & Compilers, 복합 시나리오 비교, 리스크 조정, LLVM, ANTLR
- How to Learn:
- 핵심 정의를 2-5문장으로 다시 씁니다.
- In-Scope와 Out-of-Scope를 표로 나눕니다.
- 작은 예시와 반례를 각각 하나씩 정리합니다.
- Practice tasks: 리뷰 문서 1개 작성, 짧은 비교 메모 1개 작성
- Review/feedback checks:
Frontend Compilers (Lexing & Parsing)의 확장 전략과 리스크를 함께 설명할 수 있는가
- Implement: 리뷰 문서
- Failure modes/trade-offs: 과잉 최적화, 근거 없는 일반화
Core Topic 2. 형식적 검증 관점
- Core:
Frontend Compilers (Lexing & Parsing)를형식적 검증 관점관점에서 설명하고 적용하는 능력 - Why to Learn: advanced 단계에서
Frontend Compilers (Lexing & Parsing)를 이름이 아니라 구조와 조건으로 이해하기 위해 필요합니다. - What to Learn:
- Core: 형식적 검증 관점
- Why to Learn:
Frontend Compilers (Lexing & Parsing)에서 이 주제가 왜 중요한지, 어떤 문제를 줄이는지 설명합니다. - What to Learn: Frontend Compilers (Lexing & Parsing), Compiler Design & Implementation, Programming Languages & Compilers, 복합 시나리오 비교, 리스크 조정, LLVM, ANTLR
- How to Learn:
- 핵심 정의를 2-5문장으로 다시 씁니다.
- In-Scope와 Out-of-Scope를 표로 나눕니다.
- 작은 예시와 반례를 각각 하나씩 정리합니다.
- Practice tasks: 위험 분석표 1개 작성, 짧은 비교 메모 1개 작성
- Review/feedback checks:
Frontend Compilers (Lexing & Parsing)의 확장 전략과 리스크를 함께 설명할 수 있는가
- Implement: 위험 분석표
- Failure modes/trade-offs: 과잉 최적화, 근거 없는 일반화
Core Topic 3. 확장 문제로의 연결
- Core:
Frontend Compilers (Lexing & Parsing)를확장 문제로의 연결관점에서 설명하고 적용하는 능력 - Why to Learn: advanced 단계에서
Frontend Compilers (Lexing & Parsing)를 이름이 아니라 구조와 조건으로 이해하기 위해 필요합니다. - What to Learn:
- Core: 확장 문제로의 연결
- Why to Learn:
Frontend Compilers (Lexing & Parsing)에서 이 주제가 왜 중요한지, 어떤 문제를 줄이는지 설명합니다. - What to Learn: Frontend Compilers (Lexing & Parsing), Compiler Design & Implementation, Programming Languages & Compilers, 복합 시나리오 비교, 리스크 조정, LLVM, ANTLR
- How to Learn:
- 핵심 정의를 2-5문장으로 다시 씁니다.
- In-Scope와 Out-of-Scope를 표로 나눕니다.
- 작은 예시와 반례를 각각 하나씩 정리합니다.
- Practice tasks: 의사결정 로그 1개 작성, 짧은 비교 메모 1개 작성
- Review/feedback checks:
Frontend Compilers (Lexing & Parsing)의 확장 전략과 리스크를 함께 설명할 수 있는가
- Implement: 의사결정 로그
- Failure modes/trade-offs: 과잉 최적화, 근거 없는 일반화
Terminology
References
Primary
- [P1] CS2023 — 컴퓨터 과학 핵심 Knowledge Area 분류
- [P2] SWEBOK v4.0 — 소프트웨어 엔지니어링 지식 체계
- [P5] SFIA v9 — 산업 역할 및 역량 수준 프레임
Secondary
Industry
Final Checklist
Primary
-
Frontend Compilers (Lexing & Parsing)를 정의 -> 범위 -> 반례 순서로 설명할 수 있다. -
Frontend Compilers (Lexing & Parsing)를 현재 위치에 둔 이유를 Primary evidence로 정당화할 수 있다.
Secondary
- 선택지 2개 이상을 비교하고 trade-off를 문장으로 정리했다.
- 노트, 비교표, 체크리스트 중 하나 이상을 남겼다.
Industry
- 구현, 운영, 보안, 관측성 체크포인트를 실제 도구나 표준 문서 기준으로 점검했다.
- slug, url, aliases가 현재 정보 구조와 충돌하지 않는지 확인했다.