一个能够分析三种整数、标识符、主要运算符和主要关键字的词法分析程序。 ㈠、基本要求: 标识符 <字母>(<字母>|<数字字符>)* 十进制整数 0 | (1|2|3|4|5|6|7|8|9)(0|1|2|3|4|5|6|7|8|9)* 八进制整数 0(1|2|3|4|5|6|7)(0|1|2|3|4|5|6|7)* 十六进制整数 0x(0|1|2|3|4|5|6|7|8|9|a|b|c|d|e|f)(0|1|2|3|4|5|6|7|8|9|a|b|c|d|e|f)* 运算符和分隔符 + - * / > < = ( ) ; 关键字 if then else while do ㈡、附加要求: 标识符 <字母>(<字母>|<数字字符>)*(ε|_|.)(<字母>|<数字字符>)* 十进制整数 (0|1|2|3|4|5|6|7|8|9)(0|1|2|3|4|5|6|7|8|9)*(ε|.)(0|1|2|3|4|5|6|7|8|9)(0|1|2|3|4|5|6|7|8|9)* 八进制整数 0(1|2|3|4|5|6|7)(0|1|2|3|4|5|6|7)* (ε|.)(0|1|2|3|4|5|6|7)(0|1|2|3|4|5|6|7)* 十六进制整数 0x(0|1|2|3|4|5|6|7|8|9|a|b|c|d|e|f)(0|1|2|3|4|5|6|7|8|9|a|b|c|d|e|f)* (ε|.) (0|1|2|3|4|5|6|7|8|9|a|b|c|d|e|f)(0|1|2|3|4|5|6|7|8|9|a|b|c|d|e|f)*
上传时间: 2016-03-03
上传用户:zhengjian
数据结构 1、算法思路: 先定义一个三元组,创建稀疏矩阵m和n。依次扫描A和B的行号和列号,若A的当前项的行号等于B的当前项的行号,则比较其列号,将较小列的项存入C中,如果列号也相等,则将对应的元素值相加后存入C中;若A的当前项的行号小于B的当前项的行号,则将A的项存入C中;若A的当前项的行号大于B的当前项的行号,则将B的项存入C中。
上传时间: 2016-03-05
上传用户:dyctj
数据结构 1、算法思路: 哈夫曼树算法:a)根据给定的n个权值{W1,W2… ,Wn }构成 n棵二叉树的集合F={T1,T2…,T n },其中每棵二叉树T中只有一个带权为W i的根结点,其左右子树均空;b)在F中选取两棵根结点的权值最小的树作为左右子树构造一棵新的二叉树,且置新的二叉树的根结点的权值为其左、右子树上结点的权值之和;c)F中删除这两棵树,同时将新得到的二叉树加入F中; d)重复b)和c),直到F只含一棵树为止。
上传时间: 2016-03-05
上传用户:lacsx
确定符号表的组织方式,一般应包括名字栏和信息栏,其中名字栏作为关键字。要考虑能够存储有关名字的信息,并可以高效地完成如下操作: a.查找:根据给定的名字,在符号表中查找其信息。如果该名字在符号表中不存在,则将其加入到符号表中,否则返回指向该名字的指针; b.删除:从符号表中删除给定名字的表项。
上传时间: 2016-03-06
上传用户:zhangyi99104144
主要用结构体数组实现,用结构体表示每项记录,数据为:编号、车牌号、车主姓名、性别、违章情况、违章时间、地点。 设计各个函数,分别实现以下功能: (1)录入:完成违章信息的输入; (2)删除:完成违章信息的删除; (3)修改:允许对已经录入的数据重新进行编辑、修改; (4)显示:显示所有违章的信息; (5)查询: a. 按车牌号查找违章记录,如果记录超过5次打印警告信息; b. 按车主姓名查找违章记录;
上传时间: 2016-03-07
上传用户:chongcongying
这是一个音乐程序,按大写字母“A”,唱乐曲“玛丽有只小羔羊”; 按大写字母“B”,唱乐曲“太湖船” 按大写字母“C”,唱乐曲“祝福歌” 按"X"鍵,退出
标签: 音乐程序
上传时间: 2014-03-04
上传用户:gououo
试验要求: 已知A,B和C为三个递增有序的线性表,现要求对A表作如下操作:删去那些既在B表中出现又在C表中出现的元素。 (1) 各线性表采用顺序存储结构; (2) 题中任一线性表中的元素值可以相同。 2.线性表中的元素为实数,线性表的长度元素由用户输入. 3.试验执行的命令包括:构造线性表LA,LB,LC.在LA中查找并删除既在B表中出现又在C表中出现的元素.输出删除后LA的结果.
标签:
上传时间: 2016-03-24
上传用户:xieguodong1234
同人类任何语言一样,Java为我们提供了一种表达思想的方式。如操作得当,同其他方式相比,随着问题变得愈大和愈复杂,这种表达方式的方便性和灵活性会显露无遗。 不可将Java简单想象成一系列特性的集合;如孤立地看,有些特性是没有任何意义的。只有在考虑“设计”、而非考虑简单的编码时,才可真正体会到Java的强大。为了按这种方式理解Java,首先必须掌握它与编程的一些基本概念。本书讨论了编程问题、它们为何会成为问题以及Java用以解决它们的方法。所以,我对每一章的解释都建立在如何用语言解决一种特定类型的问题基础上。按这种方式,我希望引导您一步一步地进入Java的世界,使其最终成为您最自然的一种语言。
标签: 语言
上传时间: 2016-03-27
上传用户:qiao8960
C程序设计语言于1978年出了第一版,此后,计算机世界经历了一场革命,C语言也有了合理的变化。1988年美国国家标准学会就C语言的主义制订出了ANSI C标准。本书第二版就是按这个标准来描述C语言的。全书八章,分别分:1.指导性绪论;2.数据类型、运算符与表达式;3.控制流;4.函数与结构;5.指针与数组;6.结构;7.输入输出;8.UNIX系统界面。书后附录为:A.参考手册;B.标准库;C.语言
上传时间: 2014-01-10
上传用户:tuilp1a
在了解实时嵌入式操作系统内存管理机制的特点以及实时处理对内存管理需求的基础上,练习并掌握有效处理内存碎片的内存管理机制,同时理解防止内存泄漏问题的良好设计方法。使用预先规划的思想,构建自己的私有内存管理机制,在系统内存池中申请内存,并将其纳入私有内存管理机制中,形成静态预分配内存池; 静态预分配内存池支持一种以上固定长度内存池,如16 字节内存池和256 字节内存池。固定长度内存池的单块长度应考虑体系结构开销,并尽量减少内部碎片;固定长度内存池数量应可配置; 静态预分配内存池与系统内存池的统一管理机制。向用户分配内存时应保证长度最佳匹配原则。当申请内存的长度超过静态预分配长度或资源不足时,自动向系统内存池申请; 管理机制包括: a) 初 始化函数; b) 内 存申请/释放函数。并特别要保证释放安全; c) 告 警机制; d) 管 理监视机制。 5. 利用可能的互斥机制或代码可重入设计,保证以上管理机制的操作安全性; 6. 创建多Task 环境测试及演示以上内容
上传时间: 2016-04-12
上传用户:lizhen9880