간단한 C언어 lexical analyzer
본 자료는 2페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
해당 자료는 2페이지 까지만 미리보기를 제공합니다.
2페이지 이후부터 다운로드 후 확인할 수 있습니다.

목차

1. 코딩환경

2. Compile과정

본문내용

h symbol table*/
unsigned currentFile=0;
unsigned nFiles;
unsigned filecount = 0;
extern void *malloc();
int lastentry=0;
int lookup(s)
char s[];
{
int p;
for (p=lastentry; p > 0; p=p-1)
if (strcmp(symtable[p].lexptr,s)==0)
return p;
return 0;
}
int insert(s,tok)
char s[];
int tok;
{
int len;
len = strlen(s);
if (lastentry +1 >= 10000) {
fprintf(stderr,"symtable full");exit(1);
}
lastentry++;
symtable[lastentry].token=tok;
symtable[lastentry].lexptr=&s[0];
return lastentry;
}
main (argc,argv)
int argc;
char **argv;
{
FILE *file;
/* initializing symtable*/
struct entry *p;
for (p=keywords; p->token; p++)
insert(p->lexptr,p->token);
if (argc != 2) {
fprintf(stderr,"insufficient arguments.\n");
fprintf(stderr,"usage: lexer4c c_source\n");
exit(1);
}
file=fopen(argv[1],"r");
if (!file) {
fprintf(stderr,"could not open %s\n",argv[1]);
exit(1);
}
yyin=file;
yylex();
printf("Reserved Word Count: %d\n",reservedCount);
printf("ID Count: %d\n",idCount);
printf("NUM Count: %d\n",numCount);
printf("Line Count: %d\n",lineCount);
printf("Word Count: %d\n",wordCount);
printf("Char Count: %d\n",charCount);
return 0;
}
-----------------------------------------------------------
  • 가격1,500
  • 페이지수6페이지
  • 등록일2004.09.12
  • 저작시기2004.09
  • 파일형식한글(hwp)
  • 자료번호#266564
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니