플렉스(Flex)란 무엇인가?
플렉스(Flex)는 텍스트 속 어휘 패턴을 인식하는 스캐너(scanner), 즉 토크나이저(tokenizer)를 자동으로, 그리고 신속하게 생성해 주는 오픈 소스 프로그램입니다. Flex라는 이름은 "Fast Lexical Analyzer Generator(빠른 어휘 분석기 생성기)"의 약자에서 유래했습니다.
Flex는 유닉스(Unix) 기반 시스템에서 표준 어휘 분석기 생성기로 사용되던 Lex의 무료 대안으로 개발되었으며, 1987년 베른 팩슨(Vern Paxson)이 C 프로그래밍 언어로 최초 작성했습니다.
Lex와 Flex의 관계
Lex는 사유(proprietary) 소프트웨어이지만, 원본 코드를 기반으로 한 버전들이 오픈 소스 형태로 공개되어 있습니다. 여기에는 Flex뿐만 아니라 OpenSolaris와 Plan 9의 일부 구성 요소들도 포함됩니다.
어휘 분석(Lexical Analysis)의 의미
어휘 분석이란 소스 코드와 같은 문자열 시퀀스를 처리하여, 파서(parser) 같은 다른 프로그램의 입력으로 사용할 수 있는 '토큰(token)'이라 불리는 기호 시퀀스를 만들어내는 과정을 말합니다.