1. 구문 분석 방법Syntax Analyzer (Parser) : 구문 분석어휘 분석 결과인 "토큰 스트림"을 입력 받아, 주어진 문법에 맞는지 검사한다.기능 : Syntax checking, Tree generation.출력 : 일반적으로 트리 형태 Context-Free 문법을 위한 구문 분석 방법 top-down 방식 (expand; sentence로)루트 노드로부터 시작해 단말 노드를 만들어나가는 방식좌측 유도와 같은 순서의 생성 규칙이 적용recursive descent parser, predictive parserbottom up 방식 (reduce; start symbol로)단말 노드로부터 루트 노드를 향해 위로 만들어 나가는 방식우측 유도의 역순으로 생성 규칙이 적용precedence ..
1. Context-Free 문법N. Chomsky 의 Type2에 해당하는 문법이다.Regular Grammar(RG) the lexical structure of tokensRecognizer : Finite Automata( => scanner)간단한 패턴 기술에 적합하다프로그래밍 언어의 구문 구조 기술에는 제약이 많다.Context free Grammar(CFG)the syntactic structure of programming languagesRecognizer (인식기) : Pushdown Automata( => parser)1.1. 프로그래밍 언어의 구문 구조를 CFG 로 표현할 경우의 장점간단하고 이해하기 쉬움CFG 로부터 인식기를 자동으로 구성할 수 있음프로그램의 구조를 생성규칙에 의해..
1. 번역기와 컴파일러번역기하나의 프로그래밍 언어로 작성된 프로그램을 동등한 의미를 가진 다른 프로그래밍 언어로 된 프로그램으로 변환하는 프로그램번역기 종류[어셈블러] : 어셈블리어로 작성된 소스 프로그램어셈블리어 : 기계어를 사람이 좀 더 이해하기 쉽도록 기호화 한 것램을 그에 대응하는 기계어로 번역된 목적 프로그램으로 번역해주는 번역기[컴파일러] : 고급 언어로 쓰여진 프로그램을 어떤 특정한 컴퓨터에서 직접 실행 가능한 형태의 프로그램으로 번역해 주는 컴퓨터 프로그램 [프리프로세서] : 소스/타깃 프로그램이 모두 고급언어다. 프로그래밍 언어에 유용한 기능을 추가하여 언어를 확장하는 역할매크로 처리 기능 (macro)조건부 컴파일 기능 (conditional compile)헤더 파일이 포함된 파일 포..