1. 소개

Lexical analyzer는 문자열 입력 스트림을 토큰으로 분해하는 프로그램이다. 어휘 분석기를 수동으로 작성하는 것은 난해한 작업이므로, 좀 더 쉽게 할 수 있는 도구들이 개발되었다.

이중 가장 잘 알려진 것이 Lex이다. Lex는 C 언어를 타겟으로 하는 UNIX 용 lexical analyzer generator이다. Lex는 lexical analyzer의 세부 사항들을 담고 있는 특정한 형태의 specification 파일을 분석하여, table-driven 방식의 lexical analyzer C 소스 코드를 생성한다.

JLex는 Lex의 lexical analyzer 생성 모델을 기반으로 한다. JLex는 Lex와 비슷한 specification 파일을 받아들여서 해당 기능을 수행하는 Java 소스 코드를 생성한다.