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

河工大版编译原理实验报告(2)

来源:网络收集 时间:2019-06-17 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

基本思路:

程序代码:

#include

TOKEN[0]=ch; ch=fgetc(fp); i=1;

while(isdigit(ch)||ch == '.' || ch == 'E'||ch == 'e') {

if (ch == '.'){checkdot =1;} else if (ch == 'e'||ch == 'E') {

checke = 1; TOKEN[i]=ch; i++; ch=fgetc(fp);

if(ch == '+'){TOKEN[i]=ch; i++; ch=fgetc(fp); {

TOKEN[i]=ch; i++; ch=fgetc(fp); continue; } } else

{TOKEN[i]=ch;

6 e的指数 小数 i++; ch=fgetc(fp); {

TOKEN[i]=ch; i++; ch=fgetc(fp); continue; } }

*if (ch == '-')TOKEN[i]=ch; i++; ch=fgetc(fp); {

TOKEN[i]=ch; i++; ch=fgetc(fp); continue; }* }

TOKEN[i]=ch; i++; ch=fgetc(fp); }

TOKEN[i]= '\\0'; fseek(fp,-1,1); if(checkdot==1) {

out(UCON,TOKEN); }

else if (checke == 1)

7 {

out(UCON,TOKEN);二进制数 } else {

out(INT,TOKEN);整型 } }

else {

case '<': ch = fgetc(fp);

if (ch == '=')out(LE, \else if (ch == '>') out(NE, \else {

fseek(fp, -1, 1);TOKEN[i]=ch;

switch (ch) 输出

i++; ch=fgetc(fp);

} break;

out(LT, \

case '=': out(EQ, \

case ':': ch = fgetc(fp); if (ch == '=')out(IS, \ else {

fseek(fp,-1,1); report_error( ); }

8 break;

case '>': ch = fgetc(fp);

if (ch == '=')out(GE, \else { } break;

fseek(fp, -1, 1); out(GT, \

case '+':out(PL,\ case '-':out(MI,\

case '*':out(MU,\case '':out(DI,\

case '\\n': break; fseek(fp, -1, 1);report_enter(); break;

case '\\r' :out(ENT,\

}

ch=fgetc(fp);

case ' ': break; case '\\t': break;

default: report_error(); break;

t=fgetc(fp); }

char *KeyWordTable[MAX_KEY_NUMBER] = { \\关键字 int lookup(char *token) {

int n = 0;

9

fseek (fp,-1,1);

}

return;

while (strcmp(KeyWordTable[n], KEY_WORD_END)) *strcmp比较两串是

否相同,若相同返回0*

{

if (!strcmp(KeyWordTable[n], token)) *比较token所指向的关键字和保

留字表中哪个关键字相符*

{

return n + 1; *根据单词分类码表I,设置正确的关键字类别码,并

返回此类别码的值* }

void report_error(){ }

void out(int c, char* v){

char* cl = \switch (c) { case case case case case case

1: cl = \

2: cl = \3: cl = \

printf(\ }

return 0; *单词不是关键字,而是标识符*

} n++;

break;

4: cl = \

5: cl = \6: cl = \7: cl = \8: cl = \9: cl = \

10 case case case

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库河工大版编译原理实验报告(2)在线全文阅读。

河工大版编译原理实验报告(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/661502.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: