当前位置:文档之家› 凝固理论

凝固理论

凝固理论
凝固理论

编译原理概念_名词解释

编译过程的六个阶段:词法分析,语法分析,语义分析,中间代码生成,代码优化,目标代码生成 解释程序:把某种语言的源程序转换成等价的另一种语言程序——目标语言程序,然后再执行目标程序。 解释方式是接受某高级语言的一个语句输入,进行解释并控制计算机执行,马上得到这句的执 行结果,然后再接受下一句。 编译程序:就是指这样一种程序,通过它能够将用高级语言编写的源程序转换成与之在逻辑上等价的低级语言形式的目标程序(机器语言程序或汇编语言程序)。 解释程序和编译程序的根本区别:是否生成目标代码 句子的二义性(这里的二义性是指语法结构上的。):文法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、简答题(或者名词解释) 下面涉及到的概念中,加下划线的都是在以往一些试卷中出现的原题,务必掌握。 注:这类题目老师说答案不会超过一百个字,否则写的再多也不给分,有些点到即可,不要重复啰嗦。(1)简述编译程序的概念及其构成 答:1)编译程序:它特指把某种高级程序设计语言翻译成等价的低级程序设计语言的翻译程序。 2)构成: (2)简述词法分析阶段的主要任务(也有可能问语法分析阶段主要任务)答:词法分析的任务是输入源程序,对源程序进行扫描,识别其中的单词符号,把字符串形式的源程序转换成单词符号形式的源程序。 语法分析的主要任务是对输入的单词符号进行语法分析(根据语法规则进行推导或者归约),识别各类语法单位,判断输入是不是语法上正确的程序 (3) 简述编译程序的构造过程(这个大家看看,是对(1)和(2)的综合) 答:1)构造词法分析器:用于输入源程序进行词法分析,输出单词符号; 2)构造语法分析器:对输入的单词符号进行语法分析,识别各类语法单位,判断输入是不是语法上正确的程序 3)构造语义分析和中间代码产生器:按照语义规则对已归约出的语法单位进行语义分析并把它们翻译成中间代码。 4)构造优化器:对中间代码进行优化。 5) 构造目标代码生成器:把中间的代码翻译成目标程序。 6) 构造表格管理程序:登记源程序的各类信息和编译各阶段的进展情况。 7)构造错误处理程序:对出错进行处理。 (4) 说明编译和解释的区别: 1)编译要程序产生目标程序,解释程序是边解释边执行,不产生目标程序; 2)编译程序运行效率高而解释程序便于人机对话。 (5)文法:描述语言语法结构的形式规则,一般用一个四元式表示: G=(V T,V N,S,P),其中V T:终结符集合(非空) V N:非终结符集合(非空),且V T ?V N=? S:文法的开始符号,S?V N P:产生式集合(有限)。

定向凝固技术的研究进展

定向凝固技术的研究进展 材料的使用性能是由其组织形态来决定的。因此.包括成分调整在内,人们通过控制材料的制备过程以获得理想的组织从而使材料具有所希望的使用性能,控制凝固过程已成为提高传统材料的性能和开发新材料的重要途径。定向凝固技术由于能得到一些具有特殊取向的组织和优异性能的材料,因而自它诞生以来得到了迅速的发展[1] ,目前已广泛地应用于半导体材料、磁性材料以及自身复合材料的生产[2-3] 。同时,由于定向凝固技术的出现,也为凝固理论的研究和发展提供了实验基础(由于理论处理过程的简单化),因为在定向凝固过程中温度梯度和凝固速率这两个重要的凝固参数能够独立变化,从而可以分别研究它们对凝固过程的影响。此外,定向凝固组织非常规则,便于准确测量其形态和尺度特征。 本文评述了定向凝固技术的发展过程及其在材料的研究和制备过程中的应用,指出了传统定向凝固技术存在的问题和不足,并介绍了在此基础上新近发展起采的新型定向凝固技术及其应用前景。 1 传统的定向凝固技术 1.1 炉外结晶法(发热铸型法) [4] 所谓的炉外结晶法就是将熔化好的金属液浇入一侧壁绝热,底部冷却,顶部覆盖发热剂的铸型中,在金属液和已凝固金属中建立起一个自上而下的温度梯度,使铸件自上而下进行凝固,实现单向凝固。这种方法由于所能获得的温度梯度不大,并且很难控制,致使凝固组织粗大,铸件性能差,因此,该法不适于大型、优质铸件的生产。但其工艺简单、成本低,可用于制造小批量零件。 1.2 炉内结晶法 炉内结晶法指凝固是在保温炉内完成,具体工艺方法有:

1.2.1 功率降低法(PD法) [5] 将保温炉的加热器分成几组,保温炉是分段加热的。当熔融的金属液置于保温炉内后,在从底部对铸件冷却的同时,自下而上顺序关闭加热器,金属则自下而上逐渐凝固,从而在铸件中实现定向凝固。通过选择合适的加热器件,可以获得较大的冷却速度,但是在凝固过程中温度梯度是逐渐减小的,致使所能允许获得的柱状晶区较短,且组织也不够理想。加之设备相对复杂,且能耗大,限制了该方法的应用。 1.2.2 快速凝固法(HRS) [6] 为了改善功率降低法在加热器关闭后,冷却速度慢的缺点,在Bridgman晶体生长技术的基础上发展成了一种新的定向凝固技术,即快速凝固法。该方法的特点是铸件以一定的速度从炉中移出或炉子移离铸件,采用空冷的方式,而且炉子保持加热状态。这种方法由于避免了炉膛的影响,且利用空气冷却,因而获得了较高的温度梯度和冷却速度,所获得的柱状晶间距较长,组织细密挺直,且较均匀,使铸件的性能得以提高,在生产中有一定的应用。 1.2.3 液态金属冷却法(LMC法) [7] HRS法是由辐射换热来冷却的,所能获得的温度梯度和冷却速度都很有限。为了获得更高的温度梯度和生长速度。在HRS法的基础上,将抽拉出的铸件部分浸入具有高导热系数的高沸点、低熔点、热容量大的液态金属中,形成了一种新的定向凝固技术,即LMC法。这种方法提高了铸件的冷却速度和固液界面的温度梯度,而且在较大的生长速度范围内可使界面前沿的温度梯度保持稳定,结晶在相对稳态下进行,能得到比较长的单向柱晶。 常用的液态金属有Ga—In合金和Ga—In—Sn合金,以及Sn液,前二者熔点低,但价格昂贵,因此只适于在实验室条件下使用。Sn液熔点稍高(232℃),但由于价格相对比较便宜,冷却效果也比较好,因而适于工业应用。该法已被美国、前苏联等国用于航空发动机叶片的生产[8] 。

编译原理知识点

1.解释程序:不生成目标代码 编译程序:生成目标代码 2.编译程序组成:8个 分析< 前端>:(词法分析程序、语法分析程序、语义分析程序、中间代码生成程序) 综合< 后端>:(代码优化程序、目标代码生成程序) 贯穿始末:表格管理程序、出错处理程序 3.文法四元组: 终结符号集合Vt 、非终结符号集合Vn、产生式集合P、识别符号(开始符号)S V T∩V N=Φ 文法-> 语言(推导、规约)唯一;语言-> 文法(凑规则)不唯一。 4.文法分类: 0型文法(短语结构文法):左侧至少含有一个非终结符 1型文法(上下文有关文法):左侧长度<= 右侧长度S->ε除外,S不能出现在右侧2型文法(上下文无关文法):左侧只能有一个非终结符( 语法分析) 3型文法(正规文法):A-> aB A->a 右线性;( 词法分析) A->Ba 或A->a 左线性(看非终结符位置) 5.A*=A0 ∪A+ A0 ={ε} !={ } =Φ空集 A+ =AA* =A*A 6.句型:符号串x是从识别符号S推导出来的,x称为一个句型 句子:x仅由终结符号组成,仅含终结符号的句型是一个句子 短语:子树的末端(叶子)从左至右连成的串(包括整棵语法树) 简单子树:只含有单层分枝的子树 直接短语( 简单短语):由简单子树的叶子组成 句柄:最左边的直接短语(不一定含终结符) 素短语:至少含有一个终结符的短语,并且除它自身之外不再含任何更小的素短语最左素短语:最左边的素短语 短语:P(相对于T、E)、P+T(相对于E)、i(相对于P、F)、P+T+i(相对于E)直接短语:P、i 句柄:P (最左边的直接短语) 素短语:P+T 、i (至少含有一个终结符的短语)最左素短语:P+T 7.二义性文法:有两个不同的最左推导或有两个不同的最右推导或能产生两棵语法树 8.文法产生式正规式 规则1 A→xB B→y A = xy

定向凝固中的界面形态演化

定向凝固中的界面形态演化 引言 通常人们在研究金属及其合金的凝固时,由于金属本身的不透明性,使得人们无法动态实时观察金属内部凝固过程中凝固组织的演化与选择;而采用X射线透视或者原子力显微镜则代价较为高昂,也不可能获得对组织演化细节的清楚认识。由于熔体凝固时对流会造成材料组分上的变化,造成杂质条纹等缺陷。要获得高质量的材料,就要对凝固过程的熔体流动和其稳定性进行深入研究。借助实时观察方法对凝固过程进行实时原位观察,研究凝固过程中材料表面微观形貌和整体形态的变化以及流体运动,实现动态过程的可视化监测和测量,从中就可获得有关凝固的信息。 随着对凝固理论与晶体生长技术不断深入的研究,发现凝固形态是由晶体界面性质和凝固驱动力场的性质所完全决定的。界面性质决定了界面形态对驱动力场的响应性质,因而相似的界面性质在相似的驱动力场作用下将产生相似的动力学行为,从而导致相似的界面形态。 固--液界面可以分为两类[1]:规则界面和不规则界面。规则界面是指正常凝固条件下的平面、胞状和枝晶界面[2]。理论分析表明,只有当固--液界面能是各向异性时才能形成稳定枝晶界面[3],通常情况下大多数材料是以稳定枝晶界面生长。 当晶体沿着一定的晶向生长时,如立方晶系的<111>晶向,固--液界面能接近于各向同性[4],这时将会出现不规则界面。在这样的条件下,枝晶尖端常常随机分枝,分枝与枝晶干不对称,从而形成不规则界面。至今已经观察到几种不规则界面,如:倾斜枝晶界面、退化枝晶界面、海藻状晶体界面。 1实验方法 晶体生长室的最大平面放在x-y平面中,观察二维晶体生长。实验采用了丁二腈-5at%水来作为模拟晶体,测试开始前,试样加热至全部融化并静止一段时间冷却,使得试样内的熔质均匀化。温度通过采用SWP-T803数字控温仪控温,控温精度0.1°C,可在0°C到200°C范围内任意调节。加热至一定温度且保持恒定,试样内形成一定的温度梯度,试样放在温度梯度场中。晶体中温度的测量利用热电偶,晶体生长过程中,根据晶体界面的位置移动热电偶的位置,记录温度值,即可获得温度梯度值。 实验系统见图1,试样放入定向固系统中,使用CKX41型浮雕相衬显微镜可

编译原理概念期末总结复习

翻译程序:把一种语言程序转换成另一种语言程序,且在功能上是相同的这样的程序。 编译程序:把高级语言转换成低级语言,且在功能上是相同的这样的程序。 解释程序:边解释边执行源程序的程序。区别:编译程序有中间代码,而解释程序没有。编译过程的五个阶段: 1、词法分析任务:对构成源程序的字符串进行扫描和分解,识别出一个个单词。 2、语法分析任务:在词法分析的基础上,根据语言规则,把单词符号串分解成各类语法 单位。 3、语义分析和中间代码产生任务:对语法分析所识别出的各类语法范畴,分析其含义, 并进行初步翻译。 4、优化任务:对前段产生的中间代码进行加工变换,以期在最后阶段能产生出更为高效 的目标代码。 5、目标代码生成任务:把中间代码变换成特定机器上的低级语言代码。 编译程序的七个部分词法分析器,语法分析器、语义分析与中间代码产生器、优化器、目标代码生成器、表格管理和出错处理。 编译程序生成的五个办法:机器语言、高级语言、移植、自编译方式和使用工具自动生成。词法规则:指单词符号的形成规则。(也就是正规式) 语法规则:规定了如何从单词符号形成更大的结构。就是语法单位的形成规则。 空字:不包含任何符号的序列。 闭包: 中所有的符号组成的集合。 上下文无关文法是指:所定义的语法范畴是完全独立于这种范畴可能出现的环境的文法。上下文无关文法的四个组成部分:一组终结符号、一组非终结符号、一个开始符号和一组产生式。 终结符号也就是不可再分的基本符号。 非终结符号是用来代表语法范畴,表示一定符号串的集合。 开始符号是语言中我们最感兴趣的语法范畴。 产生式是定义语法范畴的书写规则。 句子:文法中从开始符号推导的终结符号串。 句型:从开始符号推导的符号串。 语言:文法中所有句子的集合。 程序语言的单词符号分为五种:关键字、标识符、常数、运算符和界符。 二元式表示:(种类,属性) 正规式的运算符有三种:或,连接和闭包。优先顺序是:闭包,连接,或。 DFA怎么识别字:若存在一条从初态结点到某一终态结点的通路,且这条通路上所有弧的标记符连接成的字是a,则称a可为DFA所识别。 DFA怎么识别空字:若DFA的初态结点同时又是终态结点,则空字可为DFA所识别。NFA怎么识别字:若存在一条从某一初态结点到终态结点的通路,且这条通路上所有弧的标记字依序连接成的字等于a,则称a可为NFA识别。 NFA怎么识别空字:若M的某些结点即是初态又是终态结点,或者存在一条从某个初态结点到某个终态结点的空通路,那么,空字可为M所识别。 语言的语法结构是用上下文无关文法描述的。 语法分析分为两类:自上而下分析法,自下而上分析法。 自上而下分析法面临的问题:1.文法的左递归问题。2.回溯3.成功可能是暂时的,产生虚假匹配。4.难于知道输入串中出错的确切位置。5.效率低,代价高。

定向凝固技术及其应用

定向凝固技术及其应用 1.定向凝固理论基础及方法 定向凝固又称定向结晶,是指金属或合金在熔体中定向生长晶体的一种方法。定向凝固技术是在铸型中建立特定方向的温度梯度,使熔融合金沿着热流相反的方向,按要求的结晶取向进行凝固铸造的工艺。它能大幅度地提高高温合金综合性能。定向凝固的目的是为了使铸件获得按一定方向生长的柱状晶或单晶组织。定向凝固铸件的组织分为柱状、单晶和定向共晶3种。要得到定向凝固组织需要满足的条件,首先要在开始凝固的部位形成稳定的凝固壳,凝固壳的形成阻止了该部位的型壁晶粒游离,并为柱状晶提供了生长基础,该条件可通过各种激冷措施达到。其次,要确保凝固壳中的晶粒按既定方向通过择优生长而发展成平行排列的柱状晶组织,同时,为使柱状晶的纵向生长不受限制,并且在其组织中不夹杂有异向晶粒,固液界面前方不应存在生核和晶粒游离现象。这个条件可通过下述措施来满足:(1)严格的单向散热。要使凝固系统始终处于柱状晶生长方向的正温度梯度作用下,并且要绝对阻止侧向散热,以避免界面前方型壁及其附近的生核和长大。(2)要有足够大的液相温度梯度与固液界面向前推进速度比值以使成分过冷限制在允许的范围内。同时要减少熔体的非均质生核能力,这样就能避免界面前方的生核现象,提高熔体的纯净度,减少因氧化和吸氧而形成的杂质污染,对已有的有效衬底则通过高温加热或加入其他元素来改变其组成和结构等方法均有助于减少熔体的非均质生核能力。(3)要避免液态金属的对流。搅拌和振动,从而阻止界面前方的晶粒游离,对晶粒密度大于液态金属的合金,避免自然对流的最好方法就是自下而上地进行单向结晶。当然也可以通过安置固定磁场的方法阻止其单向结晶过程中的对流。从这三个条件我们可以推断,为了实现定向凝固,在工艺技术上必须采取措施避免侧向散热,同时在靠近固液界面的熔体中维持较高的温度梯度。 定向生长理论和它的应用很大程度上取决于先进定向凝固技术。自从Bridgman和Stockbarger在20世纪20年达提出奠定了现代定向凝固和单晶生长技术基础的Bridgman定向凝固技术,定向凝固就被广泛运用于制备各种结构和功能材料。定向凝固技术最大的一个成果之一就是涡轮叶片的生产,这直接促进了高温合金材料设计上的巨大进步。自从这个突破后,一系列的定向凝固技术,比如:快速凝固技术(HRS),液态金属冷却(LMC)等可以提高定向凝固组织都发展起来。如今,定向凝固理论是一种重要的材料制备方法和一种研究凝固现象的有利工具。因此,研究和开发新的定向凝固方法吸引了世界范围内的材料工程师和科学家。 定向凝固方法主要有以下几种: (1)发热剂法。将型壳置于绝热耐火材料箱中,底部安放水冷结晶器。型壳中浇入金属液后,在型壳上部盖以发热剂,使金属液处于高温,建立自下而上的 凝固条件。由于无法调节凝固速率和温度梯度,因此该法只能制备晓得柱状 晶铸件。 (2)功率降低法。铸型加热感应圈分两段,铸件在凝固过程中不移动。当型壳被预热到一定过热度时,向型壳中浇入过热金属液,切断下部电源,上部继续 加热。温度梯度随着凝固距离的增大而不断减少。 (3)快速凝固法。与功率降低法的主要区别是铸型加热器始终加热,在凝固时铸件与加热器之间产生相对移动。另外,在热区底部使用辐射挡板和水冷套。 在挡板附近产生较大的温度梯度。与功率降低法相比,该法可大大缩小凝固

编译原理知识点汇总

编译原理的复习提纲 1.编译原理=形式语言+编译技术 2.汇编程序: 把汇编语言程序翻译成等价的机器语言程序 3.编译程序: 把高级语言程序翻译成等价的低级语言程序 4.解释执行方式: 解释程序,逐个语句地模拟执行 翻译执行方式: 翻译程序,把程序设计语言程序翻译成等价的目标程序 5.计算机程序的编译过程类似,一般分为五个阶段: 词法分析、语法分析、语义分析及中间代码生成、代码优化、目标代码生成 词法分析的任务: 扫描源程序的字符串,识别出的最小的语法单位(标识符或无正负号数等) 语法分析是: 在词法分析的基础上的,语法分析不考虑语义。语法分析读入词法分析程序识别出的符号,根据给定的语法规则,识别出各个语法结构。 语义分析的任务是检查程序语义的正确性,解释程序结构的含义,语义分析包括检查变量是否有定义,变量在使用前是否具有值,数值是否溢出等。

语法分析完成之后,编译程序通常就依据语言的语义规则,利用语法制导技术把源程序翻译成某种中间代码。所谓中间代码是一种定义明确、便于处理、独立于计算机硬件的记号系统,可以认为是一种抽象机的程序 代码优化的主要任务是对前一阶段产生的中间代码进行等价变换,以便产生速度快、空间小的目标代码 编译的最后一个阶段是目标代码生成,其主要任务是把中间代码翻译成特定的机器指令或汇编程序 编译程序结构包括五个基本功能模块和两个辅助模块 6.编译划分成前端和后端。 编译前端的工作包括词法分析、语法分析、语义分析。编译前端只依赖于源程序,独立于目标计算机。前端进行分析 编译后端的工作主要是目标代码的生成和优化后端进行综合。独立于源程序,完全依赖于目标机器和中间代码。 把编译程序分为前端和后端的优点是: 可以优化配置不同的编译程序组合,实现编译重用,保持语言与机器的独立性。 7.汇编器把汇编语言代码翻译成一个特定的机器指令序列 第二章 1.符号,字母表,符号串,符号串的长度计算P18,子符号串的含义,符号串的简单运算XY,Xn, 2.符号串集合的概念,符号串集合的乘积运算,方幂运算,闭包与正闭包的概念P19,P20A0 ={ε} 3.重写规则,简称规则。非xx(V

编译原理中重点整理

1.翻译程序:将某一种语言(源语言)程序转换为与其逻辑上等价的另一种语言(目标语言) 程序。 编译程序:源语言为高级语言,目标语言为汇编语言或机器语言的翻译程序。 汇编程序:源语言为汇编语言,目标语言为机器语言的翻译程序。 解释程序:源语言程序作为输入,但不产生目标程序,而是边解释边执行源程序本身。 2.解释器与编译器的主要区别在于:运行目标程序时的控制权在解释器而不在目标程序。 3.编译程序的工作过程可划分五个阶段: ①词法分析:从左到右一个字符一个字符的读入源程序,对构成源程序的字符串进行扫描 和分解,从而识别出一个个单词(也称单词符号或简称符号) ②语法分析:在词法分析的基础上将单词序列分解成各类语法短语,如“程序”,“语句”, “表达式”等等 ③语义分析和中间代码生成:语义分析是在语法分析程序确定出语法短语后,审查有无语义 错误,并为代码生成阶段收集类型信息。完成语法分析和语义 处理工作后,编译程序将源程序变成一种内部表示形式,这种 内部表示形式叫做中间语言或称中间代码,它是一种结构简单、 含义明确的记号系统。 ④代码优化:为了使生成的目标代码更为高效,可以对产生的中间代码进行变换或进行改造, 这就是代码的优化。 ⑤目标代码生成:目标代码生成阶段的任务就是是把中间代码变换成特定机器上的绝对指令 代码或可重定位的指令代码或汇编指令代码。 4.前端(Front-End)——与目标机无关的部分 后端(Back-End )——与目标机有关的部分 5.编译系统:编译程序与运行系统合称编译系统 6.遍:对源程序或源程序的中间结果从头到尾扫描一次,并做有关的加工处理,生成新的中 间结果或目标程序。 7.文法是一个四元组:G[S]=(VN, VT, P, S) VN:非终结符集合; VT :终结符集合; P :产生式集合(α→β或α∷=β); S :开始符号(或称根符号,识别符号)。 若S ->α,α∈V*,则称α为文法G的句型 若S ->α,α,α∈VT*,则称α为文法G的句子 语言是所有句子构成的集合,它是所有终结符号串所组成的集合VT*的子集,即L(G) VT* 8.0型文法又叫短语文法,它所确定的语言称为0型语言。 1型文法,上下文敏感文法或上下文有关文法。 2型文法,上下文无关文法 3型文法线性文法、正则文法或正规文法 规范(最右)推导即任何一步α->β都是对α中的最右非终结符进行替换的,规范(最左)归约文法可唯一地确定一个语言 子树与短语:在句型所对应的语法树中,若某些符号按从左到右的顺序组成某棵子树的末端结点,那么由这些末端结点所组成的符号串是相对于子树根结点的短语。 原则上语法树有多少棵子树,就有多少个短语。

金属凝固理论重点总结

金属凝固理论复习资料 一、名词解释 1.能量起伏:金属晶体结构中每个原子的振动能量不是均等的,一些原子的能量超过原子 的平均能量,有些原子的能量则远小于平均能量,这种能量的不均匀性称为“能量起伏” 2.结构起伏:液态金属中的原子集团处于瞬息万变的状态,时而长大时而变小,时而产生 时而消失,此起彼落,犹如在不停顿地游动。这种结构的瞬息变化称为结构起伏。 3.浓度起伏:不同原子间结合力存在差别,在金属液原子团簇之间存在着成分差异。这种 成分的不均匀性称为浓度起伏。 4.熔化潜热:将金属加热到至熔点时,金属体积突然膨胀,等于固态金属从热力学温度零 度加热到熔点的总膨胀量,金属的其他性质如电阻,粘性等发生突变,吸收的热能。 5.充型能力:液态金属充满铸型型腔,获得形状完整,轮廓清晰的铸件的能力。 6.成分过冷:由溶质再分配导致的界面前方熔体成分及其凝固温度发生变化而引起的过 冷。 7.热过冷:仅由熔体实际温度分布所决定的过冷状态称为热过冷 8.宏观偏析:又称长程偏析或区域偏析,指较大范围内的化学成分不均匀现象,表现为铸 件各部位之间化学成分的差异。 9.微观偏析:微观偏析是指微小范围(约一个晶粒范围)内的化学成分不均匀现象,按位 置不同可分为晶内偏析(枝晶偏析)和晶界偏析。 10.微观偏析 (1)晶内偏析:在一个晶粒内出现的成分不均匀现象,常产生于有一定结晶温度范围、能够形成固溶体的合金中。 (2)晶界偏析:溶质元素和非金属夹杂物富集与晶界,使晶界和晶内的化学成分出现差异。它会降低合金的塑性和高温性能,又会增加热裂倾向。 11.宏观偏析: (1)正常偏析:当合金溶质分配系数k<1时,凝固界面的液相中将有一部分被排出,随着温度的降低,溶质的浓度将逐渐增加,越是后来结晶的固相,溶质浓度越高,当k>1时相反。正常偏析存在使铸件的性能不均匀,在随后的加工中难以消除。 (2)逆偏析:即k<1时,铸件表面或底部含溶质元素较多,而中心部分或上部分含溶质较少。 (3)V形偏析和逆V形偏析:常出现在大型铸锭中,一般呈锥形,偏析中含有较高的碳以及硫和磷等杂质。 (4)带状偏析:它总是和凝固的固-液界面相平行。 (5)重力偏析:由于重力的作用而出现化学成分不均匀的现象,常产生于金属凝固前和刚刚开始凝固之际。 枝晶偏析:由于固溶体合金多按枝晶方式生长,分支本身分支与分支间的成分是不均匀的,故称为~。 12.正偏析:指溶质含量高于其平均溶质含量的区域 13.负偏析:降低该区的溶质浓度,使该区C5降低,产生的偏析。(溶质含量低于其平均溶 质含量的区域) 14.重力偏析:由于沿垂直方向逐层凝固而产生的正常偏析和固液相之间或互不相容的液相 之间有的密度不同,在凝固过程中发生沉浮现象造成的。 15.过热度:指金属熔点与液态金属温度之差。 16.过冷度:理论结晶温度与实际结晶温度的差值称为过冷度

凝固理论

1. 晶体是指原子呈规则排列的固体 2. 非晶体是指原子呈无序排列的固体 3. 晶格是用假象的直线将原子中心连接起来所形成的三维空间结构 4. 直线的交点(原子中心)称为结点,由结晶器形成的空间点阵列称为空间点阵 5. 晶型:能代表晶格原子排列规律的最小集合单元,常见金属晶格类型有:体心立方,面心立方,,密排六方晶格 6. 单晶体:其内部晶格完全一致的晶体 7. 晶粒: 实际使用的金属材料是由许多彼此方位不同的,外形不规则的小晶体组成,这些小晶体即称为晶粒,晶格的不完整部位导致内晶体缺陷(结晶物质在生长过程中,由于受到外界空间的限制,未能发育成具有规则形态的晶体,而只是结晶成颗粒状,称晶粒。) 8. 晶界的特点:原子排列不规则;熔点低;耐蚀性差;易产生内吸附,外来原子易在晶界上产生偏聚;阻碍位错运动,是强化部位,故而实际使用的金属力求获得细晶粒;是相变的优先到形核部位 9. 合金,是由两种或两种以上的金属与非金属经一定方法所合成的具有金属特性的物质; 10. 相:是指金属或合金中凡成分相同,结构相同,并与其他部分有界面分开的均匀组成部分 11. 显微组织实质上是指在显微镜下观察到的金属中各相或各晶粒的形态,数量,大小和分部组合 12. 冷却曲线:是指金属结晶是温度与时间的关系曲线。其中水平段是结晶时由于所放出的结晶潜热所造成的,为实际结晶温度,液态金属在理论结晶温度以下开始结晶的现象称为过冷;其次理论结晶温度与实际结晶温度的差称为过冷度 13. 晶核的形成方式:均匀形核和非均匀形核;其中由液态中排列规则的原子团形成晶核称为均匀形核;以液态中存在的固态杂质形核称为非均匀形核 14. 晶核的长大方式有两种:均匀长大和树枝状长大 15. 晶坯:液态金属中存在着原子排列规则的小原子团,他们时聚时散,称为晶坯 16. 晶核:在理论温度以下,经过一段时间后一些大小尺寸的晶坯将会长大,称为晶核 17. 枝晶偏析:在一个枝晶范围内或一个经理范围内形成成分不均匀的现象 18. 连铸坯凝固结构:表皮细小等轴晶;柱状晶区;中心等轴晶区 19. 形核率:单位时间,单位体积内形成的晶核数 20. 长大速度:单位时间内晶核生长的长度 21. 偏析:合金中各部分化学成分不均匀的现象叫做偏析 22. 宏观偏析:沿一定方向,结晶过程中,由于结晶先后不同,造成凝固后的铸件内产生宏观成分不均匀的现象叫做宏观偏析。 23. 连铸较模铸的优点:能提高综合成材率;降低能耗;易实现机械化,自动化;比较节省劳动力 24. 对结晶器的要求:良好的导热性; 25. 结晶器的震动方式:同步振动,特点是结晶器在下降时与铸坯同步运动然后再以三倍拉速的速度上升 26. 结晶器保护渣的作用:使结晶器内钢水上表面与空气隔绝;吸收钢水中的夹杂物;控制坯壳与结晶器壁间的传热;润滑 27. 连铸机可分为三个传热冷却区:一冷却区:钢水在水冷结晶器中形成足够厚度均匀的坯壳,以保证铸坯出结晶器时不拉漏;二冷却区:喷水一加速连铸坯内部热量的传递,使铸坯完全凝固;三冷却区:铸坯向空气中辐射传热使铸坯内外温度均匀化 28. 铸坯的液相长度也称为液相穴深度,是指铸坯从结晶器钢液面开始到铸坯中心液相完全

编译原理基本概念

1.编译程序 编译程序是一种翻译程序,它将高级语言所写的源程序翻译成等价的机器语言或汇编语言的目标程序。 2.词法分析(Lexical analysis或Scanning)和词法分析程序(Lexical analyzer 或Scanner) 词法分析阶段是编译过程的第一个阶段。这个阶段的任务是从左到右一个字符一个字符地读入源程序,即对构成源程序的字符流进行扫描然后根据构词规则识别单词(也称单词符号或符号)。词法分析程序实现这个任务。词法分析程序可以使用lex等工具自动生成。 3.语法分析(Syntax analysis或Parsing)和语法分析程序(Parser) 语法分析是编译过程的一个逻辑阶段。语法分析的任务是在词法分析的基础上将单词序列组合成各类语法短语,如“程序”,“语句”,“表达式”等等.语法分析程序判断源程序在结构上是否正确.源程序的结构由上下文无关文法描述. 4.语义分析(Syntax analysis)及中间代码生成 语义分析是编译过程的一个逻辑阶段. 语义分析的任务是对结构上正确的源程序进行上下文有关性质的审查, 进行类型审查.例如一个C程序片断: int arr[2],b; b = arr * 10; 源程序的结构是正确的. 语义分析将审查类型并报告错误:不能在表达式中使用一个数组变量,赋值语句的右端和左端的类型不匹配.语义分析时,根据语句的含义,可对它进行翻译,用另一种语言形式(比源语言更接近于目标语言的一种中间代码或直接用目标语言)来描述这种语义。 5.代码优化 代码优化的任务是对前阶段产生的中间代码进行等价变换或改造,以期获得更为高效的,即省时间和空间的代码。 6.目标代码生成 目标代码的生成的任务是将中间代码变换成特定机器上的绝对指令代码或可重定位的指令代码或汇编指令代码。 7.遍 8.前端(Front-end)和后端(Back end) 有时,常常把编译的过程分为前端(front end)和后端(back end),前端由那样一些阶段组成:这些阶段的工作主要依赖于源语言而与目标机无关。通常这些阶段包括词法分析、语法分析、语义分析和中间代码生成,某些优化工作也可在前端做,也包括与前端每个阶段相关的出错处理工作和符号表管理工作。后端工作指那

编译原理知识点

编译原理: 编译原理是计算机专业的一门重要专业课,旨在介绍编译程序构造的一般原理和基本方法。内容包括语言和文法、词法分析、语法分析、语法制导翻译、中间代码生成、存储管理、代码优化和目标代码生成。编译原理是计算机专业设置的一门重要的专业课程。编译原理课程是计算机相关专业学生的必修课程和高等学校培养计算机专业人才的基础及核心课程,同时也是计算机专业课程中最难及最挑战学习能力的课程之一。编译原理课程内容主要是原理性质,高度抽象。 基本概念: 编译原理即是对高级程序语言进行翻译的一门科学技术, 我们都知道计算机程序由程序语言编写而成, 在早期计算机程序语言发展较为缓慢, 因为计算机存储的数据和执行的程序都是由0、1代码组合而成的, 那么在早期程序员编写计算机程序时必须十分了解计算机的底层指令代码通过将这些微程序指令组合排列从而完成一个特定功能的程序, 这就对程序员的要求非常高了。人们一直在研究如何如何高效的开发计算机程序, 使编程的门槛降低。 编译器: C语言编译器是一种现代化的设备, 其需要借助计算机编译程序, C语言编译器的设计是一项专业性比较强的工作, 设计人员需要考虑计算机程序繁琐的设计流程, 还要考虑计算机用户的需求。计算机的种类在不断增加, 所以, 在对C语言编译器进行设计时, 一定要增加其适用性。C语言具有较强的处理能力, 其属于结构化语言, 而且在

计算机系统维护中应用比较多, C语言具有高效率的优点, 在其不同类型的计算机中应用比较多。 C语言编译器前端设计 编译过程一般是在计算机系统中实现的, 是将源代码转化为计算机通用语言的过程。编译器中包含入口点的地址、名称以及机器代码。编译器是计算机程序中应用比较多的工具, 在对编译器进行前端设计时, 一定要充分考虑影响因素, 还要对词法、语法、语义进行分析。 1 词法分析 词法分析是编译器前端设计的基础阶段, 在这一阶段, 编译器会根据设定的语法规则, 对源程序进行标记, 在标记的过程中, 每一处记号都代表着一类单词, 在做记号的过程中, 主要有标识符、关键字、特殊符号等类型, 编译器中包含词法分析器、输入源程序、输出识别记号符, 利用这些功能可以将字号转化为熟悉的单词。 2 语法分析 语法分析是指利用设定的语法规则, 对记号中的结构进行标识, 这包括句子、短语等方式, 在标识的过程中, 可以形成特殊的结构语法树。语法分析对编译器功能的发挥有着重要影响, 在设计的过程中, 一定要保证标识的准确性。 3 语义分析 语义分析也需要借助语法规则, 在对语法单元的静态语义进行检查时, 要保证语法规则设定的准确性。在对词法或者语法进行转化

定向凝固技术的发展与应用

定向凝固技术的发展与应用 摘要:定向凝固技术是指利用一定的设备,在一定的工艺条件下使材料的组织具有特殊取向从而获得优异性能的工艺过程。定向凝固技术是伴随着高温合金的发展而逐步发展起来的。本文综述了定向凝固技术的定向凝固理论,对比分析了不同定向凝固方法的优缺点,并从四个方面论述了提高温度梯度的途径,最后对定向凝固技术的发展及应用前景做了展望。 关键词:定向凝固;工艺特点;温度梯度;应用 1.引言 凝固是材料制备与加工的重要手段之一,先进的凝固技术为先进材料开发与利用提供了技术条件。凝固过程中包含了热量、质量和动量的传输过程,它们决定了材料凝固组织和成分分布,进而影响材料性能。近20年中,不仅开发出许多先进凝固技术,也丰富和发展了凝固理论。其中,先进凝固技术主要集中于如下几种类型:定向凝固、快速凝固与近快速凝固技术、外加物理场(压力场、电磁场、超重力或微重力场)中的凝固技术以及强制流动条件下的凝固技术等。 定向凝固技术是对金属材料进行凝固过程进行研究的重要手段之一,可用于模拟合金的凝固过程,制备高质量航空发动机定向和单晶叶片等。同时,也是研究固液界面形态及凝固组织行之有效的技术手段。 定向凝固技术的出现是涡轮叶片发展过程中的一次重大变革。铸造高温合金叶片的制造工艺经历了从等轴晶铸造到定向单晶凝固的发展过程,不仅在晶粒结构的控制上取得了很大进展,而且铸造性能也有了很大提高,常规的铸造高温合金尽管有较高的耐温能力,但材料的中温蠕变强度较低。定向凝固技术能够使晶粒定向排列,在垂直于应力方向没有晶界,同时由于沿晶粒生长的(001)方向具有最低的弹性模量,这样将大大降低叶片工作时因温度不均匀所造成的热应力,因此使蠕变断裂寿命和热疲劳强度得到很大提高,如DS Mar-M200+Hf比等轴晶合金热疲劳性能提高了8倍。此后,随着各种定向凝固技术的不断发展,固液界面前沿的温度梯度不断增大、冷却速率逐渐提高,定向生产的叶片综合性能也日益提高。 2.定向凝固理论

编译原理复习(有答案)

第一章引论 1.编译过程的阶段 由词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成六个阶段 2.编译程序的概念 3.编译程序的结构 例:(B)不是编译程序的组成部分。 A. 词法分析器; B. 设备管理程序 C. 语法分析程序; D. 代码生成程序 4.遍的概念 对源程序(或其中间形式)从头至尾扫描一次并进行有关加工处理,生成新的中间形式或最终目标程序,称为一遍。 5.编译程序与解释程序的区别 例:解释程序和编译程序是两类程序语言处理程序,它们的主要区别在于(D)。 A. 单用户与多用户的差别 B. 对用户程序的差错能力 C. 机器执行效率 D. 是否生成目标代码 第三章文法和语言 文法的概念 字母表、符号串和集合的概念及运算 例:(ab|b)*c 与下面的那些串匹配?(ACD) A. ababbc; B. abab; C. c; D. babc; E. aaabc 例:ab*c*(a|b)c 与后面的那些串匹配?(BC) A.acbbc B.abbcac C.abc D.acc 例:(a|b)a+(ba)*与后面的那些串匹配? (ADE)A.ba B.bba C.ababa D.aa E.baa 文法的定义(四元组表示) 文法G定义为四元组(V N,V T,P,S) V N:非终结符集 V T:终结符集 P:产生式(规则)集合 S:开始符号(或识别符号) 例:给定文法,A::= bA | cc,下面哪些符号串可由其推导出(①② ⑤)。 ①cc ②b*cc ③b*cbcc ④bccbcc ⑤bbbcc 什么是推导 例:已知文法G: E->E+T|E-T|T T->T*F|T/F|F F->(E)|i 试给出下述表达式的推导:i*i+i 推导过程:E->E+T ->T+T ->T*F+T ->F*F+T ->i*F+T ->i*i+T ->i*i+F ->i*i+i ●句型、句子的概念 例:假设G一个文法,S是文法的开始符 号,如果S=>*x,则称x是句型。 例:对于文法G,仅含终结符号的句型称 为句子。 ●语言的形式定义 例:设r=(a|b|c)(x|y|z),则L(r)中元素为 9个。 例:文法G产生式为S→AB,A→aAb|ε, B→cBd|cd,则B∈L(G)。 A. ababcd; B. ccdd; C. ab; D. aabb ●等价文法 例:如果两个文法描述了同一个语言,则这两个文法是等价文法。 ●文法的类型 0型:左边至少有一个非终结符 1型:右边长度>=左边长度 2型:左边有且仅有一个非终结符 3型:形如:A->aB,A->a 各类型文法都是逐级包含关系, 例:文法S→abC|c,bC→d是几型文法?0 型 例:文法S→abC,bC→ad是几型文法?1 型 例:文法G[A]:A→ε,A→aB,B→Ab,B→a 是几型文法?2型 例:文法S→a|bC,C→d是几型文法? 3

第一章 合金凝固理论

1.解释概念 成份过冷,有效分配系数,宏观偏析 2.杠杆定律的意义及适用条件。 3.两相平衡时,如何确定平衡相的成份,为什么? 4.根据公切线法则,画出共晶温度时各相自由焓—成份曲线示意图。 5.合金结晶与纯金属有何不同? 6.铜和镍固态完全互溶,它们的熔点分别是T Cu=1083℃,T Ni=1452℃,问Ni-10%Cu及 Ni-50%Cu两种合金在浇铸和凝固条件相同的条件下,哪种合金形成柱状晶的倾向大?哪种合金的枝晶偏析严重?为什么? 7.画图并说明共晶成分的Al-Si合金在快冷条件下得到亚共晶组织α+(α+Si)的原因。 8.画出Pb-Sn相图,求: l分析过共晶合金80%Sn的平衡结晶过程(写出反应式)、画出冷却曲线及组织示意图、写出结晶后的室温组织。 l求室温组织中组织组成物的相对重量、共晶组织中的共晶α及共晶β的相对重量。 l求室温组织中组成相的相对重量。 9.填空 l固溶体合金,在铸造条件下,容易产生___偏析,用___ 方法处理可以消除。 l Al-CuAl2共晶属于__ 型共晶,Al-Si共晶属于__型共晶,Pb-Sn共晶属于__型共晶。 l固溶体合金凝固时有效分配系数ke的定义是__。当凝固速率无限缓慢时,ke趋于__; 当凝固速率很大时,则ke趋于__ 。 l K0<1的固溶体合金非平衡凝固的过程中,K0越小,成分偏析越____ , 提纯效果越_____;而K0>1的固溶体合金非平衡凝固的过程中,K0越大,成分偏析越____ , 提纯效果越_____。 l固溶体合金_____ 凝固时成分最均匀,液相完全混合时固溶体成分偏析(宏观偏析)最___ ,液相完全无混合时固溶体成分偏析最____ ,液相部分混合时固溶体成分偏析_________。 10.试说明在正温度梯度下为什么固溶体合金凝固时一般呈树枝状方式长大,而纯金属却 得不到树枝状晶体? 11.根据所示的Al-Si共晶相图,试分析下列(a,b,c)三个金相组织属什么成分并说明理由。指出细化 此合金铸态组织的可能用途。 12.指出相图错误,并加以改正。

编译原理学习心得

编译原理学习心得 编译原理学习心得1 编译程序在计算机科学与技术的发展历史中发挥了巨大作用,是计算机系统的核心支撑软件。而“编译原理”这门课程一直以来是国内外大学计算机相关专业的重要课程。因为它的知识结构贯穿程序设计语言、系统环境以及体系结构,能以相对的视角体现从软件到硬件以及软硬件协同的整机概念。其理论基础又涉及形式语言与自动机、数据结构与算法等计算机学科的许多重要方面,为联系计算机科学理论和计算机系统的典范。 虽然编译原理这门课程在大多数的人里认为枯燥无味,学起来就像看天书一样。然而学习这门课程还是有一定的好处的。比如可以更加容易的理解在一个语言种哪些写法是等价的,哪些是有差异的,可以更加客观的比较不同语言的差异,并且学习新的语言的效率也会更加高,语言转换也会更加游刃有余。 不学“编译原理”这门课程的话,自己的编程思想会很浅显。而且编程也只仅仅停留在编程上,无法深入理解其中的原理。 学习编译原理的话,从文法、正规式、NFA与DFA的定义,下手,要用心动脑去体会 编译原理学习心得2

从联系最紧密的操作系统来说吧,你写多线程/多进程的程序就得和操作系统的知识打交道。写多线程得加锁吧,临界区、死锁的四个条件之类的标准的操作系统的内容吧(不得不吐槽一下,某国内一线电商干了三年的程序猿,写多线程居然不知道加锁,也是醉了)。进程间通信的几种方式什么管道、socket、共享内存等,这也是操作系统的内容吧。文件系统,这也是经常要打交道的东西。还有内存什么的,你做Android 开发,这些里边有很多东西都在系统层面被封装好了,但是你要是不知道原理,一旦出了错根本无从调试,况且你该不会打算写一辈子写Android 就是填逻辑吧。 然后,是编译原理,普通的程序猿是接触不到编译器或者虚拟机的开发的。但是这并不意味着编译原理就用不到。说个最常见的读取配置文件,只要你的配置文件有自定义的语法,你就要用编译原理的东西。还有类似于自动生成代码啦、正则表达式啦这些都算是编译原理的内容。你既然是写Java 的不了解虚拟机怎么可以,最基本的字节码总是需要能看懂的吧,分析一些疑难杂症的时候字节码还是很有用的。 最后,是计算机原理,如果只是做应用开发的话计算机原理其实不必要掌握的多深入,但是一些基本的概念还是要清楚的。比如寄存器、缓存、中断什么的,关键的时候可以帮助你调试。在一些对性能要求非常高的场合,也是很有作用的。此外,学了

相关主题
文本预览
相关文档 最新文档