6.33. Flex-2.6.4

Flex 패키지에는 텍스트의 패턴을 인식하는 프로그램을 생성하는 도구가 포함되어 있다.

예상 빌드 시간: 0.4 SBU
필요 디스크 공간: 36 MB

6.33.1. Flex 설치

우선, Glibc-2.26에서 생긴 문제를 수정한다:

sed -i "/math.h/a #include <malloc.h>" src/flexdef.h

이 빌드 절차는 help2man 프로그램이 실행 파일의 --help 옵션으로부터 man 페이지를 생성할 수 있다고 가정한다. 그러나 이는 존재하지 않기 때문에, 우리는 환경 변수를 사용하여 이 과정을 생략한다. 이제 Flex 컴파일을 준비한다:

HELP2MAN=/tools/bin/true \
./configure --prefix=/usr --docdir=/usr/share/doc/flex-2.6.4

패키지를 컴파일한다:

make

결과를 테스트하려면(약 0.5 SBU) 실행하라:

make check

패키지를 설치한다:

make install

몇몇 프로그램들은 아직 flex를 인식하지 못해서 이전 프로그램인 lex를 사용하려 할 것이다. 이러한 프로그램들을 지원하기 위해 lex 에뮬레이션 모드에서 flex를 실행하는 lex라는 심볼릭 링크를 생성한다:

ln -sv flex /usr/bin/lex

6.33.2. Flex의 내용

설치된 프로그램들: flex, flex++ (flex로 링크), lex (flex로 링크)
설치된 라이브러리: libfl.so
설치된 디렉토리: /usr/share/doc/flex-2.6.4

요약

flex

텍스트 패턴 인식 프로그램 생성 도구; 융통성있게 패턴 검색 규칙을 지정하여, 전문 프로그램 개발의 필요성을 근절한다

flex++

C++ 코드 및 클래스를 생성하는 데 사용되는 flex의 확장. flex로의 심볼릭 링크이다

lex

lex 에뮬레이션 모드에서 flex를 실행하는 심볼릭 링크

libfl

flex 라이브러리