词法分析器制作与应用 设计思想 (1)程序主体结构部分: 说明部分 %% 规则部分 %% 辅助程序部分 (2)主体结构的说明 在这里说明部分告诉我们使用的LETTER,DIGIT, IDENT(标识符,通常定义为字母开头的字母数字串)和STR(字符串常量,通常定义为双引号括起来的一串字符)是什么意思.这部分也可以包含一些初始化代码.例如用#include来使用标准的头文件和前向说明(forward ,references).这些代码应该再标记"%{"和"%}"之间 规则部分> 可以包括任何你想用来分析的代码 我们这里包括了忽略所有注释中字符的功能,传送ID名称和字符串常量内容到主调函数和main函数的功能. (3)实现原理 程序中先判断这个句语句中每个单元为关键字、常数、运算符、界符,对与不同的单词符号给出不同编码形式的编码,用以区分之。 PL/0语言的EBNF表示 <常量定义>::=<标识符>=<无符号整数> <标识符>::=<字母>={<字母>|<数字>} <加法运算符>::=+|- <乘法运算符>::=*|/ <关系运算符>::==|#|<|<=|>|>= <字母>::=a|b|…|X|Y|Z <数字>::=0|1|2|…|8|9
上传时间: 2015-11-04
上传用户:zhengzg
交通信号灯的控制: 1. 通过8255A并口来控制LED发光二极管的亮灭。 2. A口控制红灯,B口控制黄灯,C口控制绿灯。 3. 输出为0则亮,输出为1则灭。 4. 用8253定时来控制变换时间 。 要求:设有一个十字路口,1、3为南,北方向,2、4为东西方向,初始态为4个路口的红灯全亮。之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车。延迟30秒后,1、3路口的绿灯熄灭,而1,3路口的黄灯开始闪烁(1HZ)。闪烁5次后,1、3路口的红灯亮,同时2、4路口的绿灯亮,2、4路口方向开始通车。延迟30秒时间后,2、4路口的绿灯熄灭,而黄灯开始闪烁。闪烁5次后,再切换到1、3路口方向。之后,重复上述过程。
上传时间: 2014-01-03
上传用户:zhouli
LCD-7279的经过调试多次已经能够实现在指定的位置显示特定的数据。 程序lcd1.c实现基本的功能,即:键盘输入0、1、2、3、4、5、6、7、8、9、a\b\c\d\e\f 在液晶的指定位置显示实现满屏或半屏显示点阵和字符,调入一幅图画的代码进行显示;
上传时间: 2014-01-14
上传用户:hgy9473
1、 :编写并调试一个模拟的进程调度程序,采用“最高优先数优先”调度算法对进程进行调度。 “最高优先数优先调度算法的基本思想是把CPU分配给就绪队列中优先数最高的进程。尝试静态优先数与动态优先数两种方法: a) 静态优先数是指优先数在整个进程运行期间不再改变。优先数可以在数据输入时指定,也可以根据到达顺序、运行时间确定。 b) 动态优先数是指进程的优先数在创建进程时可以给定一个初始值,并且可以按一定原则修改优先数。例如进程获得一次CPU后就将其优先数减少1。或者进程等待的时间超过某一时限时增加其优先数的值。 2、 编写并调试一个模拟的进程调度程序,模拟实现多级反馈队列调度算法。 3、 编写并调试一个模拟的进程调度程序,模拟实现最低松弛度优先算法。 4、 程序与报告要求: a) 对上述要求1、2、3,至少要完成一项,鼓励尝试多种算法。 b) 输出结果要尽量详细清晰,能够反映调度后队列变化,PCB内部变化。 c) 可以选择在Windows或Linux环境下编写、运行程序 d) 鼓励使用不同的开发工具在不同平台环境上进行开发比较。 e) 在实验报告中,一方面可以对实验结果进行分析,一方面可以对各种算法进行比较,分析它们的优劣,说明各种算法适用于哪些情况下的调度。
上传时间: 2015-11-13
上传用户:zq70996813
一 . 需求分析: 1) 输入形式和输入值范围: 输入形式是要压缩(或者要解压)的文件路径,输入范围是字符串,而且要是文件的路径。 2) 输出形式: 输出相应的编码压缩文件和解码原文件 3) 程序所能达到的功能: 利用哈夫曼对ASCII文件做不等长编码,达到压缩文件。利用哈夫曼树的遍历,达到解压文件的目的。程序的功能也就是实现压缩和解压ASCII类型文件的目的。 4)测试数据:(包括正确的输入数据及其输出结果和含有错误输入及其输出结果) 测试输入或者输出文本框是不是有空的,是不是不是有效路径。进行条件判断,实现错误处理。 比如要压缩:c:\a.txt 文件路径就是:c:\a.txt。如果输入框是空的,就判断,然后用MessageBox处理信息。 如果文件路径和文件的输出路径都写正确的话,就会输出相应的压缩或者解压文件,否则用函数MessageBox提示错误。然后进行更正。 二 . 概要设计: 1) 哈夫曼树的特点 a) 是二叉树的一种,而且是一种没有度数是1的二叉树 b) 一棵树有n个叶子,就会用2n-1个节点 c) 一种“最优”二叉树,由于树的带权路径(WPL)最小 d) 由于它是由下到上顺序构造的,使得分支节点和叶子节点从下到上,权值都是从小到大的顺序排列的
上传时间: 2013-12-03
上传用户:zsjzc
一 . 需求分析: 1) 输入形式和输入值范围: 输入形式是某集体的“人名”,输入的是人名的拼音,而且字符长度不超过19。 2) 输出形式: 输出相应的“人名”哈希表,并实现查找的功能,且平均查找长度不超R. 3) 程序所能达到的功能: 利用哈希函数对“人名”拼音做编码,建立哈希表。并实现查找的功能,且平均查找长度不超R。 4)测试数据:(包括正确的输入数据及其输出结果和含有错误输入及其输出结果) 测试输入是不是有效的。进行条件判断,实现错误处理。 如果输入是正确的话,就会按程序的5个功能一步步建立起哈希表、查看哈希表、哈希表的查找。否则用函数MessageBox提示错误。然后进行更正。 二 . 概要设计: 1) 哈希表的特点 a) 据哈希函数和处理冲突的方法将一组关键字映像到一个有限的区间上 b) 以关键字在地址集中的“像”作为记录在表中的存储位置 c) 不经过任何比较,一次存取便能得到所查记录
上传时间: 2014-01-08
上传用户:498732662
低电压检测. A口低8位接键盘列线,键盘行线接VDDIO;B口高8位接LED // 按K1键 低电压为2.4v // 按K2键 低电压2.8v // 按K3键 低电压3.2v // 按K4键 低电压为3.6v
上传时间: 2015-11-24
上传用户:xzt
单片机RS232/RS485串行发送实验(双机通讯)。 实验步骤: (1),准备两台598K实验机,确定1号机为发送,2号机为接收; (2),当作RS232接口实验时,1号机和2号机的P3.0和P3.1交叉相连,且两机共地; (3),当作RS485接口实验时,1号机和2号机的A、B作对应连接,同时1,2号机的R/TEN接P1.0, P3.0接R0, P3.1接DI。 (4),先运行2号机,键入[27]-->[EV]使2号机处于接收状态P。,后运行1号机[26]-->[EV]使1号机处于发送状态,P。会闪烁,在1号机键盘上按动数字键,在2号机的数码管上应显示对应的数字键值。
上传时间: 2015-11-27
上传用户:thinode
图论中最小生成树Kruskal算法 及画图程序 M-函数 格式 [Wt,Pp]=mintreek(n,W):n为图顶点数,W为图的带权邻接矩阵,不构成边的两顶点之间的权用inf表示。显示最小生成树的边及顶点, Wt为最小生成树的权,Pp(:,1:2)为最小生成树边的两顶点,Pp(:,3)为最小生成树的边权,Pp(:,4)为最小生成树边的序号 附图,红色连线为最小生成树的图 例如 n=6 w=inf*ones(6) w(1,[2,3,4])=[6,1,5] w(2,[3,5])=[5,3] w(3,[4,5,6])=[5,6,4] w(4,6)=2 w(5,6)=6 [a,b]=mintreek(n,w)
上传时间: 2015-11-30
上传用户:dreamboy36
“网络基本输入/输出系统”(Network Basic Input/Output System, NetBIOS)是一种标准的应用程序编程接口( A P I),1 9 8 3年由S y t e k公司专为I B M开发成功)
标签: Network NetBIOS Output System
上传时间: 2015-12-09
上传用户:wanghui2438