[오토마타] LEX & YACC 비교
- 최초 등록일
- 2003.04.02
- 최종 저작일
- 2003.04
- 17페이지/ 한컴오피스
- 가격 2,500원
목차
1. Lex and Yacc
2. Lex
2.1 정규 표현(Regular Expression)
2.2 Lex Specification
3. Yacc
3.1 문법(Grammar) 1
3.2 문법(Grammar) 2
3.3 Shift/Reduce Parsing
3.4 Lexer와 같이 사용하기
3.5 모호성(Ambiguity) 1
3.6 모호성(Ambiguity) 2
3.7 변수와 여러 유형의 토큰(Variables and Typed Tokens)
3.8 심볼 테이블(Symbol Tables)
본문내용
Lex와 Yacc는 입력값에 대해 원하는 것을 찾아내는 일과, 그 찾아낸 것들 간의 관계를 따지는 프로그램 작성을 도와준다. 일일이 C로 짤 수 있지만 노가다 그 자체라고 말 할 수 있다. 수업시간에 "포트란 컴파일러 하나 만드는데 17명이서 4년 걸렸다"고 들은 것 같다. 수치는 정확하다고 보장할 수 없지만 하여간 많이 걸린다.
입력값을 의미단위(토큰이라고 한다.)로 나누는 것을 어휘분석(Lexical Analysis, 줄여서 lexing)이라고 하며, 그런 일을 하는 것을 어휘분석기(Lexical Analyzer, lexer, scanner)라고 부른다. Lex는 토큰들을 정의하고 C 루틴을 생성하는 것을 도와준다. 토큰과 C 루틴을 기술해 놓은 것을 Lex Specification(마땅한 한국말이 없다. 보통 토큰과 C 루틴을 기술(명세) 해 놨다고 해서 기술화일이나 명세화일이라고 부른다.)이라고 하며 Lex는 이것을 가지고 어휘분석기를 만들어준다.
참고 자료
없음