收藏 分享(赏)

编译原理---实验题目.doc

上传人:fmgc7290 文档编号:6830145 上传时间:2019-04-23 格式:DOC 页数:8 大小:118KB
下载 相关 举报
编译原理---实验题目.doc_第1页
第1页 / 共8页
编译原理---实验题目.doc_第2页
第2页 / 共8页
编译原理---实验题目.doc_第3页
第3页 / 共8页
编译原理---实验题目.doc_第4页
第4页 / 共8页
编译原理---实验题目.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

1、编译原理上机实验试题一、实验目的通过本实验使学生进一步熟悉和掌握程序设计语言的词法分析程序的设计原理及相关的设计技术,如何针对确定的有限状态自动机进行编程序;熟悉和掌握程序设计语言的语法分析程序的设计原理、熟悉和掌握算符优先分析方法。二、实验要求本实验要求:要求能熟练使用 C+程序设计语言编程;在上机之前要有详细的设计报告(预习报告) ;要编写出完成相应任务的程序并在计算机上准确地运行;实验结束后要写出上机实验报告。三、实验题目针对下面文法 G(S):S v = EEE+E E-EE*EE/E(E) v i其中,v 为标识符,i 为整型或实型数。要求完成 使用自动机技术实现一个词法分析程序;

2、使用算符优先分析方法实现其语法分析程序; 在语法分析过程中同时完成常量表达式的计算。#include #includeusing namespace std;FILE*fileP;char a100;void Ee();void T();void Tt();void F();void E();int i=0;int j=0;int flag=0;boolis letter(char c)if(c=Aelse return false;void read()if(fgetc(fileP)=#)char c=fgetc(fileP);while (c!=#) aj+=c;fgetc(fileP);

3、void E()T();Ee();void Ee()if(a=+)i+;T();Ee();void T()F();Tt();void Tt()if(a=*)i+;F();Tt();void F()char c=a;if(isLetter(c)while (isDigit(c)|isLetter(c)i+;c=a;else if (isDigit(C)while (isDigit(c)i+;c=a;else if(c=()i+;F();if(a=)else flag=1;else flag=1;void main()if(fileP=fopen(“test.txt“,“r“)=NULL)cout“请创建 test.txt 资源文件“endl;elseread ();cout“-text 文件词法分析结果如下-“endl;E();if (flag=0)cout“success“endl;else cout“fail“endl;cout“-“endl;if (fileP=fopen(“text.txt“,“r“)=NULL)cout“请创建 test2.txt资源文件endl;

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

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

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


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

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

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