2022年电子科技大学-计算机学院-编译原理实验-词法分析.pdf
-
资源ID:14810567
资源大小:60.61KB
全文页数:5页
- 资源格式: PDF
下载积分:4.3金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
2022年电子科技大学-计算机学院-编译原理实验-词法分析.pdf
#include#include#include#define MAX_COUNT 1024#define ILLEGAL_CHAR_ERR 1#define UNKNOWN_OPERATOR_ERR 2/* 从标准输入读入第一个非空白字符(换行符除外 )*/char getnbc()char ch;ch = getchar();while (1)if (ch = r | ch = t | ch = )ch = getchar();elsebreak;return ch;/* 判断 character 是否为字母 */bool letter( charcharacter)if (character = a& character = A&character = 0& character = 0)return true;elsereturn false;/* 词法分析函数,每调用一次识别一个符号*/bool LexAnalyze()static int lineNum = 1;char character;char token17 = ;character = getnbc();switch (character)casen :output(EOLN, 24);lineNum+;break;caseEOF :output(EOF, 25);精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 5 页 - - - - - - - - - - return false;if (fullName != NULL )strncpy(out, fullName + 1, strlen(fullName) - 1 - strlen(extension);elsestrncpy(out, in, strlen(in) - strlen(extension);/* 初始化函数,接收输入文件地址,并打开输入、输出、错误文件、将标准输入重定向到输入文件,将标准输出重定向到输出文件,标准错误重定向到错误文件*/bool init(int argc, char* argv)if (argc != 2)return false;elsechar* inFilename = argv1;yd);rr);if (freopen(inFilename, r , stdin) != NULL &freopen(outFilename, w , stdout) != NULL&freopen(errFilename, w , stderr) != NULL)return true ;elsereturn false;void main(int argc,char* argv)/argv1 是输入文件地址if (init(argc,argv)while (LexAnalyze()fclose(stdin);fclose(stdout );fclose(stderr);return;精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 5 页 - - - - - - - - - - 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 5 页,共 5 页 - - - - - - - - - -