实验一:词法分析一、实验目的通过设计一个具体的词法分析程序,加深对词法分析原理的理解。
并掌握在对程序设计语言源程序进行扫描过程中将其分解为各类单词的词法分析方法。
编制一个读单词过程,从输入的源程序中,识别出各个具有独立意义的单词,即基本保留字、标识符、常数、运算符、分隔符五大类。
并依次输出各个单词的内部编码及单词符号自身值。
二、实验预习提示1、 词法分析器的功能和输出格式词法分析器的功能是输入源程序,输出单词符号。
词法分析器的单词符号常常表示成以下的二元式(单词种别码,单词符号的属性值)。
本实验中,采用的是一类符号对应一个种别码的方式。
2、 单词的BNF表示---_----_----_-+---_--等等3、 模块结构(见课本P95-96)(可根据自己的理解适当修改)三、实验过程和指导:(一) 准备:1. 阅读课本有关章节,明确语言的语法,写出基本保留字、标识符、常数、运算符、分隔符和程序例。
2. 初步编制好程序。
3. 准备好多组测试数据。
(二) 上机:(三) 程序要求:1. 要求用C++Builder或者Dephi或者VC、VB等可视化编程工具编写;
要求有界面(即一般windows下应用程序界面)。
2. 输入为某语言源代码。
程序输入/输出示例:如源程序为C语言。
输入如下一段:main(){inta,b;a=10;b=a+20;}要求输出如下(并以文件形式输出)。
(2,”main”)(5,”(“)(5,”)“)(5,”{“}(1,”int”)(2,”a”)(5,”,”)(2,”b”)(5,”;”)(2,”a”)(4,”=”)(3,”10”)(5,”;”)(2,”b”)(4,”=”)(2,”a”)(4,”+”)(3,”20”)(5,”;”)(5,”}“)注:为右大括号要求(可根据实际情况加以扩充和修改):识别保留字:if、int、for、while、do、return、break、continue等等,单词种别码为1。
其他的标识符,单词种别码为2。
常数为无符号数,单词种别码为3。
运算符包括:+、-、*、/、=、>、=、<=、!=;
单词种别码为4。
分隔符包括:“,”“;
”“(”“)”“{”“}”等等,单词种别码为5。
(四) 程序思路(仅供参考):0. 定义部分:定义常量、变量、数据结构。
1. 初始化:从文件将源程序输入到字符缓冲区中。
2. 取单词前:去掉多余空白。
调用过程GETNB();3. 提取字符组成单词,利用课本P97图4.5转换图构造单词扫描过程SCAN(),需要根据实际情况加以修改。
4. 判断单词的种别码,调用过程LOOKUP();5. 显示(导出)结果。
2024/10/19 0:44:54 433KB 编译原理 词法分析实验
1
这是一篇完整的毕业设计论文且功能全部实现,并带有源程序。
该信号发生器主要由TMS320C5410和TLC320AD50C两大部分组成。
在DSP芯片上完成对波形的编程,通过多通道缓冲串口向TLC320AD50C(数模转换器)发送波形数据,通过TLC320AD50C的插值滤波等措施产生模拟波形输出。
该信号发生器的硬件设计中TMS3205410和TLC320AD50C的连接采用SPI协议,TLC320AD50C作为SPI主器件,提供帧同步和时钟信号,多通道缓冲串口作为SPI从器件。
该信号发生器的软件编程主要采用模块化的设计思想,把程序细化成易于实现的小模块。
编程的语言主要采用执行效率高的汇编语言,C和汇编语言混合使用的方式灵活的编写程序。
通过软硬件的联合调试最终实现了矩形波、三角波、锯齿波和正弦波等波形的产生,并成功的实现了其波形的幅度和频率的可调性。
1
关于java开发的云笔记系统的论文第一章引言41.1项目背景41.2同类系统研究与应用现状41.3研究的内容和主要工作41.3.1研究的内容51.3.2本人主要工作51.4论文结构5第二章业务逻辑概述和系统需求分析52.1业务逻辑概述52.2用例图62.3功能需求62.4性能需求6第三章功能分析73.1系统功能结构73.2数据库设计73.2.2数据库概述7第四章系统实现84.1登录模块84.1.1登录功能84.1.2注册功能94.1.3修改密码功能94.2笔记本模块94.2.1创建笔记本104.2.2删除笔记本104.3笔记模块114.3.1创建笔记114.3.2修改笔记114.3.3删除笔记12第五章系统测试125.1软件测试的定义125.2软件测试方法及具体步骤12第六章总结与展望146.1总结146.2进一步的工作14参考文献15致谢16
2024/10/18 16:32:26 661KB java 毕业设计 论文
1
基于Python3.7实现整图分割功能,调用sklearn模块的KMeans聚类算法。
包括源程序、测试图片和结果图片。
2024/10/18 13:28:21 393KB 整图分割 sklear 源程序 Python
1
平衡车资料,源码,各部分资料,各模块资料
2024/10/18 13:13:07 242.4MB stm32
1
混合密码系统:DES加密消息,RSA加密DES密钥。
本系统特点如下:1:提供了俩个加密接口。
混合加密,DES加密。
2:本系统的DES可以进行1次DES加密(标准DES加密)和3次DES加密。
它会根据密钥长度,自动选择加密方案。
另外它还能检验密钥的正确性。
3:本系统的RSA密钥长度最大可达600位16进制数(约合720位10进制数)。
加/解密时你可以从文件中导入密钥。
4:本系统可产生长度最大可达300位16进制(约合360位10进制数)的大素数,你可以导出素数,也可以从文件中导入素数,也可以产生一个指定长度的随机大素数。
5:本系统产生RSA密钥对的速度非常快,一般在3秒以内。
产生后,你可以将密钥对导出到文本文件。
6:本系统的混合加密模块也具有对RSA密钥检错的功能。
7:本系统可以保存用户设置的各种选项如:默认路径,是否使用3次DES加密等。
下次启动时,这些选项自动生效。
8:本系统提供了友好美观的界面。
它有5个背景图,每次启动时系统会随机选择其一。
2024/10/18 12:35:52 603KB 综合系统类
1
unity3D可视化选择文件,读取选择文件路径,文件大小,模块独立,便于移植。
2024/10/18 9:46:39 5KB 选择文件 Unity3D 路径
1
很多工业领域都必须进行温度数据采集,以获得现场数据,然后根据现场采集的数据进行分析,判断现场的状态。
本设计中的现场温度数据是利用热电偶和集成温度传感器AD590来检测和采集的,用单片机AT89C51作为核心微控制器,控制采集频率及处理温度数据,将测得的温度现场显示,以公共移动通信GSM网络进行数据收发、远程监测。
温度数据的处理包括滤波、标度变换、温度补偿、折线化等,这些都是用软件实现的,单片机控制GSM模块将温度数据以短信的形式发送出去,监测中心则通过GSM模块以短信的形式接收温度数据。
单片机AT89C51控制GSM模块主要是通过AT指令实现的。
2024/10/18 2:14:19 2.37MB GSM 温度
1
使用WinPcap抓取数据包并且保存抓取的数据包成pcap文件,该文件可以用Wireshark直接打开。
本源代码拆分数据包协议部分来源于网络,源代码允许大家自由拷贝和使用但请保留代码的完整性,且在自己源代码著名出处。
作者:吴梦龙版本:V1.0(仅仅是WinPcap最简单的应用,还有其他模块未完成)时间:2010年9月25日
2024/10/17 18:37:29 27KB WinPcap 抓包
1
永磁同步电机直接转矩控制-永磁同步电机直接转矩控制模型.rar永磁同步电机直接转矩控制模型.rar1.按照文件中的参考文献一步一个脚印搭建的永磁同步电机直接转矩控制模型,参数也经过本人一步一步调试过了,控制效果非常好,波形非常好。
2.参考文献也在文件中,良心之作。
模块也非常清晰,房子模块化非常分明,一个模块实现一个功能,非常适合你拿去做毕业设计,也非常适合新手学习。
3.采用dq轴的磁链模型,避免了积分器的使用,因此解决了磁链估算值中直流量的积分问题。

4.该模型绝对正确,可完美在上面构造无传感器仿真,基于卡尔曼的等等,以及预测控制仿真,占空比直接转矩等等都可以完美构建。
265KB matlab
1
共 1000 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡