这是一款使用C语言开发的词法分析器软件,能够高效地对源代码进行扫描和分解,识别出各种基本成分(如关键字、标识符等),为后续语法分析提供基础。
```c
#include
#include
#include
#include defineclass.h
char TOKEN[20];
char MATCH[NUM][10] = {begin, end, if, then, else};
/* some new key words attached */
extern int lookup(char* str) {
for (int i = 0; i < NUM; i++) {
if (!strcmp(str, MATCH[i])) {
return i + 1;
}
}
return 0;
}
extern void out(int c, char* value) {
printf((%d,%s)\n, c, value);
}
extern void report_error(void) {
printf(Error!!!!\n);
}
void scanner_example(FILE *fp) {
char ch;
int i, c;
ch = fgetc(fp);
while (ch != EOF)
```
这段代码定义了一些宏和函数,用于处理文本扫描器的功能。它包含查找关键字、输出标记以及错误报告等基本功能,并且在文件指针`fp`中逐字符读取直到到达文件末尾为止。