Lex의 정의 및 구성과특징
본 자료는 2페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
해당 자료는 2페이지 까지만 미리보기를 제공합니다.
2페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

Lex의 정의 및 구성과특징에 대한 보고서 자료입니다.

목차

#목 차
* Lex의 정의 *

* 스캐너의 생성과정 *

* Lex의 설치 방법 *

* Lex의 구성 *

* Lex에서의 정규식 *

* Lex를 이용한 프로그래밍 *

* 패턴 일치를 위한 Lex의 규칙 *

* C code *

* 최종 작업 *

* Advanced Lex *

본문내용

밍의 마지막인 세 번째 섹션에서는 C 함수 선언(main 함수 포함)을 다룬다. 이 섹션에 yywrap() 함수가 포함되는 것을 유의해야 한다. Lex에는 사용자가 이용 가능한 일련의 함수와 변수가 있다. 그 중의 하나가 yywrap이다. 전형적으로 yywrap()는 아래 예의 경우처럼 규정된다.
<워드 카운팅 프로그램용 C code 섹션(C code section for the word-counting program)>
void main()
{
yylex(); /* start the
analysis*/
printf(" No of words:
%d\n", wordCount);
}
int yywrap()
{
return 1;
}
이전의 섹션에서 간단한 Lex 프로그램 작성을 돕는 Lex 프로그래밍의 기본 원리를 검토했다. Advanced Lex의 섹션에서는 Lex가 제공하는 기능성을 다룬다. 그러면 모든 사용자가 복잡한 프로그램을 작성할 수 있다.
최종 작업
.lex 파일은 Lex의 스캐너로서 Lex 프로그램에 다음과 같이 사용한다.
$ lex
lex.yy.c 파일이 생성되는데 이 파일은 C 컴파일러로의 컴파일이 가능하다. 또한 파서로 실행 파일을 생성하거나 옵션 2로 링크 단계에 라이브러리를 포함할 수 있다.
다음은 몇 가지 Lex 플래그이다.
-c는 C 작동을 가리키며 기본 값이다.
-t는 표준 출력과는 다른 방식으로 .lex.yy.c 프로그램을 작성한다.
-v는 통계를 두 행으로 요약한다.
-n은 -v 요약을 인쇄하지 않는다.
Advanced Lex
Lex는 여러 정보를 제공하고 복잡한 기능을 수행하는 프로그램 작성할 수 있는 다양한 함수와 변수를 포함한다.

yyin
FILE* 유형과 관련이 있으며, lexer가 구문 해석 중인 현재 파일을 가리킨다.
yyout
FILE* 유형과 관련 있으며, lexer의 출력이 작성될 위치를 가리킨다. 기본값으로 yyin과 yyout는 표준 입력과 출력을 가리킨다.
yytext
일치 패턴의 텍스트가 이 변수에 저장된다.(char*)
yyleng
일치 패턴의 길이를 제공한다.
yylineno
현재 행 숫자의 정보를 제공한다.(lexer가 지원할 수도 있고 안 할 수도 있다.)

yylex()
분석 시작하는 함수로 Lex가 자동으로 생성
yywrap()
이 함수는 파일(혹은 입력)의 끝에 호출된다. 이 기능이 1을 반환하면 구문 해석(파싱)은 정지한다. 따라서 이 함수는 다중 파일의 파싱에 사용될 수 있다. 코드는 세 번째 섹션에서 작성되어 다중 파일이 파싱된다. 말하자면 모든 파일이 파싱될 때까지 yyin 파일 포인터가 상이한 파일을 가리킨다는 전략이다. 마지막에 yywrap()가 구문 해석의 종료를 가리키기 위하여 1을 반환한다.
yyless(int n)
이 함수는 판독 토큰의 'n' 문자를 제외한 모든 것을 밀어낸다.
yymore()
이 함수는 Lexer에게 현재의 토큰에 다음 토큰을 부가하도록 지시한다.
  • 가격1,000
  • 페이지수7페이지
  • 등록일2006.12.01
  • 저작시기2005.9
  • 파일형식한글(hwp)
  • 자료번호#379498
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니