![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
编译原理
蓝猫_虹
道为体,术为用。有道者术能长久,无道者术必落空。学术先需明道,方能大成。学术若不明道,终是小器。故道为纲,术为目,纲举目张。道为世间规律,术为规律之用,道为本,术为末,若本末倒置,则一世殆矣!
展开
-
编译原理--第一篇
编译原理---第一篇: 1.1编译器的结构分为两个部分:分析部分和综合部分.分析部分:把源程序分解成为多个组成要素,并在这些要素智商加上语法结构。然后,他使用这个结构来创建该源程序中的一个中间表示。如果分析部分检查出源程序没有按照正确的语法构成,或者语义上不一致,并把信息存放在一个称为符号表的数据结构中,符号表将和中间表示形式一起传送给综合部分。综合部分根据中间表示和符号表中的信息来...原创 2018-11-12 14:27:01 · 550 阅读 · 0 评论 -
编译原理-语法制导的翻译
继词法分析和文法分析之后,本文将介绍使用上下文无关文法来引导对语言的翻译。SDD语法制导定义(Syntax-Directed Definition,SDD)是一个上下文无关文法和属性及语义规则的结合。属性和文法符号相关联,语义规则和产生式相关联,文法符号X的属性a表示为X.a。非终结符号可以有两种属性:综合属性:如果语法分析树上的结点N的某个属性a只能通过N的子结点和N本身的属性值来...转载 2018-11-22 17:19:04 · 6033 阅读 · 0 评论 -
编译原理-语法分析四
本文是语法分析的第四篇文章,第一篇文章介绍了基本的文法、推导和归约的概念,第二篇文章介绍了自顶向下的语法分析和LL(1)方法,第三篇文章介绍了自底向上的语法分析和SLR方法。本文将承接第三篇文章,介绍比SLR更为强大的LR方法。PS:阅读本文需要掌握前三篇文章的知识,建议读者先阅读前三篇文章。文法&约定老规矩,先给出一个贯穿全文的文法G: S→L=R|R L→...转载 2018-11-22 17:12:41 · 517 阅读 · 0 评论 -
编译原理 -语法分析三
常用的语法分析方法包括自顶向下和自底向上的方法,在上一篇文章中已经介绍了自顶向下的语法分析方法,本文将介绍自底向上的语法分析方法。文法&约定按照惯例,我们给出一个贯穿全文的表达式文法G: E→E+T|T T→T*F|F F→(E)|id123以及使用的符号约定:大写字母:表示非终结符号,如A、B、C等;小写字母:表示终结符号,如a、b、c等;...转载 2018-11-22 17:06:58 · 1573 阅读 · 0 评论 -
编译原理-第二篇
2.词法分析词法分析的目的是什么呢? 是把一长串的字符分解成一个个的词素,并且生成(id,2)这种作为语法分析的基础。首先是词法单元,词素等的定义。然后是如何输入。三是输入后如何识别。识别后如何组成中间式子。 1.三个关键词词法单元,词素,模式词法单元: 词法单元由一个词法单元名和一个可选的属性值组成。词法单元名是一个表示某种词法单位的抽象符号。比如一个特定...原创 2018-11-22 17:02:15 · 8221 阅读 · 1 评论 -
编译原理-语法分析 二
在第一篇文章中,我们介绍了如何用上下文无关文法描述一种语言的语法,和如何使用推导和规约构造一棵语法分析树,以及如何对文法进行转换使之能够更适用于语法分析。在本篇文章中,我们将介绍如何使用自顶向下的方法进行语法分析,进一步的,我们将介绍一种更高效的预测分析方法。文法&约定为了下文需要和减少重复,我们先给出在下文中用到的一个表达式文法和一些符号约定。下面是需要用到的表达式文法,称其为...转载 2018-11-21 17:27:08 · 397 阅读 · 0 评论 -
编译原理 语法分析 一
词法分析器把源程序转换成了一个词素序列,它让我们知道了一个符号序列’i’、’f’是一个关键词”if”,而一个符号序列’1’、’2’、’3’、’4’是一个常量”1234”等等。但是,词法分析器的工作也到此为止了,它不能说明几个词素之间的关系。例如,对于词素串”int”、”x”、”=”、”1”、”;”,词法分析器不知道它是一个语句;对于词素串”int”、”x”、”==”、”1”、”;”,词法分析器不能...转载 2018-11-21 17:22:09 · 1190 阅读 · 0 评论 -
编译原理 词法分析三
本文是词法分析的第三篇文章。之前的第一篇文章介绍了词法单元、模式和词素的三者间的关系,以及正则表达式;第二篇文章介绍了有穷自动机,以及如何把NFA转换成等价的DFA。本文首先将介绍如何把一个正则表达式转换成一个有穷自动机,接着会给出一个最小化DFA状态数的算法,最后会回顾整个词法分析过程。从正则表达式到有穷自动机对我们来说,用正则表达式描述一种语言是十分方便的。比如说[a-zA-Z]可以表示...转载 2018-11-21 17:19:12 · 949 阅读 · 0 评论 -
编译原理 词法分析 二
上一篇文章我们介绍了在词法分析中涉及到的词法单元、模式和词素的概念,并给出了正则表达式的递归定义,以及如何把一个正则表达式转换成一个状态转换图。本篇文章将接着上一篇文章的内容,继续介绍词法分析的一个重要内容——有穷自动机。有穷自动机一个有穷自动机可以把一个描述词素的模式变成一个词法分析器,从本质上来讲,有穷自动机是与状态转换图相类似的图,它有以下特点:有穷自动机是一个识别器,它只能对每个...转载 2018-11-21 17:15:21 · 471 阅读 · 0 评论 -
编译原理 词法分析 一
转发自:作者:jzyhywxz 来源:CSDN 原文:https://blog.csdn.net/jzyhywxz/article/details/78285722 版权声明:本文为博主原创文章,转载请附上博文链接! 本文是词法分析的第一篇文章,主要介绍在词法分析过程中需要用到的一些基本概念,包括词法单元、模式和词素以及三者之间的关系,理解这些内容对学习词法分析过程十分重要。...转载 2018-11-21 17:12:38 · 385 阅读 · 0 评论 -
编译原理--状态机
转发: 在前段时间学习编译原理的时候。就对有限状态自动机不是很了解。导致在看到后面的时候概念混乱而看不明白,最后放弃先看离散数学,今天学到了离散数学最后一个基本知识点也是对我来说最重要的一个知识点:有限状态机。以下是有关有限状态机的一些概念: 有限状态机是具有基本内部记忆的抽象机模型。有限状态自动机是特殊类型的有限状态机。 首先需要知道延迟的概念:一个单位时间延迟在时刻t接受一位输...转载 2018-11-14 15:40:38 · 2984 阅读 · 0 评论 -
编译原理第三篇-语法分析1
3.语法分析 文法—推导—语法树语法分析的任务是:接受一个终结符号串作为输入,找出从文法的开始符号推导出这个串的方法。如果不能从文法的开始符号推导得到该终结符号串,则报告该终结符号串中包含的语法错误。 1.文法给出了一个程序设计语言的精确移动的语法规约 2.对于某些类型的文法,我们可以自动的构造出高效的语法分析器,它能够确定一个源程序的语法结构,同时,语法分析器的构造过程中可以揭...原创 2019-01-16 10:20:21 · 1060 阅读 · 0 评论