검색어 입력폼

[알고리즘] NFA를 축약된 DFA로 바꾸는 프로그램 분석

저작시기 2007.10 |등록일 2008.10.04 한글파일한컴오피스 (hwp) | 14페이지 | 가격 2,300원

소개글

알고리즘 과목 수강 중 나온 과제 입니다.
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 */

참고 자료

없음
다운로드 맨위로