컴파일러 Tiger Language의 Lexical analyzer 제작(C++).

등록일 2002.11.14 압축파일 (zip) | 27페이지 | 가격 1,500원

소개글

컴파일러 강의 레포트 입니다.
C++ 을 이용해서 Tiger Language 의 Lexical Analyzer 를 제작했습니다.
input.txt 파일(문서에 포함)을 분석해 글자 단위로 파싱합니다.
A+ 레포트

자료정보의 내용은 CC숙제#2.doc의 내용입니다.
포함된 파일들은 아래와 같습니다.
CharQueue.h -CharQueue.cpp header file
Lex.h -Lex.cpp header file
StringList.h -StringList.cpp header file
Token.h -State, keyword token define header
CharQueue.cpp -char 단위 입력큐 클래스 정의
Lex.cpp -char 단위 Lexical analyzer 클래스 정의
Parser.cpp -Lex 객체를 생성해 사용하는 main 모듈
StringList.cpp -Keyword Table 용 List 클래스 정의

목차

1. 문제정의
2. 분제분석/알고리즘
3. 소스코드
4. 결과

본문내용

1. 문제정의
Tiger programming language 의 lexical analyzer를 제작하시오.

2. 문제분석/알고리즘
다음과 같은 DFA를 만족하는 입력을 받도록 클래스를 정의한다.
- 모든 종단점은 다음 token의 시작점이 된다.
- 예외상황은 Syntax Error로 분류한다.

이 기호는 Lex 클래스에서 사용하는 상태를 나타낸다.

% 작업환경
다음과 같은 환경에서 작업하였다.
Windows 2000 Advanced Server, Microsoft Visual C++ 6.0

3. Source
//CharQueue.h ========================================================
#include <iostream>
#include <string>
using namespace std;

//Linked List 로 구현
struct ListNode {
char data;
ListNode* nextNode;
};

class Queue {
private:
ListNode* startNode; //Start
ListNode* endNode; //End
int qSize;
public:
Queue();
~Queue();
      최근 구매한 회원 학교정보 보기
      1. 최근 2주간 다운받은 회원수와 학교정보이며
         구매한 본인의 구매정보도 함께 표시됩니다.
      2. 매시 정각마다 업데이트 됩니다. (02:00 ~ 21:00)
      3. 구매자의 학교정보가 없는 경우 기타로 표시됩니다.
      최근 본 자료더보기
      추천도서