收藏 分享(赏)

编译原理词法分析.doc

上传人:精品资料 文档编号:10023048 上传时间:2019-09-29 格式:DOC 页数:8 大小:14.37KB
下载 相关 举报
编译原理词法分析.doc_第1页
第1页 / 共8页
编译原理词法分析.doc_第2页
第2页 / 共8页
编译原理词法分析.doc_第3页
第3页 / 共8页
编译原理词法分析.doc_第4页
第4页 / 共8页
编译原理词法分析.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

1、上机练习一:词法分析一个 PASCAL 语言子集(PL/0)词法分析器的设计与实现1 按照 P45 的算法思想 ,使用循环分支方法实现 PL/0 语言的词法分析器,该词法分析器能够读入使用 PL/0 语言书写的源程序,输出单词符号串及其属性到一中间文件中,具有一定的错误处理能力,给出词法错误提示。2.源代码#include#include#includeusing namespace std;#define MAX 1000string key15 = “begin“, “end“, “if“, “then“, “else“, “while“, “write“, “read“,“do“, “c

2、all“, “const“, “var“, “procedure“, “program“, “odd“ ;/保留字 int IsLetter(char c ) /判断字母 if (c = a) | (c = A) return 1;else return 0;int IsDigit(char c) /判断数字 if (c = 0)if(ch = =)cout =“) cout “ endl;else if(ch = =)cout “标识符为: n“ “=“ endl;else cout “标识符为: n“ “ endl;ch=file.get();break; case =:cout “标识符

3、为:n“ “=“ endl; ch=file.get();break;case:ch = file.get();if(ch = =)cout “界符为: “ “:=“endl; else cout “词法错误!(:后面没有=)“ endl;ch=file.get();break;case ;:cout “界符为: “ “;“ endl;ch=file.get();break;case ,:cout “界符为:“ “,“ endl;ch=file.get();break;case (:cout “界符为: “ “(“ endl;ch=file.get();break;case ):cout “界符为: “ “)“ endl;ch=file.get();break;printf(“%d“,l);return 0;

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报