검색어 입력폼

[컴파일러]LEX로 구현한 Java 어휘분석기(scanner)

저작시기 2003.10 |등록일 2004.07.19 | 최종수정일 2018.11.10 파일확장자기타파일 (l) | 5페이지 | 가격 2,000원

*해당 문서는 미리보기가 지원되지 않습니다.

소개글

LEX로 구현한 java 어휘분석기입니다.
정규표현으로 각 토큰을 정의하여,
스캔한 후 각 토큰에 해당하는 토큰 값을 반환하도록 구현하였습니다.

* 컴파일 방법 :
* 1) LINUX
* flex scanner.l
* gcc lex.yy.c -lfl -oscanner
*
* 2) UNIX
* lex scanner.l
* cc lex.yy.c -ll -oscanner
*
* 실행 방법 :
* 실행 방법 :
* ./scanner < source.java (입력 파일은 `<` 입력리다이렉션으로)
* cat tokenlist.txt (결과 파일)

컴파일 실행환경

없음

본문내용

/***************************************************************************
*
* Lex로 구현한 Java 어휘 분석기
*
* 컴파일 방법 :
* 1) LINUX
* flex scanner.l
* gcc lex.yy.c -lfl -oscanner
*
* 2) UNIX
* lex scanner.l
* cc lex.yy.c -ll -oscanner
*
* 실행 방법 :
* ./scanner < source.java (입력 파일은 `<` 입력리다이렉션으로)
* cat tokenlist.txt (결과 파일)
*
***************************************************************************/

%{
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>

#define MAX_ID_LENGTH 255 // Max Length of Identifier
#define NUM_KEYWORD 47 // Number of keywords

enum tsymbol {
teof, tident, tint, tfloat, tdouble, tchar, tstring,
tslparen, tsrparen, tmlparen, tmrparen, tblparen, tbrparen, tsemicolon, tcomma, tdot, tplus, tminus, ttimes, tdiv, tmod, tassign, tpass, tmass, ttass, tdass, tmodass, tinc,
tdec, tOR, tAND, tNOT, tques, tcolon, tequal, tnequal, tless, tgreat, tlesse, tgreate, tand, tor, txor, tls, trs, tunsignedrs,tnot, tlsass, trsass, tunsignedrsass, tandass, torass, txorass,
// keyword
abstractsym, booleansym, breaksym, bytesym, casesym, catchsym, charsym, classsym, constsym, continuesym, defaultsym, dosym,
doublesym, elsesym, extendssym, finalsym, finallysym, floatsym, forsym, gotosym, ifsym, implementssym, importsym, instanceofsym,
intsym, interfacesym, longsym, nativesym, newsym, packagesym, privatesym, protectedsym, publicsym, returnsym, shortsym, staticsym,
supersym, switchsym, synchronizedsym, thissym, throwsym, throwssym, transientsym, trysym, voidsym, volatilesym, whilesym
};

참고 자료

없음
다운로드 맨위로