随笔分类 -  编译技术图式

摘要:1、概述 语义可以理解为前后文 语义分析比较有限,主要和类型有关 表达式定义:有值 2、符号表 1)实体:标识符定义实体,实体属性保存在符号表 2)符号表形式:每个名字对应一个表项,一个表项包括名字域和信息域 属性:初值、类型、位置 层次:符号表通过缩进划分层次和作用域 存储:栈存储,在作用域间加标 阅读全文
posted @ 2019-11-06 12:52 日月同诲 阅读(211) 评论(0) 推荐(0)
摘要:模型类型笔记 1、引入 有向:从左到右 手动模式: 最右推导的逆过程 将点后单个字符移入工作区 点在加点表达式移动的过程 补充知识: 加状态栈的目的:分析时不用重启自动机 句柄是工作区最右侧的某几个符号(点所在表达式的点左侧) =》*,=》+任意步数 LR(0)不一定是最左规约,但一定是最右推导逆过 阅读全文
posted @ 2019-10-29 16:44 日月同诲 阅读(460) 评论(0) 推荐(0)
摘要:编译技术图式(第四章 语法分析)02自上而下的语法分析 1、自上而下的分析法 1)算法1:广度搜索法 2)算法2:最左广度搜索法 3)算法3:最左深度收缩发 2、预测分析法 1)预测算法特点 预测算法更“快” 线性运行时间 表驱动 预测算法更“脆弱” 不支持所有的文法 预测算法更“快” 线性运行时间 阅读全文
posted @ 2019-10-18 17:39 日月同诲 阅读(293) 评论(0) 推荐(0)
摘要:编译技术图式(第四章 语法分析)01文法和语法的定义 1、基本概念 1)词法规则: 哪些字符串合法或者不合法 字母表:语言允许使用字符的集合 词汇:由字符组成的有限串(字符串) 标识符:函数名,变量名等 2)语法规则: 句子:一个“词汇序列” 确定句子在形式上是否合法 提供句子的结构: if ( 表 阅读全文
posted @ 2019-10-02 02:10 日月同诲 阅读(558) 评论(0) 推荐(0)
摘要:编译技术图式(第三章 词法分析) 1、词法分析概述 2、词法分析器和语法分析器的关系 (1)词法分析作为单独的一遍 (2)词法分析作为子程序 3、词法分析器的输出 二元式 (单词类别<整数编码>,单词属性) 依赖于所对应的程序设计语言 关键字“一字一码” 标点符号“一字一码” 对标识符、常数、字符串 阅读全文
posted @ 2019-09-30 13:26 日月同诲 阅读(235) 评论(0) 推荐(0)
摘要:编译技术图示(第二章 实现一个简单的编译器) 辨析: 表达式———————有值 语句———有分号———— 语法和语义分开定义规则 源代码—(词法分析,分割分类)—>单词符号流—(语法分析,与BNF语法规则)—>抽象语法树/Token序列 表达式———————有值 语句———有分号———— 1、词法分 阅读全文
posted @ 2019-09-29 19:26 日月同诲 阅读(270) 评论(0) 推荐(0)
摘要:编译技术图示(第一章 编译概述) 源程序——>机器代码 分析(前端):分成小部分,找出小部分属性,包括:词法分析、语法分析、语义分析、中间代码生成 合成(后端),包括:中间代码优化、目标代码生成、目标代码优化 1、词法分析:识别、删除单词符号、词法检查 输入:源代码,输出:二元式<单词类别,单词属性 阅读全文
posted @ 2019-09-29 19:16 日月同诲 阅读(153) 评论(0) 推荐(0)