- 博客(5)
- 收藏
- 关注
原创 编译原理第五天
语言描述的几个概念 字母表 一个有穷字符集 记为Σ 字母表中的每个元素称位字符 Σ上的字是指由Σ中的字符所构成的一个有穷序列 不包含任何字符的序列称为空字 用Σ*表示Σ上所有字的全体 Σ*的子集U和V的连接 为定义 UV = {ab | a属于U & b 属于V}, a b 是有顺序的 V自身的n次积为 Vn = VV…V V*是V的闭包 V* = V0UV1… V+是V的正规闭包: V+ = VV* 上下文无关法 上下文无关文法G是一个四元组 G = (VT, VN,S,P),其中 VT
2021-04-25 14:53:55 136
原创 编译原理第四天
文法 描述语言的语法结构的形式规则 类似自然语言 He gave me a book. <句子> -> <主语><谓词><宾语> <主语>-><代词> <代词>-> 字母集:一个有穷字符集 字母集中的每个元素称为字符 Σ={a,b} Σ* = {“”,a,b ,aa,ab,ba,bb,aaa,…} Σ*的子集U和V的连接称为运算 U={a,aa} V={b,bb} UV = {ab,abb,aab,aabb
2021-03-29 22:41:30 62
原创 编译原理第三天
常用的高级程序设计语言 FORTRAN 数值计算 COBOL 事务处理 PASCAL 结构化程序设计 LISP 函数式程序设计 PROLOG 逻辑程序设计 C 系统程序设计 Smalltalk 面向对象程序设计 Java Internet 应用 可移植性 Python 解释性 动态编程 优点: 更接近数学语言 更容易验证 编写效率高 更容
2021-03-20 20:27:03 82
原创 编译原理第二天
优化 任务:对前阶段产生的中间代码进行加工变换,以期在最后阶段产生更高效的目标代码 原则:程序的等价变换原则 编译过程 任务:把中间代码变换成特定机器上的目标代码 依赖于硬件系统结构和机器指令的含义 目标代码三种形式: 汇编指令代码:需要进行汇编 绝对指令代码:可直接运行 可重新定位指令代码:需要链接 编译结构 词法分析器 单词符号 语法分析器 语法单位 语义分析与中间代码生成器 中间代码 优化段 中间代码 目标代码生成器 另外:符号
2021-03-20 15:34:44 90
原创 编译原理第一天
什么是编译程序 源语言程序转换为目标程序需要编译程序,源语言通常是高级语言。 什么是解释程序 把源语言作为输入,但不产生目标程序,而是边解释边执行源程序。 编译过程 The compiler can translate a program from source language to targer language. 编译程序能够把一个程序从源语言翻译成目标语言。 识别出句子中的一个个单词 词法分析 分析句子的语法结构 语法分
2021-03-15 21:29:19 61
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人