소개글
c로 구현한 미니파스칼 어휘분석기입니다.
파일은 4개로
실행에 관련 된 것 2개와
어휘분석기가 잘돌아가는지 확인할 수 있는 파일과
그 결과값이 들어간 화일입니다.
컴파일 실행환경
없음
본문내용
#define ID_LENGTH 12 //ID_LENGTH는 유효한 명칭의 길이를 나타내는 상수이다.
#define NUMKEYWORD 15 //NUMKEYWORD는 단어 심벌의 개수로 미니파스칼에서는 15개의 단어 심벌이 있다.
//각 토큰의 토큰번호를 나타내는 tsymbol의 형은 열거형으로 다음과 같은 내용으로 정의된다.
enum tsymbol{
tnull = -1, tident=1, tnumber, tlparen, trparen, ttimes,
tplus, tcomma, tminus, tdot, tddot, tcolon,
tassign, tsemicolon, tless, tlesse, tnequal, tequal,
tgreat, tgreate, tlbracket, trbracket, teof,
arraysym, beginsym, constsym, divsym, dosym, endsym,
ifsym, intsym, modsym, ofsym, procsym, progsym,
thensym, varsym, whilesym
};
//토큰 구조체
struct tokentype{
int number;
union{
char id[ID_LENGTH]; // 유효한 명칭의 길이를 나타냄
int num;
}value;
};
압축파일 내 파일목록
prime.pas
Pscanner.c
Pscanner.h
test.t
참고 자료
없음