● C언어 어휘 분석기를 설계하고 프로그램 한다.
● C언어의 토큰의 종류(“A Book on C” 4th edition Al Kelley IraPohl의 부록 B를 참고 할 것)
⇒ auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while
⇒ 식별자 : 알파벳 또는 언더스코어 또는 숫자로 구성된 단어로 첫 자는 알파벳 문자나 언더스코어로 시작해야 한다. 식별자는 첫 31자가 구별 되어야 하며, 인식된 식별자는 심볼 테이블에 넣어져야 한다.
⇒ 상수 : 십진, 팔진, 십 육진 상수를 비롯하여 문자형 스트링 상수들을 구분한다.
⇒ 코멘트를 처리한다.
● 구현에 필요한 한계 값들을 정할 것
● 입력은 일반적인 텍스트
● 출력은 발견 된 토큰과 토큰은 종류, 발견 된 줄 번호 등이고 모든 입력이 처리된 후에는 심볼 테이블을 알파벳 순서로 출력한다.
2. 문제 해결을 위한 개략적 방법을 제시
⇨ 텍스트 파일을 입력 받아 입력 받은 텍스트 파일의 데이터들을 한 글자씩 읽어서 영문자인지 아닌지를 구별하여, 그것에 맞는 연산과 Binary Tree를 생성하고, 삽입한다.
단어를 삽입 할 때에도 노드를 생성 할 수 있는 함수와 노드를 삽입하는 함수를 만들어서
Binary Tree를 이루도록 할 것이다.
마지막으로 inorder 방법을 통해서 알파벳 순서대로 출력하고, 발견된 토큰과 토큰의 종류, 발견된 줄 번호와 추가로 몇 번째 단어인지를 출력하게 된다.