浙江理工大学编译原理实验一 - 范文中心

浙江理工大学编译原理实验一

12/23

2015-2016学年第一学期《编译原理》实验一 实验报告

13计科3 夏以彬 [1**********]3

一、实验目的

1、构造一个《科学计算器》的词法分析程序,程序要求能对输入的字符串流进行词法分析。

2、在实验的过程中,学会应用词法分析的方法——构造NFA和DFA。

二、token的正规式描述

数字:(0|1|2...|8|9)*.( 0|1|2...|8|9)*

分隔符:(=|^|!|%|+|-|*|/|(|))

字符串:(a|b|…|y|z)+

因为在实现中,特殊字符串是先取的普通字符串的token,然后与存储的特殊字符表比对,因此这里只给出普通字符串的token。

三、有限状态机状态图

四、词法分析器的数据结构与算法

主要数据结构包括:

主要的算法:根据有限状态机状态图构造类如下二维表格

然后根据表格构造各个事件的处理方法,以及各个动作的处理方法。当然,也需要添加一个辅助方法,以根据输入判断触发的是哪个事件。

源代码:

#include

#include

using namespace std;

int main(){

stringst,st_num="";

charch[100];

doubleresult,point;

cout

cin>>st;

strncpy(ch,st.c_str(),st.length());

//cout

for(int i=0;i

if(ch[i]=='+'){

cout

cout

//point=atof(st_num);

//result=result+point;

st_num="";

}

else if(ch[i]=='-'){

cout

cout

st_num="";

}

else if(ch[i]=='*'){

cout

cout

st_num="";

} else if(ch[i]=='/'){ cout

cout

st_num="";

}

}

else{

st_num=st_num+ch[i];

}

}

}

五、token的输出

输入1.0+2*3=

输出

输入1.0+(2*3+cos3)/3.6-6=

输出

输入tan(1.0+(sin2*3+cos3)/3.6-6)=

输出

输入4.0log(1.0+(sin2*3+cos3)/3.6-6)=

输出

六、思考题:

程序设计中哪些环节影响词法分析的效率?如何提高效率?

对于特殊字符的词法分析,采用了先接收再对比识别,略影响了分析效率。如果可以在完全接受之前就做出判断,则可提高效率。


相关内容

  • 交通灯课程设计内容
    硬件大型实验周设计说明书11.1引言设计背景 自从 1886 两个德国人发明了第一辆汽车交通灯改变了交通路况,交通问题也渐渐被人们所重视.从英国伦敦街头的第一个以燃煤气为光源的红,蓝两色的机械 扳手式信号灯,到现在以电为光源的红黄绿三色交通 ...
  • 专业课考试科目
    北京工业大学 421自动控制原理 复试:1.电子技术2.计算机原理 北京航空航天大学 [双控]432控制理论综合或433控制工程综合 [检测]433控制工程综合或436检测技术综合 [系统]431自动控制原理或451材料力学或841概率与数 ...
  • 电气工程及自动化专业考研学校科目
    电气工程及自动化专业考研学校科目 2008年03月21日 星期五 20:29 北京工业大学 421自动控制原理 复试:1.电子技术 2.计算机原理 北京航空航天大学 [双控] 432控制理论综合或433控制工程综合 [检测] 433控制工程 ...
  • EDA实验七人表决器的操作步骤
    写出了综合设计的第一个实验的详细步骤,主要是介绍用QuartusII 软件设计由多个模块构成的数字系统的主要步骤,及注意事项.希望对前几个实验未能完全掌握的同学有所帮助. 3.3.2实验内容 基于QuartusII 软件及VHDL 语言实现 ...
  • 微处理器与应用实验报告
    微处理器原理与应用实验日志 微处理器原理与应用实验日志一 指导教师 实验时间: 学院 专业 班级 学号 姓名 实验室 实验题目: 熟悉并使用传送类指令 实验目的: 1. 熟悉并掌握Keil C51 的基本用法: 2. 掌握MCS-51 传送 ...
  • 加法器实验报告
    实验三 加法器的设计与仿真 一.实验目的 熟悉quartus ⅱ仿真软件的基本操作,用逻辑图和vhdl 语言设计加法器并验证. 二.实验内容 1.熟悉quartus ⅱ软件的基本操作,了解各种设计输入方法(原理图设计.文本设计. 波形设计) ...
  • 中学生阅读行动指南
    中学生阅读行动指南•初中篇 一.文学 本领域图书注重扩展学生的阅读视野,众多大家耳熟能详的作品不再收入,且每位作家一般只收录一部代表性作品.在切实吸引学生阅读整本书的前提下,促使学生对社会与人生进行全面的观察.细腻的体味.深入的思考,并在丰 ...
  • 当代教师必读教育专著
    当代教师必读教育专著100部 基 础 篇(30部) 1, <论语译注>, 杨伯峻译注, 中华书局1980年版 2, <学记评注>, 高时良编撰, 人民教育出版社1983年版 3, <陶行知教育名篇>, 方 ...
  • 一群人一辈子一件事
    一群人 一辈子 一件事 --记奋战在马克思主义中国化第一线的中共中央编译局优秀翻译家群体 < 光明日报 >( 2011年06月26日   01 版) 编者按 回首中国共产党领导中华民族走向伟大复兴的90年奋斗征程,我们不能忘记马 ...
  • 软件文档写作宿舍管理系统
    辽 宁 工 业 大 学 实训报告 题目: 宿舍管理系统软件文档 院(系): 软件学院 专业班级: 电子商务112班 学 号: 111401049 学生姓名: 傅 瑶 指导教师: 闫海龙 教师职称: 助 教 起止时间: 2013.12.03- ...