熠熠晨曦_
在读研究生|不断学习中……
展开
-
编译原理笔记07-中间代码生成
编译原理笔记07-中间代码生成原创 2022-06-18 21:52:39 · 793 阅读 · 1 评论 -
编译原理笔记06 语法制导翻译
语法制导翻译概述什么是语法制导翻译语法制导翻译使用CFG(上下文无关文法)来引导对语言的翻译,是一种面向文法的翻译技术语法制导翻译的基本思想如何表示语义信息?为CFG中的文法符号设置语义属性,用来表示语法成分对应的语义信息如何计算语义属性?文法符号的语义属性值是用与文法符号所在产生式(语法规则)相关联的语义规则来计算的对于给定的输入串x ,构建x的语法分析树,并利用与产生式(语法规则)相关联的语义规则来计算分析树中各结点对应的语义属性值两个概念将语义规则同语法原创 2022-05-01 21:13:49 · 2023 阅读 · 0 评论 -
编译原理笔记05-语法分析自底向上
自底向上分析概述从分析树的底部(叶节点)向顶部(根节点)方向构造分析树可以看成是将输入串w归约为文法的开始符号S的过程自顶向下的语法分析采用最左推导方式自底向上的语法分析采用最左归约方式(反向构造最右推导)自底向上语法分析的通用框架:移入-归约分析(Shift-Reduce Parsing)【例】移入-归约分析$表示栈底和栈顶开始时栈中没有任何符号第一步,将id入栈第二步,因为id是第四个产生式的右部,所以将id归约为E,id出栈,E入栈……每次归约的符号串称为"句柄",一旦原创 2022-05-01 21:12:24 · 1617 阅读 · 0 评论 -
编译原理笔记04-语法分析自顶向下
自顶向下分析概述引言在第一章绪论中曾介绍过语法分析的基本任务就是根据给定的文法,识别输入句子中的各类短语,并构造它的分析树。如果输入串的各个单词恰好自左至右的在分析树的各个叶结点上,那么这个子串就是该语言的一个句子,否则就不是。按照分析树的构造方向,我们可以把语法分析分为两类。第一类是从分析树顶部的根节点向底部的叶节点方向构造分析树,这种方法称为自顶向下的分析方法。第二类是从分析树底部的叶节点向顶部的根节点方向构造分析树,这种方法称为自底向上的分析方法。自顶向下分析从分析树的顶部(根节点原创 2022-04-04 22:25:16 · 1808 阅读 · 0 评论 -
编译原理笔记03-词法分析
正则表达式正则表达式(Regular Expression,RE)是一种用来描述正则语言的更紧凑的表示方法。【例】语言L={a} {a,b}* ( {ε} ∪ ( {.,_} {a,b} {a,b}* ) )用正则表达式 r 可表示为:r = a (a | b)* ( ε | (.| _) (a | b) (a | b)* )句子含义是:以a开头,连接一个任意长度的ab串,接下来连接一个空串,此时表示句子结束。除此之外,还可以连接一个.和_,接下来连接一个长度大于等于1的ab串。注意{}*原创 2022-03-25 19:57:58 · 530 阅读 · 0 评论 -
编译原理笔记-02程序设计语言及其文法
基本概念字母表字母表Σ是一个有穷符号集合符号:字母、数字、标点符号、……【例】字母表二进制字母表:{0,1}ASCII字符集Unicode字符集字.原创 2022-03-19 11:49:39 · 825 阅读 · 0 评论 -
编译原理笔记-01绪论
什么是编译编译就是将高级语言翻译成汇编语言或机器语言的过程。高级语言也叫源语言,汇编或机器语言叫目标语言编译系统的结构词法分析概述词法分析就是从左向右逐行扫描源程序的字符,识别出各个单词,确定单词的类型。将识别出的单词转换成统一的机内表示——词法单元(token)形式token:<种别码,属性值>种别码:表示单词的种别,对应自然语言中的词性。属性值:由于标识符和常量不可能事先全部枚举,所以使用属性值来区别标识符和常量值。每个关键字都有一个种别码,所以叫一词一码原创 2022-03-19 11:46:33 · 1173 阅读 · 0 评论