로그인 회원가입 고객센터
레포트자기소개서방송통신서식공모전취업정보
campusplus
세일즈코너배너
자료등록배너

어휘 분석기


카테고리 : 레포트 > 인문,어학계열
파일이름 :어휘 분석기.hwp
문서분량 : 9 page 등록인 : leewk2547
문서뷰어 : 한글뷰어프로그램 등록/수정일 : 12.05.09 / 12.05.09
구매평가 : 다운로드수 : 1
판매가격 : 1,800

미리보기

같은분야 연관자료
보고서설명
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
본문일부/목차
⇨ 텍스트 파일을 입력 받아 입력 받은 텍스트 파일의 데이터들을 한 글자씩 읽어서 영문자인지 아닌지를 구별하여, 그것에 맞는 연산과 Binary Tree를 생성하고, 삽입한다.
단어를 삽입 할 때에도 노드를 생성 할 수 있는 함수와 노드를 삽입하는 함수를 만들어서
Binary Tree를 이루도록 할 것이다.
마지막으로 inorder 방법을 통해서 알파벳 순서대로 출력하고, 발견된 토큰과 토큰의 종류, 발견된 줄 번호와 추가로 몇 번째 단어인지를 출력하게 된다.


3. 세부 문제에 대한 구체적인 해결 방안 제시

⇨ 먼저 linked list를 사용하기 위한 구조체와 tree를 생성하기 위한 구조체를 선언한다. main 함수는 root를 선언하고, 초기화를 하며, root를 매개변수로 하는 inputNODE() 함수와 출력함수 outputNODE()를 호출한다.
inputNODE() 함수는 파일을 열어 읽어 와서 getchar 함수를 통해 한 글자씩 읽으면서 while문을 수행하게 되고, 이 while문은 파일의 끝이 아닐 때까지 수행하게 된다.
while문에서는 줄마다 단어를 검사하게 되는데 한 줄의 끝이 아니면서 영문자 일 때에는 str 변수에 한 글자씩 저장하게 되며, 영문자가 끝나거나 아닐 때에는 insertTREE() 함수에서 노드를 삽입하게 되고, 단어수를 1 증가시킨다. 그리고 str 변수를 다시 NULL로 초기화시킴으로써 다음 단어를 저장할 수 있게 해준다.
한 줄의 끝일 때에는 라인을 나타내는 함수 l_num을 1증가 시켜고, 다음 줄의 새로운 단어가 다시 저장되기 때문에 단어의 수를 나타내는 w_num 변수는 1로 정해준다.
insertTREE() 함수에서는 root와 단어가 들어있는 str 변수와 단어 수, 라인 수를 나타내는 w_num, l_num를 매개변수로 받는다. 처음에 createNODE() 함수를 통해서 new라는 새로운 트리의 노드가 생성된다. 그리고 new 노드에 있는 data에 매개변수로 전달 받은 단어가 저장된다. 그 다음에 insertLIST() 함수를 통해서 linked list에 노드를 삽입하게 된다.
root가 NULL이 아닐 경우 root의 값을 pwalk에 할당이 되고, 새롭게 생성된 노드, 즉 new의 data의 값과 pwalk의 data의 값을 비교하여서 삽입 될 노드(new)의 data의 값이 작을 때에 pwalk의 왼쪽으로 계속 이동하고, 삽입 될 노드(new)의 data의 값이 클 경우에는 pwalk의 오른쪽으로 저장하게 된다. 이것이 계속 반복이 되다가 pwalk의 값이 NULL이 되면 종료하게 되고, while문의 반복 과정에서 pwalk의 값을 parent에 할당했으므로, parent는 잎 로드를 뜻하게 된다. 같을 때에는 이미 단어가 존재하므로 더 실행되지 않고 break문을 통해서 종료하게 된다.
이러한 과정으로 while문이 종료하게 되면 삽입할 노드의 위치를 찾았으므로, 삽입할 노드의 위치를 나타내는 parent의 data와 비교하여 왼쪽 또는, 오른쪽에 삽입하게 된다.
이러한 과정을 통해서 binary tree가 형성하게 된다.
연관검색어
어휘 분석기

구매평가

구매평가 기록이 없습니다
보상규정 및 환불정책
· 해피레포트는 다운로드 받은 파일에 문제가 있을 경우(손상된 파일/설명과 다른자료/중복자료 등) 1주일이내 환불요청 시
환불(재충전) 해드립니다.  (단, 단순 변심 및 실수로 인한 환불은 되지 않습니다.)
· 파일이 열리지 않거나 브라우저 오류로 인해 다운이 되지 않으면 고객센터로 문의바랍니다.
· 다운로드 받은 파일은 참고자료로 이용하셔야 하며,자료의 활용에 대한 모든 책임은 다운로드 받은 회원님에게 있습니다.

저작권안내

보고서 내용중의 의견 및 입장은 당사와 무관하며, 그 내용의 진위여부도 당사는 보증하지 않습니다.
보고서의 저작권 및 모든 법적 책임은 등록인에게 있으며, 무단전재 및 재배포를 금합니다.
저작권 문제 발생시 원저작권자의 입장에서 해결해드리고 있습니다. 저작권침해신고 바로가기

 

ϰڷٷΰ thinkuniv ķ۽÷