电子科技大学-计算机学院-编译原理实验-词法分析报告.doc
《电子科技大学-计算机学院-编译原理实验-词法分析报告.doc》由会员分享,可在线阅读,更多相关《电子科技大学-计算机学院-编译原理实验-词法分析报告.doc(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、.#include#include#include#defineMAX_COUNT 1024#defineILLEGAL_CHAR_ERR 1#defineUNKNOWN_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&ch
2、aracter = A&character = 0&character = 0)returntrue;elsereturnfalse;/*词法分析函数,每调用一次识别一个符号*/bool LexAnalyze()staticint lineNum = 1;char character;char token17 = ;character = getnbc();switch (character)casen:output(EOLN, 24);lineNum+;break;caseEOF:output(EOF, 25);returnfalse;/false表示已读到文件末尾casea:caseb:c
3、asec:cased:casee:casef:caseg:caseh:casei:casej:casek:casel:casem:casen:caseo:casep:caseq:caser:cases:caset:caseu:casev:casew:casex:casey:casez:caseA:caseB:caseC:caseD:caseE:caseF:caseG:caseH:caseI:caseJ:caseK:caseL:caseM:caseN:caseO:caseP:caseQ:caseR:caseS:caseT:caseU:caseV:caseW:caseX:caseY:caseZ:w
4、hile (letter(character) | digit(character)char s2 = character ;strcat(token, s);character = getchar();retract(character);int num;num = reserve(token);if (num != 0)output(token, num);elseint val;val = symbol();output(token, val);break;case0:case1:case2:case3:case4:case5:case6:case7:case8:case9:while
5、(digit(character)char s2 = character ;strcat(token, s);character = getchar();retract(character);int val;val = constant();output(token, val);break;case=:output(=, 12);break;case)output(, 13);elseif (character = =)output(=, 14);elseretract(character);output(:character = getchar();if (character = =)out
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子科技大学 计算机 学院 编译 原理 实验 词法 分析 报告
限制150内