编译原理学习_第1页
编译原理学习_第2页
编译原理学习_第3页
编译原理学习_第4页
编译原理学习_第5页
已阅读5页,还剩30页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Compiler课程总湖南大学信息科学与工程学软件工程系杨金软件工程技术知识体机器学习/神经网络

不确定性(概率联系⇒组合,摘取22a+a+b*a+b*(c+(a+b*(c+d))*(e+(a0+(a1+(a2+a3*3词法分析是处理线性结构程序:可扩展的树形结构其它可扩展的树形结构体:HTML文档,XML文档所有交互数据——带语义,须解析的数据解析器,编辑器,编译器;脚本引擎,浏览器,安全扫描器网状4串接性;经典的,如串联电路,序列/流程/环节:并列性;经典的,如并行电路,F→(E)|嵌套性;E→E+T S→while C++语

BasicCobol语

X86,WindowsX86,Linux手机,AndriodIBMCray,Unix6编译型执行vs解释型执(编译,链接,加载 解释执行都要对程序进行语法分析和语义分析,翻译成目标代码模式的正则表达式正则表达式的三种运算,以及?:0个或1基于组合原则的正则表达式表达⇒基于子集构造法的NFA⇒基于DFA的匹配与识别:输入串是否匹配正则表达式第四章要掌握的内容——LL文法和LL语法的上下文无关文法表达;正则表达式⇒LL(1)语法分析:消除左递归,提取左公因子(彻底填写出文法的LL(1)预测分析表;判断文法是否是LL(1)文法基于LL预测分析表,基于栈,对输入串做自顶向下的完成语法分析,语义分析,中间代码的生成。得出产生式展开序列;判断第四章要掌握的内容——LR文法和LRLR(0)项目,LR(1)项目,LALR(1)项目文法⇒DFA(基于LR(0)项集,LR(1)项目)⇒LR语法分析表判断文法是否是LR(0),SLR(1),规范LR(1),LALR(1)文法DFA的优势——LR(0)项有物理含 E→•E+EE→•E*EE→•(E)E→((

E→E•+EE→E•*E$E→F→(•E)E→•E+EE→•E*EE→•(E)E→•id

E→E+•E→•E+ E→E→ E→ * E→E→•E+EE→ E→ E→ F→(E•E→E•+EE→E•*E((

E→E+E→E•+EE→E•*E E→E*E•E→E•+EE→E•*E E→(E)

E→E'→+TE'|T→FTT'→*FT'|εF→(E)|idE→E+T|T→T*F|FF→(E)|idE→E+E→E*EE→(E)|idDFA的优势——LR语法分析实用的原S→id•=

S→•{S}S→•while(B)SS→•id=ES→if(B)•SS→•{S}S→•if(B)SS→•while(B)SS→•id=E

S→ S→S→•if(B) S→•while(B)S→•id=SSS→if(B)

SS→{S•}S→S•SSS→•while(B)SS→•id=E

S→ S→目标:语义分析;中间代码生成给非终结符定义属性;综合属性,继承属性,L给终结符只有综合属性,无继承属性;自然是:先SDD⇒SDTSDD:把每个非终结符/终结符看作一个类;SDT:把每个非结符/终结符看作类的实例 后端(综合在概念上,后端(综合在概念上,语法分析,语义分析,中间代码生成三个环节/机器代码优化器目标机器代码机器代码生成器通用机器代码中间代码优化器通用机器代码中间代码生成器前端(分前端(分析部分语义分析器语法树语法分析器标识符流词法分析器字符流机器语言程序:用内存地址表达;在处理上过程更加细化:因运算处理的约束性,存储空间的有限性,引入了数据/代码的运输编译的含义是翻译plus优化编译被拆分成7第六章代码生成——语义分析和中间代先看文法,是LL文法,还是LR文法LL文法:设立继承属性,也可有综合属性LR文法:设立综合属性基于语法分析过程的压栈/出栈特性,构思出第六章LR文法的LR文法:设立综合属性B.truelist,B.falselist;S.nextlistB→B1&&B2|B1||B2|(B1)|E>E|①S→if(B)S1else②S→ ③S→for(S1;S2; B.truelist,B.falselist的确定时刻;S.nextlist的确定时刻;S→SS;S→{S}第七章运行时环境局部变量的内存地址,编译时不确定。表达:BaseAddress+Offfset,BaseAddress:函数实例的;offset:常量;每个语句块(block):都有自己的符号表基于block的嵌套关系,每个符号表都有一个 全局变量new变量,引出了一个说不尽的话题:内存回收第八章代码生成中间代码优化将中间代码划分成基本快尾:call语句;goto基本快的优化;block活跃变量/第八章代码生成三类寻址:变量;数组a(Rx,变量描

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论