当前位置:首页 » 编程软件 » 编译原理的论文

编译原理的论文

发布时间: 2022-02-16 03:49:15

❶ 论文:汇编语言的特点及应用领域

一方面,汇编语言指令是用一些具有相应含义的助忆符来表达的,所以,它要比机器语言容易掌握和运用,但另一方面,它要直接使用CPU的资源,相对高级程序设计语言来说,它又显得难掌握。

汇编语言程序归纳起来大概有以下几个主要特性。

1、与机器相关性

汇编语言指令是机器指令的一种符号表示,而不同类型的CPU有不同的机器指令系统,也就有不同的汇编语言,所以,汇编语言程序与机器有着密切的关系。

由于汇编语言程序与机器的相关性,所以,除了同系列、不同型号CPU之间的汇编语言程序有一定程度的可移植性之外,其它不同类型(如:小型机和微机等)CPU之间的汇编语言程序是无法移植的,也就是说,汇编语言程序的通用性和可移植性要比高级语言程序低。

2、执行的高效率

正因为汇编语言有“与机器相关性”的特性,程序员用汇编语言编写程序时,可充分发挥自己的聪明才智,对机器内部的各种资源进行合理的安排,让它们始终处于最佳的使用状态,这样做的最终效果就是:程序的执行代码短,执行速度快。

现在,高级语言的编译程序在进行寄存器分配和目标代码生成时,也都有一定程度的优化(在后续课程《编译原理》的有关章节会有详细介绍),但由于所使用的“优化策略”要适应各种不同的情况,所以,这些优化策略只能在宏观上,不可能在微观上、细节上进行优化。而用汇编语言编写程序几乎是程序员直接在写执行代码,程序员可以在程序的每个具体细节上进行优化,这也是汇编语言程序执行高效率的原因之一。

3、编写程序的复杂性

汇编语言是一种面向机器的语言,其汇编指令与机器指令基本上一一对应,所以,汇编指令也同机器指令一样具有功能单一、具体的特点。要想完成某件工作(如计算:A+B+C等),就必须安排CPU的每步工作(如:先计算A+B,再把C加到前者的结果上)。另外,在编写汇编语言程序时,还要考虑机器资源的限制、汇编指令的细节和限制等等。

由于汇编语言程序要安排运算的每一个细节,这就使得编写汇编语言程序比较繁琐、复杂。一个简单的计算公式或计算方法,也要用一系列汇编指令一步一步来实现。

4、调试的复杂性
在通常情况下,调试汇编语言程序要比调试高级语言程序困难,其主要原因有四:
汇编语言指令涉及到机器资源的细节,在调试过程中,要清楚每个资源的变化情况;
程序员在编写汇编语言程序时,为了提高资源的利用率,可以使用各种实现技巧,而这些技巧完全有可能破坏程序的可读性。这样,在调试过程中,除了要知道每条指令的执行功能,还要清楚它在整个解题过程中的作用;
高级语言程序几乎不显式地使用“转移语句”,但汇编语言程序要用到大量的、各类转移指令,这些跳转指令大大地增加了调试程序的难度。如果在汇编语言程序中也强调不使用“转移指令”,那么,汇编语言程序就会变成功能单调的顺序程序,这显然是不现实的;
调试工具落后,高级语言程序可以在源程序级进行符号跟踪,而汇编语言程序只能跟踪机器指令。不过,现在这方面也有所改善,CV(CodeView)、TD(Turbo Debug)等软件也可在源程序级进行符号跟踪了。

综上所说,汇编语言的特点明显,其诱人的优点直接导致其严重的缺点,其“与机器相关”和“执行的高效率”导致其可移植性差和调试难。所以,我们在选用汇编语言时要根据实际的应用环境,尽可能避免其缺点对整个应用系统的影响。

下面简单列举几个领域以示说明,但不要把它们绝对化。

1、适用的领域
要求执行效率高、反应快的领域,如:操作系统内核,工业控制,实时系统等;
系统性能的瓶颈,或频繁被使用子程序或程序段;
与硬件资源密切相关的软件开发,如:设备驱动程序等;
存储容量限制的应用领域,如:家用电器的计算机控制功能等;
没有适当的高级语言开发环境。

2、不宜使用的领域
大型软件的整体开发;
没有特殊要求的一般应用系统的开发等。

你写论文可以围绕这几个方面写,最好举几个例子,能和实践结合最好了

❷ 结合工作体检,谈谈你对编译原理的认识,以及其在整个计算机科学中的地位.

觉得编译原理对了解程序有好处,就拿正规表达式来说吧,正规表达式定义了一种正则文法,根据文法定义语言

❸ 编译原理中,确定有穷自动机的化简步骤是什么啊能不能再给个例子啊 给个具体一点的文章或网址也行啊

我有这样一道题的解题步骤,但是图片传不上来,需要的话可以留个邮箱给我。
已知 NFA= ( {x,y,z},{0,1},M,{x},{z} ),其中:
M(x,0)={z},M(y,0)={x,y},M(z,0)={x,z},M(x,1)={x}, M(y,1)= φ ,M(z,1)={y}, 构造相应的DFA并最小化。

❹ 编译原理的应用和发展

http://www.7880.com/Info/Article-3dead480.html

额。。。。查查你们学校图书馆的电子期刊吧

❺ 基于C/C++的C语言词法分析器的设计与实现 毕业论文题目

楼主。。其实这个很简单,这是我们编译原理课第二单元的大作业。。。 拿来做毕设难度不大,应该能自己完成吧

❻ 侯红的着作

近几年来,一直在从事软件过程理论与应用研究,长期深入软件企业第一线,在深入调查软件企业过程管理问题的基础上,做了较扎实系统的研究,2006年6月完成了博士论文《基于度量的软件过程管理方法与分析技术的研究》,取得了优秀的成绩。在软件过程管理及工具环境研究方面积累了较丰富的经验,已发表相关论文约20篇。于2007年出版《编译原理》一书,2009年出版教材——《软件度量与软件过程管理》。

❼ 编译原理的论文...b

sha 你想要什么

❽ 李忠伟的论文专着:

[1] Zhongwei Li. A Support Vector Machine Training Algorithm Based on Cascade Structure. Proceedings of First International Conference on Innovative Computing Information and Control. Beijing, China, 30 Aug. 2006.
[2] 李忠伟, 张健沛, 杨静. 基于支持向量机的增量学习算法研究. 哈尔滨工程大学学报. 2005, 26(5): 643-646页.
[3] Zhong-wei LI, Jian-pei ZHANG, Jing YANG. A Crossed Iterative Approach for Training SVM to Incremental Learning. Proceedings of International Symposium on Intelligent Computation and its Application. Wuhan, China, April 2005: 419-423P.
[4] 李忠伟, 张健沛, 张福顺. 基于支持向量机的虚拟企业伙伴选择方法研究. 计算机应用研究. 2004, 21(12): 43-44, 75页.
[5] Zhong-wei LI, Jian-pei ZHANG, Jing YANG. A Heuristic Algorithm to Incremental Support Vector Machine Learning. Proceedings of 2004 International Conference on Machine Learning and Cybernetics. Shanghai, China, August 2004: 1764-1767P.
[6] 李忠伟, 张健沛, 张福顺, 安辉. 基于SVM的虚拟企业伙伴决策系统的设计与实现. 计算机工程与应用. 2004, 40(19): 198-199, 229页.
讲授课程: 《计算机文化基础》、《编译原理》

❾ 编译原理 相关论文

擦!这是谁啊!肯定认识…………

❿ 求编译原理《符号表管理与优化》的相关论文或程序 用c实现

书上有别那么懒!。。。。
编译过程的六个阶段:词法分析,语法分析,语义分析,中间代码生成,代码优化,目标代码生成
解释程序:把某种语言的源程序转换成等价的另一种语言程序——目标语言程序,然后再执行目标程序。解释方式是接受某高级语言的一个语句输入,进行解释并控制计算机执行,马上得到这句的执行结果,然后再接受下一句。
编译程序:就是指这样一种程序,通过它能够将用高级语言编写的源程序转换成与之在逻辑上等价的低级语言形式的目标程序(机器语言程序或汇编语言程序)。
解释程序和编译程序的根本区别:是否生成目标代码
句子的二义性(这里的二义性是指语法结构上的。):文法G[S]的一个句子如果能找到两种不同的最左推导(或最右推导),或者存在两棵不同的语法树,则称这个句子是二义性的。
文法的二义性:一个文法如果包含二义性的句子,则这个文法是二义文法,否则是无二义文法。
LL(1)的含义:(LL(1)文法是无二义的; LL(1)文法不含左递归)
第1个L:从左到右扫描输入串 第2个L:生成的是最左推导
1 :向右看1个输入符号便可决定选择哪个产生式
某些非LL(1)文法到LL(1)文法的等价变换: 1. 提取公因子 2. 消除左递归
文法符号的属性:单词的含义,即与文法符号相关的一些信息。如,类型、值、存储地址等。
一个属性文法(attribute grammar)是一个三元组A=(G, V, F)
G:上下文无关文法。
V:属性的有穷集。每个属性与文法的一个终结符或非终结符相连。属性与变量一样,可以进行计算和传递。
F:关于属性的断言或谓词(一组属性的计算规则)的有穷集。断言或语义规则与一个产生式相联,只引用该产生式左端或右端的终结符或非终结符相联的属性。
综合属性:若产生式左部的单非终结符A的属性值由右部各非终结符的属性值决定,则A的属性称为综合属
继承属性:若产生式右部符号B的属性值是根据左部非终结符的属性值或者右部其它符号的属性值决定的,则B的属性为继承属性。
(1)非终结符既可有综合属性也可有继承属性,但文法开始符号没有继承属性。
(2) 终结符只有综合属性,没有继承属性,它们由词法程序提供。
在计算时: 综合属性沿属性语法树向上传递;继承属性沿属性语法树向下传递。
语法制导翻译:是指在语法分析过程中,完成附加在所使用的产生式上的语义规则描述的动作。
语法制导翻译实现:对单词符号串进行语法分析,构造语法分析树,然后根据需要构造属性依赖图,遍历语法树并在语法树的各结点处按语义规则进行计算。
中间代码(中间语言)
1、是复杂性介于源程序语言和机器语言的一种表示形式。
2、一般,快速编译程序直接生成目标代码。
3、为了使编译程序结构在逻辑上更为简单明确,常采用中间代码,这样可以将与机器相关的某些实现细节置于代码生成阶段仔细处理,并且可以在中间代码一级进行优化工作,使得代码优化比较容易实现。
何谓中间代码:源程序的一种内部表示,不依赖目标机的结构,易于代码的机械生成。
为何要转换成中间代码:(1)逻辑结构清楚;利于不同目标机上实现同一种语言。
(2)便于移植,便于修改,便于进行与机器无关的优化。
中间代码的几种形式:逆波兰记号 ,三元式和树形表示 ,四元式
符号表的一般形式:一张符号表的的组成包括两项,即名字栏和信息栏。
信息栏包含许多子栏和标志位,用来记录相应名字和种种不同属性,名字栏也称主栏。主栏的内容称为关键字(key word)。
符号表的功能:(1)收集符号属性 (2) 上下文语义的合法性检查的依据: 检查标识符属性在上下文中的一致性和合法性。(3)作为目标代码生成阶段地址分配的依据
符号的主要属性及作用:
1. 符号名 2. 符号的类型 (整型、实型、字符串型等))3. 符号的存储类别(公共、私有)
4. 符号的作用域及可视性 (全局、局部) 5. 符号变量的存储分配信息 (静态存储区、动态存储区)
存储分配方案策略:静态存储分配;动态存储分配:栈式、 堆式。
静态存储分配
1、基本策略
在编译时就安排好目标程序运行时的全部数据空间,并能确定每个数据项的单元地址。
2、适用的分配对象:子程序的目标代码段;全局数据目标(全局变量)
3、静态存储分配的要求:不允许递归调用,不含有可变数组。
FORTRAN程序是段结构,不允许递归,数据名大小、性质固定。 是典型的静态分配
动态存储分配
1、如果一个程序设计语言允许递归过程、可变数组或允许用户自由申请和释放空间,那么,就需要采用动态存储管理技术。
2、两种动态存储分配方式:栈式,堆式
栈式动态存储分配
分配策略:将整个程序的数据空间设计为一个栈。
在具有递归结构的语言程序中,每当调用一个过程时,它所需的数据空间就分配在栈顶,每当过程工作结束时就释放这部分空间。
过程所需的数据空间包括两部分
一部分是生存期在本过程这次活动中的数据对象。如局部变量、参数单元、临时变量等;
另一部分则是用以管理过程活动的记录信息(连接数据)。
活动记录(AR)
一个过程的一次执行所需要的信息使用一个连续的存储区来管理,这个区 (块)叫做一个活动记录。
构成
1、临时工作单元;2、局部变量;3、机器状态信息;4、存取链;
5、控制链;6、实参;7、返回地址
什么是代码优化
所谓优化,就是对代码进行等价变换,使得变换后的代码运行结果与变换前代码运行结果相同,而运行速度加快或占用存储空间减少。
优化原则:等价原则:经过优化后不应改变程序运行的结果。
有效原则:使优化后所产生的目标代码运行时间较短,占用的存储空间较小。
合算原则:以尽可能低的代价取得较好的优化效果。
常见的优化技术
(1) 删除多余运算(删除公共子表达式) (2) 代码外提 +删除归纳变量+ (3)强度削弱; (4)变换循环控制条件 (5)合并已知量与复写传播 (6)删除无用赋值
基本块定义
程序中只有一个入口和一个出口的一段顺序执行的语句序列,称为程序的一个基本块。

给我分数啊。。。

热点内容
pythonqt设计师 发布:2024-04-28 20:44:29 浏览:533
在线支付php 发布:2024-04-28 20:20:10 浏览:542
安卓车机开机动画一般什么格式 发布:2024-04-28 20:11:21 浏览:286
jnic调用java 发布:2024-04-28 20:09:24 浏览:279
mpc源码 发布:2024-04-28 20:08:27 浏览:427
windows7python 发布:2024-04-28 19:59:22 浏览:616
文件夹2寸 发布:2024-04-28 19:42:48 浏览:657
怎么用服务器的ip做内网穿透 发布:2024-04-28 19:28:52 浏览:926
常用的单向哈希算法有 发布:2024-04-28 19:16:04 浏览:117
牛贝微信淘客源码 发布:2024-04-28 19:09:16 浏览:34