[알고리즘] NFA를 축약된 DFA로 바꾸는 프로그램 분석
- 최초 등록일
- 2008.10.04
- 최종 저작일
- 2007.10
- 14페이지/ 한컴오피스
- 가격 2,500원
소개글
알고리즘 과목 수강 중 나온 과제 입니다.
NFA를 축약된 DFA로 바꾸는 프로그램입니다.(프로그램 첨부되어 있음)
C로 코딩했구요, 비주얼에서 돌아 갑니다.
목차
3.20 NFA를 축약된 DFA로 바꾸는 프로그램을 작성하시오.(C 언어로 구현했습니다.)
□ 실행 결과
본문내용
3.20 NFA를 축약된 DFA로 바꾸는 프로그램을 작성하시오.(C 언어로 구현했습니다.)
/*
(1) 정규수식 --> ε- NFA
(2) ε- NFA --> DFA
(3) DFA --> minimized DFA
(4) minimized DFA에 의해 입력스트링을 accept 또는 reject 기능 추가
*/
#include <stdio.h>
#include <string.h>
#include <malloc.h>
#define STATES 99
#define SYMBOLS 20
int N_symbols; /* 입력 심볼의 수 */
char Input_String[STATES]; /* 입력 스트링 테이블 */
char Symbols[SYMBOLS]; /* 심볼만을 갖는 테이블 */
int N_NFA_states; /* NFA상태수 */
int N_DFA_states; /* DFA상태수 */
int N_optDFA_states; /* 최적화된 DFA상태수 */
int REtab[STATES][SYMBOLS];
char *NFAtab[STATES][SYMBOLS];
int DFAtab[STATES][SYMBOLS];
int OptDFA[STATES][SYMBOLS];
char *NFA_finals; /* NFA final states */
char DFA_finals[STATES+1]; /* DFA final states */
char NEW_finals[STATES+1]; /* New DFA final states */
char StateName[STATES][STATES+1]; /* state name table */
char Eclosure[STATES][STATES+1]; /* epsilon closure for each state */
참고 자료
없음