사이클로매틱 복잡도 (Cyclomatic Complexity) 1. 개요 사이클로매틱 복잡도(Cyclomatic Complexity)란 프로그램의 소스 코드 내에 존재하는 독립적인 실행 경로의 수를 측정하여 소프트웨어의 논리적 복잡성을 정량화한 지표이다. 1976년 토마스 맥케이브(Thomas J. McCabe)에 의해 제안되었으며, 소프트웨어 공학에서 코…
검색 결과
"CFG"에 대한 검색 결과 (총 8개)
중간 코드 생성 개요 중간 코드 생성( Code Generation)은 컴파일러의 핵심 단계 중 하나, 소스 코드 고수준 언어에서 하드웨어에 독립적인 중간 표현(Intermediate Representation,)으로 변환 과정입니다. 이 단계는 컴파일러의 프론트엔드(소스 언어 파싱)와 백엔드(기계어 생성)를 연결하는 다리 역할을 하며, 최적화 및 플랫폼 …
드래곤북 (Dragon Book) 《컴파일러: 원리와 실제(Compilers: Principles, Techniques, and Tools)》는 [[컴파일러]] 설계와 구현에 관한 이론적 기초와 실무적 기법을 집대성한 컴퓨터 과학 분야의 세계적인 표준 교과서이다. 1. 개요 정식 명칭은 《Compilers: Principles, Techniques, and…
무용 코드 제거 (Dead Code Elimination) 1. 개요 무용 코드 제거(Dead Code Elimination, DCE)란 프로그램의 실행 결과에 아무런 영향을 주지 않는 코드, 즉 실행될 가능성이 없거나 실행되더라도 그 결과가 이후 과정에서 사용되지 않는 코드를 찾아내어 삭제하는 컴파일러 최적화 기법이다. DCE의 주된 목적은 프로그램의 논…
파서 생성기 (Parser Generator) 1. 개요 파서 생성기(Parser Generator)란 프로그래밍 언어의 문법을 정의한 명세서를 입력받아, 해당 문법에 맞는 구문 분석기(Parser) 소스 코드를 자동으로 생성해 주는 개발 도구이다. 컴파일러의 전처리 과정은 일반적으로 어휘 분석(Lexical Analysis) 구문 분석(Syntax Ana…
상수 전파 (Constant Propagation) 상수 전파(Constant Propagation)는 컴파일러 최적화 기법 중 하나로, 프로그램 실행 시 특정 변수나 표현식의 값이 컴파일 시점이나 실행 시점에 상수(constant)로 결정될 수 있음을 활용하여 코드를 더 효율적으로 만드는 기술입니다. 이 기법은 정적 분석(Static Analysis)의 …
SSA 개요 SSA(Static Single Assignment form, 정적 단일 대입 형태)는 컴파일러 최적화에서 핵심적인 중간 표현(Intermediate Representation, IR) 기법 중 하나입니다. SSA는 각 변수가 프로그램 전체에서 정확히 한 번만 대입되도록 프로그램을 변환함으로써, 데이터 흐름 분석과 다양한 최적화 기법을 보다 효…
V8 개요 V8은 구글에서 개발한 오픈소스 JavaScript 및 WebAssembly 엔진으로, 빠른 실행 속도와 효율성을 위해 설계되었습니다. 이 엔진은 Google Chrome 브라우저와 Node.js 런타임 환경의 핵심 구성 요소로 사용되며, 웹 애플리케이션과 서버 사이드 애플리케이션 모두에서 JavaScript 코드를 실행하는 역할을 합니다. V8…