힙으로 구성한 간단한 프리프로세서
- 최초 등록일
- 2005.01.20
- 최종 저작일
- 2005.01
- C언어
- 가격 3,000원
소개글
c프로그램을 입력파일로 하는 토큰 추출프로그램입니다.
공백문자(탭,엔터,스페이스,리턴)와 널문자도 리턴이됩니다.물론 일반 토큰도 리턴이 되어 출력이 되고요..
그리고 define,undef,elif,else,ifdef,endif 매크로가 나올경우 이를 힙에 저장하도록 구성되었습니다.
그리고 매크로 처리도 가능하도록 예를 들면 #define aa 10이면 입력 소스내의 aa가 10으로 바뀌도록 해놓았습니다.
그리고 소스를 입력하면 출력시 토큰을 추출해서 원본 소스와 똑같은 간격의 형태로 보이도록 했습니다.
여기서 공백문자와 널문자는 리턴이 되지 않게 할수도 있습니다. 조금만 수정하시면요..그리고 리턴은 되어도 출력이 안되게 할수도 있습니다..역시 조금 수정하면요... 큰 도움이 되실거에요...
그리고 실행방법은 위에서처럼 하시면 되고 < 는 리다이렉션입니다.. 리다이렉션으로 입력파일을 직접 입력하지 않고 소스내에서 파일을 열어서 토큰을 추출하게 할수도 있습니다. 이역시 아주 조금만 수정하면 됩니다... 혹시 원하시는 수정내용이 있으시면 메일보내주시면 ...^^
kolove79@naver.com
컴파일 실행환경
gcc 컴파일러 사용, unix 실행환경
gcc xxx.c
./a.out < 입력파일(c소스파일)
(gcc의 구체적 사용법은 인터넷 참고)
본문내용
// define,undef,ifdef,elif,else,endif매크로 나올때
// 힙에 상입,제거 하는 함수
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_MACRO_NUM 200
#define HEAP_FULL(n) (n==MAX_MACRO_NUM-1)
#define HEAP_EMPTY(n) (!n)
typedef struct {
char *name;
char *value;
}macro;
macro MacroHeap[MAX_MACRO_NUM]={"0","0"};
int n=0;
참고 자료
없음