FireXOS的设计与实现,主要介绍FireXOS系统的任务调度程序,图形设置的实现方法与原理!
上传时间: 2015-03-18
上传用户:fnhhs
一、 实验内容 S语言的编译程序的词法分析部分实现 从左到右扫描每行S语言源程序的符号,拼成单词,换成内部表示(token) 二、 实验要求 要求实现编译器的以下功能: 组织源程序的输入 按规则拼写单词,并转换成二元形式 删除空格及无用符号(如回车符,字符常数的引号符等) 发现并定位错误 建立单词表、符号表、常数表等文件 三、 实现方法 数据结构 1、 输入 S语言源程序,为文本文件 2、 输出 词法分析程序的运行结果是:产生一个单词序列文件(token文件)和一个常数表、一个符号表文件,并输出错误信息。 (1) token文件结构 token文件用于存放从S语言源程序中扫描出来的一个个单词符号的机内表示,其文件结构如下: typedef struct token { nt label char name[30] int code int addr }token 说明: label:单词序号; name[30]:单词本身; code:单词的编辑; addr:地址,单词本身保留字时值为-1,为标识符成常数时为大于0常数,即该标识符成常数在符号表中的入口地址。
上传时间: 2015-04-29
上传用户:refent
一种OFDM的系统实现,这是一个较新的实现方法。请各位高手指点!
标签: OFDM
上传时间: 2013-12-10
上传用户:顶得柱
---- Huffman 算法的不同实现 本目录下的程序用8种不同的方式实现了Huffman编码算法,这8种方式分别是 * huffman_a 使用链表结构生成Huffman树的算法,这是最基本的实现方法,效率最低。 * huffman_b 使用《数据结构》(严蔚敏,吴伟民,1997,C语言版)中给出的算法,将二叉树存放在连续空间里(静态链表),空间的每个结点内仍有左子树、右子树、双亲等指针。 * huffman_c 使用Canonical Huffman编码,同时对huffman_b的存储结构进行改造,将二叉树存放在连续空间tree里,空间的每个结点类型都和结点权值的数据类型相同,空间大小为2*num,tree[0]未用,tree[1..num]是每个元素的权值,生成Huffman后,tree[1..2*num-1]中是双亲结点索引。 * huffman_d 在huffman_c的基础上,增加预先排序的功能先用QuickSort算法对所有元素的权值从小到大排序,这样,排序后最前面的两个元素就是最小的一对元素了。我们可以直接将它们挑出来,组合成一个子树。然后再子树的权值用折半插入法插到已排序的元素表中, 保证所有结点有序。为了保证初始元素的顺序不变,我们另外使用了一个索引数组,所有排序中的交换操作都是在索引数组中进行的
上传时间: 2015-06-12
上传用户:xg262122
设计模式——访问者模式 Visitor模式允许我们在不改动原有结构的基础之上不断增加新的功能。 ICumulation接口定义了方法Cumulate(),旨在计算1+2+……+n,有两种不同的实现方法,一个是一般的叠加算法GeneralArithmetic,一个是高斯算法GaoSiArithmetic。 因为某种原因,系统需要添加求平均值的功能,还有计算1到n的平方和。 按照一般的思路,我们需要在ICumulation中定义两个方法分别计算平均值和平方和,并在实现类中同时添加相应的方法。在搭建了visitor模式的架构以后,添加功能的代码被移植到ICumulationVisitor中,添加的两种功能也分别被以子类AverageVisitor和PowerVisitor实现。 功能的扩展从在类中添加方法的方式变成了添加新类的方式,该类继承一定的Visitor接口。这是一个90度的转换,使得架构符合开放封闭(OCP)原则:功能的扩展无需改动原有代码。 同时,这里也体现了单一职责原则(SRP),ICumulation层次结构可以因为出现了不同的算法而改变,但是不应该因为需要计算不同的东西(功能)而改变,算法和功能是横向和纵向的关系。这里visitor模式隔离了算法和功能,ICumulation层次结构负责算法,ICumulationVisitor层次结构负责功能。
标签: ICumulation Cumulate Visitor 模式
上传时间: 2015-06-12
上传用户:上善若水
通过讨论常见的串口软件使用的方法,提出基于一种称之为双缓冲队列的串口缓冲区管理策略的串口软件模块的实现方法和其中要注意的问题。
上传时间: 2015-06-15
上传用户:xuan‘nian
用C实现的银行家算法,虽然和我上次上传得实现的功能是一样的,但实现方法是完全不同的,相信对不同的人因该有不同的应用
上传时间: 2014-01-05
上传用户:busterman
计算方法中的三弯矩方法,用matlab编写,其中包括几种不同的实现方法。
标签: 计算方法
上传时间: 2015-06-23
上传用户:zgu489
此源码利用单片机实现以太网接口,实现方法简单,实用。
上传时间: 2013-12-16
上传用户:kr770906
为了实现的编译程序实用,源程序可采用自由书写格式,即一行内可以书写多个语句,一个语句也可以占领多行书写;标识符的前20个字符有效;整数用2个字节表示;长整数用4个字节表示。这样词法分析程序的主要工作为: (1)从源程序文件中读入字符。 (2)统计行数和列数用于错误单词的定位。 (3)删除空格类字符,包括回车、制表符空格。 (4)按拼写单词,并用(种别,单词)二元式表示。 (5)根据需要是否填写标识符表供以后各阶段使用。 这里采用的编译程序的实现方法是一遍扫描,即从左到右只扫描一次源程序,也就是词法分析作为语法分析的一个子程序。故在编写词法分析程序时,用重复调用词法分析子程序取一单词的方法得到整个源程序的二元式流。
上传时间: 2014-12-22
上传用户:邶刖