第一范文网 - 专业文章范例文档资料分享平台

TINY-C编译器的设计与实现-词法分析器的设计与实现

来源:用户分享 时间:2025/5/19 21:01:13 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

case '/':

currentToken = OVER; break; case '(':

currentToken = LPAREN; break; case ')':

currentToken = RPAREN; break; case ';':

currentToken = SEMI; break; default:

currentToken = ERROR; break; } } break; case INCOMMENT: save = FALSE; if (c == EOF)

{ state = DONE;

currentToken = ENDFILE; }

else if (c == '}') state = START; break; case INASSIGN: state = DONE; if (c == '=')

currentToken = ASSIGN;

28

else

/*退回到缓存中 */

ungetNextChar(); save = FALSE; currentToken = ERROR; } break;

case INNUM: if (!isdigit(c)) { /* 退回到缓存中 */ ungetNextChar(); save = FALSE; state = DONE; currentToken = NUM; }

break; case INID: if (!isalpha(c)) { /* 退回到缓存中 */ ungetNextChar(); save = FALSE; state = DONE; currentToken = ID; }

break; case DONE:

29

default:

fprintf(listing,\ state = DONE;

currentToken = ERROR;

break; }

if ((save) && (tokenStringIndex <= MAXTOKENLEN)) tokenString[tokenStringIndex++] = (char) c; if (state == DONE)

{ tokenString[tokenStringIndex] = '\\0'; if (currentToken == ID)

currentToken = reservedLookup(tokenString); } }

if (TraceScan) {

fprintf(listing,\ printToken(currentToken,tokenString); }

return currentToken; }

30

五 测试分析

5.1 引言

5.1.1编写目的:

通过测试暴露软件中隐藏的错误和缺陷,以考虑是否可以接受该产品。 5.1.2项目背景: TINY编译器。 5.1.3定义:

白盒测试: 结构测试,对软件的过程性细节做细致的检查,通过在不

同点检查程序的状态,确定实际状态是否于预期的状态一致。

黑盒测试: 功能测试,必须在所有可能的输入条件盒输出条件中确定

测试数据,来检查程序是否能产生正确的输入。

5.2 任务概述

5.2.1目标:

尽可能的出的人为的制造出可能出现的系统错误,并给予更正。

5.2.2运行环境:

处理器:Inter Pentium 166 MX 或更高。 内存:32MB。硬盘空间:1GB 显卡:SVGA 显示适配器。

Windows2000个人版 TC 2、0 Delphi6.0中文版

31

TINY-C编译器的设计与实现-词法分析器的设计与实现.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c2heew9cyil5uqa97qrym_9.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top