• 파일시티 이벤트
  • LF몰 이벤트
  • 서울좀비 이벤트
  • 탑툰 이벤트
  • 닥터피엘 이벤트
  • 아이템베이 이벤트
  • 아이템매니아 이벤트

[대학리포트]미니 컴파일러 구현

*원*
최초 등록일
2004.11.28
최종 저작일
2004.11
파일확장자 C언어
가격 1,000원 할인쿠폰받기
다운로드
장바구니

소개글

미니 컴파일러 만들기입니다.
토큰나누는 것부터 자세한 주석이 달려있고요

구현된 기능은 선언되지 않은 함수 검출과

중복선언 검출 그 밖에 주석문 처리 등이 기능으로 들어있습니다.

컴파일 실행환경

VC++에서 컴파일후 실행하고 검사할 파일을 같은 폴더에 넣습니다. 그리고 파일명을 입력하면 결과가 출력 됩니다. 더 궁금 한 사항이 있을시엔 저에게 메일을 보내시면 자세한 메뉴얼을 보내드리겠습니다.

본문내용

typedef struct{
int line;
char var[MAX_VAR];
int op_sign;
int key;
int to_num;
}element;
element token[MAX_CHAR];
//변수 테이블을 저장하는 구조체
typedef struct{
int flag;
char var[31];
}element_table;
element_table var_table[MAX_CHAR];
//////////////////////////////////////////////////////////////////////////////////////////////
// 데이타 타입 테이블
char *datatype[DATATYPE_SIZE]={"void", "char", "int", "short", "long", "float", "double"};
// 키워드 테이블
char *keyword[KEYWORD_SIZE]={"main", "if", "else", "do", "while", "for", "switch", "case", "default", "break", "auto", "struct", "enum", "register",
"typedef", "extern", "return", "union", "const", "unsigned", "continue", "signed", "goto", "sizeof", "volatile",
"static", "asm"};
// 분리자 테이블
char seps[SEPERATER_SIZE]={' ', '\t', '\n', ',', ';', '(', ')', '{', '}', '=', '!', '[', ']', '+', '-', '*', '/', '<', '>', '^', '#', '&', '%', ':','.'};
//////////////////////////////////////////////////////////////////////////////////////////////
//전역변수 선언 부분//////////////////////////////////////////////////////////////////////////
// char cBuf[MAX]; : 전역변수로 선언해 줌으로써 초기화를 해주고 파일 입출력통해 텍스트 파일을 직접 받아들이는 배열이다.
// char cBuf2[MAX_CHAR2]; : 임시저장장소로 중간의 플래그를 임시로 저장하는 장소이다.
// char temp[LINE_NUM][MAX_LINE]; : 임시저장장소로 중간의 라인 플래그를 임시로 저장하는 장소이다.
//////////////////////////////////////////////////////////////////////////////////////////////
char cBuf[MAX_CHAR];
char cBuf2[MAX_CHAR2];
char temp[LINE_NUM][MAX_LINE];
char cVar[MAX_CHAR];
//함수 선언 부분///////////////////////////////////////////////////////////////////////////////
// void File_up : 파일 입력을 하는 함수이다.
// void Ready() : 입력 받은 파일에 주석 부분을 처리 해주고 토큰단위로 중간에 '@'를 넣어 구분을 나태낸다.
// void strtoken : 라인별로 플래그를 올리면서 토큰을 나누어 주고 함수이다.
// void Menu() : 입력받은 소스를 사용자가 볼수 있게 출력해주는 함수 이다.
// int seperater_check(char temp) : 세퍼레이트 sep[] 배열에 저장되어 있는 문자를 만나면 TRUE를 아니면 FALSE를 출력해주는 함수 이다.
// void Analysis(int n) : 분석함수로써 토큰이 키워드인지 데이타 타입인지를 구분한다.
// int Var_analysis(int n) : 변수를 분석하여 입력과 중복을 체크한다.
// int Var_in_table(int n, int k) : 변수를 <font color=aaaaff>..</font>

참고 자료

없음
*원*
판매자 유형Bronze개인

주의사항

저작권 자료의 정보 및 내용의 진실성에 대하여 해피캠퍼스는 보증하지 않으며, 해당 정보 및 게시물 저작권과 기타 법적 책임은 자료 등록자에게 있습니다.
자료 및 게시물 내용의 불법적 이용, 무단 전재∙배포는 금지되어 있습니다.
저작권침해, 명예훼손 등 분쟁 요소 발견 시 고객센터의 저작권침해 신고센터를 이용해 주시기 바랍니다.
환불정책

해피캠퍼스는 구매자와 판매자 모두가 만족하는 서비스가 되도록 노력하고 있으며, 아래의 4가지 자료환불 조건을 꼭 확인해주시기 바랍니다.

파일오류 중복자료 저작권 없음 설명과 실제 내용 불일치
파일의 다운로드가 제대로 되지 않거나 파일형식에 맞는 프로그램으로 정상 작동하지 않는 경우 다른 자료와 70% 이상 내용이 일치하는 경우 (중복임을 확인할 수 있는 근거 필요함) 인터넷의 다른 사이트, 연구기관, 학교, 서적 등의 자료를 도용한 경우 자료의 설명과 실제 자료의 내용이 일치하지 않는 경우
최근 본 자료더보기
탑툰 이벤트
[대학리포트]미니 컴파일러 구현
  • 레이어 팝업
  • 레이어 팝업
  • 레이어 팝업